diff --git a/src/HotChocolate/AspNetCore/src/Transport.Abstractions/Serialization/Utf8JsonWriterHelper.cs b/src/HotChocolate/AspNetCore/src/Transport.Abstractions/Serialization/Utf8JsonWriterHelper.cs index 7292a3917fa..484e509c578 100644 --- a/src/HotChocolate/AspNetCore/src/Transport.Abstractions/Serialization/Utf8JsonWriterHelper.cs +++ b/src/HotChocolate/AspNetCore/src/Transport.Abstractions/Serialization/Utf8JsonWriterHelper.cs @@ -120,6 +120,14 @@ internal static void WriteFieldValue( WriteList(writer, list); break; + case JsonDocument doc: + doc.RootElement.WriteTo(writer); + break; + + case JsonElement element: + element.WriteTo(writer); + break; + case string s: writer.WriteStringValue(s); break; diff --git a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL.snap b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL.snap index 45387e88fba..2118f662d44 100644 --- a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL.snap +++ b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL.snap @@ -9,6 +9,7 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } @@ -19,6 +20,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } "A connection to a list of items." @@ -47,6 +49,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Mutation { @@ -68,6 +71,7 @@ type PageInfo { type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] @@ -124,5 +128,7 @@ directive @stream("If this argument label has a value other than null, it will b directive @tag(name: String!) repeatable on SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION +scalar JSON + "The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1." scalar Long \ No newline at end of file diff --git a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route.snap b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route.snap index 45387e88fba..2118f662d44 100644 --- a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route.snap +++ b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route.snap @@ -9,6 +9,7 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } @@ -19,6 +20,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } "A connection to a list of items." @@ -47,6 +49,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Mutation { @@ -68,6 +71,7 @@ type PageInfo { type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] @@ -124,5 +128,7 @@ directive @stream("If this argument label has a value other than null, it will b directive @tag(name: String!) repeatable on SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION +scalar JSON + "The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1." scalar Long \ No newline at end of file diff --git a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route_Explicit_Pattern.snap b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route_Explicit_Pattern.snap index 45387e88fba..2118f662d44 100644 --- a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route_Explicit_Pattern.snap +++ b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_SDL_Explicit_Route_Explicit_Pattern.snap @@ -9,6 +9,7 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } @@ -19,6 +20,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } "A connection to a list of items." @@ -47,6 +49,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Mutation { @@ -68,6 +71,7 @@ type PageInfo { type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] @@ -124,5 +128,7 @@ directive @stream("If this argument label has a value other than null, it will b directive @tag(name: String!) repeatable on SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION +scalar JSON + "The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1." scalar Long \ No newline at end of file diff --git a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL.snap b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL.snap index 6c224e62101..03878c37e2f 100644 --- a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL.snap +++ b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL.snap @@ -1,5 +1,6 @@ type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] diff --git a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL_Character_and_Query.snap b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL_Character_and_Query.snap index 2a79a63d9e1..311359cd56a 100644 --- a/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL_Character_and_Query.snap +++ b/src/HotChocolate/AspNetCore/test/AspNetCore.Tests/__snapshots__/HttpGetSchemaMiddlewareTests.Download_GraphQL_Types_SDL_Character_and_Query.snap @@ -3,11 +3,13 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] diff --git a/src/HotChocolate/AspNetCore/test/Transport.Http.Tests/GraphQLHttpClientTests.cs b/src/HotChocolate/AspNetCore/test/Transport.Http.Tests/GraphQLHttpClientTests.cs index 5a5ad4fa28f..f6aabd5d12f 100644 --- a/src/HotChocolate/AspNetCore/test/Transport.Http.Tests/GraphQLHttpClientTests.cs +++ b/src/HotChocolate/AspNetCore/test/Transport.Http.Tests/GraphQLHttpClientTests.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using CookieCrumble; using HotChocolate.AspNetCore.Tests.Utilities; using HotChocolate.Language; @@ -20,10 +21,10 @@ public async Task Post_GraphQL_Query_With_RequestUri() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -40,7 +41,7 @@ public async Task Post_GraphQL_Query_With_RequestUri() {"hero":{"name":"R2-D2"}} """); } - + [Fact] public async Task Post_GraphQL_Query_With_RequestUriString() { @@ -51,10 +52,10 @@ public async Task Post_GraphQL_Query_With_RequestUriString() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -83,10 +84,10 @@ public async Task Post_GraphQL_Query_With_BaseAddress() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -115,10 +116,10 @@ public async Task Post_GraphQL_Query_With_Variables_With_RequestUri() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -140,7 +141,7 @@ public async Task Post_GraphQL_Query_With_Variables_With_RequestUri() {"hero":{"name":"R2-D2"}} """); } - + [Fact] public async Task Post_GraphQL_Query_With_Variables_With_RequestUriString() { @@ -152,10 +153,10 @@ public async Task Post_GraphQL_Query_With_Variables_With_RequestUriString() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -177,7 +178,44 @@ public async Task Post_GraphQL_Query_With_Variables_With_RequestUriString() {"hero":{"name":"R2-D2"}} """); } - + + [Fact] + public async Task Post_GraphQL_Query_With_JsonElement_Variable() + { + // arrange + using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10)); + using var testServer = CreateStarWarsServer(); + var httpClient = testServer.CreateClient(); + var client = new DefaultGraphQLHttpClient(httpClient); + + var query = + """ + query($traits: JSON!) { + heroByTraits(traits: $traits) { + name + } + } + """; + + var variables = new Dictionary + { + ["traits"] = JsonSerializer.SerializeToElement(new { lastJedi = true }) + }; + + var requestUri = CreateUrl("/graphql"); + + // act + var response = await client.PostAsync(query, variables, requestUri, cts.Token); + + // assert + using var body = await response.ReadAsResultAsync(cts.Token); + body.MatchInlineSnapshot( + """ + Data: + {"heroByTraits":{"name":"Luke Skywalker"}} + """); + } + [Fact] public async Task Post_GraphQL_Query_With_Variables_With_BaseAddress() { @@ -190,10 +228,10 @@ public async Task Post_GraphQL_Query_With_Variables_With_BaseAddress() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -225,16 +263,16 @@ public async Task Post_GraphQL_Query_With_OperationName() var operation = new OperationRequest( """ - query A($episode: Episode!) { + query A($episode: Episode!) { hero(episode: $episode) { - A: name - } + A: name + } } - query B($episode: Episode!) { + query B($episode: Episode!) { hero(episode: $episode) { - B: name - } + B: name + } } """, variables: new Dictionary @@ -256,7 +294,7 @@ query B($episode: Episode!) { {"hero":{"B":"R2-D2"}} """); } - + [Fact] public async Task Get_GraphQL_Query_With_RequestUri() { @@ -267,10 +305,10 @@ public async Task Get_GraphQL_Query_With_RequestUri() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -298,10 +336,10 @@ public async Task Get_GraphQL_Query_With_RequestUriString() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -330,10 +368,10 @@ public async Task Get_GraphQL_Query_With_BaseAddress() var query = """ - query { - hero(episode: JEDI) { - name - } + query { + hero(episode: JEDI) { + name + } } """; @@ -362,10 +400,10 @@ public async Task Get_GraphQL_Query_With_Variables_With_RequestUri() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -387,7 +425,7 @@ public async Task Get_GraphQL_Query_With_Variables_With_RequestUri() {"hero":{"name":"R2-D2"}} """); } - + [Fact] public async Task Get_GraphQL_Query_With_Variables_With_RequestUriString() { @@ -399,10 +437,10 @@ public async Task Get_GraphQL_Query_With_Variables_With_RequestUriString() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -424,7 +462,7 @@ public async Task Get_GraphQL_Query_With_Variables_With_RequestUriString() {"hero":{"name":"R2-D2"}} """); } - + [Fact] public async Task Get_GraphQL_Query_With_Variables_With_BaseAddress() { @@ -437,10 +475,10 @@ public async Task Get_GraphQL_Query_With_Variables_With_BaseAddress() var query = """ - query($episode: Episode!) { + query($episode: Episode!) { hero(episode: $episode) { - name - } + name + } } """; @@ -472,16 +510,16 @@ public async Task Get_GraphQL_Query_With_OperationName() var operation = new OperationRequest( """ - query A($episode: Episode!) { + query A($episode: Episode!) { hero(episode: $episode) { - A: name - } + A: name + } } - query B($episode: Episode!) { + query B($episode: Episode!) { hero(episode: $episode) { - B: name - } + B: name + } } """, variables: new Dictionary @@ -515,10 +553,10 @@ public async Task Post_Subscription_Over_SSE() var subscriptionRequest = """ - subscription { - onReview(episode: JEDI) { - stars - } + subscription { + onReview(episode: JEDI) { + stars + } } """; @@ -561,7 +599,7 @@ mutation CreateReviewForEpisode( cts.Cancel(); } } - + [Fact] public async Task Get_Subscription_Over_SSE() { @@ -573,10 +611,10 @@ public async Task Get_Subscription_Over_SSE() var subscriptionRequest = """ - subscription { - onReview(episode: JEDI) { - stars - } + subscription { + onReview(episode: JEDI) { + stars + } } """; @@ -619,7 +657,7 @@ mutation CreateReviewForEpisode( cts.Cancel(); } } - + [Fact] public async Task Post_GraphQL_FileUpload() { @@ -662,7 +700,7 @@ public async Task Post_GraphQL_FileUpload() {"singleUpload":"abc"} """); } - + [Fact] public async Task Post_GraphQL_FileUpload_With_ObjectValueNode() { @@ -684,7 +722,7 @@ public async Task Post_GraphQL_FileUpload_With_ObjectValueNode() null, variables: new ObjectValueNode( new ObjectFieldNode( - "upload", + "upload", new FileReferenceNode(() => stream, "test.txt"))), extensions: null); @@ -708,4 +746,4 @@ public async Task Post_GraphQL_FileUpload_With_ObjectValueNode() {"singleUpload":"abc"} """); } -} \ No newline at end of file +} diff --git a/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Ensure_Benchmark_Query_LargeQuery.snap b/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Ensure_Benchmark_Query_LargeQuery.snap index f1336eef5da..96066aa6ccc 100644 --- a/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Ensure_Benchmark_Query_LargeQuery.snap +++ b/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Ensure_Benchmark_Query_LargeQuery.snap @@ -4925,7 +4925,7 @@ { "kind": "OBJECT", "name": "__Directive", - "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL\u0027s execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", "fields": [ { "name": "name", @@ -5042,7 +5042,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use \u0060locations\u0060." + "deprecationReason": "Use `locations`." }, { "name": "onFragment", @@ -5058,7 +5058,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use \u0060locations\u0060." + "deprecationReason": "Use `locations`." }, { "name": "onField", @@ -5074,7 +5074,7 @@ } }, "isDeprecated": true, - "deprecationReason": "Use \u0060locations\u0060." + "deprecationReason": "Use `locations`." } ], "inputFields": null, @@ -5598,7 +5598,7 @@ { "kind": "OBJECT", "name": "__Type", - "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the \u0060__TypeKind\u0060 enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", "fields": [ { "name": "kind", @@ -5787,7 +5787,7 @@ }, { "name": "specifiedByURL", - "description": "\u0060specifiedByURL\u0060 may return a String (in the form of a URL) for custom scalars, otherwise it will return \u0060null\u0060.", + "description": "`specifiedByURL` may return a String (in the form of a URL) for custom scalars, otherwise it will return `null`.", "args": [], "type": { "kind": "SCALAR", @@ -5806,7 +5806,7 @@ { "kind": "ENUM", "name": "__TypeKind", - "description": "An enum describing what kind of type a given \u0060__Type\u0060 is.", + "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, @@ -5819,43 +5819,43 @@ }, { "name": "OBJECT", - "description": "Indicates this type is an object. \u0060fields\u0060 and \u0060interfaces\u0060 are valid fields.", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", - "description": "Indicates this type is an interface. \u0060fields\u0060 and \u0060possibleTypes\u0060 are valid fields.", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", - "description": "Indicates this type is a union. \u0060possibleTypes\u0060 is a valid field.", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", - "description": "Indicates this type is an enum. \u0060enumValues\u0060 is a valid field.", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", - "description": "Indicates this type is an input object. \u0060inputFields\u0060 is a valid field.", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "LIST", - "description": "Indicates this type is a list. \u0060ofType\u0060 is a valid field.", + "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "NON_NULL", - "description": "Indicates this type is a non-null. \u0060ofType\u0060 is a valid field.", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null } @@ -5894,6 +5894,33 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "heroByTraits", + "description": null, + "args": [ + { + "name": "traits", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Character", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "heroes", "description": null, @@ -6331,6 +6358,18 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "traits", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -6484,6 +6523,18 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "traits", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -6529,7 +6580,7 @@ { "kind": "SCALAR", "name": "String", - "description": "The \u0060String\u0060 scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, @@ -6539,7 +6590,7 @@ { "kind": "SCALAR", "name": "Boolean", - "description": "The \u0060Boolean\u0060 scalar type represents \u0060true\u0060 or \u0060false\u0060.", + "description": "The `Boolean` scalar type represents `true` or `false`.", "fields": null, "inputFields": null, "interfaces": null, @@ -6652,6 +6703,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "traits", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "height", "description": null, @@ -6795,7 +6858,7 @@ { "kind": "SCALAR", "name": "ID", - "description": "The \u0060ID\u0060 scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \u0060\u00224\u0022\u0060) or integer (such as \u00604\u0060) input value will be accepted as an ID.", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", "fields": null, "inputFields": null, "interfaces": null, @@ -6868,7 +6931,7 @@ { "kind": "SCALAR", "name": "Int", - "description": "The \u0060Int\u0060 scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, @@ -6878,7 +6941,7 @@ { "kind": "SCALAR", "name": "Float", - "description": "The \u0060Float\u0060 scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).", "fields": null, "inputFields": null, "interfaces": null, @@ -6908,6 +6971,16 @@ ], "possibleTypes": null }, + { + "kind": "SCALAR", + "name": "JSON", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Starship", @@ -7088,7 +7161,7 @@ "directives": [ { "name": "skip", - "description": "Directs the executor to skip this field or fragment when the \u0060if\u0060 argument is true.", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "args": [ { "name": "if", @@ -7111,7 +7184,7 @@ }, { "name": "include", - "description": "Directs the executor to include this field or fragment only when the \u0060if\u0060 argument is true.", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "args": [ { "name": "if", @@ -7134,7 +7207,7 @@ }, { "name": "deprecated", - "description": "The @deprecated directive is used within the type system definition language to indicate deprecated portions of a GraphQL service\u2019s schema,such as deprecated fields on a type or deprecated enum values.", + "description": "The @deprecated directive is used within the type system definition language to indicate deprecated portions of a GraphQL service’s schema,such as deprecated fields on a type or deprecated enum values.", "args": [ { "name": "reason", @@ -7144,7 +7217,7 @@ "name": "String", "ofType": null }, - "defaultValue": "\u0022No longer supported.\u0022" + "defaultValue": "\"No longer supported.\"" } ], "onOperation": false, diff --git a/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Schema.snap b/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Schema.snap index 0beceb60947..2782888473b 100644 --- a/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Schema.snap +++ b/src/HotChocolate/Core/test/Execution.Tests/Integration/StarWarsCodeFirst/__snapshots__/StarWarsCodeFirstTests.Schema.snap @@ -9,6 +9,7 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } @@ -19,6 +20,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } "A connection to a list of items." @@ -47,6 +49,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Mutation { @@ -68,6 +71,7 @@ type PageInfo { type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] @@ -109,3 +113,5 @@ enum Unit { } directive @tag(name: String!) repeatable on SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION + +scalar JSON diff --git a/src/HotChocolate/Core/test/StarWars/Data/CharacterRepository.cs b/src/HotChocolate/Core/test/StarWars/Data/CharacterRepository.cs index 51a3a48e6e1..4a473d084bb 100644 --- a/src/HotChocolate/Core/test/StarWars/Data/CharacterRepository.cs +++ b/src/HotChocolate/Core/test/StarWars/Data/CharacterRepository.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using System.Text.Json; using HotChocolate.StarWars.Models; namespace HotChocolate.StarWars.Data; @@ -24,6 +25,11 @@ public ICharacter GetHero(Episode episode) return _characters["2001"]; } + public ICharacter GetHeroByTraits(JsonElement traits) + { + return _characters.Values.FirstOrDefault(z => z.Traits?.ToString().Equals(traits.ToString()) == true); + } + public ICharacter GetCharacter(string id) { if (_characters.TryGetValue(id, out ICharacter c)) @@ -80,7 +86,8 @@ private static IEnumerable CreateCharacters() Name = "Luke Skywalker", Friends = new[] { "1002", "1003", "2000", "2001" }, AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, - HomePlanet = "Tatooine" + HomePlanet = "Tatooine", + Traits = JsonSerializer.SerializeToElement(new { lastJedi = true }) }; yield return new Human @@ -89,7 +96,8 @@ private static IEnumerable CreateCharacters() Name = "Darth Vader", Friends = new[] { "1004" }, AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, - HomePlanet = "Tatooine" + HomePlanet = "Tatooine", + Traits = JsonSerializer.SerializeToElement(new { theChosenOne = true }) }; yield return new Human @@ -97,7 +105,8 @@ private static IEnumerable CreateCharacters() Id = "1002", Name = "Han Solo", Friends = new[] { "1000", "1003", "2001" }, - AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi } + AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, + Traits = JsonSerializer.SerializeToElement(new { hanShot = "first" }) }; yield return new Human @@ -106,7 +115,8 @@ private static IEnumerable CreateCharacters() Name = "Leia Organa", Friends = new[] { "1000", "1002", "2000", "2001" }, AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, - HomePlanet = "Alderaan" + HomePlanet = "Alderaan", + Traits = JsonSerializer.SerializeToElement(new { brother = "luke" }) }; yield return new Human @@ -123,7 +133,8 @@ private static IEnumerable CreateCharacters() Name = "C-3PO", Friends = new[] { "1000", "1002", "1003", "2001" }, AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, - PrimaryFunction = "Protocol" + PrimaryFunction = "Protocol", + Traits = JsonSerializer.SerializeToElement(new { annoying = true }) }; yield return new Droid @@ -132,7 +143,8 @@ private static IEnumerable CreateCharacters() Name = "R2-D2", Friends = new[] { "1000", "1002", "1003" }, AppearsIn = new[] { Episode.NewHope, Episode.Empire, Episode.Jedi }, - PrimaryFunction = "Astromech" + PrimaryFunction = "Astromech", + Traits = JsonSerializer.SerializeToElement(new { rockets = true }) }; } @@ -145,4 +157,4 @@ private static IEnumerable CreateStarships() Length = 9.2 }; } -} \ No newline at end of file +} diff --git a/src/HotChocolate/Core/test/StarWars/Models/Droid.cs b/src/HotChocolate/Core/test/StarWars/Models/Droid.cs index c2b6f955c9b..325f1142755 100644 --- a/src/HotChocolate/Core/test/StarWars/Models/Droid.cs +++ b/src/HotChocolate/Core/test/StarWars/Models/Droid.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Text.Json; namespace HotChocolate.StarWars.Models; @@ -27,4 +28,7 @@ public class Droid /// public double Height { get; } = 1.72d; -} \ No newline at end of file + + /// + public JsonElement? Traits { get; set; } +} diff --git a/src/HotChocolate/Core/test/StarWars/Models/Human.cs b/src/HotChocolate/Core/test/StarWars/Models/Human.cs index e958599e09b..7af7b479cef 100644 --- a/src/HotChocolate/Core/test/StarWars/Models/Human.cs +++ b/src/HotChocolate/Core/test/StarWars/Models/Human.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Text.Json; namespace HotChocolate.StarWars.Models; @@ -27,4 +28,7 @@ public class Human /// public double Height { get; } = 1.72d; -} \ No newline at end of file + + /// + public JsonElement? Traits { get; set; } +} diff --git a/src/HotChocolate/Core/test/StarWars/Models/ICharacter.cs b/src/HotChocolate/Core/test/StarWars/Models/ICharacter.cs index aa7aa99896f..7c5eda07fbf 100644 --- a/src/HotChocolate/Core/test/StarWars/Models/ICharacter.cs +++ b/src/HotChocolate/Core/test/StarWars/Models/ICharacter.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Text.Json; namespace HotChocolate.StarWars.Models; @@ -31,4 +32,9 @@ public interface ICharacter /// The height of the character. /// double Height { get; } -} \ No newline at end of file + + /// + /// The traits of this character. + /// + JsonElement? Traits { get; } +} diff --git a/src/HotChocolate/Core/test/StarWars/Query.cs b/src/HotChocolate/Core/test/StarWars/Query.cs index 22170d20c1a..fb737a382c3 100644 --- a/src/HotChocolate/Core/test/StarWars/Query.cs +++ b/src/HotChocolate/Core/test/StarWars/Query.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Text.Json; using HotChocolate.Resolvers; using HotChocolate.StarWars.Data; using HotChocolate.StarWars.Models; @@ -26,6 +27,16 @@ public ICharacter GetHero(Episode episode) return _repository.GetHero(episode); } + /// + /// Retrieve a hero by a particular their traits. + /// + /// The traits to look up by. + /// The character. + public ICharacter GetHeroByTraits(JsonElement traits) + { + return _repository.GetHeroByTraits(traits); + } + /// /// Retrieve a heros by a particular Star Wars episodes. /// diff --git a/src/HotChocolate/Core/test/StarWars/Types/CharacterType.cs b/src/HotChocolate/Core/test/StarWars/Types/CharacterType.cs index 7f57bd2cf61..ef8d69ef360 100644 --- a/src/HotChocolate/Core/test/StarWars/Types/CharacterType.cs +++ b/src/HotChocolate/Core/test/StarWars/Types/CharacterType.cs @@ -21,8 +21,11 @@ protected override void Configure(IInterfaceTypeDescriptor descripto descriptor.Field(f => f.AppearsIn) .Type>(); + descriptor.Field(f => f.Traits) + .Type(); + descriptor.Field(f => f.Height) .Type() .Argument("unit", a => a.Type>()); } -} \ No newline at end of file +} diff --git a/src/HotChocolate/Core/test/StarWars/Types/QueryType.cs b/src/HotChocolate/Core/test/StarWars/Types/QueryType.cs index ddfd790667d..c6fa6e9d204 100644 --- a/src/HotChocolate/Core/test/StarWars/Types/QueryType.cs +++ b/src/HotChocolate/Core/test/StarWars/Types/QueryType.cs @@ -12,6 +12,10 @@ protected override void Configure(IObjectTypeDescriptor descriptor) .Type() .Argument("episode", a => a.DefaultValue(Episode.NewHope)); + descriptor + .Field(t => t.GetHeroByTraits(default)) + .Type(); + descriptor .Field(t => t.GetHeroes(default)) .Type>>(); @@ -24,4 +28,4 @@ protected override void Configure(IObjectTypeDescriptor descriptor) .Field(t => t.Search(default)) .Type>(); } -} \ No newline at end of file +} diff --git a/src/HotChocolate/Core/test/Types.Analyzers.Tests/packages.lock.json b/src/HotChocolate/Core/test/Types.Analyzers.Tests/packages.lock.json index 19fbd050130..ae971a63aff 100644 --- a/src/HotChocolate/Core/test/Types.Analyzers.Tests/packages.lock.json +++ b/src/HotChocolate/Core/test/Types.Analyzers.Tests/packages.lock.json @@ -1431,3041 +1431,6 @@ "Microsoft.Extensions.Options": "[6.0.0, )" } } - }, - "net7.0": { - "ChilliCream.Testing.Utilities": { - "type": "Direct", - "requested": "[0.2.0, )", - "resolved": "0.2.0", - "contentHash": "gqRu5DNIt6FphQX4EZYlkOI3QmyzatQhuqf3zNXYBmmvmVQ0KaJStDvrANosxlrlVtVX+L5q/s4z9gZMCeuwkA==", - "dependencies": { - "Newtonsoft.Json": "11.0.2", - "xunit": "2.3.1" - } - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[3.1.2, )", - "resolved": "3.1.2", - "contentHash": "QhM0fnDtmIMImY7oxyQ/kh1VYtRxPyRVeLwRUGuUvI6Xp83pSYG9gerK8WgJj4TzUl7ISziADUGtIWKhtlbkbQ==" - }, - "DiffPlex": { - "type": "Direct", - "requested": "[1.7.1, )", - "resolved": "1.7.1", - "contentHash": "a0fSO2p8ykrcfzgG0sjpZAMZPthXXz4l6UIVuM9uyIYIh5yga4sq3aydSGt6n+MkdSBKvMurjjaKnxIqZtfG1g==" - }, - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.1.0, )", - "resolved": "17.1.0", - "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", - "dependencies": { - "Microsoft.CodeCoverage": "17.1.0", - "Microsoft.TestPlatform.TestHost": "17.1.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.1.1, )", - "resolved": "1.1.1", - "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.1", - "Microsoft.SourceLink.Common": "1.1.1" - } - }, - "Moq": { - "type": "Direct", - "requested": "[4.18.1, )", - "resolved": "4.18.1", - "contentHash": "MmZIKNyvn8VrivSaqA8tqy5DmwUievC9zsuNTrcb00oY4IeGq6fXT5BQK329lZ05/tyi5vp30AWe9fl0d2PZQg==", - "dependencies": { - "Castle.Core": "5.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Snapshooter.Xunit": { - "type": "Direct", - "requested": "[0.5.4, )", - "resolved": "0.5.4", - "contentHash": "gE9VlseOySUSwwAKCXastwxJ7qYpVHwIEi+QbzRVmdOvV6Ry/vE1WqyuolRHwhjx2QZY8+YuO4L/cKJGrt2H6w==", - "dependencies": { - "Snapshooter": "0.5.4", - "xunit.assert": "2.4.1", - "xunit.core": "2.4.1" - } - }, - "xunit": { - "type": "Direct", - "requested": "[2.4.1, )", - "resolved": "2.4.1", - "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", - "dependencies": { - "xunit.analyzers": "0.10.0", - "xunit.assert": "[2.4.1]", - "xunit.core": "[2.4.1]" - } - }, - "xunit.runner.visualstudio": { - "type": "Direct", - "requested": "[2.4.3, )", - "resolved": "2.4.3", - "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" - }, - "BananaCakePop.Middleware": { - "type": "Transitive", - "resolved": "7.0.4", - "contentHash": "MjXgiZ2WTmijyojmuiDMoqa2rokg0yNROwpe6yQibFre6D3CPdmCiIt48YE9+8ZBwgss5BK49iluktHFuf0XfQ==", - "dependencies": { - "Yarp.ReverseProxy": "2.0.1" - } - }, - "Castle.Core": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "edc8jjyXqzzy8jFdhs36FZdwmlDDTgqPb2Zy1Q5F/f2uAc88bu/VS/0Tpvgupmpl9zJOvOo5ZizVANb0ltN1NQ==", - "dependencies": { - "System.Diagnostics.EventLog": "6.0.0" - } - }, - "Microsoft.AspNetCore.WebUtilities": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", - "dependencies": { - "Microsoft.Net.Http.Headers": "2.2.0", - "System.Text.Encodings.Web": "4.5.0" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q==" - }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==" - }, - "Microsoft.Extensions.Http": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "9Pq9f/CvOSz0t9yQa6g1uWpxa2sm13daLFm8EZwy9MaQUjKXWdNUXQwIxwhmba5N83UIqURiPHSNqGK1vfWF2w==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==" - }, - "Microsoft.Extensions.ObjectPool": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "udvKco0sAVgYGTBnHUb0tY9JQzJ/nPDiv/8PIyz69wl1AibeCDZOLVVI+6156dPfHmJH7ws5oUJRiW4ZmAvuuA==" - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==" - }, - "Microsoft.Net.Http.Headers": { - "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", - "dependencies": { - "Microsoft.Extensions.Primitives": "2.2.0", - "System.Buffers": "4.5.0" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg==" - }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", - "dependencies": { - "NuGet.Frameworks": "5.11.0", - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.1.0", - "Newtonsoft.Json": "9.0.1" - } - }, - "Microsoft.Win32.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "NETStandard.Library": { - "type": "Transitive", - "resolved": "1.6.1", - "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.AppContext": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Console": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.Compression.ZipFile": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Net.Http": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Timer": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0", - "System.Xml.XDocument": "4.3.0" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.2", - "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "5.11.0", - "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" - }, - "Snapshooter": { - "type": "Transitive", - "resolved": "0.5.4", - "contentHash": "znayjnxtFjFcRFdS4W8KyeODS/FOVkIzlAD8hRfrrf3fd3hJ9k+XMNRYCARtzrN3ueIpF4USQbAhWrO73Z9z6w==", - "dependencies": { - "Newtonsoft.Json": "12.0.1" - } - }, - "System.AppContext": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==" - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==" - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Console": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "9W0ewWDuAyDqS2PigdTxk6jDKonfgscY/hP8hm7VpxYhNHZHKvZTdRckberlFk3VnCmr3xBUyMBut12Q+T2aOw==" - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" - }, - "System.Diagnostics.Tools": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Buffers": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.IO.Compression": "4.3.0" - } - }, - "System.IO.Compression.ZipFile": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", - "dependencies": { - "System.Buffers": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "sDnWM0N3AMCa86LrKTWeF3BZLD2sgWyYUc7HL6z4+xyDZNQRwzmxbo4qP2rX2MqC+Sy1/gOSRDah5ltxY5jPxw==" - }, - "System.IO.Packaging": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "+j5ezLP7785/pd4taKQhXAWsymsIW2nTnE/U3/jpGZzcJx5lip6qkj6UrxSE7ZYZfL0GaLuymwGLqwJV/c7O7Q==" - }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "jRn6JYnNPW6xgQazROBLSfpdoczRw694vO5kKvMcNnpXuolEixUyw6IBuBs2Y2mlSX/LdLvyyWmfXhaI3ND1Yg==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Expressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Sockets": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.ObjectModel": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Reactive": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.ILGeneration": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.Lightweight": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.RuntimeInformation": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "DaGSsVqKsn/ia6RG8frjwmJonfos0srquhw09TlT8KRw5I43E+4gs+/bZj4K0vShJ5H9imCuXupb4RmS+dBy3w==", - "dependencies": { - "System.Text.Encodings.Web": "7.0.0" - } - }, - "System.Text.RegularExpressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Channels": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Threading.Timer": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Xml.ReaderWriter": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - } - }, - "System.Xml.XDocument": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - } - }, - "xunit.abstractions": { - "type": "Transitive", - "resolved": "2.0.3", - "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" - }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "0.10.0", - "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" - }, - "xunit.assert": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", - "dependencies": { - "NETStandard.Library": "1.6.1" - } - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", - "dependencies": { - "xunit.extensibility.core": "[2.4.1]", - "xunit.extensibility.execution": "[2.4.1]" - } - }, - "xunit.extensibility.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.abstractions": "2.0.3" - } - }, - "xunit.extensibility.execution": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.extensibility.core": "[2.4.1]" - } - }, - "Yarp.ReverseProxy": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "op7vBwONPFeR1PYxeLw+RLqSodODDX8RWd0OinLGMVIq6yi1q9mv1j56ImuyZgiAToksiC0Dc7jbRUZ9I+jvFA==", - "dependencies": { - "System.IO.Hashing": "7.0.0" - } - }, - "cookiecrumble": { - "type": "Project", - "dependencies": { - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "Microsoft.AspNetCore.WebUtilities": "[2.2.0, )", - "Newtonsoft.Json": "[13.0.2, )", - "Xunit": "[2.4.1, )" - } - }, - "greendonut": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[7.0.0, )", - "System.Diagnostics.DiagnosticSource": "[7.0.0, )", - "System.Threading.Tasks.Extensions": "[4.5.0, )" - } - }, - "HotChocolate": { - "type": "Project", - "dependencies": { - "HotChocolate.Authorization": "[0.0.0, )", - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Types.CursorPagination": "[0.0.0, )", - "HotChocolate.Types.Mutations": "[0.0.0, )", - "HotChocolate.Types.OffsetPagination": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )" - } - }, - "hotchocolate.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "System.Collections.Immutable": "[7.0.0, )" - } - }, - "hotchocolate.aspnetcore": { - "type": "Project", - "dependencies": { - "BananaCakePop.Middleware": "[7.0.4, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Types.Scalars.Upload": "[0.0.0, )" - } - }, - "hotchocolate.authorization": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )" - } - }, - "hotchocolate.execution": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection": "[7.0.0, )", - "System.Threading.Channels": "[7.0.0, )" - } - }, - "hotchocolate.execution.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[7.0.0, )" - } - }, - "hotchocolate.fetching": { - "type": "Project", - "dependencies": { - "GreenDonut": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.fusion": { - "type": "Project", - "dependencies": { - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Http": "[0.0.0, )", - "HotChocolate.Transport.Sockets.Client": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[7.0.0, )", - "Microsoft.Extensions.Http": "[7.0.0, )", - "System.Reactive": "[5.0.0, )" - } - }, - "hotchocolate.fusion.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Packaging": "[7.0.0, )" - } - }, - "hotchocolate.language": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Language.Utf8": "[0.0.0, )", - "HotChocolate.Language.Visitors": "[0.0.0, )", - "HotChocolate.Language.Web": "[0.0.0, )" - } - }, - "hotchocolate.language.syntaxtree": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[7.0.0, )" - } - }, - "hotchocolate.language.utf8": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.visitors": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.web": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.Utf8": "[0.0.0, )" - } - }, - "HotChocolate.StarWars": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.subscriptions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )" - } - }, - "hotchocolate.subscriptions.inmemory": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Subscriptions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[7.0.0, )" - } - }, - "hotchocolate.tests.utilities": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate.StarWars": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.transport.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "System.Collections.Immutable": "[7.0.0, )", - "System.Text.Json": "[7.0.0, )" - } - }, - "hotchocolate.transport.http": { - "type": "Project", - "dependencies": { - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Pipelines": "[7.0.0, )" - } - }, - "hotchocolate.transport.sockets": { - "type": "Project", - "dependencies": { - "System.IO.Pipelines": "[7.0.0, )" - } - }, - "hotchocolate.transport.sockets.client": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.Collections.Immutable": "[7.0.0, )", - "System.Text.Json": "[7.0.0, )" - } - }, - "hotchocolate.types": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Types.Shared": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[7.0.0, )", - "Microsoft.Extensions.ObjectPool": "[7.0.0, )", - "System.ComponentModel.Annotations": "[5.0.0, )", - "System.Text.Json": "[7.0.0, )" - } - }, - "hotchocolate.types.cursorpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.mutations": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.offsetpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.scalars.upload": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.shared": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.utilities": { - "type": "Project" - }, - "hotchocolate.validation": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[7.0.0, )", - "Microsoft.Extensions.Options": "[7.0.0, )" - } - } - }, - "net8.0": { - "ChilliCream.Testing.Utilities": { - "type": "Direct", - "requested": "[0.2.0, )", - "resolved": "0.2.0", - "contentHash": "gqRu5DNIt6FphQX4EZYlkOI3QmyzatQhuqf3zNXYBmmvmVQ0KaJStDvrANosxlrlVtVX+L5q/s4z9gZMCeuwkA==", - "dependencies": { - "Newtonsoft.Json": "11.0.2", - "xunit": "2.3.1" - } - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[3.1.2, )", - "resolved": "3.1.2", - "contentHash": "QhM0fnDtmIMImY7oxyQ/kh1VYtRxPyRVeLwRUGuUvI6Xp83pSYG9gerK8WgJj4TzUl7ISziADUGtIWKhtlbkbQ==" - }, - "DiffPlex": { - "type": "Direct", - "requested": "[1.7.1, )", - "resolved": "1.7.1", - "contentHash": "a0fSO2p8ykrcfzgG0sjpZAMZPthXXz4l6UIVuM9uyIYIh5yga4sq3aydSGt6n+MkdSBKvMurjjaKnxIqZtfG1g==" - }, - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.1.0, )", - "resolved": "17.1.0", - "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", - "dependencies": { - "Microsoft.CodeCoverage": "17.1.0", - "Microsoft.TestPlatform.TestHost": "17.1.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.1.1, )", - "resolved": "1.1.1", - "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.1", - "Microsoft.SourceLink.Common": "1.1.1" - } - }, - "Moq": { - "type": "Direct", - "requested": "[4.18.1, )", - "resolved": "4.18.1", - "contentHash": "MmZIKNyvn8VrivSaqA8tqy5DmwUievC9zsuNTrcb00oY4IeGq6fXT5BQK329lZ05/tyi5vp30AWe9fl0d2PZQg==", - "dependencies": { - "Castle.Core": "5.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Snapshooter.Xunit": { - "type": "Direct", - "requested": "[0.5.4, )", - "resolved": "0.5.4", - "contentHash": "gE9VlseOySUSwwAKCXastwxJ7qYpVHwIEi+QbzRVmdOvV6Ry/vE1WqyuolRHwhjx2QZY8+YuO4L/cKJGrt2H6w==", - "dependencies": { - "Snapshooter": "0.5.4", - "xunit.assert": "2.4.1", - "xunit.core": "2.4.1" - } - }, - "xunit": { - "type": "Direct", - "requested": "[2.4.1, )", - "resolved": "2.4.1", - "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", - "dependencies": { - "xunit.analyzers": "0.10.0", - "xunit.assert": "[2.4.1]", - "xunit.core": "[2.4.1]" - } - }, - "xunit.runner.visualstudio": { - "type": "Direct", - "requested": "[2.4.3, )", - "resolved": "2.4.3", - "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" - }, - "BananaCakePop.Middleware": { - "type": "Transitive", - "resolved": "7.0.4", - "contentHash": "MjXgiZ2WTmijyojmuiDMoqa2rokg0yNROwpe6yQibFre6D3CPdmCiIt48YE9+8ZBwgss5BK49iluktHFuf0XfQ==", - "dependencies": { - "Yarp.ReverseProxy": "2.0.1" - } - }, - "Castle.Core": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "edc8jjyXqzzy8jFdhs36FZdwmlDDTgqPb2Zy1Q5F/f2uAc88bu/VS/0Tpvgupmpl9zJOvOo5ZizVANb0ltN1NQ==", - "dependencies": { - "System.Diagnostics.EventLog": "6.0.0" - } - }, - "Microsoft.AspNetCore.WebUtilities": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "IU0qZf861ovWA4oYxwQsF5coMoPj4VQaSNIcYxXscZk0ndtcEkt/S0PJKSsyrG5Kpk+XX8Rm8eUTuoXU5LCdGQ==", - "dependencies": { - "Microsoft.Net.Http.Headers": "8.0.0-rc.2.23480.2", - "System.IO.Pipelines": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q==" - }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "EKodZ6NQYChCzAXCv4862OsVQcXM50vr0reWrtsmlv3vFyAvGOmqkbQyn4Gd07f4LJLkTSOCeWhpazzztSBHuA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "l9dJA7vNLJtSwg0J3ThUA47YZiRVQIIhCyMMNu/wJ0KOawdMmbrzJnKfd1sioZp0JzT+1IjiVaUZWK0t47pPOQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "PCaxgxWQQ9Tp7s2ZGQ5gGgHJrZvof7Cx4ZYXACNGjSJqZy1fHLBGY9swBAF3EiYiZaT3Gi1n5ULcg4zBDyBQ8g==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "pUD/Gjd0MTrWPD4/SnKazYQvky2EHEtPyGb3FWZkEPWAfYPFVVw5fMRTkfoBPivpWLuxEw4FNK7GX77xEErUQQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "QLTBDvE/E05Xl2UVFXOBFIW0VLn/mMJ8DSbTyK6ODsO3sqDs0fyPqydACTnX/nbGZRrTMeud3XDbUrt24ab1EA==" - }, - "Microsoft.Extensions.Diagnostics": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "Vi2kvOc0RShw9CtEPRdWaaNQguZFZbGtfcJ1TNwhc3WxHYV/L+Z7yv5oWcMNMEg73IFYqZlw+O207wqF5tx6tw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "AuJAzE869SAnztIP7RNCKaihJpCKajS519g+Nmd7CorXc6Y559ygx/nm9JVCAm8cGEbedPhCyvTIkWnCsLV1GA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6", - "System.Diagnostics.DiagnosticSource": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Http": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "/liFq65exduN7ay7abtt7BcezfzwgYv4kG6KAwX2fXS+knyZVFoCJuCljOPTnU2gRpP9nJMKnmTropI9VffU6Q==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Diagnostics": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "EqCB9QQYUHUVklT1Us38PuiHNIAbYHVnAvPEpR8VSBbiCa1GUIOdW+zLR8Cvb9XtjDkirVA+eH84z0ktikPw5Q==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "xuQcOpvz76nTYytCf9HrHGCbMq/PU/ZGSkhX/grDBfWHZ1gjz38hDjrYn4NMr5DnndNtou4yn6tR5q0hjCr9pw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.ObjectPool": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "iL9VcNK4dbMOLqAHInwcmVxzr+5sXp70m5Tt1uyIkc5SfJUTuFN6VaxrZy3k91oquTtYrkK9DbE5IP18iJUrtw==" - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "f2uTnKEleplKK+pVKEg1rOCmM3+cuLpafTpKJzbj9lm8dmj0+dWxb0L6MAt9r1s3OYlIKY5IdkW0TUFKXvRCMg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "KTRXGMIX1A99qYV94ioU9XeWUgftfivS7NWIe4wrCdBYV9G915kvCJEcAU9QeUlogN8t53nqPY+RQUMUTvFGkg==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Configuration.Binder": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "I3fTiDmV+2cCR3VjH+oz49AMgrAqX1cmNiWXmEAituAI7jCLA16uXzvYQTwxhQzov5BTdPVXKGNTxsMb1GpcLQ==" - }, - "Microsoft.Net.Http.Headers": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "OJ4XCAD/DkhTnjbFU07TilTjgGwt42Bzppqe/EsO0oBlp6itsyODvmchA0sYX2Dpi8ky90B+17F1phQvuNLiuw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg==" - }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", - "dependencies": { - "NuGet.Frameworks": "5.11.0", - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.1.0", - "Newtonsoft.Json": "9.0.1" - } - }, - "Microsoft.Win32.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "NETStandard.Library": { - "type": "Transitive", - "resolved": "1.6.1", - "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.AppContext": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Console": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.Compression.ZipFile": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Net.Http": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Timer": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0", - "System.Xml.XDocument": "4.3.0" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.2", - "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "5.11.0", - "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" - }, - "Snapshooter": { - "type": "Transitive", - "resolved": "0.5.4", - "contentHash": "znayjnxtFjFcRFdS4W8KyeODS/FOVkIzlAD8hRfrrf3fd3hJ9k+XMNRYCARtzrN3ueIpF4USQbAhWrO73Z9z6w==", - "dependencies": { - "Newtonsoft.Json": "12.0.1" - } - }, - "System.AppContext": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "+iYjFMCIQMT7FCkZgiYY4Xk9fYCmmiPtCLNn3qqMTJ7Jeqa6SfYdFKsAk4XHTPK81Ov0LsFbKKSMDGFggTc+ZA==" - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Console": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "D1Fi5wRyRVwriEdlSniYlo2kW8SCGaSCM/alsY8R7eXcW+xCPRB7gohE45X00EiNkhdUrJ3yNfltV8lLK0HoWQ==" - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" - }, - "System.Diagnostics.Tools": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Buffers": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.IO.Compression": "4.3.0" - } - }, - "System.IO.Compression.ZipFile": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", - "dependencies": { - "System.Buffers": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "sDnWM0N3AMCa86LrKTWeF3BZLD2sgWyYUc7HL6z4+xyDZNQRwzmxbo4qP2rX2MqC+Sy1/gOSRDah5ltxY5jPxw==" - }, - "System.IO.Packaging": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "WE/oyX4XZWVdaMMENQ6y7Hz3Rsv/P26TwMDR9A3AYjZGSmOZOgbRyDH6VZi4LK9VNE7nQlAV6qlmxWGrunl4rQ==" - }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "4bqn2Kj0keumJ0x3wdZtO1Ex/5Ppu01fP7Rtmn1uJBR08WWRKeKSX6U9a/BiEieE9JjhzapvhjPtFypE7ZIAyQ==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Expressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Sockets": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.ObjectModel": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Reactive": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.ILGeneration": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.Lightweight": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.RuntimeInformation": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "n66ZIJjetmrMq9hJ61Xed2cp9O2zr/VdzhhURjkLDEFOZ38/VpOWnvM3CWCXA18NbM7x0tdKZYex9rj0NimpPA==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "SXMjrmm/e0Om+731AEUgm+81dC+i9mV54nKJGOq9+zTYpzujMCmSQSMS1sgQb0gmiiAfTfRC5WgD3l92cfAP+g==", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0-rc.2.23479.6" - } - }, - "System.Text.RegularExpressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Channels": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "z8/q0WPKxQsxuzywRbY1oCb2ZO4qgRbE0nYwXjwrIJ7y10796vJl9P2++MF4JcBcKXfNLgw0JSQslMTxXB+C/A==" - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Threading.Timer": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Xml.ReaderWriter": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - } - }, - "System.Xml.XDocument": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - } - }, - "xunit.abstractions": { - "type": "Transitive", - "resolved": "2.0.3", - "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" - }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "0.10.0", - "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" - }, - "xunit.assert": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", - "dependencies": { - "NETStandard.Library": "1.6.1" - } - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", - "dependencies": { - "xunit.extensibility.core": "[2.4.1]", - "xunit.extensibility.execution": "[2.4.1]" - } - }, - "xunit.extensibility.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.abstractions": "2.0.3" - } - }, - "xunit.extensibility.execution": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.extensibility.core": "[2.4.1]" - } - }, - "Yarp.ReverseProxy": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "op7vBwONPFeR1PYxeLw+RLqSodODDX8RWd0OinLGMVIq6yi1q9mv1j56ImuyZgiAToksiC0Dc7jbRUZ9I+jvFA==", - "dependencies": { - "System.IO.Hashing": "7.0.0" - } - }, - "cookiecrumble": { - "type": "Project", - "dependencies": { - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "Microsoft.AspNetCore.WebUtilities": "[8.0.0-rc.2.23480.2, )", - "Newtonsoft.Json": "[13.0.2, )", - "Xunit": "[2.4.1, )" - } - }, - "greendonut": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )", - "System.Diagnostics.DiagnosticSource": "[8.0.0-rc.2.23479.6, )", - "System.Threading.Tasks.Extensions": "[4.5.0, )" - } - }, - "HotChocolate": { - "type": "Project", - "dependencies": { - "HotChocolate.Authorization": "[0.0.0, )", - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Types.CursorPagination": "[0.0.0, )", - "HotChocolate.Types.Mutations": "[0.0.0, )", - "HotChocolate.Types.OffsetPagination": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )" - } - }, - "hotchocolate.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.aspnetcore": { - "type": "Project", - "dependencies": { - "BananaCakePop.Middleware": "[7.0.4, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Types.Scalars.Upload": "[0.0.0, )" - } - }, - "hotchocolate.authorization": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )" - } - }, - "hotchocolate.execution": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection": "[8.0.0-rc.2.23479.6, )", - "System.Threading.Channels": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.execution.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.fetching": { - "type": "Project", - "dependencies": { - "GreenDonut": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.fusion": { - "type": "Project", - "dependencies": { - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Http": "[0.0.0, )", - "HotChocolate.Transport.Sockets.Client": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.Http": "[8.0.0-rc.2.23479.6, )", - "System.Reactive": "[5.0.0, )" - } - }, - "hotchocolate.fusion.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Packaging": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.language": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Language.Utf8": "[0.0.0, )", - "HotChocolate.Language.Visitors": "[0.0.0, )", - "HotChocolate.Language.Web": "[0.0.0, )" - } - }, - "hotchocolate.language.syntaxtree": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )" - } - }, - "hotchocolate.language.utf8": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.visitors": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.web": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.Utf8": "[0.0.0, )" - } - }, - "HotChocolate.StarWars": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.subscriptions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )" - } - }, - "hotchocolate.subscriptions.inmemory": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Subscriptions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.tests.utilities": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate.StarWars": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.transport.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.http": { - "type": "Project", - "dependencies": { - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Pipelines": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.sockets": { - "type": "Project", - "dependencies": { - "System.IO.Pipelines": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.sockets.client": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.types": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Types.Shared": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )", - "System.ComponentModel.Annotations": "[5.0.0, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.types.cursorpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.mutations": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.offsetpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.scalars.upload": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.shared": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.utilities": { - "type": "Project" - }, - "hotchocolate.validation": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.Options": "[8.0.0-rc.2.23479.6, )" - } - } } } } \ No newline at end of file diff --git a/src/HotChocolate/Fusion/src/Abstractions/JsonElementExtensions.cs b/src/HotChocolate/Fusion/src/Abstractions/JsonElementExtensions.cs index d5254096ca7..759833bed5c 100644 --- a/src/HotChocolate/Fusion/src/Abstractions/JsonElementExtensions.cs +++ b/src/HotChocolate/Fusion/src/Abstractions/JsonElementExtensions.cs @@ -7,7 +7,7 @@ internal static class JsonElementExtensions { public static JsonElement SafeClone(this JsonElement element) { - var writer = new ArrayWriter(); + using var writer = new ArrayWriter(); using var jsonWriter = new Utf8JsonWriter(writer); element.WriteTo(jsonWriter); diff --git a/src/HotChocolate/Fusion/test/Shared/packages.lock.json b/src/HotChocolate/Fusion/test/Shared/packages.lock.json index 8beee32e97b..5eb3872e03a 100644 --- a/src/HotChocolate/Fusion/test/Shared/packages.lock.json +++ b/src/HotChocolate/Fusion/test/Shared/packages.lock.json @@ -1529,1602 +1529,6 @@ "Microsoft.Extensions.Options": "[7.0.0, )" } } - }, - "net8.0": { - "coverlet.msbuild": { - "type": "Direct", - "requested": "[3.1.2, )", - "resolved": "3.1.2", - "contentHash": "QhM0fnDtmIMImY7oxyQ/kh1VYtRxPyRVeLwRUGuUvI6Xp83pSYG9gerK8WgJj4TzUl7ISziADUGtIWKhtlbkbQ==" - }, - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.1.0, )", - "resolved": "17.1.0", - "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", - "dependencies": { - "Microsoft.CodeCoverage": "17.1.0", - "Microsoft.TestPlatform.TestHost": "17.1.0" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.1.1, )", - "resolved": "1.1.1", - "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.1", - "Microsoft.SourceLink.Common": "1.1.1" - } - }, - "Moq": { - "type": "Direct", - "requested": "[4.18.1, )", - "resolved": "4.18.1", - "contentHash": "MmZIKNyvn8VrivSaqA8tqy5DmwUievC9zsuNTrcb00oY4IeGq6fXT5BQK329lZ05/tyi5vp30AWe9fl0d2PZQg==", - "dependencies": { - "Castle.Core": "5.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "xunit": { - "type": "Direct", - "requested": "[2.4.1, )", - "resolved": "2.4.1", - "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", - "dependencies": { - "xunit.analyzers": "0.10.0", - "xunit.assert": "[2.4.1]", - "xunit.core": "[2.4.1]" - } - }, - "xunit.runner.visualstudio": { - "type": "Direct", - "requested": "[2.4.3, )", - "resolved": "2.4.3", - "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" - }, - "BananaCakePop.Middleware": { - "type": "Transitive", - "resolved": "7.0.4", - "contentHash": "MjXgiZ2WTmijyojmuiDMoqa2rokg0yNROwpe6yQibFre6D3CPdmCiIt48YE9+8ZBwgss5BK49iluktHFuf0XfQ==", - "dependencies": { - "Yarp.ReverseProxy": "2.0.1" - } - }, - "Castle.Core": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "edc8jjyXqzzy8jFdhs36FZdwmlDDTgqPb2Zy1Q5F/f2uAc88bu/VS/0Tpvgupmpl9zJOvOo5ZizVANb0ltN1NQ==", - "dependencies": { - "System.Diagnostics.EventLog": "6.0.0" - } - }, - "ChilliCream.Testing.Utilities": { - "type": "Transitive", - "resolved": "0.2.0", - "contentHash": "gqRu5DNIt6FphQX4EZYlkOI3QmyzatQhuqf3zNXYBmmvmVQ0KaJStDvrANosxlrlVtVX+L5q/s4z9gZMCeuwkA==", - "dependencies": { - "Newtonsoft.Json": "11.0.2", - "xunit": "2.3.1" - } - }, - "DiffPlex": { - "type": "Transitive", - "resolved": "1.7.1", - "contentHash": "a0fSO2p8ykrcfzgG0sjpZAMZPthXXz4l6UIVuM9uyIYIh5yga4sq3aydSGt6n+MkdSBKvMurjjaKnxIqZtfG1g==" - }, - "Microsoft.AspNetCore.TestHost": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "72hJ3zrbARc21VXePiOnPe1MH7/5L/XGTvijFQWEvMzly7Zs0fOuWvaLFI9/kAJLLBwcp9rg4uWqlNLtbqEtMw==", - "dependencies": { - "System.IO.Pipelines": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.AspNetCore.WebUtilities": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "IU0qZf861ovWA4oYxwQsF5coMoPj4VQaSNIcYxXscZk0ndtcEkt/S0PJKSsyrG5Kpk+XX8Rm8eUTuoXU5LCdGQ==", - "dependencies": { - "Microsoft.Net.Http.Headers": "8.0.0-rc.2.23480.2", - "System.IO.Pipelines": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q==" - }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "EKodZ6NQYChCzAXCv4862OsVQcXM50vr0reWrtsmlv3vFyAvGOmqkbQyn4Gd07f4LJLkTSOCeWhpazzztSBHuA==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "l9dJA7vNLJtSwg0J3ThUA47YZiRVQIIhCyMMNu/wJ0KOawdMmbrzJnKfd1sioZp0JzT+1IjiVaUZWK0t47pPOQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "PCaxgxWQQ9Tp7s2ZGQ5gGgHJrZvof7Cx4ZYXACNGjSJqZy1fHLBGY9swBAF3EiYiZaT3Gi1n5ULcg4zBDyBQ8g==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "pUD/Gjd0MTrWPD4/SnKazYQvky2EHEtPyGb3FWZkEPWAfYPFVVw5fMRTkfoBPivpWLuxEw4FNK7GX77xEErUQQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "QLTBDvE/E05Xl2UVFXOBFIW0VLn/mMJ8DSbTyK6ODsO3sqDs0fyPqydACTnX/nbGZRrTMeud3XDbUrt24ab1EA==" - }, - "Microsoft.Extensions.Diagnostics": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "Vi2kvOc0RShw9CtEPRdWaaNQguZFZbGtfcJ1TNwhc3WxHYV/L+Z7yv5oWcMNMEg73IFYqZlw+O207wqF5tx6tw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "AuJAzE869SAnztIP7RNCKaihJpCKajS519g+Nmd7CorXc6Y559ygx/nm9JVCAm8cGEbedPhCyvTIkWnCsLV1GA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6", - "System.Diagnostics.DiagnosticSource": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Http": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "/liFq65exduN7ay7abtt7BcezfzwgYv4kG6KAwX2fXS+knyZVFoCJuCljOPTnU2gRpP9nJMKnmTropI9VffU6Q==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Diagnostics": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "EqCB9QQYUHUVklT1Us38PuiHNIAbYHVnAvPEpR8VSBbiCa1GUIOdW+zLR8Cvb9XtjDkirVA+eH84z0ktikPw5Q==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "xuQcOpvz76nTYytCf9HrHGCbMq/PU/ZGSkhX/grDBfWHZ1gjz38hDjrYn4NMr5DnndNtou4yn6tR5q0hjCr9pw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.ObjectPool": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "iL9VcNK4dbMOLqAHInwcmVxzr+5sXp70m5Tt1uyIkc5SfJUTuFN6VaxrZy3k91oquTtYrkK9DbE5IP18iJUrtw==" - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "f2uTnKEleplKK+pVKEg1rOCmM3+cuLpafTpKJzbj9lm8dmj0+dWxb0L6MAt9r1s3OYlIKY5IdkW0TUFKXvRCMg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "KTRXGMIX1A99qYV94ioU9XeWUgftfivS7NWIe4wrCdBYV9G915kvCJEcAU9QeUlogN8t53nqPY+RQUMUTvFGkg==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Configuration.Binder": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Options": "8.0.0-rc.2.23479.6", - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "I3fTiDmV+2cCR3VjH+oz49AMgrAqX1cmNiWXmEAituAI7jCLA16uXzvYQTwxhQzov5BTdPVXKGNTxsMb1GpcLQ==" - }, - "Microsoft.Net.Http.Headers": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23480.2", - "contentHash": "OJ4XCAD/DkhTnjbFU07TilTjgGwt42Bzppqe/EsO0oBlp6itsyODvmchA0sYX2Dpi8ky90B+17F1phQvuNLiuw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0-rc.2.23479.6" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg==" - }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", - "dependencies": { - "NuGet.Frameworks": "5.11.0", - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.1.0", - "Newtonsoft.Json": "9.0.1" - } - }, - "Microsoft.Win32.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "NETStandard.Library": { - "type": "Transitive", - "resolved": "1.6.1", - "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.AppContext": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Console": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.Compression.ZipFile": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Net.Http": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Timer": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0", - "System.Xml.XDocument": "4.3.0" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.2", - "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "5.11.0", - "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" - }, - "Snapshooter": { - "type": "Transitive", - "resolved": "0.5.4", - "contentHash": "znayjnxtFjFcRFdS4W8KyeODS/FOVkIzlAD8hRfrrf3fd3hJ9k+XMNRYCARtzrN3ueIpF4USQbAhWrO73Z9z6w==", - "dependencies": { - "Newtonsoft.Json": "12.0.1" - } - }, - "Snapshooter.Xunit": { - "type": "Transitive", - "resolved": "0.5.4", - "contentHash": "gE9VlseOySUSwwAKCXastwxJ7qYpVHwIEi+QbzRVmdOvV6Ry/vE1WqyuolRHwhjx2QZY8+YuO4L/cKJGrt2H6w==", - "dependencies": { - "Snapshooter": "0.5.4", - "xunit.assert": "2.4.1", - "xunit.core": "2.4.1" - } - }, - "System.AppContext": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "+iYjFMCIQMT7FCkZgiYY4Xk9fYCmmiPtCLNn3qqMTJ7Jeqa6SfYdFKsAk4XHTPK81Ov0LsFbKKSMDGFggTc+ZA==" - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Console": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "D1Fi5wRyRVwriEdlSniYlo2kW8SCGaSCM/alsY8R7eXcW+xCPRB7gohE45X00EiNkhdUrJ3yNfltV8lLK0HoWQ==" - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" - }, - "System.Diagnostics.Tools": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.Tracing": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Compression": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Buffers": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.IO.Compression": "4.3.0" - } - }, - "System.IO.Compression.ZipFile": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", - "dependencies": { - "System.Buffers": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Hashing": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "sDnWM0N3AMCa86LrKTWeF3BZLD2sgWyYUc7HL6z4+xyDZNQRwzmxbo4qP2rX2MqC+Sy1/gOSRDah5ltxY5jPxw==" - }, - "System.IO.Packaging": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "WE/oyX4XZWVdaMMENQ6y7Hz3Rsv/P26TwMDR9A3AYjZGSmOZOgbRyDH6VZi4LK9VNE7nQlAV6qlmxWGrunl4rQ==" - }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "4bqn2Kj0keumJ0x3wdZtO1Ex/5Ppu01fP7Rtmn1uJBR08WWRKeKSX6U9a/BiEieE9JjhzapvhjPtFypE7ZIAyQ==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Expressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Net.Http": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Net.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Sockets": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.ObjectModel": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Reactive": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.ILGeneration": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.Lightweight": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.RuntimeInformation": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Runtime.Numerics": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Security.Cryptography.Algorithms": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Cng": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.OpenSsl": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Security.Cryptography.X509Certificates": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "n66ZIJjetmrMq9hJ61Xed2cp9O2zr/VdzhhURjkLDEFOZ38/VpOWnvM3CWCXA18NbM7x0tdKZYex9rj0NimpPA==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "SXMjrmm/e0Om+731AEUgm+81dC+i9mV54nKJGOq9+zTYpzujMCmSQSMS1sgQb0gmiiAfTfRC5WgD3l92cfAP+g==", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0-rc.2.23479.6" - } - }, - "System.Text.RegularExpressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Channels": { - "type": "Transitive", - "resolved": "8.0.0-rc.2.23479.6", - "contentHash": "z8/q0WPKxQsxuzywRbY1oCb2ZO4qgRbE0nYwXjwrIJ7y10796vJl9P2++MF4JcBcKXfNLgw0JSQslMTxXB+C/A==" - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Threading.Timer": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Xml.ReaderWriter": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - } - }, - "System.Xml.XDocument": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - } - }, - "xunit.abstractions": { - "type": "Transitive", - "resolved": "2.0.3", - "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" - }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "0.10.0", - "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" - }, - "xunit.assert": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", - "dependencies": { - "NETStandard.Library": "1.6.1" - } - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", - "dependencies": { - "xunit.extensibility.core": "[2.4.1]", - "xunit.extensibility.execution": "[2.4.1]" - } - }, - "xunit.extensibility.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.abstractions": "2.0.3" - } - }, - "xunit.extensibility.execution": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.extensibility.core": "[2.4.1]" - } - }, - "Yarp.ReverseProxy": { - "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "op7vBwONPFeR1PYxeLw+RLqSodODDX8RWd0OinLGMVIq6yi1q9mv1j56ImuyZgiAToksiC0Dc7jbRUZ9I+jvFA==", - "dependencies": { - "System.IO.Hashing": "7.0.0" - } - }, - "cookiecrumble": { - "type": "Project", - "dependencies": { - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "Microsoft.AspNetCore.WebUtilities": "[8.0.0-rc.2.23480.2, )", - "Newtonsoft.Json": "[13.0.2, )", - "Xunit": "[2.4.1, )" - } - }, - "greendonut": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )", - "System.Diagnostics.DiagnosticSource": "[8.0.0-rc.2.23479.6, )", - "System.Threading.Tasks.Extensions": "[4.5.0, )" - } - }, - "HotChocolate": { - "type": "Project", - "dependencies": { - "HotChocolate.Authorization": "[0.0.0, )", - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Types.CursorPagination": "[0.0.0, )", - "HotChocolate.Types.Mutations": "[0.0.0, )", - "HotChocolate.Types.OffsetPagination": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )" - } - }, - "hotchocolate.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.aspnetcore": { - "type": "Project", - "dependencies": { - "BananaCakePop.Middleware": "[7.0.4, )", - "HotChocolate": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Types.Scalars.Upload": "[0.0.0, )" - } - }, - "hotchocolate.aspnetcore.tests.utilities": { - "type": "Project", - "dependencies": { - "CookieCrumble": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.StarWars": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "HotChocolate.Tests.Utilities": "[0.0.0, )", - "HotChocolate.Transport.Sockets.Client": "[0.0.0, )", - "HotChocolate.Types.Scalars.Upload": "[0.0.0, )", - "Microsoft.AspNetCore.TestHost": "[8.0.0-rc.2.23480.2, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.authorization": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )" - } - }, - "hotchocolate.execution": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Fetching": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )", - "HotChocolate.Validation": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection": "[8.0.0-rc.2.23479.6, )", - "System.Threading.Channels": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.execution.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.fetching": { - "type": "Project", - "dependencies": { - "GreenDonut": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.fusion": { - "type": "Project", - "dependencies": { - "HotChocolate": "[0.0.0, )", - "HotChocolate.AspNetCore": "[0.0.0, )", - "HotChocolate.Fusion.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Http": "[0.0.0, )", - "HotChocolate.Transport.Sockets.Client": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.Http": "[8.0.0-rc.2.23479.6, )", - "System.Reactive": "[5.0.0, )" - } - }, - "hotchocolate.fusion.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Packaging": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.fusion.composition": { - "type": "Project", - "dependencies": { - "HotChocolate.Fusion.Abstractions": "[0.0.0, )", - "HotChocolate.Skimmed": "[0.0.0, )" - } - }, - "hotchocolate.language": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Language.Utf8": "[0.0.0, )", - "HotChocolate.Language.Visitors": "[0.0.0, )", - "HotChocolate.Language.Web": "[0.0.0, )" - } - }, - "hotchocolate.language.syntaxtree": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )" - } - }, - "hotchocolate.language.utf8": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.visitors": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.language.web": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.Utf8": "[0.0.0, )" - } - }, - "HotChocolate.Skimmed": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Language": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )" - } - }, - "HotChocolate.StarWars": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.subscriptions": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Execution.Abstractions": "[0.0.0, )" - } - }, - "hotchocolate.subscriptions.inmemory": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution.Abstractions": "[0.0.0, )", - "HotChocolate.Subscriptions": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.tests.utilities": { - "type": "Project", - "dependencies": { - "ChilliCream.Testing.Utilities": "[0.2.0, )", - "CookieCrumble": "[0.0.0, )", - "DiffPlex": "[1.7.1, )", - "HotChocolate.StarWars": "[0.0.0, )", - "HotChocolate.Subscriptions.InMemory": "[0.0.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.18.1, )", - "Snapshooter.Xunit": "[0.5.4, )", - "xunit": "[2.4.1, )" - } - }, - "hotchocolate.transport.abstractions": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.http": { - "type": "Project", - "dependencies": { - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.IO.Pipelines": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.sockets": { - "type": "Project", - "dependencies": { - "System.IO.Pipelines": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.transport.sockets.client": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )", - "HotChocolate.Transport.Abstractions": "[0.0.0, )", - "HotChocolate.Transport.Sockets": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "System.Collections.Immutable": "[8.0.0-rc.2.23479.6, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.types": { - "type": "Project", - "dependencies": { - "HotChocolate.Abstractions": "[0.0.0, )", - "HotChocolate.Types.Shared": "[0.0.0, )", - "HotChocolate.Utilities": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.ObjectPool": "[8.0.0-rc.2.23480.2, )", - "System.ComponentModel.Annotations": "[5.0.0, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.types.cursorpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.mutations": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.offsetpagination": { - "type": "Project", - "dependencies": { - "HotChocolate.Execution": "[0.0.0, )", - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.scalars.upload": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )" - } - }, - "hotchocolate.types.shared": { - "type": "Project", - "dependencies": { - "HotChocolate.Language.SyntaxTree": "[0.0.0, )" - } - }, - "hotchocolate.utilities": { - "type": "Project" - }, - "hotchocolate.utilities.introspection": { - "type": "Project", - "dependencies": { - "HotChocolate.Language": "[0.0.0, )", - "HotChocolate.Transport.Http": "[0.0.0, )", - "HotChocolate.Types.Shared": "[0.0.0, )", - "System.Text.Json": "[8.0.0-rc.2.23479.6, )" - } - }, - "hotchocolate.validation": { - "type": "Project", - "dependencies": { - "HotChocolate.Types": "[0.0.0, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[8.0.0-rc.2.23479.6, )", - "Microsoft.Extensions.Options": "[8.0.0-rc.2.23479.6, )" - } - } } } } \ No newline at end of file diff --git a/src/HotChocolate/Utilities/test/Utilities.Introspection.Tests/__snapshots__/IntrospectionClientTests.IntrospectServer.snap b/src/HotChocolate/Utilities/test/Utilities.Introspection.Tests/__snapshots__/IntrospectionClientTests.IntrospectServer.snap index 6339cddb5d6..a243b112332 100644 --- a/src/HotChocolate/Utilities/test/Utilities.Introspection.Tests/__snapshots__/IntrospectionClientTests.IntrospectServer.snap +++ b/src/HotChocolate/Utilities/test/Utilities.Introspection.Tests/__snapshots__/IntrospectionClientTests.IntrospectServer.snap @@ -6,6 +6,7 @@ type Query { hero(episode: Episode! = NEW_HOPE): Character + heroByTraits(traits: JSON!): Character heroes(episodes: [Episode!]): [Character!] character(characterIds: [String]): [Character!]! search(text: String): [SearchResult] @@ -36,6 +37,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Droid implements Character { @@ -45,6 +47,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } enum Episode { @@ -58,6 +61,7 @@ interface Character { name: String! friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] + traits: JSON height(unit: Unit): Float } @@ -88,6 +92,8 @@ enum Unit { METERS } +scalar JSON + type Starship { id: ID! name: String! diff --git a/src/StrawberryShake/Client/src/Core/Internal/ArrayWriter.cs b/src/StrawberryShake/Client/src/Core/Internal/ArrayWriter.cs index ae802ed8277..0b11dcedd64 100644 --- a/src/StrawberryShake/Client/src/Core/Internal/ArrayWriter.cs +++ b/src/StrawberryShake/Client/src/Core/Internal/ArrayWriter.cs @@ -3,9 +3,10 @@ namespace StrawberryShake.Internal; -public sealed class ArrayWriter - : IBufferWriter - , IDisposable +/// +/// A that writes to a rented buffer. +/// +public sealed class ArrayWriter : IBufferWriter, IDisposable { private const int _initialBufferSize = 512; private byte[] _buffer; @@ -13,6 +14,9 @@ public sealed class ArrayWriter private int _start; private bool _disposed; + /// + /// Initializes a new instance of the class. + /// public ArrayWriter() { _buffer = ArrayPool.Shared.Rent(_initialBufferSize); @@ -20,66 +24,196 @@ public ArrayWriter() _start = 0; } + /// + /// Gets the number of bytes written to the buffer. + /// public int Length => _start; - public ReadOnlyMemory Body => _buffer.AsMemory().Slice(0, _start); - + /// + /// Gets the underlying buffer. + /// + /// + /// The underlying buffer. + /// + /// + /// Accessing the underlying buffer directly is not recommended. + /// If possible use or . + /// public byte[] GetInternalBuffer() => _buffer; + /// + /// Gets the part of the buffer that has been written to. + /// + /// + /// A of the written portion of the buffer. + /// + public ReadOnlyMemory GetWrittenMemory() + => _buffer.AsMemory().Slice(0, _start); + + /// + /// Gets the part of the buffer that has been written to. + /// + /// + /// A of the written portion of the buffer. + /// + public ReadOnlySpan GetWrittenSpan() + => _buffer.AsSpan().Slice(0, _start); + + /// + /// Advances the writer by the specified number of bytes. + /// + /// + /// The number of bytes to advance the writer by. + /// + /// + /// Thrown if is negative or + /// if is greater than the + /// available capacity on the internal buffer. + /// public void Advance(int count) { + if (_disposed) + { + throw new ObjectDisposedException(nameof(ArrayWriter)); + } + + if (count < 0) + { + throw new ArgumentOutOfRangeException(nameof(count)); + } + + if (count > _capacity) + { + throw new ArgumentOutOfRangeException( + nameof(count), + count, + "Cannot advance past the end of the buffer."); + } + _start += count; _capacity -= count; } + /// + /// Gets a to write to. + /// + /// + /// The minimum size of the returned . + /// + /// + /// A to write to. + /// + /// + /// Thrown if is negative. + /// public Memory GetMemory(int sizeHint = 0) { - var size = sizeHint < 1 ? _initialBufferSize : sizeHint; + if (_disposed) + { + throw new ObjectDisposedException(nameof(ArrayWriter)); + } + + if (sizeHint < 0) + { + throw new ArgumentOutOfRangeException(nameof(sizeHint)); + } + + var size = sizeHint < 1 + ? _initialBufferSize + : sizeHint; EnsureBufferCapacity(size); return _buffer.AsMemory().Slice(_start, size); } + /// + /// Gets a to write to. + /// + /// + /// The minimum size of the returned . + /// + /// + /// A to write to. + /// + /// + /// Thrown if is negative. + /// public Span GetSpan(int sizeHint = 0) { - var size = sizeHint < 1 ? _initialBufferSize : sizeHint; + if (_disposed) + { + throw new ObjectDisposedException(nameof(ArrayWriter)); + } + + if (sizeHint < 0) + { + throw new ArgumentOutOfRangeException(nameof(sizeHint)); + } + + var size = sizeHint < 1 + ? _initialBufferSize + : sizeHint; EnsureBufferCapacity(size); return _buffer.AsSpan().Slice(_start, size); } + + /// + /// Gets the buffer as an + /// + /// + public ArraySegment ToArraySegment() => new(_buffer, 0, _start); + /// + /// Ensures that the internal buffer has the needed capacity. + /// + /// + /// The needed capacity on the internal buffer. + /// private void EnsureBufferCapacity(int neededCapacity) { + // check if we have enough capacity available on the buffer. if (_capacity < neededCapacity) { + // if we need to expand the buffer we first capture the original buffer. var buffer = _buffer; + // next we determine the new size of the buffer, we at least double the size to avoid + // expanding the buffer too often. var newSize = buffer.Length * 2; - if (neededCapacity > buffer.Length) + + // if that new buffer size is not enough to satisfy the needed capacity + // we add the needed capacity to the doubled buffer capacity. + if (neededCapacity > newSize - _start) { newSize += neededCapacity; } + // next we will rent a new array from the array pool that supports + // the new capacity requirements. _buffer = ArrayPool.Shared.Rent(newSize); + + // the rented array might have a larger size than the needed capacity, + // so we will take the buffer length and calculate from that the free capacity. _capacity += _buffer.Length - buffer.Length; + // finally we copy the data from the original buffer to the new buffer. buffer.AsSpan().CopyTo(_buffer); + + // last but not least we return the original buffer to the array pool. ArrayPool.Shared.Return(buffer); } } - public void Clear() - { - ArrayPool.Shared.Return(_buffer); - _buffer = ArrayPool.Shared.Rent(_initialBufferSize); - _capacity = _buffer.Length; - _start = 0; - } + public void Reset() => _start = 0; + /// public void Dispose() { if (!_disposed) { ArrayPool.Shared.Return(_buffer); _buffer = Array.Empty(); + _capacity = 0; + _start = 0; _disposed = true; } } diff --git a/src/StrawberryShake/Client/src/Core/Json/JsonResultPatcher.cs b/src/StrawberryShake/Client/src/Core/Json/JsonResultPatcher.cs index 3bcf9c4316d..ef0db68cb26 100644 --- a/src/StrawberryShake/Client/src/Core/Json/JsonResultPatcher.cs +++ b/src/StrawberryShake/Client/src/Core/Json/JsonResultPatcher.cs @@ -147,7 +147,7 @@ public Response PatchResponse(Response response) _json.WriteTo(writer); writer.Flush(); - var json = JsonDocument.Parse(buffer.Body); + var json = JsonDocument.Parse(buffer.GetWrittenMemory()); return new Response( json, diff --git a/src/StrawberryShake/Client/src/Core/Serialization/JsonSerializer.cs b/src/StrawberryShake/Client/src/Core/Serialization/JsonSerializer.cs index 35f0fe45ef7..e7c2fe84660 100644 --- a/src/StrawberryShake/Client/src/Core/Serialization/JsonSerializer.cs +++ b/src/StrawberryShake/Client/src/Core/Serialization/JsonSerializer.cs @@ -1,24 +1,31 @@ using System.Text.Json; +using StrawberryShake.Internal; namespace StrawberryShake.Serialization; /// /// This serializer handles json scalars. /// -public class JsonSerializer : ScalarSerializer +public class JsonSerializer : ScalarSerializer { public JsonSerializer(string typeName = BuiltInScalarNames.Any) : base(typeName) { } - public override JsonDocument Parse(JsonElement serializedValue) + public override JsonElement Parse(JsonElement serializedValue) { - return JsonDocument.Parse(serializedValue.GetRawText()); + using var writer = new ArrayWriter(); + + // write json value to buffer. + using var jsonWriter = new Utf8JsonWriter(writer); + serializedValue.WriteTo(jsonWriter); + + // now we read the buffer and create an element that does not need to be disposed. + var reader = new Utf8JsonReader(writer.GetSpan(), true, default); + return JsonElement.ParseValue(ref reader); } - protected override JsonElement Format(JsonDocument runtimeValue) - { - return runtimeValue.RootElement; - } + protected override JsonElement Format(JsonElement runtimeValue) + => runtimeValue; } diff --git a/src/StrawberryShake/Client/src/Transport.Http/ResponseEnumerable.cs b/src/StrawberryShake/Client/src/Transport.Http/ResponseEnumerable.cs index d0a36057d39..9bd1a732429 100644 --- a/src/StrawberryShake/Client/src/Transport.Http/ResponseEnumerable.cs +++ b/src/StrawberryShake/Client/src/Transport.Http/ResponseEnumerable.cs @@ -163,7 +163,7 @@ internal static JsonDocument CreateBodyFromException(Exception exception) jsonWriter.WriteEndObject(); jsonWriter.Flush(); - return JsonDocument.Parse(bufferWriter.Body); + return JsonDocument.Parse(bufferWriter.GetWrittenMemory()); } public static ResponseEnumerable Create( diff --git a/src/StrawberryShake/Client/src/Transport.InMemory/InMemoryConnection.cs b/src/StrawberryShake/Client/src/Transport.InMemory/InMemoryConnection.cs index cb5a9c7056e..bfd94a0ffb5 100644 --- a/src/StrawberryShake/Client/src/Transport.InMemory/InMemoryConnection.cs +++ b/src/StrawberryShake/Client/src/Transport.InMemory/InMemoryConnection.cs @@ -85,18 +85,17 @@ private async IAsyncEnumerable> ProcessResultAsync( case IQueryResult queryResult: { queryResult.WriteTo(writer); - yield return new Response(Parse(writer.Body), null); + yield return new Response(Parse(writer.GetWrittenMemory()), null); break; } case HotChocolate.Execution.ResponseStream streamResult: { - await foreach (var result in - streamResult.ReadResultsAsync().WithCancellation(cancellationToken)) + await foreach (var result in streamResult.ReadResultsAsync().WithCancellation(cancellationToken)) { result.WriteTo(writer); - var document = Parse(writer.Body); - writer.Clear(); + var document = Parse(writer.GetWrittenMemory()); + writer.Reset(); yield return new Response(document, null); } diff --git a/src/StrawberryShake/Client/src/Transport.InMemory/ResponseHelper.cs b/src/StrawberryShake/Client/src/Transport.InMemory/ResponseHelper.cs index 1f250924999..61cd6799212 100644 --- a/src/StrawberryShake/Client/src/Transport.InMemory/ResponseHelper.cs +++ b/src/StrawberryShake/Client/src/Transport.InMemory/ResponseHelper.cs @@ -21,6 +21,6 @@ internal static JsonDocument CreateBodyFromException(Exception exception) jsonWriter.WriteEndObject(); jsonWriter.Flush(); - return JsonDocument.Parse(bufferWriter.Body); + return JsonDocument.Parse(bufferWriter.GetWrittenMemory()); } } diff --git a/src/StrawberryShake/Client/src/Transport.WebSockets/Messaging/MessagePipeline.cs b/src/StrawberryShake/Client/src/Transport.WebSockets/Messaging/MessagePipeline.cs index f14a4775927..19e896adbef 100644 --- a/src/StrawberryShake/Client/src/Transport.WebSockets/Messaging/MessagePipeline.cs +++ b/src/StrawberryShake/Client/src/Transport.WebSockets/Messaging/MessagePipeline.cs @@ -88,6 +88,5 @@ private static class State { public static readonly int Stopped = 0; public static readonly int Running = 1; - public static readonly int Blocked = 2; } } diff --git a/src/StrawberryShake/Client/src/Transport.WebSockets/ResponseHelper.cs b/src/StrawberryShake/Client/src/Transport.WebSockets/ResponseHelper.cs index 6abcf4bdb49..f0085c2b9b7 100644 --- a/src/StrawberryShake/Client/src/Transport.WebSockets/ResponseHelper.cs +++ b/src/StrawberryShake/Client/src/Transport.WebSockets/ResponseHelper.cs @@ -21,6 +21,6 @@ internal static JsonDocument CreateBodyFromException(Exception exception) jsonWriter.WriteEndObject(); jsonWriter.Flush(); - return JsonDocument.Parse(bufferWriter.Body); + return JsonDocument.Parse(bufferWriter.GetWrittenMemory()); } } diff --git a/src/StrawberryShake/Client/test/Core.Tests/Serialization/JsonSerializerTests.cs b/src/StrawberryShake/Client/test/Core.Tests/Serialization/JsonSerializerTests.cs index 1e7216315f6..e9f7da74978 100644 --- a/src/StrawberryShake/Client/test/Core.Tests/Serialization/JsonSerializerTests.cs +++ b/src/StrawberryShake/Client/test/Core.Tests/Serialization/JsonSerializerTests.cs @@ -11,24 +11,24 @@ public class JsonSerializerTests public void Parse() { // arrange - var json = JsonDocument.Parse(@"{ ""abc"": { ""def"": ""def"" } }"); + var json = JsonDocument.Parse(@"{ ""abc"": {""def"":""def""} }"); var element = json.RootElement.EnumerateObject().First().Value; // act - var document = _serializer.Parse(element); + var serialized = _serializer.Parse(element); // assert - Assert.Equal(element.GetRawText(), document.RootElement.GetRawText()); + Assert.Equal(element.ToString(), serialized.ToString()); } [Fact] public void Format() { // arrange - var json = JsonDocument.Parse(@"{ ""abc"": { ""def"": ""def"" } }"); + using var json = JsonDocument.Parse(@"{ ""abc"": { ""def"": ""def"" } }"); // act - var result = _serializer.Format(json); + var result = _serializer.Format(json.RootElement); // assert Assert.Equal(json.RootElement, Assert.IsType(result)); diff --git a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Extensions/ClassBuilderExtensions.cs b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Extensions/ClassBuilderExtensions.cs index 41c4adea5e9..1921cd53e54 100644 --- a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Extensions/ClassBuilderExtensions.cs +++ b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Extensions/ClassBuilderExtensions.cs @@ -291,10 +291,10 @@ ICode BuildPropertyInternal( { NonNullTypeDescriptor d => BuildPropertyInternal(d.InnerType, false), - ILeafTypeDescriptor d when d.SerializationType.IsValueType => + ILeafTypeDescriptor { SerializationType.IsValueType: true } => CodeInlineBuilder .New() - .SetText($"{propertyName} == {other}.{propertyName}"), + .SetText($"global::System.Object.{nameof(Equals)}({propertyName}, {other}.{propertyName})"), INamedTypeDescriptor when isNullable => ConditionBuilder .New() diff --git a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/DependencyInjectionGenerator.cs b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/DependencyInjectionGenerator.cs index 719cf31f35b..9d42fa5a0df 100644 --- a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/DependencyInjectionGenerator.cs +++ b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/DependencyInjectionGenerator.cs @@ -51,7 +51,9 @@ public class DependencyInjectionGenerator : CodeGenerator, IGetJsonResult { - public GetJsonResult(global::System.Text.Json.JsonDocument json) + public GetJsonResult(global::System.Text.Json.JsonElement json) { Json = json; } - public global::System.Text.Json.JsonDocument Json { get; } + public global::System.Text.Json.JsonElement Json { get; } public virtual global::System.Boolean Equals(GetJsonResult? other) { @@ -129,7 +129,7 @@ public GetJsonResult(global::System.Text.Json.JsonDocument json) return false; } - return (Json == other.Json); + return (global::System.Object.Equals(Json, other.Json)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -167,7 +167,7 @@ public GetJsonResult(global::System.Text.Json.JsonDocument json) [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] public partial interface IGetJsonResult { - public global::System.Text.Json.JsonDocument Json { get; } + public global::System.Text.Json.JsonElement Json { get; } } // StrawberryShake.CodeGeneration.CSharp.Generators.OperationDocumentGenerator @@ -331,14 +331,14 @@ public partial class GetJsonResultInfo : global::StrawberryShake.IOperationResul { private readonly global::System.Collections.Generic.IReadOnlyCollection _entityIds; private readonly global::System.UInt64 _version; - public GetJsonResultInfo(global::System.Text.Json.JsonDocument json, global::System.Collections.Generic.IReadOnlyCollection entityIds, global::System.UInt64 version) + public GetJsonResultInfo(global::System.Text.Json.JsonElement json, global::System.Collections.Generic.IReadOnlyCollection entityIds, global::System.UInt64 version) { Json = json; _entityIds = entityIds ?? throw new global::System.ArgumentNullException(nameof(entityIds)); _version = version; } - public global::System.Text.Json.JsonDocument Json { get; } + public global::System.Text.Json.JsonElement Json { get; } public global::System.Collections.Generic.IReadOnlyCollection EntityIds => _entityIds; public global::System.UInt64 Version => _version; @@ -354,13 +354,13 @@ public partial class GetJsonBuilder : global::StrawberryShake.OperationResultBui { private readonly global::StrawberryShake.IEntityStore _entityStore; private readonly global::StrawberryShake.IEntityIdSerializer _idSerializer; - private readonly global::StrawberryShake.Serialization.ILeafValueParser _anyParser; + private readonly global::StrawberryShake.Serialization.ILeafValueParser _anyParser; public GetJsonBuilder(global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityIdSerializer idSerializer, global::StrawberryShake.IOperationResultDataFactory resultDataFactory, global::StrawberryShake.Serialization.ISerializerResolver serializerResolver) { _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); _idSerializer = idSerializer ?? throw new global::System.ArgumentNullException(nameof(idSerializer)); ResultDataFactory = resultDataFactory ?? throw new global::System.ArgumentNullException(nameof(resultDataFactory)); - _anyParser = serializerResolver.GetLeafValueParser("Any") ?? throw new global::System.ArgumentException("No serializer for type `Any` found."); + _anyParser = serializerResolver.GetLeafValueParser("Any") ?? throw new global::System.ArgumentException("No serializer for type `Any` found."); } protected override global::StrawberryShake.IOperationResultDataFactory ResultDataFactory { get; } @@ -373,10 +373,10 @@ public GetJsonBuilder(global::StrawberryShake.IEntityStore entityStore, global:: { snapshot = session.CurrentSnapshot; }); - return new GetJsonResultInfo(Deserialize_NonNullableJsonDocument(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "json")), entityIds, snapshot.Version); + return new GetJsonResultInfo(Deserialize_NonNullableJsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "json")), entityIds, snapshot.Version); } - private global::System.Text.Json.JsonDocument Deserialize_NonNullableJsonDocument(global::System.Text.Json.JsonElement? obj) + private global::System.Text.Json.JsonElement Deserialize_NonNullableJsonElement(global::System.Text.Json.JsonElement? obj) { if (!obj.HasValue) { diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/AnyScalarDefaultSerializationTest.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/AnyScalarDefaultSerializationTest.cs index e6ce30c7270..d2480ea36dc 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/AnyScalarDefaultSerializationTest.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/AnyScalarDefaultSerializationTest.cs @@ -47,7 +47,7 @@ public async Task Execute_AnyScalarDefaultSerialization_Test() // assert Assert.Empty(result.Errors); - result.Data?.Json.RootElement.ToString().MatchSnapshot(); + result.Data?.Json.ToString().MatchSnapshot(); } [ExtendObjectType(OperationTypeNames.Query)] diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/MultiProfileTest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/MultiProfileTest.Client.cs index 1738cf0d231..20fd799406d 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/MultiProfileTest.Client.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/MultiProfileTest.Client.cs @@ -776,7 +776,7 @@ public OnReviewSub_OnReview_Review(global::System.String __typename, global::Sys return false; } - return (__typename.Equals(other.__typename)) && Stars == other.Stars && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (__typename.Equals(other.__typename)) && global::System.Object.Equals(Stars, other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -936,7 +936,7 @@ public CreateReviewMut_CreateReview_Review(global::System.Int32 stars, global::S return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1097,7 +1097,7 @@ public partial class ReviewInput : global::StrawberryShake.CodeGeneration.CSharp return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.Client.cs new file mode 100644 index 00000000000..1bc32db88e6 --- /dev/null +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.Client.cs @@ -0,0 +1,808 @@ +// ReSharper disable BuiltInTypeReferenceStyle +// ReSharper disable RedundantNameQualifier +// ReSharper disable ArrangeObjectCreationWhenTypeEvident +// ReSharper disable UnusedType.Global +// ReSharper disable PartialTypeWithSinglePart +// ReSharper disable UnusedMethodReturnValue.Local +// ReSharper disable ConvertToAutoProperty +// ReSharper disable UnusedMember.Global +// ReSharper disable SuggestVarOrType_SimpleTypes +// ReSharper disable InconsistentNaming + +// StarWarsGetHeroTraitsClient + +// +#nullable enable + +namespace Microsoft.Extensions.DependencyInjection +{ + // StrawberryShake.CodeGeneration.CSharp.Generators.DependencyInjectionGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public static partial class StarWarsGetHeroTraitsClientServiceCollectionExtensions + { + public static global::StrawberryShake.IClientBuilder AddStarWarsGetHeroTraitsClient(this global::Microsoft.Extensions.DependencyInjection.IServiceCollection services, global::StrawberryShake.ExecutionStrategy strategy = global::StrawberryShake.ExecutionStrategy.NetworkOnly) + { + var serviceCollection = new global::Microsoft.Extensions.DependencyInjection.ServiceCollection(); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => + { + ConfigureClientDefault(sp, serviceCollection, strategy); + return new ClientServiceProvider(global::Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(serviceCollection)); + }); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => new global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.StarWarsGetHeroTraitsClientStoreAccessor(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)))); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp))); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp))); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp))); + return new global::StrawberryShake.ClientBuilder("StarWarsGetHeroTraitsClient", services, serviceCollection); + } + + private static global::Microsoft.Extensions.DependencyInjection.IServiceCollection ConfigureClientDefault(global::System.IServiceProvider parentServices, global::Microsoft.Extensions.DependencyInjection.ServiceCollection services, global::StrawberryShake.ExecutionStrategy strategy = global::StrawberryShake.ExecutionStrategy.NetworkOnly) + { + global::Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionDescriptorExtensions.TryAddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionDescriptorExtensions.TryAddSingleton(services, sp => new global::StrawberryShake.OperationStore(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp))); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => + { + var clientFactory = global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(parentServices); + return new global::StrawberryShake.Transport.Http.HttpConnection(() => clientFactory.CreateClient("StarWarsGetHeroTraitsClient")); + }); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton, global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.GetHero_Hero_DroidFromDroidEntityMapper>(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton, global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.GetHero_Hero_HumanFromHumanEntityMapper>(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, new global::StrawberryShake.Serialization.JsonSerializer("JSON")); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => new global::StrawberryShake.Serialization.SerializerResolver(global::System.Linq.Enumerable.Concat(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(parentServices), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(sp)))); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton, global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.GetHeroResultFactory>(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(sp)); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton, global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.GetHeroBuilder>(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton>(services, sp => new global::StrawberryShake.OperationExecutor(global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp), () => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(sp), () => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService>(sp), global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp), strategy)); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton, global::StrawberryShake.Json.JsonResultPatcher>(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services); + global::Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions.AddSingleton(services, sp => global::Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(sp)); + return services; + } + + private sealed class ClientServiceProvider : System.IServiceProvider, System.IDisposable + { + private readonly System.IServiceProvider _provider; + public ClientServiceProvider(System.IServiceProvider provider) + { + _provider = provider; + } + + public object? GetService(System.Type serviceType) + { + return _provider.GetService(serviceType); + } + + public void Dispose() + { + if (_provider is System.IDisposable d) + { + d.Dispose(); + } + } + } + } +} + +namespace StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits +{ + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultTypeGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroResult : global::System.IEquatable, IGetHeroResult + { + public GetHeroResult(global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHero_Hero? hero) + { + Hero = hero; + } + + public global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHero_Hero? Hero { get; } + + public virtual global::System.Boolean Equals(GetHeroResult? other) + { + if (ReferenceEquals(null, other)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + if (other.GetType() != GetType()) + { + return false; + } + + return (((Hero is null && other.Hero is null) || Hero != null && Hero.Equals(other.Hero))); + } + + public override global::System.Boolean Equals(global::System.Object? obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != GetType()) + { + return false; + } + + return Equals((GetHeroResult)obj); + } + + public override global::System.Int32 GetHashCode() + { + unchecked + { + int hash = 5; + if (Hero != null) + { + hash ^= 397 * Hero.GetHashCode(); + } + + return hash; + } + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultTypeGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHero_Hero_Droid : global::System.IEquatable, IGetHero_Hero_Droid + { + public GetHero_Hero_Droid(global::System.String name, global::System.Text.Json.JsonElement? traits) + { + Name = name; + Traits = traits; + } + + public global::System.String Name { get; } + + public global::System.Text.Json.JsonElement? Traits { get; } + + public virtual global::System.Boolean Equals(GetHero_Hero_Droid? other) + { + if (ReferenceEquals(null, other)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + if (other.GetType() != GetType()) + { + return false; + } + + return (Name.Equals(other.Name)) && global::System.Object.Equals(Traits, other.Traits); + } + + public override global::System.Boolean Equals(global::System.Object? obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != GetType()) + { + return false; + } + + return Equals((GetHero_Hero_Droid)obj); + } + + public override global::System.Int32 GetHashCode() + { + unchecked + { + int hash = 5; + hash ^= 397 * Name.GetHashCode(); + if (Traits != null) + { + hash ^= 397 * Traits.GetHashCode(); + } + + return hash; + } + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultTypeGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHero_Hero_Human : global::System.IEquatable, IGetHero_Hero_Human + { + public GetHero_Hero_Human(global::System.String name, global::System.Text.Json.JsonElement? traits) + { + Name = name; + Traits = traits; + } + + public global::System.String Name { get; } + + public global::System.Text.Json.JsonElement? Traits { get; } + + public virtual global::System.Boolean Equals(GetHero_Hero_Human? other) + { + if (ReferenceEquals(null, other)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + if (other.GetType() != GetType()) + { + return false; + } + + return (Name.Equals(other.Name)) && global::System.Object.Equals(Traits, other.Traits); + } + + public override global::System.Boolean Equals(global::System.Object? obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != GetType()) + { + return false; + } + + return Equals((GetHero_Hero_Human)obj); + } + + public override global::System.Int32 GetHashCode() + { + unchecked + { + int hash = 5; + hash ^= 397 * Name.GetHashCode(); + if (Traits != null) + { + hash ^= 397 * Traits.GetHashCode(); + } + + return hash; + } + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInterfaceGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IGetHeroResult + { + public global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHero_Hero? Hero { get; } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInterfaceGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IGetHero_Hero + { + public global::System.String Name { get; } + + public global::System.Text.Json.JsonElement? Traits { get; } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInterfaceGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IGetHero_Hero_Droid : IGetHero_Hero + { + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInterfaceGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IGetHero_Hero_Human : IGetHero_Hero + { + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.OperationDocumentGenerator + /// + /// Represents the operation service of the GetHero GraphQL operation + /// + /// query GetHero { + /// hero(episode: NEW_HOPE) { + /// __typename + /// name + /// traits + /// ... on Droid { + /// id + /// } + /// ... on Human { + /// id + /// } + /// } + /// } + /// + /// + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroQueryDocument : global::StrawberryShake.IDocument + { + private GetHeroQueryDocument() + { + } + + public static GetHeroQueryDocument Instance { get; } = new GetHeroQueryDocument(); + public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query; + public global::System.ReadOnlySpan Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x20, 0x68, 0x65, 0x72, 0x6f, 0x28, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x3a, 0x20, 0x4e, 0x45, 0x57, 0x5f, 0x48, 0x4f, 0x50, 0x45, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e, 0x20, 0x44, 0x72, 0x6f, 0x69, 0x64, 0x20, 0x7b, 0x20, 0x69, 0x64, 0x20, 0x7d, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e, 0x20, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x7b, 0x20, 0x69, 0x64, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x7d}; + public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("sha1Hash", "87d584157181184f5ad4cb20798faf6281838dd3"); + public override global::System.String ToString() + { +#if NETCOREAPP3_1_OR_GREATER + return global::System.Text.Encoding.UTF8.GetString(Body); +#else + return global::System.Text.Encoding.UTF8.GetString(Body.ToArray()); +#endif + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.OperationServiceGenerator + /// + /// Represents the operation service of the GetHero GraphQL operation + /// + /// query GetHero { + /// hero(episode: NEW_HOPE) { + /// __typename + /// name + /// traits + /// ... on Droid { + /// id + /// } + /// ... on Human { + /// id + /// } + /// } + /// } + /// + /// + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroQuery : global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroQuery + { + private readonly global::StrawberryShake.IOperationExecutor _operationExecutor; + public GetHeroQuery(global::StrawberryShake.IOperationExecutor operationExecutor) + { + _operationExecutor = operationExecutor ?? throw new global::System.ArgumentNullException(nameof(operationExecutor)); + } + + global::System.Type global::StrawberryShake.IOperationRequestFactory.ResultType => typeof(IGetHeroResult); + public async global::System.Threading.Tasks.Task> ExecuteAsync(global::System.Threading.CancellationToken cancellationToken = default) + { + var request = CreateRequest(); + return await _operationExecutor.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); + } + + public global::System.IObservable> Watch(global::StrawberryShake.ExecutionStrategy? strategy = null) + { + var request = CreateRequest(); + return _operationExecutor.Watch(request, strategy); + } + + private global::StrawberryShake.OperationRequest CreateRequest() + { + return CreateRequest(null); + } + + private global::StrawberryShake.OperationRequest CreateRequest(global::System.Collections.Generic.IReadOnlyDictionary? variables) + { + return new global::StrawberryShake.OperationRequest(id: GetHeroQueryDocument.Instance.Hash.Value, name: "GetHero", document: GetHeroQueryDocument.Instance, strategy: global::StrawberryShake.RequestStrategy.Default); + } + + global::StrawberryShake.OperationRequest global::StrawberryShake.IOperationRequestFactory.Create(global::System.Collections.Generic.IReadOnlyDictionary? variables) + { + return CreateRequest(); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.OperationServiceInterfaceGenerator + /// + /// Represents the operation service of the GetHero GraphQL operation + /// + /// query GetHero { + /// hero(episode: NEW_HOPE) { + /// __typename + /// name + /// traits + /// ... on Droid { + /// id + /// } + /// ... on Human { + /// id + /// } + /// } + /// } + /// + /// + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IGetHeroQuery : global::StrawberryShake.IOperationRequestFactory + { + global::System.Threading.Tasks.Task> ExecuteAsync(global::System.Threading.CancellationToken cancellationToken = default); + global::System.IObservable> Watch(global::StrawberryShake.ExecutionStrategy? strategy = null); + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ClientGenerator + /// + /// Represents the StarWarsGetHeroTraitsClient GraphQL client + /// + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class StarWarsGetHeroTraitsClient : global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IStarWarsGetHeroTraitsClient + { + private readonly global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroQuery _getHero; + public StarWarsGetHeroTraitsClient(global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroQuery getHero) + { + _getHero = getHero ?? throw new global::System.ArgumentNullException(nameof(getHero)); + } + + public static global::System.String ClientName => "StarWarsGetHeroTraitsClient"; + public global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroQuery GetHero => _getHero; + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ClientInterfaceGenerator + /// + /// Represents the StarWarsGetHeroTraitsClient GraphQL client + /// + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial interface IStarWarsGetHeroTraitsClient + { + global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroQuery GetHero { get; } + } +} + +namespace StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State +{ + // StrawberryShake.CodeGeneration.CSharp.Generators.EntityTypeGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "0.0.0.0")] + public partial class DroidEntity + { + public DroidEntity(global::System.String name = default !, global::System.Text.Json.JsonElement? traits = default !) + { + Name = name; + Traits = traits; + } + + public global::System.String Name { get; } + + public global::System.Text.Json.JsonElement? Traits { get; } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.EntityTypeGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "0.0.0.0")] + public partial class HumanEntity + { + public HumanEntity(global::System.String name = default !, global::System.Text.Json.JsonElement? traits = default !) + { + Name = name; + Traits = traits; + } + + public global::System.String Name { get; } + + public global::System.Text.Json.JsonElement? Traits { get; } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultDataFactoryGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroResultFactory : global::StrawberryShake.IOperationResultDataFactory + { + private readonly global::StrawberryShake.IEntityStore _entityStore; + private readonly global::StrawberryShake.IEntityMapper _getHero_Hero_DroidFromDroidEntityMapper; + private readonly global::StrawberryShake.IEntityMapper _getHero_Hero_HumanFromHumanEntityMapper; + public GetHeroResultFactory(global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityMapper getHero_Hero_DroidFromDroidEntityMapper, global::StrawberryShake.IEntityMapper getHero_Hero_HumanFromHumanEntityMapper) + { + _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); + _getHero_Hero_DroidFromDroidEntityMapper = getHero_Hero_DroidFromDroidEntityMapper ?? throw new global::System.ArgumentNullException(nameof(getHero_Hero_DroidFromDroidEntityMapper)); + _getHero_Hero_HumanFromHumanEntityMapper = getHero_Hero_HumanFromHumanEntityMapper ?? throw new global::System.ArgumentNullException(nameof(getHero_Hero_HumanFromHumanEntityMapper)); + } + + global::System.Type global::StrawberryShake.IOperationResultDataFactory.ResultType => typeof(global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHeroResult); + public GetHeroResult Create(global::StrawberryShake.IOperationResultDataInfo dataInfo, global::StrawberryShake.IEntityStoreSnapshot? snapshot = null) + { + if (snapshot is null) + { + snapshot = _entityStore.CurrentSnapshot; + } + + if (dataInfo is GetHeroResultInfo info) + { + return new GetHeroResult(MapIGetHero_Hero(info.Hero, snapshot)); + } + + throw new global::System.ArgumentException("GetHeroResultInfo expected."); + } + + private global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.IGetHero_Hero? MapIGetHero_Hero(global::StrawberryShake.EntityId? entityId, global::StrawberryShake.IEntityStoreSnapshot snapshot) + { + if (entityId is null) + { + return null; + } + + if (entityId.Value.Name.Equals("Droid", global::System.StringComparison.Ordinal)) + { + return _getHero_Hero_DroidFromDroidEntityMapper.Map(snapshot.GetEntity(entityId.Value) ?? throw new global::StrawberryShake.GraphQLClientException()); + } + + if (entityId.Value.Name.Equals("Human", global::System.StringComparison.Ordinal)) + { + return _getHero_Hero_HumanFromHumanEntityMapper.Map(snapshot.GetEntity(entityId.Value) ?? throw new global::StrawberryShake.GraphQLClientException()); + } + + throw new global::System.NotSupportedException(); + } + + global::System.Object global::StrawberryShake.IOperationResultDataFactory.Create(global::StrawberryShake.IOperationResultDataInfo dataInfo, global::StrawberryShake.IEntityStoreSnapshot? snapshot) + { + return Create(dataInfo, snapshot); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInfoGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroResultInfo : global::StrawberryShake.IOperationResultDataInfo + { + private readonly global::System.Collections.Generic.IReadOnlyCollection _entityIds; + private readonly global::System.UInt64 _version; + public GetHeroResultInfo(global::StrawberryShake.EntityId? hero, global::System.Collections.Generic.IReadOnlyCollection entityIds, global::System.UInt64 version) + { + Hero = hero; + _entityIds = entityIds ?? throw new global::System.ArgumentNullException(nameof(entityIds)); + _version = version; + } + + public global::StrawberryShake.EntityId? Hero { get; } + + public global::System.Collections.Generic.IReadOnlyCollection EntityIds => _entityIds; + public global::System.UInt64 Version => _version; + public global::StrawberryShake.IOperationResultDataInfo WithVersion(global::System.UInt64 version) + { + return new GetHeroResultInfo(Hero, _entityIds, version); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.JsonResultBuilderGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHeroBuilder : global::StrawberryShake.OperationResultBuilder + { + private readonly global::StrawberryShake.IEntityStore _entityStore; + private readonly global::StrawberryShake.IEntityIdSerializer _idSerializer; + private readonly global::StrawberryShake.Serialization.ILeafValueParser _stringParser; + private readonly global::StrawberryShake.Serialization.ILeafValueParser _jSONParser; + public GetHeroBuilder(global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityIdSerializer idSerializer, global::StrawberryShake.IOperationResultDataFactory resultDataFactory, global::StrawberryShake.Serialization.ISerializerResolver serializerResolver) + { + _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); + _idSerializer = idSerializer ?? throw new global::System.ArgumentNullException(nameof(idSerializer)); + ResultDataFactory = resultDataFactory ?? throw new global::System.ArgumentNullException(nameof(resultDataFactory)); + _stringParser = serializerResolver.GetLeafValueParser("String") ?? throw new global::System.ArgumentException("No serializer for type `String` found."); + _jSONParser = serializerResolver.GetLeafValueParser("JSON") ?? throw new global::System.ArgumentException("No serializer for type `JSON` found."); + } + + protected override global::StrawberryShake.IOperationResultDataFactory ResultDataFactory { get; } + + protected override global::StrawberryShake.IOperationResultDataInfo BuildData(global::System.Text.Json.JsonElement obj) + { + var entityIds = new global::System.Collections.Generic.HashSet(); + global::StrawberryShake.IEntityStoreSnapshot snapshot = default !; + global::StrawberryShake.EntityId? heroId = default !; + _entityStore.Update(session => + { + heroId = Update_IGetHero_HeroEntity(session, global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "hero"), entityIds); + snapshot = session.CurrentSnapshot; + }); + return new GetHeroResultInfo(heroId, entityIds, snapshot.Version); + } + + private global::StrawberryShake.EntityId? Update_IGetHero_HeroEntity(global::StrawberryShake.IEntityStoreUpdateSession session, global::System.Text.Json.JsonElement? obj, global::System.Collections.Generic.ISet entityIds) + { + if (!obj.HasValue) + { + return null; + } + + global::StrawberryShake.EntityId entityId = _idSerializer.Parse(obj.Value); + entityIds.Add(entityId); + if (entityId.Name.Equals("Droid", global::System.StringComparison.Ordinal)) + { + if (session.CurrentSnapshot.TryGetEntity(entityId, out global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.DroidEntity? entity)) + { + session.SetEntity(entityId, new global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.DroidEntity(Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), Deserialize_JsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "traits")))); + } + else + { + session.SetEntity(entityId, new global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.DroidEntity(Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), Deserialize_JsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "traits")))); + } + + return entityId; + } + + if (entityId.Name.Equals("Human", global::System.StringComparison.Ordinal)) + { + if (session.CurrentSnapshot.TryGetEntity(entityId, out global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.HumanEntity? entity)) + { + session.SetEntity(entityId, new global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.HumanEntity(Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), Deserialize_JsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "traits")))); + } + else + { + session.SetEntity(entityId, new global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.HumanEntity(Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), Deserialize_JsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "traits")))); + } + + return entityId; + } + + throw new global::System.NotSupportedException(); + } + + private global::System.String Deserialize_NonNullableString(global::System.Text.Json.JsonElement? obj) + { + if (!obj.HasValue) + { + throw new global::System.ArgumentNullException(); + } + + return _stringParser.Parse(obj.Value.GetString()!); + } + + private global::System.Text.Json.JsonElement? Deserialize_JsonElement(global::System.Text.Json.JsonElement? obj) + { + if (!obj.HasValue) + { + return null; + } + + return _jSONParser.Parse(obj.Value!); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultFromEntityTypeMapperGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHero_Hero_DroidFromDroidEntityMapper : global::StrawberryShake.IEntityMapper + { + private readonly global::StrawberryShake.IEntityStore _entityStore; + public GetHero_Hero_DroidFromDroidEntityMapper(global::StrawberryShake.IEntityStore entityStore) + { + _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); + } + + public GetHero_Hero_Droid Map(global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.DroidEntity entity, global::StrawberryShake.IEntityStoreSnapshot? snapshot = null) + { + if (snapshot is null) + { + snapshot = _entityStore.CurrentSnapshot; + } + + return new GetHero_Hero_Droid(entity.Name, entity.Traits); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.ResultFromEntityTypeMapperGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class GetHero_Hero_HumanFromHumanEntityMapper : global::StrawberryShake.IEntityMapper + { + private readonly global::StrawberryShake.IEntityStore _entityStore; + public GetHero_Hero_HumanFromHumanEntityMapper(global::StrawberryShake.IEntityStore entityStore) + { + _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); + } + + public GetHero_Hero_Human Map(global::StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits.State.HumanEntity entity, global::StrawberryShake.IEntityStoreSnapshot? snapshot = null) + { + if (snapshot is null) + { + snapshot = _entityStore.CurrentSnapshot; + } + + return new GetHero_Hero_Human(entity.Name, entity.Traits); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.EntityIdFactoryGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class StarWarsGetHeroTraitsClientEntityIdFactory : global::StrawberryShake.IEntityIdSerializer + { + private static readonly global::System.Text.Json.JsonWriterOptions _options = new global::System.Text.Json.JsonWriterOptions() + {Indented = false}; + public global::StrawberryShake.EntityId Parse(global::System.Text.Json.JsonElement obj) + { + global::System.String __typename = obj.GetProperty("__typename").GetString()!; + return __typename switch + { + "Droid" => ParseDroidEntityId(obj, __typename), + "Human" => ParseHumanEntityId(obj, __typename), + _ => throw new global::System.NotSupportedException()}; + } + + public global::System.String Format(global::StrawberryShake.EntityId entityId) + { + return entityId.Name switch + { + "Droid" => FormatDroidEntityId(entityId), + "Human" => FormatHumanEntityId(entityId), + _ => throw new global::System.NotSupportedException()}; + } + + private global::StrawberryShake.EntityId ParseDroidEntityId(global::System.Text.Json.JsonElement obj, global::System.String type) + { + return new global::StrawberryShake.EntityId(type, obj.GetProperty("id").GetString()!); + } + + private global::System.String FormatDroidEntityId(global::StrawberryShake.EntityId entityId) + { + using var writer = new global::StrawberryShake.Internal.ArrayWriter(); + using var jsonWriter = new global::System.Text.Json.Utf8JsonWriter(writer, _options); + jsonWriter.WriteStartObject(); + jsonWriter.WriteString("__typename", entityId.Name); + jsonWriter.WriteString("id", (global::System.String)entityId.Value); + jsonWriter.WriteEndObject(); + jsonWriter.Flush(); + return global::System.Text.Encoding.UTF8.GetString(writer.GetInternalBuffer(), 0, writer.Length); + } + + private global::StrawberryShake.EntityId ParseHumanEntityId(global::System.Text.Json.JsonElement obj, global::System.String type) + { + return new global::StrawberryShake.EntityId(type, obj.GetProperty("id").GetString()!); + } + + private global::System.String FormatHumanEntityId(global::StrawberryShake.EntityId entityId) + { + using var writer = new global::StrawberryShake.Internal.ArrayWriter(); + using var jsonWriter = new global::System.Text.Json.Utf8JsonWriter(writer, _options); + jsonWriter.WriteStartObject(); + jsonWriter.WriteString("__typename", entityId.Name); + jsonWriter.WriteString("id", (global::System.String)entityId.Value); + jsonWriter.WriteEndObject(); + jsonWriter.Flush(); + return global::System.Text.Encoding.UTF8.GetString(writer.GetInternalBuffer(), 0, writer.Length); + } + } + + // StrawberryShake.CodeGeneration.CSharp.Generators.StoreAccessorGenerator + [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] + public partial class StarWarsGetHeroTraitsClientStoreAccessor : global::StrawberryShake.StoreAccessor + { + public StarWarsGetHeroTraitsClientStoreAccessor(global::StrawberryShake.IOperationStore operationStore, global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityIdSerializer entityIdSerializer, global::System.Collections.Generic.IEnumerable requestFactories, global::System.Collections.Generic.IEnumerable resultDataFactories) : base(operationStore, entityStore, entityIdSerializer, requestFactories, resultDataFactories) + { + } + } +} + + diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.cs new file mode 100644 index 00000000000..22ce26cf2e1 --- /dev/null +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsGetHeroTraitsTest.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using HotChocolate.AspNetCore.Tests.Utilities; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; +using StrawberryShake.Transport.WebSockets; +using Xunit; + +namespace StrawberryShake.CodeGeneration.CSharp.Integration.StarWarsGetHeroTraits; + +public class StarWarsGetHeroTraitsTest : ServerTestBase +{ + public StarWarsGetHeroTraitsTest(TestServerFactory serverFactory) : base(serverFactory) + { + } + + [Fact] + public async Task Execute_StarWarsGetHeroTraits_Test() + { + // arrange + var ct = new CancellationTokenSource(20_000).Token; + using var host = TestServerHelper.CreateServer( + _ => { }, + out var port); + var serviceCollection = new ServiceCollection(); + serviceCollection.AddHttpClient( + StarWarsGetHeroTraitsClient.ClientName, + c => c.BaseAddress = new Uri("http://localhost:" + port + "/graphql")); + serviceCollection.AddWebSocketClient( + StarWarsGetHeroTraitsClient.ClientName, + c => c.Uri = new Uri("ws://localhost:" + port + "/graphql")); + serviceCollection.AddStarWarsGetHeroTraitsClient(); + var services = serviceCollection.BuildServiceProvider(); + var client = services.GetRequiredService(); + + // act + var result = await client.GetHero.ExecuteAsync(ct); + + // assert + Assert.Equal("{\"rockets\":true}", result.Data?.Hero?.Traits?.GetRawText()); + } +} diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsIntrospectionTest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsIntrospectionTest.Client.cs index 8b650dc48ae..aa51acab41e 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsIntrospectionTest.Client.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsIntrospectionTest.Client.cs @@ -678,7 +678,7 @@ public IntrospectionQuery___schema_Directives___Directive(global::System.String return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && OnOperation == other.OnOperation && OnFragment == other.OnFragment && OnField == other.OnField; + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && global::System.Object.Equals(OnOperation, other.OnOperation) && global::System.Object.Equals(OnFragment, other.OnFragment) && global::System.Object.Equals(OnField, other.OnField); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -771,7 +771,7 @@ public IntrospectionQuery___schema_Types_Fields___Field(global::System.String na return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && Type.Equals(other.Type) && IsDeprecated == other.IsDeprecated && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && Type.Equals(other.Type) && global::System.Object.Equals(IsDeprecated, other.IsDeprecated) && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1033,7 +1033,7 @@ public IntrospectionQuery___schema_Types_EnumValues___EnumValue(global::System.S return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && IsDeprecated == other.IsDeprecated && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::System.Object.Equals(IsDeprecated, other.IsDeprecated) && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubCompletionTest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubCompletionTest.Client.cs index 7c17e8957a2..618c3d16bb2 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubCompletionTest.Client.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubCompletionTest.Client.cs @@ -248,7 +248,7 @@ public OnReviewSub_OnReview_Review(global::System.String __typename, global::Sys return false; } - return (__typename.Equals(other.__typename)) && Stars == other.Stars && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (__typename.Equals(other.__typename)) && global::System.Object.Equals(Stars, other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubGraphQLSSETest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubGraphQLSSETest.Client.cs index 893e071cacf..05addf8f672 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubGraphQLSSETest.Client.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubGraphQLSSETest.Client.cs @@ -200,7 +200,7 @@ public OnReviewSub_OnReview_Review(global::System.String __typename, global::Sys return false; } - return (__typename.Equals(other.__typename)) && Stars == other.Stars && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (__typename.Equals(other.__typename)) && global::System.Object.Equals(Stars, other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubNoStoreTest.Client.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubNoStoreTest.Client.cs index 37bdda63bf2..f83c66b04d9 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubNoStoreTest.Client.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/StarWarsOnReviewSubNoStoreTest.Client.cs @@ -197,7 +197,7 @@ public OnReviewSub_OnReview_Review(global::System.String __typename, global::Sys return false; } - return (__typename.Equals(other.__typename)) && Stars == other.Stars && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (__typename.Equals(other.__typename)) && global::System.Object.Equals(Stars, other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/TestGeneration.cs b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/TestGeneration.cs index ff48b1159b6..2a3c927bb7b 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/TestGeneration.cs +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/TestGeneration.cs @@ -131,6 +131,17 @@ ... on Droid { } } }"); + + [Fact] + public void StarWarsGetHeroTraits() => + AssertStarWarsResult( + CreateIntegrationTest(), + @"query GetHero { + hero(episode: NEW_HOPE) { + name + traits + } + }"); [Fact] public void EntityIdOrData() => diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/__snapshots__/StarWarsIntrospectionTest.Execute_StarWarsIntrospection_Test.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/__snapshots__/StarWarsIntrospectionTest.Execute_StarWarsIntrospection_Test.snap index 1ae22a9aa89..43921a80ae9 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/__snapshots__/StarWarsIntrospectionTest.Execute_StarWarsIntrospection_Test.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/Integration/__snapshots__/StarWarsIntrospectionTest.Execute_StarWarsIntrospection_Test.snap @@ -983,6 +983,33 @@ "IsDeprecated": false, "DeprecationReason": null }, + { + "Name": "heroByTraits", + "Description": null, + "Args": [ + { + "Name": "traits", + "Description": null, + "Type": { + "Kind": "NonNull", + "Name": null, + "OfType": { + "Kind": "Scalar", + "Name": "JSON", + "OfType": null + } + }, + "DefaultValue": null + } + ], + "Type": { + "Kind": "Interface", + "Name": "Character", + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null + }, { "Name": "heroes", "Description": null, @@ -1420,6 +1447,18 @@ }, "IsDeprecated": false, "DeprecationReason": null + }, + { + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "Kind": "Scalar", + "Name": "JSON", + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null } ], "InputFields": null, @@ -1573,6 +1612,18 @@ }, "IsDeprecated": false, "DeprecationReason": null + }, + { + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "Kind": "Scalar", + "Name": "JSON", + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null } ], "InputFields": null, @@ -1751,6 +1802,18 @@ "IsDeprecated": false, "DeprecationReason": null }, + { + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "Kind": "Scalar", + "Name": "JSON", + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null + }, { "Name": "height", "Description": null, @@ -1997,6 +2060,16 @@ ], "PossibleTypes": null }, + { + "Kind": "Scalar", + "Name": "JSON", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null + }, { "Kind": "Object", "Name": "Starship", @@ -4081,6 +4154,56 @@ "IsDeprecated": false, "DeprecationReason": null }, + { + "__typename": "__Field", + "Name": "heroByTraits", + "Description": null, + "Args": [ + { + "__typename": "__InputValue", + "Name": "traits", + "Description": null, + "Type": { + "__typename": "__Type", + "Name": null, + "Kind": "NonNull", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": { + "__typename": "__Type", + "Name": "JSON", + "Kind": "Scalar", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + } + }, + "DefaultValue": null + } + ], + "Type": { + "__typename": "__Type", + "Name": "Character", + "Kind": "Interface", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null + }, { "__typename": "__Field", "Name": "heroes", @@ -4890,6 +5013,26 @@ }, "IsDeprecated": false, "DeprecationReason": null + }, + { + "__typename": "__Field", + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "__typename": "__Type", + "Name": "JSON", + "Kind": "Scalar", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null } ], "InputFields": null, @@ -5161,6 +5304,26 @@ }, "IsDeprecated": false, "DeprecationReason": null + }, + { + "__typename": "__Field", + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "__typename": "__Type", + "Name": "JSON", + "Kind": "Scalar", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null } ], "InputFields": null, @@ -5444,6 +5607,26 @@ "IsDeprecated": false, "DeprecationReason": null }, + { + "__typename": "__Field", + "Name": "traits", + "Description": null, + "Args": [], + "Type": { + "__typename": "__Type", + "Name": "JSON", + "Kind": "Scalar", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + }, + "IsDeprecated": false, + "DeprecationReason": null + }, { "__typename": "__Field", "Name": "height", @@ -5856,6 +6039,18 @@ "PossibleTypes": null, "OfType": null }, + { + "__typename": "__Type", + "Name": "JSON", + "Kind": "Scalar", + "Description": null, + "Fields": null, + "InputFields": null, + "Interfaces": null, + "EnumValues": null, + "PossibleTypes": null, + "OfType": null + }, { "__typename": "__Type", "Name": "Starship", diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__resources__/Schema.graphql b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__resources__/Schema.graphql index bdfe63dc440..bccd18be6ad 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__resources__/Schema.graphql +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__resources__/Schema.graphql @@ -10,6 +10,7 @@ interface Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection appearsIn: [Episode] height(unit: Unit): Float + traits: JSON } type Droid implements Character { @@ -19,6 +20,7 @@ type Droid implements Character { friends("Returns the first _n_ elements from the list." first: Int "Returns the elements in the list that come after the specified cursor." after: String "Returns the last _n_ elements from the list." last: Int "Returns the elements in the list that come before the specified cursor." before: String): FriendsConnection height(unit: Unit): Float primaryFunction: String + traits: JSON } "A connection to a list of items." @@ -47,6 +49,7 @@ type Human implements Character { otherHuman: Human height(unit: Unit): Float homePlanet: String + traits: JSON } type Mutation { @@ -112,3 +115,5 @@ directive @defer("If this argument label has a value other than null, it will be "The `@stream` directive may be provided for a field of `List` type so that the backend can leverage technology such as asynchronous iterators to provide a partial list in the initial response, and additional list items in subsequent responses. `@include` and `@skip` take precedence over `@stream`." directive @stream("If this argument label has a value other than null, it will be passed on to the result of this stream directive. This label is intended to give client applications a way to identify to which fragment a streamed result belongs to." label: String "The initial elements that shall be send down to the consumer." initialCount: Int! "Streamed when true." if: Boolean) on FIELD + +scalar JSON \ No newline at end of file diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity.snap index 3cc65a19b20..bbb5ce99ec8 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity.snap @@ -212,7 +212,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity_With_Records.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity_With_Records.snap index 039403debf6..5ce2b10205d 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity_With_Records.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityGeneratorTests.Generate_ChatClient_ConnectionNotAnEntity_With_Records.snap @@ -212,7 +212,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.NonNullableValueTypeId.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.NonNullableValueTypeId.snap index 7ba8bebfca7..fc0a1aa0727 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.NonNullableValueTypeId.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.NonNullableValueTypeId.snap @@ -116,7 +116,7 @@ namespace Foo.Bar return false; } - return (Id == other.Id); + return (global::System.Object.Equals(Id, other.Id)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -178,7 +178,7 @@ namespace Foo.Bar return false; } - return (Foo == other.Foo); + return (global::System.Object.Equals(Foo, other.Foo)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -240,7 +240,7 @@ namespace Foo.Bar return false; } - return (Id == other.Id); + return (global::System.Object.Equals(Id, other.Id)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -302,7 +302,7 @@ namespace Foo.Bar return false; } - return (Foo == other.Foo); + return (global::System.Object.Equals(Foo, other.Foo)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.UnionWithNestedObject.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.UnionWithNestedObject.snap index bcb6183bed5..67f32684dd4 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.UnionWithNestedObject.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/EntityOrIdGeneratorTests.UnionWithNestedObject.snap @@ -106,7 +106,7 @@ namespace Foo.Bar return false; } - return (Id == other.Id); + return (global::System.Object.Equals(Id, other.Id)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ErrorGeneratorTests.Generate_ChatClient_InvalidNullCheck.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ErrorGeneratorTests.Generate_ChatClient_InvalidNullCheck.snap index 8d78659f549..a055482d126 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ErrorGeneratorTests.Generate_ChatClient_InvalidNullCheck.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ErrorGeneratorTests.Generate_ChatClient_InvalidNullCheck.snap @@ -280,7 +280,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/InputGeneratorTests.Input_Type_Fields_Are_Inspected_For_LeafTypes.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/InputGeneratorTests.Input_Type_Fields_Are_Inspected_For_LeafTypes.snap index 66424248d19..88076646b3a 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/InputGeneratorTests.Input_Type_Fields_Are_Inspected_For_LeafTypes.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/InputGeneratorTests.Input_Type_Fields_Are_Inspected_For_LeafTypes.snap @@ -352,7 +352,7 @@ namespace Foo.Bar return false; } - return (Id == other.Id) && HomePlanet.Equals(other.HomePlanet); + return (global::System.Object.Equals(Id, other.Id)) && HomePlanet.Equals(other.HomePlanet); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap index d7ad723b3e1..ac1070ce09f 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap @@ -106,7 +106,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars); + return (global::System.Object.Equals(Stars, other.Stars)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -250,7 +250,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars); + return (global::System.Object.Equals(Stars, other.Stars)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Operation_With_Type_Argument.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Operation_With_Type_Argument.snap index c9d6568901c..1065c6ddd31 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Operation_With_Type_Argument.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Operation_With_Type_Argument.snap @@ -109,7 +109,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -270,7 +270,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Subscription_With_Default_Names.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Subscription_With_Default_Names.snap index 3f4327c27a6..56a726fefe9 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Subscription_With_Default_Names.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/NoStoreStarWarsGeneratorTests.Subscription_With_Default_Names.snap @@ -109,7 +109,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/OperationGeneratorTests.Generate_ChatClient_AllOperations.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/OperationGeneratorTests.Generate_ChatClient_AllOperations.snap index e1d0736cb0c..4bb8337b8aa 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/OperationGeneratorTests.Generate_ChatClient_AllOperations.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/OperationGeneratorTests.Generate_ChatClient_AllOperations.snap @@ -224,7 +224,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline && ((ImageUri is null && other.ImageUri is null) || ImageUri != null && ImageUri.Equals(other.ImageUri)) && LastSeen.Equals(other.LastSeen); + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline) && ((ImageUri is null && other.ImageUri is null) || ImageUri != null && ImageUri.Equals(other.ImageUri)) && LastSeen.Equals(other.LastSeen); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -727,7 +727,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -809,7 +809,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1279,7 +1279,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1361,7 +1361,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1771,7 +1771,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -1853,7 +1853,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -2195,7 +2195,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -2277,7 +2277,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email.Equals(other.Email) && IsOnline == other.IsOnline; + return (Name.Equals(other.Name)) && Email.Equals(other.Email) && global::System.Object.Equals(IsOnline, other.IsOnline); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ResultTypeGeneratorTests.Nested_Entity.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ResultTypeGeneratorTests.Nested_Entity.snap index 64983a8b64a..3cbe22114e7 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ResultTypeGeneratorTests.Nested_Entity.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ResultTypeGeneratorTests.Nested_Entity.snap @@ -112,7 +112,7 @@ namespace Foo.Bar return false; } - return (IsValid == other.IsValid) && ((VehicleMake is null && other.VehicleMake is null) || VehicleMake != null && VehicleMake.Equals(other.VehicleMake)) && ((VehicleModel is null && other.VehicleModel is null) || VehicleModel != null && VehicleModel.Equals(other.VehicleModel)); + return (global::System.Object.Equals(IsValid, other.IsValid)) && ((VehicleMake is null && other.VehicleMake is null) || VehicleMake != null && VehicleMake.Equals(other.VehicleMake)) && ((VehicleModel is null && other.VehicleModel is null) || VehicleModel != null && VehicleModel.Equals(other.VehicleModel)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -193,7 +193,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && ((Make is null && other.Make is null) || Make != null && Make.Equals(other.Make)) && ((MakeCode is null && other.MakeCode is null) || MakeCode != null && MakeCode.Equals(other.MakeCode)) && IsDisabled == other.IsDisabled; + return (Id.Equals(other.Id)) && ((Make is null && other.Make is null) || Make != null && Make.Equals(other.Make)) && ((MakeCode is null && other.MakeCode is null) || MakeCode != null && MakeCode.Equals(other.MakeCode)) && global::System.Object.Equals(IsDisabled, other.IsDisabled); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -281,7 +281,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && ((Model is null && other.Model is null) || Model != null && Model.Equals(other.Model)) && ((ModelCode is null && other.ModelCode is null) || ModelCode != null && ModelCode.Equals(other.ModelCode)) && VehicleMakeId.Equals(other.VehicleMakeId) && IsDisabled == other.IsDisabled && ((ModelType is null && other.ModelType is null) || ModelType != null && ModelType.Equals(other.ModelType)); + return (Id.Equals(other.Id)) && ((Model is null && other.Model is null) || Model != null && Model.Equals(other.Model)) && ((ModelCode is null && other.ModelCode is null) || ModelCode != null && ModelCode.Equals(other.ModelCode)) && VehicleMakeId.Equals(other.VehicleMakeId) && global::System.Object.Equals(IsDisabled, other.IsDisabled) && ((ModelType is null && other.ModelType is null) || ModelType != null && ModelType.Equals(other.ModelType)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Scalar.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Scalar.snap index c96e0921595..6cdf98cdb71 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Scalar.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Scalar.snap @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Data == other.Data; + return (Name.Equals(other.Name)) && global::System.Object.Equals(Data, other.Data); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Type.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Type.snap index 13b77957be8..e8c2eed7e59 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Type.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Any_Type.snap @@ -86,7 +86,7 @@ namespace Foo.Bar [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.0.0")] public partial class GetPerson_Person_Person : global::System.IEquatable, IGetPerson_Person_Person { - public GetPerson_Person_Person(global::System.String name, global::System.Text.Json.JsonDocument? email) + public GetPerson_Person_Person(global::System.String name, global::System.Text.Json.JsonElement? email) { Name = name; Email = email; @@ -94,7 +94,7 @@ namespace Foo.Bar public global::System.String Name { get; } - public global::System.Text.Json.JsonDocument? Email { get; } + public global::System.Text.Json.JsonElement? Email { get; } public virtual global::System.Boolean Equals(GetPerson_Person_Person? other) { @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email == other.Email; + return (Name.Equals(other.Name)) && global::System.Object.Equals(Email, other.Email); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -165,7 +165,7 @@ namespace Foo.Bar { public global::System.String Name { get; } - public global::System.Text.Json.JsonDocument? Email { get; } + public global::System.Text.Json.JsonElement? Email { get; } } // StrawberryShake.CodeGeneration.CSharp.Generators.ResultInterfaceGenerator @@ -391,14 +391,14 @@ namespace Foo.Bar.State private readonly global::StrawberryShake.IEntityStore _entityStore; private readonly global::StrawberryShake.IEntityIdSerializer _idSerializer; private readonly global::StrawberryShake.Serialization.ILeafValueParser _stringParser; - private readonly global::StrawberryShake.Serialization.ILeafValueParser _anyParser; + private readonly global::StrawberryShake.Serialization.ILeafValueParser _anyParser; public GetPersonBuilder(global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityIdSerializer idSerializer, global::StrawberryShake.IOperationResultDataFactory resultDataFactory, global::StrawberryShake.Serialization.ISerializerResolver serializerResolver) { _entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore)); _idSerializer = idSerializer ?? throw new global::System.ArgumentNullException(nameof(idSerializer)); ResultDataFactory = resultDataFactory ?? throw new global::System.ArgumentNullException(nameof(resultDataFactory)); _stringParser = serializerResolver.GetLeafValueParser("String") ?? throw new global::System.ArgumentException("No serializer for type `String` found."); - _anyParser = serializerResolver.GetLeafValueParser("Any") ?? throw new global::System.ArgumentException("No serializer for type `Any` found."); + _anyParser = serializerResolver.GetLeafValueParser("Any") ?? throw new global::System.ArgumentException("No serializer for type `Any` found."); } protected override global::StrawberryShake.IOperationResultDataFactory ResultDataFactory { get; } @@ -424,7 +424,7 @@ namespace Foo.Bar.State var typename = obj.Value.GetProperty("__typename").GetString(); if (typename?.Equals("Person", global::System.StringComparison.Ordinal) ?? false) { - return new global::Foo.Bar.State.PersonData(typename, name: Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), email: Deserialize_JsonDocument(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "email"))); + return new global::Foo.Bar.State.PersonData(typename, name: Deserialize_NonNullableString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), email: Deserialize_JsonElement(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "email"))); } throw new global::System.NotSupportedException(); @@ -440,7 +440,7 @@ namespace Foo.Bar.State return _stringParser.Parse(obj.Value.GetString()!); } - private global::System.Text.Json.JsonDocument? Deserialize_JsonDocument(global::System.Text.Json.JsonElement? obj) + private global::System.Text.Json.JsonElement? Deserialize_JsonElement(global::System.Text.Json.JsonElement? obj) { if (!obj.HasValue) { @@ -455,7 +455,7 @@ namespace Foo.Bar.State [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "0.0.0.0")] public partial class PersonData { - public PersonData(global::System.String __typename, global::System.String? name = default !, global::System.Text.Json.JsonDocument? email = default !) + public PersonData(global::System.String __typename, global::System.String? name = default !, global::System.Text.Json.JsonElement? email = default !) { this.__typename = __typename ?? throw new global::System.ArgumentNullException(nameof(__typename)); Name = name; @@ -466,7 +466,7 @@ namespace Foo.Bar.State public global::System.String? Name { get; } - public global::System.Text.Json.JsonDocument? Email { get; } + public global::System.Text.Json.JsonElement? Email { get; } } // StrawberryShake.CodeGeneration.CSharp.Generators.EntityIdFactoryGenerator diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.ByteArray_ScalarType.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.ByteArray_ScalarType.snap index 072a1532eec..eba26a1ad9d 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.ByteArray_ScalarType.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.ByteArray_ScalarType.snap @@ -44,7 +44,7 @@ namespace Foo.Bar return false; } - return (ByteArray == other.ByteArray); + return (global::System.Object.Equals(ByteArray, other.ByteArray)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Complete_Schema_With_Uuid_And_DateTime.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Complete_Schema_With_Uuid_And_DateTime.snap index 2caf2bff677..c5bd10c2260 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Complete_Schema_With_Uuid_And_DateTime.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Complete_Schema_With_Uuid_And_DateTime.snap @@ -134,7 +134,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Amount == other.Amount && Date.Equals(other.Date) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && Category.Equals(other.Category) && PaymentMethod.Equals(other.PaymentMethod) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Tags, other.Tags); + return (Id.Equals(other.Id)) && global::System.Object.Equals(Amount, other.Amount) && Date.Equals(other.Date) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && Category.Equals(other.Category) && PaymentMethod.Equals(other.PaymentMethod) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Tags, other.Tags); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType.snap index 8552e3bb30f..2a6f48a13e0 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType.snap @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email == other.Email; + return (Name.Equals(other.Name)) && global::System.Object.Equals(Email, other.Email); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType_And_RuntimeType.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType_And_RuntimeType.snap index 01bc57dd9fc..c7a290000ba 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType_And_RuntimeType.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Custom_Scalar_With_SerializationType_And_RuntimeType.snap @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Email == other.Email; + return (Name.Equals(other.Name)) && global::System.Object.Equals(Email, other.Email); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Scalars_Are_Correctly_Inferred.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Scalars_Are_Correctly_Inferred.snap index 7bf97445c12..81c65099635 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Scalars_Are_Correctly_Inferred.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/ScalarGeneratorTests.Scalars_Are_Correctly_Inferred.snap @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (NumberFloat == other.NumberFloat) && NumberInt == other.NumberInt; + return (global::System.Object.Equals(NumberFloat, other.NumberFloat)) && global::System.Object.Equals(NumberInt, other.NumberInt); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatById.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatById.snap index 44b4292b31e..046ac6fa1b4 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatById.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatById.snap @@ -191,7 +191,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Name.Equals(other.Name) && Level == other.Level && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details); + return (Id.Equals(other.Id)) && Name.Equals(other.Name) && global::System.Object.Equals(Level, other.Level) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatsPage.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatsPage.snap index 2a97575470e..c0b81bf670a 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatsPage.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_GetFeatsPage.snap @@ -191,7 +191,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && Level == other.Level && CanBeLearnedMoreThanOnce == other.CanBeLearnedMoreThanOnce && ActionType.Equals(other.ActionType); + return (Name.Equals(other.Name)) && global::System.Object.Equals(Level, other.Level) && global::System.Object.Equals(CanBeLearnedMoreThanOnce, other.CanBeLearnedMoreThanOnce) && ActionType.Equals(other.ActionType); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_PeopleSearch_From_ActiveDirectory_Schema.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_PeopleSearch_From_ActiveDirectory_Schema.snap index 11c7b9cd9a7..5edd5352893 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_PeopleSearch_From_ActiveDirectory_Schema.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_PeopleSearch_From_ActiveDirectory_Schema.snap @@ -122,7 +122,7 @@ namespace Foo.Bar return false; } - return (TotalCount == other.TotalCount) && PageInfo.Equals(other.PageInfo) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Items, other.Items); + return (global::System.Object.Equals(TotalCount, other.TotalCount)) && PageInfo.Equals(other.PageInfo) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Items, other.Items); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -205,7 +205,7 @@ namespace Foo.Bar return false; } - return (HasNextPage == other.HasNextPage) && HasPreviousPage == other.HasPreviousPage; + return (global::System.Object.Equals(HasNextPage, other.HasNextPage)) && global::System.Object.Equals(HasPreviousPage, other.HasPreviousPage); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -310,7 +310,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Key == other.Key && ((DisplayName is null && other.DisplayName is null) || DisplayName != null && DisplayName.Equals(other.DisplayName)) && IsActive == other.IsActive && ((Department is null && other.Department is null) || Department != null && Department.Equals(other.Department)) && ((Image is null && other.Image is null) || Image != null && Image.Equals(other.Image)) && Title.Equals(other.Title) && ((Manager is null && other.Manager is null) || Manager != null && Manager.Equals(other.Manager)); + return (Id.Equals(other.Id)) && global::System.Object.Equals(Key, other.Key) && ((DisplayName is null && other.DisplayName is null) || DisplayName != null && DisplayName.Equals(other.DisplayName)) && global::System.Object.Equals(IsActive, other.IsActive) && ((Department is null && other.Department is null) || Department != null && Department.Equals(other.Department)) && ((Image is null && other.Image is null) || Image != null && Image.Equals(other.Image)) && Title.Equals(other.Title) && ((Manager is null && other.Manager is null) || Manager != null && Manager.Equals(other.Manager)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -476,7 +476,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Key == other.Key && ((DisplayName is null && other.DisplayName is null) || DisplayName != null && DisplayName.Equals(other.DisplayName)); + return (Id.Equals(other.Id)) && global::System.Object.Equals(Key, other.Key) && ((DisplayName is null && other.DisplayName is null) || DisplayName != null && DisplayName.Equals(other.DisplayName)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_UpdateMembers_Mutation.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_UpdateMembers_Mutation.snap index a704e5f12d2..330a0df66b5 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_UpdateMembers_Mutation.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Create_UpdateMembers_Mutation.snap @@ -513,7 +513,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Type.Equals(other.Type) && Remove == other.Remove; + return (Id.Equals(other.Id)) && Type.Equals(other.Type) && global::System.Object.Equals(Remove, other.Remove); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.FieldsWithUnderlineInName.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.FieldsWithUnderlineInName.snap index 98569ec32f8..49acbcdebe9 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.FieldsWithUnderlineInName.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.FieldsWithUnderlineInName.snap @@ -356,7 +356,7 @@ namespace Foo.Bar return false; } - return (TimeUnit.Equals(other.TimeUnit)) && Factor == other.Factor; + return (TimeUnit.Equals(other.TimeUnit)) && global::System.Object.Equals(Factor, other.Factor); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -431,7 +431,7 @@ namespace Foo.Bar return false; } - return (((_inventoryItemId is null && other._inventoryItemId is null) || _inventoryItemId != null && _inventoryItemId.Equals(other._inventoryItemId))) && ((Name is null && other.Name is null) || Name != null && Name.Equals(other.Name)) && ((Completeness is null && other.Completeness is null) || Completeness != null && Completeness.Equals(other.Completeness)) && LowerBound == other.LowerBound && UpperBound == other.UpperBound; + return (((_inventoryItemId is null && other._inventoryItemId is null) || _inventoryItemId != null && _inventoryItemId.Equals(other._inventoryItemId))) && ((Name is null && other.Name is null) || Name != null && Name.Equals(other.Name)) && ((Completeness is null && other.Completeness is null) || Completeness != null && Completeness.Equals(other.Completeness)) && global::System.Object.Equals(LowerBound, other.LowerBound) && global::System.Object.Equals(UpperBound, other.UpperBound); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -520,7 +520,7 @@ namespace Foo.Bar return false; } - return (FromPeriod == other.FromPeriod) && ToPeriod == other.ToPeriod; + return (global::System.Object.Equals(FromPeriod, other.FromPeriod)) && global::System.Object.Equals(ToPeriod, other.ToPeriod); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -597,7 +597,7 @@ namespace Foo.Bar return false; } - return (Timestamp.Equals(other.Timestamp)) && Value == other.Value && Flag.Equals(other.Flag); + return (Timestamp.Equals(other.Timestamp)) && global::System.Object.Equals(Value, other.Value) && Flag.Equals(other.Flag); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -2357,7 +2357,7 @@ namespace Foo.Bar return false; } - return (((All is null && other.All is null) || All != null && All.Equals(other.All))) && ((None is null && other.None is null) || None != null && None.Equals(other.None)) && ((Some is null && other.Some is null) || Some != null && Some.Equals(other.Some)) && Any == other.Any; + return (((All is null && other.All is null) || All != null && All.Equals(other.All))) && ((None is null && other.None is null) || None != null && None.Equals(other.None)) && ((Some is null && other.Some is null) || Some != null && Some.Equals(other.Some)) && global::System.Object.Equals(Any, other.Any); } public override global::System.Int32 GetHashCode() @@ -2780,7 +2780,7 @@ namespace Foo.Bar return false; } - return (TimeUnit.Equals(other.TimeUnit)) && Factor == other.Factor; + return (TimeUnit.Equals(other.TimeUnit)) && global::System.Object.Equals(Factor, other.Factor); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Full_Extension_File.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Full_Extension_File.snap index 5ac38666179..65cf35c317d 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Full_Extension_File.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Full_Extension_File.snap @@ -112,7 +112,7 @@ namespace Foo.Bar return false; } - return (Count == other.Count); + return (global::System.Object.Equals(Count, other.Count)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.HasuraMutation.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.HasuraMutation.snap index 0920f51a084..d3ca1b545a1 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.HasuraMutation.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.HasuraMutation.snap @@ -122,7 +122,7 @@ namespace Foo.Bar return false; } - return (Affected_rows == other.Affected_rows); + return (global::System.Object.Equals(Affected_rows, other.Affected_rows)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -2314,7 +2314,7 @@ namespace Foo.Bar return false; } - return (((_eq is null && other._eq is null) || _eq != null && _eq.Equals(other._eq))) && ((_gt is null && other._gt is null) || _gt != null && _gt.Equals(other._gt)) && ((_gte is null && other._gte is null) || _gte != null && _gte.Equals(other._gte)) && ((_ilike is null && other._ilike is null) || _ilike != null && _ilike.Equals(other._ilike)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_in, other._in) && ((_iregex is null && other._iregex is null) || _iregex != null && _iregex.Equals(other._iregex)) && _is_null == other._is_null && ((_like is null && other._like is null) || _like != null && _like.Equals(other._like)) && ((_lt is null && other._lt is null) || _lt != null && _lt.Equals(other._lt)) && ((_lte is null && other._lte is null) || _lte != null && _lte.Equals(other._lte)) && ((_neq is null && other._neq is null) || _neq != null && _neq.Equals(other._neq)) && ((_nilike is null && other._nilike is null) || _nilike != null && _nilike.Equals(other._nilike)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_nin, other._nin) && ((_niregex is null && other._niregex is null) || _niregex != null && _niregex.Equals(other._niregex)) && ((_nlike is null && other._nlike is null) || _nlike != null && _nlike.Equals(other._nlike)) && ((_nregex is null && other._nregex is null) || _nregex != null && _nregex.Equals(other._nregex)) && ((_nsimilar is null && other._nsimilar is null) || _nsimilar != null && _nsimilar.Equals(other._nsimilar)) && ((_regex is null && other._regex is null) || _regex != null && _regex.Equals(other._regex)) && ((_similar is null && other._similar is null) || _similar != null && _similar.Equals(other._similar)); + return (((_eq is null && other._eq is null) || _eq != null && _eq.Equals(other._eq))) && ((_gt is null && other._gt is null) || _gt != null && _gt.Equals(other._gt)) && ((_gte is null && other._gte is null) || _gte != null && _gte.Equals(other._gte)) && ((_ilike is null && other._ilike is null) || _ilike != null && _ilike.Equals(other._ilike)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_in, other._in) && ((_iregex is null && other._iregex is null) || _iregex != null && _iregex.Equals(other._iregex)) && global::System.Object.Equals(_is_null, other._is_null) && ((_like is null && other._like is null) || _like != null && _like.Equals(other._like)) && ((_lt is null && other._lt is null) || _lt != null && _lt.Equals(other._lt)) && ((_lte is null && other._lte is null) || _lte != null && _lte.Equals(other._lte)) && ((_neq is null && other._neq is null) || _neq != null && _neq.Equals(other._neq)) && ((_nilike is null && other._nilike is null) || _nilike != null && _nilike.Equals(other._nilike)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_nin, other._nin) && ((_niregex is null && other._niregex is null) || _niregex != null && _niregex.Equals(other._niregex)) && ((_nlike is null && other._nlike is null) || _nlike != null && _nlike.Equals(other._nlike)) && ((_nregex is null && other._nregex is null) || _nregex != null && _nregex.Equals(other._nregex)) && ((_nsimilar is null && other._nsimilar is null) || _nsimilar != null && _nsimilar.Equals(other._nsimilar)) && ((_regex is null && other._regex is null) || _regex != null && _regex.Equals(other._regex)) && ((_similar is null && other._similar is null) || _similar != null && _similar.Equals(other._similar)); } public override global::System.Int32 GetHashCode() @@ -2935,7 +2935,7 @@ namespace Foo.Bar return false; } - return (((_eq is null && other._eq is null) || _eq != null && _eq.Equals(other._eq))) && ((_gt is null && other._gt is null) || _gt != null && _gt.Equals(other._gt)) && ((_gte is null && other._gte is null) || _gte != null && _gte.Equals(other._gte)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_in, other._in) && _is_null == other._is_null && ((_lt is null && other._lt is null) || _lt != null && _lt.Equals(other._lt)) && ((_lte is null && other._lte is null) || _lte != null && _lte.Equals(other._lte)) && ((_neq is null && other._neq is null) || _neq != null && _neq.Equals(other._neq)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_nin, other._nin); + return (((_eq is null && other._eq is null) || _eq != null && _eq.Equals(other._eq))) && ((_gt is null && other._gt is null) || _gt != null && _gt.Equals(other._gt)) && ((_gte is null && other._gte is null) || _gte != null && _gte.Equals(other._gte)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_in, other._in) && global::System.Object.Equals(_is_null, other._is_null) && ((_lt is null && other._lt is null) || _lt != null && _lt.Equals(other._lt)) && ((_lte is null && other._lte is null) || _lte != null && _lte.Equals(other._lte)) && ((_neq is null && other._neq is null) || _neq != null && _neq.Equals(other._neq)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(_nin, other._nin); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.IntrospectionQuery.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.IntrospectionQuery.snap index 3e78604e437..517701e34b6 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.IntrospectionQuery.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.IntrospectionQuery.snap @@ -592,7 +592,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && OnOperation == other.OnOperation && OnFragment == other.OnFragment && OnField == other.OnField; + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && global::System.Object.Equals(OnOperation, other.OnOperation) && global::System.Object.Equals(OnFragment, other.OnFragment) && global::System.Object.Equals(OnField, other.OnField); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -685,7 +685,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && Type.Equals(other.Type) && IsDeprecated == other.IsDeprecated && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Args, other.Args) && Type.Equals(other.Type) && global::System.Object.Equals(IsDeprecated, other.IsDeprecated) && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -947,7 +947,7 @@ namespace Foo.Bar return false; } - return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && IsDeprecated == other.IsDeprecated && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); + return (Name.Equals(other.Name)) && ((Description is null && other.Description is null) || Description != null && Description.Equals(other.Description)) && global::System.Object.Equals(IsDeprecated, other.IsDeprecated) && ((DeprecationReason is null && other.DeprecationReason is null) || DeprecationReason != null && DeprecationReason.Equals(other.DeprecationReason)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.QueryInterference.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.QueryInterference.snap index 1ab308d5ab6..31286b8c26c 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.QueryInterference.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.QueryInterference.snap @@ -113,7 +113,7 @@ namespace Foo.Bar return false; } - return (TotalCount == other.TotalCount) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Items, other.Items); + return (global::System.Object.Equals(TotalCount, other.TotalCount)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Items, other.Items); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -198,7 +198,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Name.Equals(other.Name) && Level == other.Level && CanBeLearnedMoreThanOnce == other.CanBeLearnedMoreThanOnce && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details); + return (Id.Equals(other.Id)) && Name.Equals(other.Name) && global::System.Object.Equals(Level, other.Level) && global::System.Object.Equals(CanBeLearnedMoreThanOnce, other.CanBeLearnedMoreThanOnce) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -548,7 +548,7 @@ namespace Foo.Bar return false; } - return (Id.Equals(other.Id)) && Name.Equals(other.Name) && Level == other.Level && ((Special is null && other.Special is null) || Special != null && Special.Equals(other.Special)) && ((Trigger is null && other.Trigger is null) || Trigger != null && Trigger.Equals(other.Trigger)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details) && ActionType.Equals(other.ActionType); + return (Id.Equals(other.Id)) && Name.Equals(other.Name) && global::System.Object.Equals(Level, other.Level) && ((Special is null && other.Special is null) || Special != null && Special.Equals(other.Special)) && ((Trigger is null && other.Trigger is null) || Trigger != null && Trigger.Equals(other.Trigger)) && global::StrawberryShake.Internal.ComparisonHelper.SequenceEqual(Details, other.Details) && ActionType.Equals(other.ActionType); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Query_With_Nested_Fragments.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Query_With_Nested_Fragments.snap index db7ac3189eb..46deaedce7a 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Query_With_Nested_Fragments.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Query_With_Nested_Fragments.snap @@ -175,7 +175,7 @@ namespace Foo.Bar return false; } - return (ListingId.Equals(other.ListingId)) && StartingPrice == other.StartingPrice; + return (ListingId.Equals(other.ListingId)) && global::System.Object.Equals(StartingPrice, other.StartingPrice); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -241,7 +241,7 @@ namespace Foo.Bar return false; } - return (ListingId.Equals(other.ListingId)) && Price == other.Price; + return (ListingId.Equals(other.ListingId)) && global::System.Object.Equals(Price, other.Price); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Schema_With_Spec_Errors.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Schema_With_Spec_Errors.snap index 5ac38666179..65cf35c317d 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Schema_With_Spec_Errors.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/SchemaGeneratorTests.Schema_With_Spec_Errors.snap @@ -112,7 +112,7 @@ namespace Foo.Bar return false; } - return (Count == other.Count); + return (global::System.Object.Equals(Count, other.Count)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap index 25d2f0155bf..1ad1f08fecb 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Generate_StarWarsIntegrationTest.snap @@ -106,7 +106,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars); + return (global::System.Object.Equals(Stars, other.Stars)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -250,7 +250,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars); + return (global::System.Object.Equals(Stars, other.Stars)); } public override global::System.Boolean Equals(global::System.Object? obj) diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Operation_With_Type_Argument.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Operation_With_Type_Argument.snap index 931498c13d8..48e44e599b6 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Operation_With_Type_Argument.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Operation_With_Type_Argument.snap @@ -109,7 +109,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj) @@ -270,7 +270,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Int32 GetHashCode() diff --git a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Subscription_With_Default_Names.snap b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Subscription_With_Default_Names.snap index c3b635a7c88..960d5c5bdb7 100644 --- a/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Subscription_With_Default_Names.snap +++ b/src/StrawberryShake/CodeGeneration/test/CodeGeneration.CSharp.Tests/__snapshots__/StarWarsGeneratorTests.Subscription_With_Default_Names.snap @@ -109,7 +109,7 @@ namespace Foo.Bar return false; } - return (Stars == other.Stars) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); + return (global::System.Object.Equals(Stars, other.Stars)) && ((Commentary is null && other.Commentary is null) || Commentary != null && Commentary.Equals(other.Commentary)); } public override global::System.Boolean Equals(global::System.Object? obj)