Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <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;
 }
Пример #4
0
        /// <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;
        }
Пример #5
0
 /// <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;
 }