sameTypeWithNextPath method

Context sameTypeWithNextPath({
  1. Name? nextFieldName,
  2. Name? nextClassName,
  3. Name? alias,
  4. Nullable<TypeDefinitionNode?>? ofUnion,
  5. List<Definition>? generatedClasses,
  6. List<QueryInput>? inputsClasses,
  7. List<FragmentDefinitionNode>? fragments,
  8. bool? log,
})

Returns a copy of this context, with the same type, but on a new path.

Implementation

Context sameTypeWithNextPath({
  Name? nextFieldName,
  Name? nextClassName,
  Name? alias,
  Nullable<TypeDefinitionNode?>? ofUnion,
  List<Definition>? generatedClasses,
  List<QueryInput>? inputsClasses,
  List<FragmentDefinitionNode>? fragments,
  bool? log,
}) {
  assert(alias != null || (nextFieldName != null && nextClassName != null));
  return Context(
    schema: schema,
    typeDefinitionNodeVisitor: typeDefinitionNodeVisitor,
    options: options,
    schemaMap: schemaMap,
    path: path
        .followedBy([
          _stringForNaming(
            alias ?? nextFieldName,
            alias ?? nextClassName,
          ),
        ].whereType<Name>())
        .toList(),
    currentType: currentType,
    currentFieldName: nextFieldName ?? currentFieldName,
    currentClassName: nextClassName ?? currentClassName,
    ofUnion: ofUnion == null ? this.ofUnion : ofUnion.value,
    alias: alias ?? this.alias,
    generatedClasses: generatedClasses ?? this.generatedClasses,
    inputsClasses: inputsClasses ?? this.inputsClasses,
    fragments: fragments ?? this.fragments,
    align: align + 1,
    usedEnums: usedEnums,
    usedInputObjects: usedInputObjects,
    log: log ?? this.log,
  );
}