/// <inheritdoc /> public override MergedObjectType Clone() { var clone = new MergedApiRoot(this.OriginalTypeName); this.FillWithMyFields(clone); foreach (var mutation in this.Mutations) { clone.Mutations[mutation.Key] = mutation.Value.Clone(); } return(clone); }
/// <summary> /// Initializes a new instance of the <see cref="MergedConnectionMutationResultType"/> class. /// </summary> /// <param name="nodeType"> /// The node type. /// </param> /// <param name="root"> /// The root. /// </param> /// <param name="errorType"> /// The error type. /// </param> /// <param name="provider"> /// The provider. /// </param> public MergedConnectionMutationResultType( MergedObjectType nodeType, MergedApiRoot root, MergedType errorType, ApiProvider provider) : base(nodeType.OriginalTypeName) { this.EdgeType = new MergedEdgeType(nodeType.OriginalTypeName, provider, nodeType); this.root = root; this.ErrorType = errorType; this.Provider = provider; }
/// <summary> /// Initializes a new instance of the <see cref="MergedUntypedMutationResult"/> class. /// </summary> /// <param name="originalReturnType"> /// The original mutation return type. /// </param> /// <param name="root"> /// The root. /// </param> /// <param name="provider"> /// The provider. /// </param> /// <param name="field"> /// The original field description /// </param> public MergedUntypedMutationResult( MergedType originalReturnType, MergedApiRoot root, ApiProvider provider, ApiField field) : base(originalReturnType.OriginalTypeName) { this.OriginalReturnType = originalReturnType; this.root = root; this.field = field; this.Provider = provider; }
/// <summary> /// Initializes a new instance of the <see cref="MergedRoot"/> class. /// </summary> /// <param name="originalTypeName"> /// The original type name. /// </param> /// <param name="providers"> /// The providers. /// </param> /// <param name="root"> /// The root. /// </param> public MergedRoot(string originalTypeName, List <ApiProvider> providers, MergedApiRoot root) : base(originalTypeName) { if (providers == null || providers.Count == 0) { return; } this.searcher = root.NodeSearher; var apiField = new MergedField( "api", root, providers.First(), null, description: "The united api access"); foreach (var apiProvider in providers.Skip(1)) { apiField.AddProvider(apiProvider, null); } this.Fields["api"] = apiField; }
/// <summary> /// Initializes a new instance of the <see cref="NodeSearcher"/> class. /// </summary> /// <param name="apiRoot"> /// The api Root. /// </param> public NodeSearcher(MergedApiRoot apiRoot) { this.apiRoot = apiRoot; }