Instruction generateDefault(componentCursor)

Source

Instruction generateDefault(
    dynamic /* Type | ComponentFactory */ componentCursor) {
  if (componentCursor == null) {
    return null;
  }
  var rules = this._rules[componentCursor];
  if (rules?.defaultRule == null) {
    return null;
  }
  var defaultChild;
  if (rules.defaultRule.handler.componentType != null) {
    var componentInstruction = rules.defaultRule.generate({});
    if (!rules.defaultRule.terminal) {
      defaultChild =
          this.generateDefault(rules.defaultRule.handler.componentType);
    }
    return new DefaultInstruction(componentInstruction, defaultChild);
  }
  return new UnresolvedInstruction(() {
    return rules.defaultRule.handler
        .resolveComponentType()
        .then((_) => this.generateDefault(componentCursor));
  });
}