JArrayToContainer static method

dynamic JArrayToContainer(
  1. List jArray
)

Implementation

static JArrayToContainer(List<dynamic> jArray) {
  var container = Container();
  container.content = JArrayToRuntimeObjList(jArray, true);

  var terminatingObj = jArray[jArray.length - 1] as Map<String, dynamic>?;
  if (terminatingObj != null) {
    var namedOnlyContent = <String, RuntimeObject>{};

    for (var key in terminatingObj.keys) {
      if (key == "#f") {
        container.countFlags = terminatingObj[key] as int;
      } else if (key == "#n") {
        container.name = terminatingObj[key].toString();
      } else {
        var namedContentItem = JTokenToRuntimeObject(terminatingObj[key]);
        // var namedSubContainer = namedContentItem as Container;
        var namedSubContainer = asOrNull<Container>(namedContentItem);
        if (namedSubContainer != null) namedSubContainer.name = key;
        namedOnlyContent[key] = namedContentItem!;
      }
    }

    container.namedOnlyContent = namedOnlyContent;
  }

  return container;
}