From 1ff64684b9dec7cd3ddc94d2c82f0e2f8c7a3f61 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Mon, 6 Nov 2023 12:11:10 +0100 Subject: [PATCH] Add description strings to a test case --- .../test_data/ok/0015_supergraph.graphql | 11 + .../test_data/ok/0015_supergraph.txt | 1176 +++++++++-------- .../serializer/ok/0015_supergraph.graphql | 3 + 3 files changed, 605 insertions(+), 585 deletions(-) diff --git a/crates/apollo-compiler/test_data/ok/0015_supergraph.graphql b/crates/apollo-compiler/test_data/ok/0015_supergraph.graphql index 5249fd717..39ae554b4 100644 --- a/crates/apollo-compiler/test_data/ok/0015_supergraph.graphql +++ b/crates/apollo-compiler/test_data/ok/0015_supergraph.graphql @@ -22,6 +22,10 @@ type Amazon { union Body = Image | Text +""" + Usually made of pages + +""" type Book implements Product @join__owner(graph: BOOKS) @join__type(graph: BOOKS, key: "isbn") @@ -31,9 +35,16 @@ type Book implements Product { isbn: String! @join__field(graph: BOOKS) title: String @join__field(graph: BOOKS) + """In the \"""Gregorian\""" calendar""" year: Int @join__field(graph: BOOKS) similarBooks: [Book]! @join__field(graph: BOOKS) metadata: [MetadataOrError] @join__field(graph: BOOKS) + """ + + \"""To be in stock or not to be in stock\""" + + that is the question + """ inStock: Boolean @join__field(graph: INVENTORY) isCheckedOut: Boolean @join__field(graph: INVENTORY) upc: String! @join__field(graph: PRODUCT) diff --git a/crates/apollo-compiler/test_data/ok/0015_supergraph.txt b/crates/apollo-compiler/test_data/ok/0015_supergraph.txt index 90b29c977..27b33873a 100644 --- a/crates/apollo-compiler/test_data/ok/0015_supergraph.txt +++ b/crates/apollo-compiler/test_data/ok/0015_supergraph.txt @@ -7,7 +7,7 @@ Schema { }, 15: SourceFile { path: "0015_supergraph.graphql", - source_text: "schema\n@core(feature: \"https://specs.apollo.dev/core/v0.1\"),\n@core(feature: \"https://specs.apollo.dev/join/v0.1\")\n{\n query: Query\n mutation: Mutation\n}\n\ndirective @core(feature: String!) repeatable on SCHEMA\ndirective @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet) on FIELD_DEFINITION\ndirective @join__type(graph: join__Graph!, key: join__FieldSet) repeatable on OBJECT | INTERFACE\ndirective @join__owner(graph: join__Graph!) on OBJECT | INTERFACE\ndirective @join__graph(name: String!, url: String!) on ENUM_VALUE\ndirective @stream on FIELD\ndirective @transform(from: String!) on FIELD\n\nunion AccountType = PasswordAccount | SMSAccount\n\ntype Amazon {\n referrer: String\n}\n\nunion Body = Image | Text\n\ntype Book implements Product\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"isbn\")\n@join__type(graph: INVENTORY, key: \"isbn\")\n@join__type(graph: PRODUCT, key: \"isbn\")\n@join__type(graph: REVIEWS, key: \"isbn\")\n{\n isbn: String! @join__field(graph: BOOKS)\n title: String @join__field(graph: BOOKS)\n year: Int @join__field(graph: BOOKS)\n similarBooks: [Book]! @join__field(graph: BOOKS)\n metadata: [MetadataOrError] @join__field(graph: BOOKS)\n inStock: Boolean @join__field(graph: INVENTORY)\n isCheckedOut: Boolean @join__field(graph: INVENTORY)\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name(delimeter: String = \" \"): String @join__field(graph: PRODUCT, requires: \"title year\")\n price: String @join__field(graph: PRODUCT)\n details: ProductDetailsBook @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n relatedReviews: [Review!]! @join__field(graph: REVIEWS, requires: \"similarBooks{isbn}\")\n}\n\nunion Brand = Ikea | Amazon\n\ntype Car implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ntype Error {\n code: Int\n message: String\n}\n\ntype Furniture implements Product\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"upc\")\n@join__type(graph: PRODUCT, key: \"sku\")\n@join__type(graph: INVENTORY, key: \"sku\")\n@join__type(graph: REVIEWS, key: \"upc\")\n{\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n brand: Brand @join__field(graph: PRODUCT)\n metadata: [MetadataOrError] @join__field(graph: PRODUCT)\n details: ProductDetailsFurniture @join__field(graph: PRODUCT)\n inStock: Boolean @join__field(graph: INVENTORY)\n isHeavy: Boolean @join__field(graph: INVENTORY)\n reviews: [Review] @join__field(graph: REVIEWS)\n}\n\ntype Ikea {\n asile: Int\n}\n\ntype Image implements NamedObject {\n name: String!\n attributes: ImageAttributes!\n}\n\ntype ImageAttributes {\n url: String!\n}\n\nscalar join__FieldSet @specifiedBy(url: \"https://spec.graphql.org/\")\n\nenum join__Graph {\nACCOUNTS @join__graph(name: \"accounts\" url: \"\")\nBOOKS @join__graph(name: \"books\" url: \"\")\nDOCUMENTS @join__graph(name: \"documents\" url: \"\")\nINVENTORY @join__graph(name: \"inventory\" url: \"\")\nPRODUCT @join__graph(name: \"product\" url: \"\")\nREVIEWS @join__graph(name: \"reviews\" url: \"\")\n}\n\ntype KeyValue {\n key: String!\n value: String!\n}\n\ntype Library\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"id\")\n{\n id: ID! @join__field(graph: BOOKS)\n name: String @join__field(graph: BOOKS)\n userAccount(id: ID! = 1): User @join__field(graph: ACCOUNTS, requires: \"name\")\n}\n\nunion MetadataOrError = KeyValue | Error\n\ntype Mutation {\n login(username: String!, password: String!): User @join__field(graph: ACCOUNTS)\n reviewProduct(upc: String!, body: String!): Product @join__field(graph: REVIEWS)\n updateReview(review: UpdateReviewInput!): Review @join__field(graph: REVIEWS)\n deleteReview(id: ID!): Boolean @join__field(graph: REVIEWS)\n}\n\ntype Name {\n first: String\n last: String\n}\n\ninterface NamedObject {\n name: String!\n}\n\ntype PasswordAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"email\")\n{\n email: String! @join__field(graph: ACCOUNTS)\n}\n\ninterface Product {\n upc: String!\n sku: String!\n name: String\n price: String\n details: ProductDetails\n inStock: Boolean\n reviews: [Review]\n}\n\ninterface ProductDetails {\n country: String\n}\n\ntype ProductDetailsBook implements ProductDetails {\n country: String\n pages: Int\n}\n\ntype ProductDetailsFurniture implements ProductDetails {\n country: String\n color: String\n}\n\ntype Query {\n user(id: ID!): User @join__field(graph: ACCOUNTS)\n me: User @join__field(graph: ACCOUNTS)\n book(isbn: String!): Book @join__field(graph: BOOKS)\n books: [Book] @join__field(graph: BOOKS)\n library(id: ID!): Library @join__field(graph: BOOKS)\n body: Body! @join__field(graph: DOCUMENTS)\n product(upc: String!): Product @join__field(graph: PRODUCT)\n vehicle(id: String!): Vehicle @join__field(graph: PRODUCT)\n topProducts(first: Int = 5): [Product] @join__field(graph: PRODUCT)\n topCars(first: Int = 5): [Car] @join__field(graph: PRODUCT)\n topReviews(first: Int = 5): [Review] @join__field(graph: REVIEWS)\n}\n\ntype Review\n@join__owner(graph: REVIEWS)\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: REVIEWS)\n body(format: Boolean = false): String @join__field(graph: REVIEWS)\n author: User @join__field(graph: REVIEWS, provides: \"username\")\n product: Product @join__field(graph: REVIEWS)\n metadata: [MetadataOrError] @join__field(graph: REVIEWS)\n}\n\ntype SMSAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"number\")\n{\n number: String @join__field(graph: ACCOUNTS)\n}\n\ntype Text implements NamedObject {\n name: String!\n attributes: TextAttributes!\n}\n\ntype TextAttributes {\n bold: Boolean\n text: String\n}\n\nunion Thing = Car | Ikea\n\ninput UpdateReviewInput {\n id: ID!\n body: String\n}\n\ntype User\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"username name{first last}\")\n@join__type(graph: INVENTORY, key: \"id\")\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: ACCOUNTS)\n name: Name @join__field(graph: ACCOUNTS)\n username: String @join__field(graph: ACCOUNTS)\n birthDate(locale: String): String @join__field(graph: ACCOUNTS)\n account: AccountType @join__field(graph: ACCOUNTS)\n metadata: [UserMetadata] @join__field(graph: ACCOUNTS)\n goodDescription: Boolean @join__field(graph: INVENTORY, requires: \"metadata{description}\")\n vehicle: Vehicle @join__field(graph: PRODUCT)\n thing: Thing @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n numberOfReviews: Int! @join__field(graph: REVIEWS)\n goodAddress: Boolean @join__field(graph: REVIEWS, requires: \"metadata{address}\")\n}\n\ntype UserMetadata {\n name: String\n address: String\n description: String\n}\n\ntype Van implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ninterface Vehicle {\n id: String!\n description: String\n price: String\n retailPrice: String\n}", + source_text: "schema\n@core(feature: \"https://specs.apollo.dev/core/v0.1\"),\n@core(feature: \"https://specs.apollo.dev/join/v0.1\")\n{\n query: Query\n mutation: Mutation\n}\n\ndirective @core(feature: String!) repeatable on SCHEMA\ndirective @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet) on FIELD_DEFINITION\ndirective @join__type(graph: join__Graph!, key: join__FieldSet) repeatable on OBJECT | INTERFACE\ndirective @join__owner(graph: join__Graph!) on OBJECT | INTERFACE\ndirective @join__graph(name: String!, url: String!) on ENUM_VALUE\ndirective @stream on FIELD\ndirective @transform(from: String!) on FIELD\n\nunion AccountType = PasswordAccount | SMSAccount\n\ntype Amazon {\n referrer: String\n}\n\nunion Body = Image | Text\n\n\"\"\"\n Usually made of pages\n\n\"\"\"\ntype Book implements Product\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"isbn\")\n@join__type(graph: INVENTORY, key: \"isbn\")\n@join__type(graph: PRODUCT, key: \"isbn\")\n@join__type(graph: REVIEWS, key: \"isbn\")\n{\n isbn: String! @join__field(graph: BOOKS)\n title: String @join__field(graph: BOOKS)\n \"\"\"In the \\\"\"\"Gregorian\\\"\"\" calendar\"\"\"\n year: Int @join__field(graph: BOOKS)\n similarBooks: [Book]! @join__field(graph: BOOKS)\n metadata: [MetadataOrError] @join__field(graph: BOOKS)\n \"\"\"\n \n \\\"\"\"To be in stock or not to be in stock\\\"\"\"\n\n that is the question\n \"\"\"\n inStock: Boolean @join__field(graph: INVENTORY)\n isCheckedOut: Boolean @join__field(graph: INVENTORY)\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name(delimeter: String = \" \"): String @join__field(graph: PRODUCT, requires: \"title year\")\n price: String @join__field(graph: PRODUCT)\n details: ProductDetailsBook @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n relatedReviews: [Review!]! @join__field(graph: REVIEWS, requires: \"similarBooks{isbn}\")\n}\n\nunion Brand = Ikea | Amazon\n\ntype Car implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ntype Error {\n code: Int\n message: String\n}\n\ntype Furniture implements Product\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"upc\")\n@join__type(graph: PRODUCT, key: \"sku\")\n@join__type(graph: INVENTORY, key: \"sku\")\n@join__type(graph: REVIEWS, key: \"upc\")\n{\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n brand: Brand @join__field(graph: PRODUCT)\n metadata: [MetadataOrError] @join__field(graph: PRODUCT)\n details: ProductDetailsFurniture @join__field(graph: PRODUCT)\n inStock: Boolean @join__field(graph: INVENTORY)\n isHeavy: Boolean @join__field(graph: INVENTORY)\n reviews: [Review] @join__field(graph: REVIEWS)\n}\n\ntype Ikea {\n asile: Int\n}\n\ntype Image implements NamedObject {\n name: String!\n attributes: ImageAttributes!\n}\n\ntype ImageAttributes {\n url: String!\n}\n\nscalar join__FieldSet @specifiedBy(url: \"https://spec.graphql.org/\")\n\nenum join__Graph {\nACCOUNTS @join__graph(name: \"accounts\" url: \"\")\nBOOKS @join__graph(name: \"books\" url: \"\")\nDOCUMENTS @join__graph(name: \"documents\" url: \"\")\nINVENTORY @join__graph(name: \"inventory\" url: \"\")\nPRODUCT @join__graph(name: \"product\" url: \"\")\nREVIEWS @join__graph(name: \"reviews\" url: \"\")\n}\n\ntype KeyValue {\n key: String!\n value: String!\n}\n\ntype Library\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"id\")\n{\n id: ID! @join__field(graph: BOOKS)\n name: String @join__field(graph: BOOKS)\n userAccount(id: ID! = 1): User @join__field(graph: ACCOUNTS, requires: \"name\")\n}\n\nunion MetadataOrError = KeyValue | Error\n\ntype Mutation {\n login(username: String!, password: String!): User @join__field(graph: ACCOUNTS)\n reviewProduct(upc: String!, body: String!): Product @join__field(graph: REVIEWS)\n updateReview(review: UpdateReviewInput!): Review @join__field(graph: REVIEWS)\n deleteReview(id: ID!): Boolean @join__field(graph: REVIEWS)\n}\n\ntype Name {\n first: String\n last: String\n}\n\ninterface NamedObject {\n name: String!\n}\n\ntype PasswordAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"email\")\n{\n email: String! @join__field(graph: ACCOUNTS)\n}\n\ninterface Product {\n upc: String!\n sku: String!\n name: String\n price: String\n details: ProductDetails\n inStock: Boolean\n reviews: [Review]\n}\n\ninterface ProductDetails {\n country: String\n}\n\ntype ProductDetailsBook implements ProductDetails {\n country: String\n pages: Int\n}\n\ntype ProductDetailsFurniture implements ProductDetails {\n country: String\n color: String\n}\n\ntype Query {\n user(id: ID!): User @join__field(graph: ACCOUNTS)\n me: User @join__field(graph: ACCOUNTS)\n book(isbn: String!): Book @join__field(graph: BOOKS)\n books: [Book] @join__field(graph: BOOKS)\n library(id: ID!): Library @join__field(graph: BOOKS)\n body: Body! @join__field(graph: DOCUMENTS)\n product(upc: String!): Product @join__field(graph: PRODUCT)\n vehicle(id: String!): Vehicle @join__field(graph: PRODUCT)\n topProducts(first: Int = 5): [Product] @join__field(graph: PRODUCT)\n topCars(first: Int = 5): [Car] @join__field(graph: PRODUCT)\n topReviews(first: Int = 5): [Review] @join__field(graph: REVIEWS)\n}\n\ntype Review\n@join__owner(graph: REVIEWS)\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: REVIEWS)\n body(format: Boolean = false): String @join__field(graph: REVIEWS)\n author: User @join__field(graph: REVIEWS, provides: \"username\")\n product: Product @join__field(graph: REVIEWS)\n metadata: [MetadataOrError] @join__field(graph: REVIEWS)\n}\n\ntype SMSAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"number\")\n{\n number: String @join__field(graph: ACCOUNTS)\n}\n\ntype Text implements NamedObject {\n name: String!\n attributes: TextAttributes!\n}\n\ntype TextAttributes {\n bold: Boolean\n text: String\n}\n\nunion Thing = Car | Ikea\n\ninput UpdateReviewInput {\n id: ID!\n body: String\n}\n\ntype User\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"username name{first last}\")\n@join__type(graph: INVENTORY, key: \"id\")\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: ACCOUNTS)\n name: Name @join__field(graph: ACCOUNTS)\n username: String @join__field(graph: ACCOUNTS)\n birthDate(locale: String): String @join__field(graph: ACCOUNTS)\n account: AccountType @join__field(graph: ACCOUNTS)\n metadata: [UserMetadata] @join__field(graph: ACCOUNTS)\n goodDescription: Boolean @join__field(graph: INVENTORY, requires: \"metadata{description}\")\n vehicle: Vehicle @join__field(graph: PRODUCT)\n thing: Thing @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n numberOfReviews: Int! @join__field(graph: REVIEWS)\n goodAddress: Boolean @join__field(graph: REVIEWS, requires: \"metadata{address}\")\n}\n\ntype UserMetadata {\n name: String\n address: String\n description: String\n}\n\ntype Van implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ninterface Vehicle {\n id: String!\n description: String\n price: String\n retailPrice: String\n}", parse_errors: [], }, }, @@ -293,8 +293,10 @@ Schema { }, ), "Book": Object( - 740..1725 @15 ObjectType { - description: None, + 740..1886 @15 ObjectType { + description: Some( + "Usually made of pages", + ), implements_interfaces: { ComponentStr { origin: Definition, @@ -304,12 +306,12 @@ Schema { directives: [ Component { origin: Definition, - node: 769..795 @15 Directive { + node: 802..828 @15 Directive { name: "join__owner", arguments: [ - 782..794 @15 Argument { + 815..827 @15 Argument { name: "graph", - value: 789..794 @15 Enum( + value: 822..827 @15 Enum( "BOOKS", ), }, @@ -318,18 +320,18 @@ Schema { }, Component { origin: Definition, - node: 796..834 @15 Directive { + node: 829..867 @15 Directive { name: "join__type", arguments: [ - 808..820 @15 Argument { + 841..853 @15 Argument { name: "graph", - value: 815..820 @15 Enum( + value: 848..853 @15 Enum( "BOOKS", ), }, - 822..833 @15 Argument { + 855..866 @15 Argument { name: "key", - value: 827..833 @15 String( + value: 860..866 @15 String( "isbn", ), }, @@ -338,18 +340,18 @@ Schema { }, Component { origin: Definition, - node: 835..877 @15 Directive { + node: 868..910 @15 Directive { name: "join__type", arguments: [ - 847..863 @15 Argument { + 880..896 @15 Argument { name: "graph", - value: 854..863 @15 Enum( + value: 887..896 @15 Enum( "INVENTORY", ), }, - 865..876 @15 Argument { + 898..909 @15 Argument { name: "key", - value: 870..876 @15 String( + value: 903..909 @15 String( "isbn", ), }, @@ -358,18 +360,18 @@ Schema { }, Component { origin: Definition, - node: 878..918 @15 Directive { + node: 911..951 @15 Directive { name: "join__type", arguments: [ - 890..904 @15 Argument { + 923..937 @15 Argument { name: "graph", - value: 897..904 @15 Enum( + value: 930..937 @15 Enum( "PRODUCT", ), }, - 906..917 @15 Argument { + 939..950 @15 Argument { name: "key", - value: 911..917 @15 String( + value: 944..950 @15 String( "isbn", ), }, @@ -378,18 +380,18 @@ Schema { }, Component { origin: Definition, - node: 919..959 @15 Directive { + node: 952..992 @15 Directive { name: "join__type", arguments: [ - 931..945 @15 Argument { + 964..978 @15 Argument { name: "graph", - value: 938..945 @15 Enum( + value: 971..978 @15 Enum( "REVIEWS", ), }, - 947..958 @15 Argument { + 980..991 @15 Argument { name: "key", - value: 952..958 @15 String( + value: 985..991 @15 String( "isbn", ), }, @@ -400,7 +402,7 @@ Schema { fields: { "isbn": Component { origin: Definition, - node: 964..1004 @15 FieldDefinition { + node: 997..1037 @15 FieldDefinition { description: None, name: "isbn", arguments: [], @@ -408,12 +410,12 @@ Schema { "String", ), directives: [ - 978..1004 @15 Directive { + 1011..1037 @15 Directive { name: "join__field", arguments: [ - 991..1003 @15 Argument { + 1024..1036 @15 Argument { name: "graph", - value: 998..1003 @15 Enum( + value: 1031..1036 @15 Enum( "BOOKS", ), }, @@ -424,7 +426,7 @@ Schema { }, "title": Component { origin: Definition, - node: 1007..1047 @15 FieldDefinition { + node: 1040..1080 @15 FieldDefinition { description: None, name: "title", arguments: [], @@ -432,12 +434,12 @@ Schema { "String", ), directives: [ - 1021..1047 @15 Directive { + 1054..1080 @15 Directive { name: "join__field", arguments: [ - 1034..1046 @15 Argument { + 1067..1079 @15 Argument { name: "graph", - value: 1041..1046 @15 Enum( + value: 1074..1079 @15 Enum( "BOOKS", ), }, @@ -448,20 +450,22 @@ Schema { }, "year": Component { origin: Definition, - node: 1050..1086 @15 FieldDefinition { - description: None, + node: 1083..1161 @15 FieldDefinition { + description: Some( + "In the \"\"\"Gregorian\"\"\" calendar", + ), name: "year", arguments: [], ty: Named( "Int", ), directives: [ - 1060..1086 @15 Directive { + 1135..1161 @15 Directive { name: "join__field", arguments: [ - 1073..1085 @15 Argument { + 1148..1160 @15 Argument { name: "graph", - value: 1080..1085 @15 Enum( + value: 1155..1160 @15 Enum( "BOOKS", ), }, @@ -472,7 +476,7 @@ Schema { }, "similarBooks": Component { origin: Definition, - node: 1089..1137 @15 FieldDefinition { + node: 1164..1212 @15 FieldDefinition { description: None, name: "similarBooks", arguments: [], @@ -482,12 +486,12 @@ Schema { ), ), directives: [ - 1111..1137 @15 Directive { + 1186..1212 @15 Directive { name: "join__field", arguments: [ - 1124..1136 @15 Argument { + 1199..1211 @15 Argument { name: "graph", - value: 1131..1136 @15 Enum( + value: 1206..1211 @15 Enum( "BOOKS", ), }, @@ -498,7 +502,7 @@ Schema { }, "metadata": Component { origin: Definition, - node: 1140..1194 @15 FieldDefinition { + node: 1215..1269 @15 FieldDefinition { description: None, name: "metadata", arguments: [], @@ -508,12 +512,12 @@ Schema { ), ), directives: [ - 1168..1194 @15 Directive { + 1243..1269 @15 Directive { name: "join__field", arguments: [ - 1181..1193 @15 Argument { + 1256..1268 @15 Argument { name: "graph", - value: 1188..1193 @15 Enum( + value: 1263..1268 @15 Enum( "BOOKS", ), }, @@ -524,20 +528,22 @@ Schema { }, "inStock": Component { origin: Definition, - node: 1197..1244 @15 FieldDefinition { - description: None, + node: 1272..1405 @15 FieldDefinition { + description: Some( + "\"\"\"To be in stock or not to be in stock\"\"\"\n\nthat is the question", + ), name: "inStock", arguments: [], ty: Named( "Boolean", ), directives: [ - 1214..1244 @15 Directive { + 1375..1405 @15 Directive { name: "join__field", arguments: [ - 1227..1243 @15 Argument { + 1388..1404 @15 Argument { name: "graph", - value: 1234..1243 @15 Enum( + value: 1395..1404 @15 Enum( "INVENTORY", ), }, @@ -548,7 +554,7 @@ Schema { }, "isCheckedOut": Component { origin: Definition, - node: 1247..1299 @15 FieldDefinition { + node: 1408..1460 @15 FieldDefinition { description: None, name: "isCheckedOut", arguments: [], @@ -556,12 +562,12 @@ Schema { "Boolean", ), directives: [ - 1269..1299 @15 Directive { + 1430..1460 @15 Directive { name: "join__field", arguments: [ - 1282..1298 @15 Argument { + 1443..1459 @15 Argument { name: "graph", - value: 1289..1298 @15 Enum( + value: 1450..1459 @15 Enum( "INVENTORY", ), }, @@ -572,7 +578,7 @@ Schema { }, "upc": Component { origin: Definition, - node: 1302..1343 @15 FieldDefinition { + node: 1463..1504 @15 FieldDefinition { description: None, name: "upc", arguments: [], @@ -580,12 +586,12 @@ Schema { "String", ), directives: [ - 1315..1343 @15 Directive { + 1476..1504 @15 Directive { name: "join__field", arguments: [ - 1328..1342 @15 Argument { + 1489..1503 @15 Argument { name: "graph", - value: 1335..1342 @15 Enum( + value: 1496..1503 @15 Enum( "PRODUCT", ), }, @@ -596,7 +602,7 @@ Schema { }, "sku": Component { origin: Definition, - node: 1346..1387 @15 FieldDefinition { + node: 1507..1548 @15 FieldDefinition { description: None, name: "sku", arguments: [], @@ -604,12 +610,12 @@ Schema { "String", ), directives: [ - 1359..1387 @15 Directive { + 1520..1548 @15 Directive { name: "join__field", arguments: [ - 1372..1386 @15 Argument { + 1533..1547 @15 Argument { name: "graph", - value: 1379..1386 @15 Enum( + value: 1540..1547 @15 Enum( "PRODUCT", ), }, @@ -620,18 +626,18 @@ Schema { }, "name": Component { origin: Definition, - node: 1390..1480 @15 FieldDefinition { + node: 1551..1641 @15 FieldDefinition { description: None, name: "name", arguments: [ - 1395..1418 @15 InputValueDefinition { + 1556..1579 @15 InputValueDefinition { description: None, name: "delimeter", - ty: 1406..1412 @15 Named( + ty: 1567..1573 @15 Named( "String", ), default_value: Some( - 1415..1418 @15 String( + 1576..1579 @15 String( " ", ), ), @@ -642,18 +648,18 @@ Schema { "String", ), directives: [ - 1428..1480 @15 Directive { + 1589..1641 @15 Directive { name: "join__field", arguments: [ - 1441..1455 @15 Argument { + 1602..1616 @15 Argument { name: "graph", - value: 1448..1455 @15 Enum( + value: 1609..1616 @15 Enum( "PRODUCT", ), }, - 1457..1479 @15 Argument { + 1618..1640 @15 Argument { name: "requires", - value: 1467..1479 @15 String( + value: 1628..1640 @15 String( "title year", ), }, @@ -664,7 +670,7 @@ Schema { }, "price": Component { origin: Definition, - node: 1483..1525 @15 FieldDefinition { + node: 1644..1686 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -672,12 +678,12 @@ Schema { "String", ), directives: [ - 1497..1525 @15 Directive { + 1658..1686 @15 Directive { name: "join__field", arguments: [ - 1510..1524 @15 Argument { + 1671..1685 @15 Argument { name: "graph", - value: 1517..1524 @15 Enum( + value: 1678..1685 @15 Enum( "PRODUCT", ), }, @@ -688,7 +694,7 @@ Schema { }, "details": Component { origin: Definition, - node: 1528..1584 @15 FieldDefinition { + node: 1689..1745 @15 FieldDefinition { description: None, name: "details", arguments: [], @@ -696,12 +702,12 @@ Schema { "ProductDetailsBook", ), directives: [ - 1556..1584 @15 Directive { + 1717..1745 @15 Directive { name: "join__field", arguments: [ - 1569..1583 @15 Argument { + 1730..1744 @15 Argument { name: "graph", - value: 1576..1583 @15 Enum( + value: 1737..1744 @15 Enum( "PRODUCT", ), }, @@ -712,7 +718,7 @@ Schema { }, "reviews": Component { origin: Definition, - node: 1587..1633 @15 FieldDefinition { + node: 1748..1794 @15 FieldDefinition { description: None, name: "reviews", arguments: [], @@ -722,12 +728,12 @@ Schema { ), ), directives: [ - 1605..1633 @15 Directive { + 1766..1794 @15 Directive { name: "join__field", arguments: [ - 1618..1632 @15 Argument { + 1779..1793 @15 Argument { name: "graph", - value: 1625..1632 @15 Enum( + value: 1786..1793 @15 Enum( "REVIEWS", ), }, @@ -738,7 +744,7 @@ Schema { }, "relatedReviews": Component { origin: Definition, - node: 1636..1723 @15 FieldDefinition { + node: 1797..1884 @15 FieldDefinition { description: None, name: "relatedReviews", arguments: [], @@ -748,18 +754,18 @@ Schema { ), ), directives: [ - 1663..1723 @15 Directive { + 1824..1884 @15 Directive { name: "join__field", arguments: [ - 1676..1690 @15 Argument { + 1837..1851 @15 Argument { name: "graph", - value: 1683..1690 @15 Enum( + value: 1844..1851 @15 Enum( "REVIEWS", ), }, - 1692..1722 @15 Argument { + 1853..1883 @15 Argument { name: "requires", - value: 1702..1722 @15 String( + value: 1863..1883 @15 String( "similarBooks{isbn}", ), }, @@ -772,7 +778,7 @@ Schema { }, ), "Brand": Union( - 1727..1754 @15 UnionType { + 1888..1915 @15 UnionType { description: None, directives: [], members: { @@ -788,7 +794,7 @@ Schema { }, ), "Car": Object( - 1756..2103 @15 ObjectType { + 1917..2264 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -799,12 +805,12 @@ Schema { directives: [ Component { origin: Definition, - node: 1784..1812 @15 Directive { + node: 1945..1973 @15 Directive { name: "join__owner", arguments: [ - 1797..1811 @15 Argument { + 1958..1972 @15 Argument { name: "graph", - value: 1804..1811 @15 Enum( + value: 1965..1972 @15 Enum( "PRODUCT", ), }, @@ -813,18 +819,18 @@ Schema { }, Component { origin: Definition, - node: 1813..1851 @15 Directive { + node: 1974..2012 @15 Directive { name: "join__type", arguments: [ - 1825..1839 @15 Argument { + 1986..2000 @15 Argument { name: "graph", - value: 1832..1839 @15 Enum( + value: 1993..2000 @15 Enum( "PRODUCT", ), }, - 1841..1850 @15 Argument { + 2002..2011 @15 Argument { name: "key", - value: 1846..1850 @15 String( + value: 2007..2011 @15 String( "id", ), }, @@ -833,18 +839,18 @@ Schema { }, Component { origin: Definition, - node: 1852..1890 @15 Directive { + node: 2013..2051 @15 Directive { name: "join__type", arguments: [ - 1864..1878 @15 Argument { + 2025..2039 @15 Argument { name: "graph", - value: 1871..1878 @15 Enum( + value: 2032..2039 @15 Enum( "REVIEWS", ), }, - 1880..1889 @15 Argument { + 2041..2050 @15 Argument { name: "key", - value: 1885..1889 @15 String( + value: 2046..2050 @15 String( "id", ), }, @@ -855,7 +861,7 @@ Schema { fields: { "id": Component { origin: Definition, - node: 1895..1935 @15 FieldDefinition { + node: 2056..2096 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -863,12 +869,12 @@ Schema { "String", ), directives: [ - 1907..1935 @15 Directive { + 2068..2096 @15 Directive { name: "join__field", arguments: [ - 1920..1934 @15 Argument { + 2081..2095 @15 Argument { name: "graph", - value: 1927..1934 @15 Enum( + value: 2088..2095 @15 Enum( "PRODUCT", ), }, @@ -879,7 +885,7 @@ Schema { }, "description": Component { origin: Definition, - node: 1938..1986 @15 FieldDefinition { + node: 2099..2147 @15 FieldDefinition { description: None, name: "description", arguments: [], @@ -887,12 +893,12 @@ Schema { "String", ), directives: [ - 1958..1986 @15 Directive { + 2119..2147 @15 Directive { name: "join__field", arguments: [ - 1971..1985 @15 Argument { + 2132..2146 @15 Argument { name: "graph", - value: 1978..1985 @15 Enum( + value: 2139..2146 @15 Enum( "PRODUCT", ), }, @@ -903,7 +909,7 @@ Schema { }, "price": Component { origin: Definition, - node: 1989..2031 @15 FieldDefinition { + node: 2150..2192 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -911,12 +917,12 @@ Schema { "String", ), directives: [ - 2003..2031 @15 Directive { + 2164..2192 @15 Directive { name: "join__field", arguments: [ - 2016..2030 @15 Argument { + 2177..2191 @15 Argument { name: "graph", - value: 2023..2030 @15 Enum( + value: 2184..2191 @15 Enum( "PRODUCT", ), }, @@ -927,7 +933,7 @@ Schema { }, "retailPrice": Component { origin: Definition, - node: 2034..2101 @15 FieldDefinition { + node: 2195..2262 @15 FieldDefinition { description: None, name: "retailPrice", arguments: [], @@ -935,18 +941,18 @@ Schema { "String", ), directives: [ - 2054..2101 @15 Directive { + 2215..2262 @15 Directive { name: "join__field", arguments: [ - 2067..2081 @15 Argument { + 2228..2242 @15 Argument { name: "graph", - value: 2074..2081 @15 Enum( + value: 2235..2242 @15 Enum( "REVIEWS", ), }, - 2083..2100 @15 Argument { + 2244..2261 @15 Argument { name: "requires", - value: 2093..2100 @15 String( + value: 2254..2261 @15 String( "price", ), }, @@ -959,14 +965,14 @@ Schema { }, ), "Error": Object( - 2105..2149 @15 ObjectType { + 2266..2310 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "code": Component { origin: Definition, - node: 2120..2129 @15 FieldDefinition { + node: 2281..2290 @15 FieldDefinition { description: None, name: "code", arguments: [], @@ -978,7 +984,7 @@ Schema { }, "message": Component { origin: Definition, - node: 2132..2147 @15 FieldDefinition { + node: 2293..2308 @15 FieldDefinition { description: None, name: "message", arguments: [], @@ -992,7 +998,7 @@ Schema { }, ), "Furniture": Object( - 2151..2872 @15 ObjectType { + 2312..3033 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -1003,12 +1009,12 @@ Schema { directives: [ Component { origin: Definition, - node: 2185..2213 @15 Directive { + node: 2346..2374 @15 Directive { name: "join__owner", arguments: [ - 2198..2212 @15 Argument { + 2359..2373 @15 Argument { name: "graph", - value: 2205..2212 @15 Enum( + value: 2366..2373 @15 Enum( "PRODUCT", ), }, @@ -1017,18 +1023,18 @@ Schema { }, Component { origin: Definition, - node: 2214..2253 @15 Directive { + node: 2375..2414 @15 Directive { name: "join__type", arguments: [ - 2226..2240 @15 Argument { + 2387..2401 @15 Argument { name: "graph", - value: 2233..2240 @15 Enum( + value: 2394..2401 @15 Enum( "PRODUCT", ), }, - 2242..2252 @15 Argument { + 2403..2413 @15 Argument { name: "key", - value: 2247..2252 @15 String( + value: 2408..2413 @15 String( "upc", ), }, @@ -1037,18 +1043,18 @@ Schema { }, Component { origin: Definition, - node: 2254..2293 @15 Directive { + node: 2415..2454 @15 Directive { name: "join__type", arguments: [ - 2266..2280 @15 Argument { + 2427..2441 @15 Argument { name: "graph", - value: 2273..2280 @15 Enum( + value: 2434..2441 @15 Enum( "PRODUCT", ), }, - 2282..2292 @15 Argument { + 2443..2453 @15 Argument { name: "key", - value: 2287..2292 @15 String( + value: 2448..2453 @15 String( "sku", ), }, @@ -1057,18 +1063,18 @@ Schema { }, Component { origin: Definition, - node: 2294..2335 @15 Directive { + node: 2455..2496 @15 Directive { name: "join__type", arguments: [ - 2306..2322 @15 Argument { + 2467..2483 @15 Argument { name: "graph", - value: 2313..2322 @15 Enum( + value: 2474..2483 @15 Enum( "INVENTORY", ), }, - 2324..2334 @15 Argument { + 2485..2495 @15 Argument { name: "key", - value: 2329..2334 @15 String( + value: 2490..2495 @15 String( "sku", ), }, @@ -1077,18 +1083,18 @@ Schema { }, Component { origin: Definition, - node: 2336..2375 @15 Directive { + node: 2497..2536 @15 Directive { name: "join__type", arguments: [ - 2348..2362 @15 Argument { + 2509..2523 @15 Argument { name: "graph", - value: 2355..2362 @15 Enum( + value: 2516..2523 @15 Enum( "REVIEWS", ), }, - 2364..2374 @15 Argument { + 2525..2535 @15 Argument { name: "key", - value: 2369..2374 @15 String( + value: 2530..2535 @15 String( "upc", ), }, @@ -1099,7 +1105,7 @@ Schema { fields: { "upc": Component { origin: Definition, - node: 2380..2421 @15 FieldDefinition { + node: 2541..2582 @15 FieldDefinition { description: None, name: "upc", arguments: [], @@ -1107,12 +1113,12 @@ Schema { "String", ), directives: [ - 2393..2421 @15 Directive { + 2554..2582 @15 Directive { name: "join__field", arguments: [ - 2406..2420 @15 Argument { + 2567..2581 @15 Argument { name: "graph", - value: 2413..2420 @15 Enum( + value: 2574..2581 @15 Enum( "PRODUCT", ), }, @@ -1123,7 +1129,7 @@ Schema { }, "sku": Component { origin: Definition, - node: 2424..2465 @15 FieldDefinition { + node: 2585..2626 @15 FieldDefinition { description: None, name: "sku", arguments: [], @@ -1131,12 +1137,12 @@ Schema { "String", ), directives: [ - 2437..2465 @15 Directive { + 2598..2626 @15 Directive { name: "join__field", arguments: [ - 2450..2464 @15 Argument { + 2611..2625 @15 Argument { name: "graph", - value: 2457..2464 @15 Enum( + value: 2618..2625 @15 Enum( "PRODUCT", ), }, @@ -1147,7 +1153,7 @@ Schema { }, "name": Component { origin: Definition, - node: 2468..2509 @15 FieldDefinition { + node: 2629..2670 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -1155,12 +1161,12 @@ Schema { "String", ), directives: [ - 2481..2509 @15 Directive { + 2642..2670 @15 Directive { name: "join__field", arguments: [ - 2494..2508 @15 Argument { + 2655..2669 @15 Argument { name: "graph", - value: 2501..2508 @15 Enum( + value: 2662..2669 @15 Enum( "PRODUCT", ), }, @@ -1171,7 +1177,7 @@ Schema { }, "price": Component { origin: Definition, - node: 2512..2554 @15 FieldDefinition { + node: 2673..2715 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -1179,12 +1185,12 @@ Schema { "String", ), directives: [ - 2526..2554 @15 Directive { + 2687..2715 @15 Directive { name: "join__field", arguments: [ - 2539..2553 @15 Argument { + 2700..2714 @15 Argument { name: "graph", - value: 2546..2553 @15 Enum( + value: 2707..2714 @15 Enum( "PRODUCT", ), }, @@ -1195,7 +1201,7 @@ Schema { }, "brand": Component { origin: Definition, - node: 2557..2598 @15 FieldDefinition { + node: 2718..2759 @15 FieldDefinition { description: None, name: "brand", arguments: [], @@ -1203,12 +1209,12 @@ Schema { "Brand", ), directives: [ - 2570..2598 @15 Directive { + 2731..2759 @15 Directive { name: "join__field", arguments: [ - 2583..2597 @15 Argument { + 2744..2758 @15 Argument { name: "graph", - value: 2590..2597 @15 Enum( + value: 2751..2758 @15 Enum( "PRODUCT", ), }, @@ -1219,7 +1225,7 @@ Schema { }, "metadata": Component { origin: Definition, - node: 2601..2657 @15 FieldDefinition { + node: 2762..2818 @15 FieldDefinition { description: None, name: "metadata", arguments: [], @@ -1229,12 +1235,12 @@ Schema { ), ), directives: [ - 2629..2657 @15 Directive { + 2790..2818 @15 Directive { name: "join__field", arguments: [ - 2642..2656 @15 Argument { + 2803..2817 @15 Argument { name: "graph", - value: 2649..2656 @15 Enum( + value: 2810..2817 @15 Enum( "PRODUCT", ), }, @@ -1245,7 +1251,7 @@ Schema { }, "details": Component { origin: Definition, - node: 2660..2721 @15 FieldDefinition { + node: 2821..2882 @15 FieldDefinition { description: None, name: "details", arguments: [], @@ -1253,12 +1259,12 @@ Schema { "ProductDetailsFurniture", ), directives: [ - 2693..2721 @15 Directive { + 2854..2882 @15 Directive { name: "join__field", arguments: [ - 2706..2720 @15 Argument { + 2867..2881 @15 Argument { name: "graph", - value: 2713..2720 @15 Enum( + value: 2874..2881 @15 Enum( "PRODUCT", ), }, @@ -1269,7 +1275,7 @@ Schema { }, "inStock": Component { origin: Definition, - node: 2724..2771 @15 FieldDefinition { + node: 2885..2932 @15 FieldDefinition { description: None, name: "inStock", arguments: [], @@ -1277,12 +1283,12 @@ Schema { "Boolean", ), directives: [ - 2741..2771 @15 Directive { + 2902..2932 @15 Directive { name: "join__field", arguments: [ - 2754..2770 @15 Argument { + 2915..2931 @15 Argument { name: "graph", - value: 2761..2770 @15 Enum( + value: 2922..2931 @15 Enum( "INVENTORY", ), }, @@ -1293,7 +1299,7 @@ Schema { }, "isHeavy": Component { origin: Definition, - node: 2774..2821 @15 FieldDefinition { + node: 2935..2982 @15 FieldDefinition { description: None, name: "isHeavy", arguments: [], @@ -1301,12 +1307,12 @@ Schema { "Boolean", ), directives: [ - 2791..2821 @15 Directive { + 2952..2982 @15 Directive { name: "join__field", arguments: [ - 2804..2820 @15 Argument { + 2965..2981 @15 Argument { name: "graph", - value: 2811..2820 @15 Enum( + value: 2972..2981 @15 Enum( "INVENTORY", ), }, @@ -1317,7 +1323,7 @@ Schema { }, "reviews": Component { origin: Definition, - node: 2824..2870 @15 FieldDefinition { + node: 2985..3031 @15 FieldDefinition { description: None, name: "reviews", arguments: [], @@ -1327,12 +1333,12 @@ Schema { ), ), directives: [ - 2842..2870 @15 Directive { + 3003..3031 @15 Directive { name: "join__field", arguments: [ - 2855..2869 @15 Argument { + 3016..3030 @15 Argument { name: "graph", - value: 2862..2869 @15 Enum( + value: 3023..3030 @15 Enum( "REVIEWS", ), }, @@ -1345,14 +1351,14 @@ Schema { }, ), "Ikea": Object( - 2874..2900 @15 ObjectType { + 3035..3061 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "asile": Component { origin: Definition, - node: 2888..2898 @15 FieldDefinition { + node: 3049..3059 @15 FieldDefinition { description: None, name: "asile", arguments: [], @@ -1366,7 +1372,7 @@ Schema { }, ), "Image": Object( - 2902..2986 @15 ObjectType { + 3063..3147 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -1378,7 +1384,7 @@ Schema { fields: { "name": Component { origin: Definition, - node: 2940..2953 @15 FieldDefinition { + node: 3101..3114 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -1390,7 +1396,7 @@ Schema { }, "attributes": Component { origin: Definition, - node: 2956..2984 @15 FieldDefinition { + node: 3117..3145 @15 FieldDefinition { description: None, name: "attributes", arguments: [], @@ -1404,14 +1410,14 @@ Schema { }, ), "ImageAttributes": Object( - 2988..3027 @15 ObjectType { + 3149..3188 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "url": Component { origin: Definition, - node: 3013..3025 @15 FieldDefinition { + node: 3174..3186 @15 FieldDefinition { description: None, name: "url", arguments: [], @@ -1425,17 +1431,17 @@ Schema { }, ), "join__FieldSet": Scalar( - 3029..3097 @15 ScalarType { + 3190..3258 @15 ScalarType { description: None, directives: [ Component { origin: Definition, - node: 3051..3097 @15 Directive { + node: 3212..3258 @15 Directive { name: "specifiedBy", arguments: [ - 3064..3096 @15 Argument { + 3225..3257 @15 Argument { name: "url", - value: 3069..3096 @15 String( + value: 3230..3257 @15 String( "https://spec.graphql.org/", ), }, @@ -1446,28 +1452,28 @@ Schema { }, ), "join__Graph": Enum( - 3099..3401 @15 EnumType { + 3260..3562 @15 EnumType { description: None, directives: [], values: { "ACCOUNTS": Component { origin: Definition, - node: 3118..3165 @15 EnumValueDefinition { + node: 3279..3326 @15 EnumValueDefinition { description: None, value: "ACCOUNTS", directives: [ - 3127..3165 @15 Directive { + 3288..3326 @15 Directive { name: "join__graph", arguments: [ - 3140..3156 @15 Argument { + 3301..3317 @15 Argument { name: "name", - value: 3146..3156 @15 String( + value: 3307..3317 @15 String( "accounts", ), }, - 3157..3164 @15 Argument { + 3318..3325 @15 Argument { name: "url", - value: 3162..3164 @15 String( + value: 3323..3325 @15 String( "", ), }, @@ -1478,22 +1484,22 @@ Schema { }, "BOOKS": Component { origin: Definition, - node: 3166..3207 @15 EnumValueDefinition { + node: 3327..3368 @15 EnumValueDefinition { description: None, value: "BOOKS", directives: [ - 3172..3207 @15 Directive { + 3333..3368 @15 Directive { name: "join__graph", arguments: [ - 3185..3198 @15 Argument { + 3346..3359 @15 Argument { name: "name", - value: 3191..3198 @15 String( + value: 3352..3359 @15 String( "books", ), }, - 3199..3206 @15 Argument { + 3360..3367 @15 Argument { name: "url", - value: 3204..3206 @15 String( + value: 3365..3367 @15 String( "", ), }, @@ -1504,22 +1510,22 @@ Schema { }, "DOCUMENTS": Component { origin: Definition, - node: 3208..3257 @15 EnumValueDefinition { + node: 3369..3418 @15 EnumValueDefinition { description: None, value: "DOCUMENTS", directives: [ - 3218..3257 @15 Directive { + 3379..3418 @15 Directive { name: "join__graph", arguments: [ - 3231..3248 @15 Argument { + 3392..3409 @15 Argument { name: "name", - value: 3237..3248 @15 String( + value: 3398..3409 @15 String( "documents", ), }, - 3249..3256 @15 Argument { + 3410..3417 @15 Argument { name: "url", - value: 3254..3256 @15 String( + value: 3415..3417 @15 String( "", ), }, @@ -1530,22 +1536,22 @@ Schema { }, "INVENTORY": Component { origin: Definition, - node: 3258..3307 @15 EnumValueDefinition { + node: 3419..3468 @15 EnumValueDefinition { description: None, value: "INVENTORY", directives: [ - 3268..3307 @15 Directive { + 3429..3468 @15 Directive { name: "join__graph", arguments: [ - 3281..3298 @15 Argument { + 3442..3459 @15 Argument { name: "name", - value: 3287..3298 @15 String( + value: 3448..3459 @15 String( "inventory", ), }, - 3299..3306 @15 Argument { + 3460..3467 @15 Argument { name: "url", - value: 3304..3306 @15 String( + value: 3465..3467 @15 String( "", ), }, @@ -1556,22 +1562,22 @@ Schema { }, "PRODUCT": Component { origin: Definition, - node: 3308..3353 @15 EnumValueDefinition { + node: 3469..3514 @15 EnumValueDefinition { description: None, value: "PRODUCT", directives: [ - 3316..3353 @15 Directive { + 3477..3514 @15 Directive { name: "join__graph", arguments: [ - 3329..3344 @15 Argument { + 3490..3505 @15 Argument { name: "name", - value: 3335..3344 @15 String( + value: 3496..3505 @15 String( "product", ), }, - 3345..3352 @15 Argument { + 3506..3513 @15 Argument { name: "url", - value: 3350..3352 @15 String( + value: 3511..3513 @15 String( "", ), }, @@ -1582,22 +1588,22 @@ Schema { }, "REVIEWS": Component { origin: Definition, - node: 3354..3399 @15 EnumValueDefinition { + node: 3515..3560 @15 EnumValueDefinition { description: None, value: "REVIEWS", directives: [ - 3362..3399 @15 Directive { + 3523..3560 @15 Directive { name: "join__graph", arguments: [ - 3375..3390 @15 Argument { + 3536..3551 @15 Argument { name: "name", - value: 3381..3390 @15 String( + value: 3542..3551 @15 String( "reviews", ), }, - 3391..3398 @15 Argument { + 3552..3559 @15 Argument { name: "url", - value: 3396..3398 @15 String( + value: 3557..3559 @15 String( "", ), }, @@ -1610,14 +1616,14 @@ Schema { }, ), "KeyValue": Object( - 3403..3452 @15 ObjectType { + 3564..3613 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "key": Component { origin: Definition, - node: 3421..3433 @15 FieldDefinition { + node: 3582..3594 @15 FieldDefinition { description: None, name: "key", arguments: [], @@ -1629,7 +1635,7 @@ Schema { }, "value": Component { origin: Definition, - node: 3436..3450 @15 FieldDefinition { + node: 3597..3611 @15 FieldDefinition { description: None, name: "value", arguments: [], @@ -1643,18 +1649,18 @@ Schema { }, ), "Library": Object( - 3454..3734 @15 ObjectType { + 3615..3895 @15 ObjectType { description: None, implements_interfaces: {}, directives: [ Component { origin: Definition, - node: 3467..3493 @15 Directive { + node: 3628..3654 @15 Directive { name: "join__owner", arguments: [ - 3480..3492 @15 Argument { + 3641..3653 @15 Argument { name: "graph", - value: 3487..3492 @15 Enum( + value: 3648..3653 @15 Enum( "BOOKS", ), }, @@ -1663,18 +1669,18 @@ Schema { }, Component { origin: Definition, - node: 3494..3530 @15 Directive { + node: 3655..3691 @15 Directive { name: "join__type", arguments: [ - 3506..3518 @15 Argument { + 3667..3679 @15 Argument { name: "graph", - value: 3513..3518 @15 Enum( + value: 3674..3679 @15 Enum( "BOOKS", ), }, - 3520..3529 @15 Argument { + 3681..3690 @15 Argument { name: "key", - value: 3525..3529 @15 String( + value: 3686..3690 @15 String( "id", ), }, @@ -1683,18 +1689,18 @@ Schema { }, Component { origin: Definition, - node: 3531..3570 @15 Directive { + node: 3692..3731 @15 Directive { name: "join__type", arguments: [ - 3543..3558 @15 Argument { + 3704..3719 @15 Argument { name: "graph", - value: 3550..3558 @15 Enum( + value: 3711..3719 @15 Enum( "ACCOUNTS", ), }, - 3560..3569 @15 Argument { + 3721..3730 @15 Argument { name: "key", - value: 3565..3569 @15 String( + value: 3726..3730 @15 String( "id", ), }, @@ -1705,7 +1711,7 @@ Schema { fields: { "id": Component { origin: Definition, - node: 3575..3609 @15 FieldDefinition { + node: 3736..3770 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -1713,12 +1719,12 @@ Schema { "ID", ), directives: [ - 3583..3609 @15 Directive { + 3744..3770 @15 Directive { name: "join__field", arguments: [ - 3596..3608 @15 Argument { + 3757..3769 @15 Argument { name: "graph", - value: 3603..3608 @15 Enum( + value: 3764..3769 @15 Enum( "BOOKS", ), }, @@ -1729,7 +1735,7 @@ Schema { }, "name": Component { origin: Definition, - node: 3612..3651 @15 FieldDefinition { + node: 3773..3812 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -1737,12 +1743,12 @@ Schema { "String", ), directives: [ - 3625..3651 @15 Directive { + 3786..3812 @15 Directive { name: "join__field", arguments: [ - 3638..3650 @15 Argument { + 3799..3811 @15 Argument { name: "graph", - value: 3645..3650 @15 Enum( + value: 3806..3811 @15 Enum( "BOOKS", ), }, @@ -1753,18 +1759,18 @@ Schema { }, "userAccount": Component { origin: Definition, - node: 3654..3732 @15 FieldDefinition { + node: 3815..3893 @15 FieldDefinition { description: None, name: "userAccount", arguments: [ - 3666..3677 @15 InputValueDefinition { + 3827..3838 @15 InputValueDefinition { description: None, name: "id", - ty: 3670..3673 @15 NonNullNamed( + ty: 3831..3834 @15 NonNullNamed( "ID", ), default_value: Some( - 3676..3677 @15 Int( + 3837..3838 @15 Int( 1, ), ), @@ -1775,18 +1781,18 @@ Schema { "User", ), directives: [ - 3685..3732 @15 Directive { + 3846..3893 @15 Directive { name: "join__field", arguments: [ - 3698..3713 @15 Argument { + 3859..3874 @15 Argument { name: "graph", - value: 3705..3713 @15 Enum( + value: 3866..3874 @15 Enum( "ACCOUNTS", ), }, - 3715..3731 @15 Argument { + 3876..3892 @15 Argument { name: "requires", - value: 3725..3731 @15 String( + value: 3886..3892 @15 String( "name", ), }, @@ -1799,7 +1805,7 @@ Schema { }, ), "MetadataOrError": Union( - 3736..3776 @15 UnionType { + 3897..3937 @15 UnionType { description: None, directives: [], members: { @@ -1815,30 +1821,30 @@ Schema { }, ), "Mutation": Object( - 3778..4102 @15 ObjectType { + 3939..4263 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "login": Component { origin: Definition, - node: 3796..3875 @15 FieldDefinition { + node: 3957..4036 @15 FieldDefinition { description: None, name: "login", arguments: [ - 3802..3819 @15 InputValueDefinition { + 3963..3980 @15 InputValueDefinition { description: None, name: "username", - ty: 3812..3819 @15 NonNullNamed( + ty: 3973..3980 @15 NonNullNamed( "String", ), default_value: None, directives: [], }, - 3821..3838 @15 InputValueDefinition { + 3982..3999 @15 InputValueDefinition { description: None, name: "password", - ty: 3831..3838 @15 NonNullNamed( + ty: 3992..3999 @15 NonNullNamed( "String", ), default_value: None, @@ -1849,12 +1855,12 @@ Schema { "User", ), directives: [ - 3846..3875 @15 Directive { + 4007..4036 @15 Directive { name: "join__field", arguments: [ - 3859..3874 @15 Argument { + 4020..4035 @15 Argument { name: "graph", - value: 3866..3874 @15 Enum( + value: 4027..4035 @15 Enum( "ACCOUNTS", ), }, @@ -1865,23 +1871,23 @@ Schema { }, "reviewProduct": Component { origin: Definition, - node: 3878..3958 @15 FieldDefinition { + node: 4039..4119 @15 FieldDefinition { description: None, name: "reviewProduct", arguments: [ - 3892..3904 @15 InputValueDefinition { + 4053..4065 @15 InputValueDefinition { description: None, name: "upc", - ty: 3897..3904 @15 NonNullNamed( + ty: 4058..4065 @15 NonNullNamed( "String", ), default_value: None, directives: [], }, - 3906..3919 @15 InputValueDefinition { + 4067..4080 @15 InputValueDefinition { description: None, name: "body", - ty: 3912..3919 @15 NonNullNamed( + ty: 4073..4080 @15 NonNullNamed( "String", ), default_value: None, @@ -1892,12 +1898,12 @@ Schema { "Product", ), directives: [ - 3930..3958 @15 Directive { + 4091..4119 @15 Directive { name: "join__field", arguments: [ - 3943..3957 @15 Argument { + 4104..4118 @15 Argument { name: "graph", - value: 3950..3957 @15 Enum( + value: 4111..4118 @15 Enum( "REVIEWS", ), }, @@ -1908,14 +1914,14 @@ Schema { }, "updateReview": Component { origin: Definition, - node: 3961..4038 @15 FieldDefinition { + node: 4122..4199 @15 FieldDefinition { description: None, name: "updateReview", arguments: [ - 3974..4000 @15 InputValueDefinition { + 4135..4161 @15 InputValueDefinition { description: None, name: "review", - ty: 3982..4000 @15 NonNullNamed( + ty: 4143..4161 @15 NonNullNamed( "UpdateReviewInput", ), default_value: None, @@ -1926,12 +1932,12 @@ Schema { "Review", ), directives: [ - 4010..4038 @15 Directive { + 4171..4199 @15 Directive { name: "join__field", arguments: [ - 4023..4037 @15 Argument { + 4184..4198 @15 Argument { name: "graph", - value: 4030..4037 @15 Enum( + value: 4191..4198 @15 Enum( "REVIEWS", ), }, @@ -1942,14 +1948,14 @@ Schema { }, "deleteReview": Component { origin: Definition, - node: 4041..4100 @15 FieldDefinition { + node: 4202..4261 @15 FieldDefinition { description: None, name: "deleteReview", arguments: [ - 4054..4061 @15 InputValueDefinition { + 4215..4222 @15 InputValueDefinition { description: None, name: "id", - ty: 4058..4061 @15 NonNullNamed( + ty: 4219..4222 @15 NonNullNamed( "ID", ), default_value: None, @@ -1960,12 +1966,12 @@ Schema { "Boolean", ), directives: [ - 4072..4100 @15 Directive { + 4233..4261 @15 Directive { name: "join__field", arguments: [ - 4085..4099 @15 Argument { + 4246..4260 @15 Argument { name: "graph", - value: 4092..4099 @15 Enum( + value: 4253..4260 @15 Enum( "REVIEWS", ), }, @@ -1978,14 +1984,14 @@ Schema { }, ), "Name": Object( - 4104..4148 @15 ObjectType { + 4265..4309 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "first": Component { origin: Definition, - node: 4118..4131 @15 FieldDefinition { + node: 4279..4292 @15 FieldDefinition { description: None, name: "first", arguments: [], @@ -1997,7 +2003,7 @@ Schema { }, "last": Component { origin: Definition, - node: 4134..4146 @15 FieldDefinition { + node: 4295..4307 @15 FieldDefinition { description: None, name: "last", arguments: [], @@ -2011,14 +2017,14 @@ Schema { }, ), "NamedObject": Interface( - 4150..4191 @15 InterfaceType { + 4311..4352 @15 InterfaceType { description: None, implements_interfaces: {}, directives: [], fields: { "name": Component { origin: Definition, - node: 4176..4189 @15 FieldDefinition { + node: 4337..4350 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -2032,18 +2038,18 @@ Schema { }, ), "PasswordAccount": Object( - 4193..4337 @15 ObjectType { + 4354..4498 @15 ObjectType { description: None, implements_interfaces: {}, directives: [ Component { origin: Definition, - node: 4214..4243 @15 Directive { + node: 4375..4404 @15 Directive { name: "join__owner", arguments: [ - 4227..4242 @15 Argument { + 4388..4403 @15 Argument { name: "graph", - value: 4234..4242 @15 Enum( + value: 4395..4403 @15 Enum( "ACCOUNTS", ), }, @@ -2052,18 +2058,18 @@ Schema { }, Component { origin: Definition, - node: 4244..4286 @15 Directive { + node: 4405..4447 @15 Directive { name: "join__type", arguments: [ - 4256..4271 @15 Argument { + 4417..4432 @15 Argument { name: "graph", - value: 4263..4271 @15 Enum( + value: 4424..4432 @15 Enum( "ACCOUNTS", ), }, - 4273..4285 @15 Argument { + 4434..4446 @15 Argument { name: "key", - value: 4278..4285 @15 String( + value: 4439..4446 @15 String( "email", ), }, @@ -2074,7 +2080,7 @@ Schema { fields: { "email": Component { origin: Definition, - node: 4291..4335 @15 FieldDefinition { + node: 4452..4496 @15 FieldDefinition { description: None, name: "email", arguments: [], @@ -2082,12 +2088,12 @@ Schema { "String", ), directives: [ - 4306..4335 @15 Directive { + 4467..4496 @15 Directive { name: "join__field", arguments: [ - 4319..4334 @15 Argument { + 4480..4495 @15 Argument { name: "graph", - value: 4326..4334 @15 Enum( + value: 4487..4495 @15 Enum( "ACCOUNTS", ), }, @@ -2100,14 +2106,14 @@ Schema { }, ), "Product": Interface( - 4339..4486 @15 InterfaceType { + 4500..4647 @15 InterfaceType { description: None, implements_interfaces: {}, directives: [], fields: { "upc": Component { origin: Definition, - node: 4361..4373 @15 FieldDefinition { + node: 4522..4534 @15 FieldDefinition { description: None, name: "upc", arguments: [], @@ -2119,7 +2125,7 @@ Schema { }, "sku": Component { origin: Definition, - node: 4376..4388 @15 FieldDefinition { + node: 4537..4549 @15 FieldDefinition { description: None, name: "sku", arguments: [], @@ -2131,7 +2137,7 @@ Schema { }, "name": Component { origin: Definition, - node: 4391..4403 @15 FieldDefinition { + node: 4552..4564 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -2143,7 +2149,7 @@ Schema { }, "price": Component { origin: Definition, - node: 4406..4419 @15 FieldDefinition { + node: 4567..4580 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -2155,7 +2161,7 @@ Schema { }, "details": Component { origin: Definition, - node: 4422..4445 @15 FieldDefinition { + node: 4583..4606 @15 FieldDefinition { description: None, name: "details", arguments: [], @@ -2167,7 +2173,7 @@ Schema { }, "inStock": Component { origin: Definition, - node: 4448..4464 @15 FieldDefinition { + node: 4609..4625 @15 FieldDefinition { description: None, name: "inStock", arguments: [], @@ -2179,7 +2185,7 @@ Schema { }, "reviews": Component { origin: Definition, - node: 4467..4484 @15 FieldDefinition { + node: 4628..4645 @15 FieldDefinition { description: None, name: "reviews", arguments: [], @@ -2195,14 +2201,14 @@ Schema { }, ), "ProductDetails": Interface( - 4488..4534 @15 InterfaceType { + 4649..4695 @15 InterfaceType { description: None, implements_interfaces: {}, directives: [], fields: { "country": Component { origin: Definition, - node: 4517..4532 @15 FieldDefinition { + node: 4678..4693 @15 FieldDefinition { description: None, name: "country", arguments: [], @@ -2216,7 +2222,7 @@ Schema { }, ), "ProductDetailsBook": Object( - 4536..4620 @15 ObjectType { + 4697..4781 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -2228,7 +2234,7 @@ Schema { fields: { "country": Component { origin: Definition, - node: 4590..4605 @15 FieldDefinition { + node: 4751..4766 @15 FieldDefinition { description: None, name: "country", arguments: [], @@ -2240,7 +2246,7 @@ Schema { }, "pages": Component { origin: Definition, - node: 4608..4618 @15 FieldDefinition { + node: 4769..4779 @15 FieldDefinition { description: None, name: "pages", arguments: [], @@ -2254,7 +2260,7 @@ Schema { }, ), "ProductDetailsFurniture": Object( - 4622..4714 @15 ObjectType { + 4783..4875 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -2266,7 +2272,7 @@ Schema { fields: { "country": Component { origin: Definition, - node: 4681..4696 @15 FieldDefinition { + node: 4842..4857 @15 FieldDefinition { description: None, name: "country", arguments: [], @@ -2278,7 +2284,7 @@ Schema { }, "color": Component { origin: Definition, - node: 4699..4712 @15 FieldDefinition { + node: 4860..4873 @15 FieldDefinition { description: None, name: "color", arguments: [], @@ -2292,21 +2298,21 @@ Schema { }, ), "Query": Object( - 4716..5344 @15 ObjectType { + 4877..5505 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "user": Component { origin: Definition, - node: 4731..4780 @15 FieldDefinition { + node: 4892..4941 @15 FieldDefinition { description: None, name: "user", arguments: [ - 4736..4743 @15 InputValueDefinition { + 4897..4904 @15 InputValueDefinition { description: None, name: "id", - ty: 4740..4743 @15 NonNullNamed( + ty: 4901..4904 @15 NonNullNamed( "ID", ), default_value: None, @@ -2317,12 +2323,12 @@ Schema { "User", ), directives: [ - 4751..4780 @15 Directive { + 4912..4941 @15 Directive { name: "join__field", arguments: [ - 4764..4779 @15 Argument { + 4925..4940 @15 Argument { name: "graph", - value: 4771..4779 @15 Enum( + value: 4932..4940 @15 Enum( "ACCOUNTS", ), }, @@ -2333,7 +2339,7 @@ Schema { }, "me": Component { origin: Definition, - node: 4783..4821 @15 FieldDefinition { + node: 4944..4982 @15 FieldDefinition { description: None, name: "me", arguments: [], @@ -2341,12 +2347,12 @@ Schema { "User", ), directives: [ - 4792..4821 @15 Directive { + 4953..4982 @15 Directive { name: "join__field", arguments: [ - 4805..4820 @15 Argument { + 4966..4981 @15 Argument { name: "graph", - value: 4812..4820 @15 Enum( + value: 4973..4981 @15 Enum( "ACCOUNTS", ), }, @@ -2357,14 +2363,14 @@ Schema { }, "book": Component { origin: Definition, - node: 4824..4876 @15 FieldDefinition { + node: 4985..5037 @15 FieldDefinition { description: None, name: "book", arguments: [ - 4829..4842 @15 InputValueDefinition { + 4990..5003 @15 InputValueDefinition { description: None, name: "isbn", - ty: 4835..4842 @15 NonNullNamed( + ty: 4996..5003 @15 NonNullNamed( "String", ), default_value: None, @@ -2375,12 +2381,12 @@ Schema { "Book", ), directives: [ - 4850..4876 @15 Directive { + 5011..5037 @15 Directive { name: "join__field", arguments: [ - 4863..4875 @15 Argument { + 5024..5036 @15 Argument { name: "graph", - value: 4870..4875 @15 Enum( + value: 5031..5036 @15 Enum( "BOOKS", ), }, @@ -2391,7 +2397,7 @@ Schema { }, "books": Component { origin: Definition, - node: 4879..4919 @15 FieldDefinition { + node: 5040..5080 @15 FieldDefinition { description: None, name: "books", arguments: [], @@ -2401,12 +2407,12 @@ Schema { ), ), directives: [ - 4893..4919 @15 Directive { + 5054..5080 @15 Directive { name: "join__field", arguments: [ - 4906..4918 @15 Argument { + 5067..5079 @15 Argument { name: "graph", - value: 4913..4918 @15 Enum( + value: 5074..5079 @15 Enum( "BOOKS", ), }, @@ -2417,14 +2423,14 @@ Schema { }, "library": Component { origin: Definition, - node: 4922..4974 @15 FieldDefinition { + node: 5083..5135 @15 FieldDefinition { description: None, name: "library", arguments: [ - 4930..4937 @15 InputValueDefinition { + 5091..5098 @15 InputValueDefinition { description: None, name: "id", - ty: 4934..4937 @15 NonNullNamed( + ty: 5095..5098 @15 NonNullNamed( "ID", ), default_value: None, @@ -2435,12 +2441,12 @@ Schema { "Library", ), directives: [ - 4948..4974 @15 Directive { + 5109..5135 @15 Directive { name: "join__field", arguments: [ - 4961..4973 @15 Argument { + 5122..5134 @15 Argument { name: "graph", - value: 4968..4973 @15 Enum( + value: 5129..5134 @15 Enum( "BOOKS", ), }, @@ -2451,7 +2457,7 @@ Schema { }, "body": Component { origin: Definition, - node: 4977..5019 @15 FieldDefinition { + node: 5138..5180 @15 FieldDefinition { description: None, name: "body", arguments: [], @@ -2459,12 +2465,12 @@ Schema { "Body", ), directives: [ - 4989..5019 @15 Directive { + 5150..5180 @15 Directive { name: "join__field", arguments: [ - 5002..5018 @15 Argument { + 5163..5179 @15 Argument { name: "graph", - value: 5009..5018 @15 Enum( + value: 5170..5179 @15 Enum( "DOCUMENTS", ), }, @@ -2475,14 +2481,14 @@ Schema { }, "product": Component { origin: Definition, - node: 5022..5081 @15 FieldDefinition { + node: 5183..5242 @15 FieldDefinition { description: None, name: "product", arguments: [ - 5030..5042 @15 InputValueDefinition { + 5191..5203 @15 InputValueDefinition { description: None, name: "upc", - ty: 5035..5042 @15 NonNullNamed( + ty: 5196..5203 @15 NonNullNamed( "String", ), default_value: None, @@ -2493,12 +2499,12 @@ Schema { "Product", ), directives: [ - 5053..5081 @15 Directive { + 5214..5242 @15 Directive { name: "join__field", arguments: [ - 5066..5080 @15 Argument { + 5227..5241 @15 Argument { name: "graph", - value: 5073..5080 @15 Enum( + value: 5234..5241 @15 Enum( "PRODUCT", ), }, @@ -2509,14 +2515,14 @@ Schema { }, "vehicle": Component { origin: Definition, - node: 5084..5142 @15 FieldDefinition { + node: 5245..5303 @15 FieldDefinition { description: None, name: "vehicle", arguments: [ - 5092..5103 @15 InputValueDefinition { + 5253..5264 @15 InputValueDefinition { description: None, name: "id", - ty: 5096..5103 @15 NonNullNamed( + ty: 5257..5264 @15 NonNullNamed( "String", ), default_value: None, @@ -2527,12 +2533,12 @@ Schema { "Vehicle", ), directives: [ - 5114..5142 @15 Directive { + 5275..5303 @15 Directive { name: "join__field", arguments: [ - 5127..5141 @15 Argument { + 5288..5302 @15 Argument { name: "graph", - value: 5134..5141 @15 Enum( + value: 5295..5302 @15 Enum( "PRODUCT", ), }, @@ -2543,18 +2549,18 @@ Schema { }, "topProducts": Component { origin: Definition, - node: 5145..5212 @15 FieldDefinition { + node: 5306..5373 @15 FieldDefinition { description: None, name: "topProducts", arguments: [ - 5157..5171 @15 InputValueDefinition { + 5318..5332 @15 InputValueDefinition { description: None, name: "first", - ty: 5164..5167 @15 Named( + ty: 5325..5328 @15 Named( "Int", ), default_value: Some( - 5170..5171 @15 Int( + 5331..5332 @15 Int( 5, ), ), @@ -2567,12 +2573,12 @@ Schema { ), ), directives: [ - 5184..5212 @15 Directive { + 5345..5373 @15 Directive { name: "join__field", arguments: [ - 5197..5211 @15 Argument { + 5358..5372 @15 Argument { name: "graph", - value: 5204..5211 @15 Enum( + value: 5365..5372 @15 Enum( "PRODUCT", ), }, @@ -2583,18 +2589,18 @@ Schema { }, "topCars": Component { origin: Definition, - node: 5215..5274 @15 FieldDefinition { + node: 5376..5435 @15 FieldDefinition { description: None, name: "topCars", arguments: [ - 5223..5237 @15 InputValueDefinition { + 5384..5398 @15 InputValueDefinition { description: None, name: "first", - ty: 5230..5233 @15 Named( + ty: 5391..5394 @15 Named( "Int", ), default_value: Some( - 5236..5237 @15 Int( + 5397..5398 @15 Int( 5, ), ), @@ -2607,12 +2613,12 @@ Schema { ), ), directives: [ - 5246..5274 @15 Directive { + 5407..5435 @15 Directive { name: "join__field", arguments: [ - 5259..5273 @15 Argument { + 5420..5434 @15 Argument { name: "graph", - value: 5266..5273 @15 Enum( + value: 5427..5434 @15 Enum( "PRODUCT", ), }, @@ -2623,18 +2629,18 @@ Schema { }, "topReviews": Component { origin: Definition, - node: 5277..5342 @15 FieldDefinition { + node: 5438..5503 @15 FieldDefinition { description: None, name: "topReviews", arguments: [ - 5288..5302 @15 InputValueDefinition { + 5449..5463 @15 InputValueDefinition { description: None, name: "first", - ty: 5295..5298 @15 Named( + ty: 5456..5459 @15 Named( "Int", ), default_value: Some( - 5301..5302 @15 Int( + 5462..5463 @15 Int( 5, ), ), @@ -2647,12 +2653,12 @@ Schema { ), ), directives: [ - 5314..5342 @15 Directive { + 5475..5503 @15 Directive { name: "join__field", arguments: [ - 5327..5341 @15 Argument { + 5488..5502 @15 Argument { name: "graph", - value: 5334..5341 @15 Enum( + value: 5495..5502 @15 Enum( "REVIEWS", ), }, @@ -2665,18 +2671,18 @@ Schema { }, ), "Review": Object( - 5346..5710 @15 ObjectType { + 5507..5871 @15 ObjectType { description: None, implements_interfaces: {}, directives: [ Component { origin: Definition, - node: 5358..5386 @15 Directive { + node: 5519..5547 @15 Directive { name: "join__owner", arguments: [ - 5371..5385 @15 Argument { + 5532..5546 @15 Argument { name: "graph", - value: 5378..5385 @15 Enum( + value: 5539..5546 @15 Enum( "REVIEWS", ), }, @@ -2685,18 +2691,18 @@ Schema { }, Component { origin: Definition, - node: 5387..5425 @15 Directive { + node: 5548..5586 @15 Directive { name: "join__type", arguments: [ - 5399..5413 @15 Argument { + 5560..5574 @15 Argument { name: "graph", - value: 5406..5413 @15 Enum( + value: 5567..5574 @15 Enum( "REVIEWS", ), }, - 5415..5424 @15 Argument { + 5576..5585 @15 Argument { name: "key", - value: 5420..5424 @15 String( + value: 5581..5585 @15 String( "id", ), }, @@ -2707,7 +2713,7 @@ Schema { fields: { "id": Component { origin: Definition, - node: 5430..5466 @15 FieldDefinition { + node: 5591..5627 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -2715,12 +2721,12 @@ Schema { "ID", ), directives: [ - 5438..5466 @15 Directive { + 5599..5627 @15 Directive { name: "join__field", arguments: [ - 5451..5465 @15 Argument { + 5612..5626 @15 Argument { name: "graph", - value: 5458..5465 @15 Enum( + value: 5619..5626 @15 Enum( "REVIEWS", ), }, @@ -2731,18 +2737,18 @@ Schema { }, "body": Component { origin: Definition, - node: 5469..5535 @15 FieldDefinition { + node: 5630..5696 @15 FieldDefinition { description: None, name: "body", arguments: [ - 5474..5497 @15 InputValueDefinition { + 5635..5658 @15 InputValueDefinition { description: None, name: "format", - ty: 5482..5489 @15 Named( + ty: 5643..5650 @15 Named( "Boolean", ), default_value: Some( - 5492..5497 @15 Boolean( + 5653..5658 @15 Boolean( false, ), ), @@ -2753,12 +2759,12 @@ Schema { "String", ), directives: [ - 5507..5535 @15 Directive { + 5668..5696 @15 Directive { name: "join__field", arguments: [ - 5520..5534 @15 Argument { + 5681..5695 @15 Argument { name: "graph", - value: 5527..5534 @15 Enum( + value: 5688..5695 @15 Enum( "REVIEWS", ), }, @@ -2769,7 +2775,7 @@ Schema { }, "author": Component { origin: Definition, - node: 5538..5601 @15 FieldDefinition { + node: 5699..5762 @15 FieldDefinition { description: None, name: "author", arguments: [], @@ -2777,18 +2783,18 @@ Schema { "User", ), directives: [ - 5551..5601 @15 Directive { + 5712..5762 @15 Directive { name: "join__field", arguments: [ - 5564..5578 @15 Argument { + 5725..5739 @15 Argument { name: "graph", - value: 5571..5578 @15 Enum( + value: 5732..5739 @15 Enum( "REVIEWS", ), }, - 5580..5600 @15 Argument { + 5741..5761 @15 Argument { name: "provides", - value: 5590..5600 @15 String( + value: 5751..5761 @15 String( "username", ), }, @@ -2799,7 +2805,7 @@ Schema { }, "product": Component { origin: Definition, - node: 5604..5649 @15 FieldDefinition { + node: 5765..5810 @15 FieldDefinition { description: None, name: "product", arguments: [], @@ -2807,12 +2813,12 @@ Schema { "Product", ), directives: [ - 5621..5649 @15 Directive { + 5782..5810 @15 Directive { name: "join__field", arguments: [ - 5634..5648 @15 Argument { + 5795..5809 @15 Argument { name: "graph", - value: 5641..5648 @15 Enum( + value: 5802..5809 @15 Enum( "REVIEWS", ), }, @@ -2823,7 +2829,7 @@ Schema { }, "metadata": Component { origin: Definition, - node: 5652..5708 @15 FieldDefinition { + node: 5813..5869 @15 FieldDefinition { description: None, name: "metadata", arguments: [], @@ -2833,12 +2839,12 @@ Schema { ), ), directives: [ - 5680..5708 @15 Directive { + 5841..5869 @15 Directive { name: "join__field", arguments: [ - 5693..5707 @15 Argument { + 5854..5868 @15 Argument { name: "graph", - value: 5700..5707 @15 Enum( + value: 5861..5868 @15 Enum( "REVIEWS", ), }, @@ -2851,18 +2857,18 @@ Schema { }, ), "SMSAccount": Object( - 5712..5852 @15 ObjectType { + 5873..6013 @15 ObjectType { description: None, implements_interfaces: {}, directives: [ Component { origin: Definition, - node: 5728..5757 @15 Directive { + node: 5889..5918 @15 Directive { name: "join__owner", arguments: [ - 5741..5756 @15 Argument { + 5902..5917 @15 Argument { name: "graph", - value: 5748..5756 @15 Enum( + value: 5909..5917 @15 Enum( "ACCOUNTS", ), }, @@ -2871,18 +2877,18 @@ Schema { }, Component { origin: Definition, - node: 5758..5801 @15 Directive { + node: 5919..5962 @15 Directive { name: "join__type", arguments: [ - 5770..5785 @15 Argument { + 5931..5946 @15 Argument { name: "graph", - value: 5777..5785 @15 Enum( + value: 5938..5946 @15 Enum( "ACCOUNTS", ), }, - 5787..5800 @15 Argument { + 5948..5961 @15 Argument { name: "key", - value: 5792..5800 @15 String( + value: 5953..5961 @15 String( "number", ), }, @@ -2893,7 +2899,7 @@ Schema { fields: { "number": Component { origin: Definition, - node: 5806..5850 @15 FieldDefinition { + node: 5967..6011 @15 FieldDefinition { description: None, name: "number", arguments: [], @@ -2901,12 +2907,12 @@ Schema { "String", ), directives: [ - 5821..5850 @15 Directive { + 5982..6011 @15 Directive { name: "join__field", arguments: [ - 5834..5849 @15 Argument { + 5995..6010 @15 Argument { name: "graph", - value: 5841..5849 @15 Enum( + value: 6002..6010 @15 Enum( "ACCOUNTS", ), }, @@ -2919,7 +2925,7 @@ Schema { }, ), "Text": Object( - 5854..5936 @15 ObjectType { + 6015..6097 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -2931,7 +2937,7 @@ Schema { fields: { "name": Component { origin: Definition, - node: 5891..5904 @15 FieldDefinition { + node: 6052..6065 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -2943,7 +2949,7 @@ Schema { }, "attributes": Component { origin: Definition, - node: 5907..5934 @15 FieldDefinition { + node: 6068..6095 @15 FieldDefinition { description: None, name: "attributes", arguments: [], @@ -2957,14 +2963,14 @@ Schema { }, ), "TextAttributes": Object( - 5938..5992 @15 ObjectType { + 6099..6153 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "bold": Component { origin: Definition, - node: 5962..5975 @15 FieldDefinition { + node: 6123..6136 @15 FieldDefinition { description: None, name: "bold", arguments: [], @@ -2976,7 +2982,7 @@ Schema { }, "text": Component { origin: Definition, - node: 5978..5990 @15 FieldDefinition { + node: 6139..6151 @15 FieldDefinition { description: None, name: "text", arguments: [], @@ -2990,7 +2996,7 @@ Schema { }, ), "Thing": Union( - 5994..6018 @15 UnionType { + 6155..6179 @15 UnionType { description: None, directives: [], members: { @@ -3006,16 +3012,16 @@ Schema { }, ), "UpdateReviewInput": InputObject( - 6020..6072 @15 InputObjectType { + 6181..6233 @15 InputObjectType { description: None, directives: [], fields: { "id": Component { origin: Definition, - node: 6048..6055 @15 InputValueDefinition { + node: 6209..6216 @15 InputValueDefinition { description: None, name: "id", - ty: 6052..6055 @15 NonNullNamed( + ty: 6213..6216 @15 NonNullNamed( "ID", ), default_value: None, @@ -3024,10 +3030,10 @@ Schema { }, "body": Component { origin: Definition, - node: 6058..6070 @15 InputValueDefinition { + node: 6219..6231 @15 InputValueDefinition { description: None, name: "body", - ty: 6064..6070 @15 Named( + ty: 6225..6231 @15 Named( "String", ), default_value: None, @@ -3038,18 +3044,18 @@ Schema { }, ), "User": Object( - 6074..7017 @15 ObjectType { + 6235..7178 @15 ObjectType { description: None, implements_interfaces: {}, directives: [ Component { origin: Definition, - node: 6084..6113 @15 Directive { + node: 6245..6274 @15 Directive { name: "join__owner", arguments: [ - 6097..6112 @15 Argument { + 6258..6273 @15 Argument { name: "graph", - value: 6104..6112 @15 Enum( + value: 6265..6273 @15 Enum( "ACCOUNTS", ), }, @@ -3058,18 +3064,18 @@ Schema { }, Component { origin: Definition, - node: 6114..6153 @15 Directive { + node: 6275..6314 @15 Directive { name: "join__type", arguments: [ - 6126..6141 @15 Argument { + 6287..6302 @15 Argument { name: "graph", - value: 6133..6141 @15 Enum( + value: 6294..6302 @15 Enum( "ACCOUNTS", ), }, - 6143..6152 @15 Argument { + 6304..6313 @15 Argument { name: "key", - value: 6148..6152 @15 String( + value: 6309..6313 @15 String( "id", ), }, @@ -3078,18 +3084,18 @@ Schema { }, Component { origin: Definition, - node: 6154..6216 @15 Directive { + node: 6315..6377 @15 Directive { name: "join__type", arguments: [ - 6166..6181 @15 Argument { + 6327..6342 @15 Argument { name: "graph", - value: 6173..6181 @15 Enum( + value: 6334..6342 @15 Enum( "ACCOUNTS", ), }, - 6183..6215 @15 Argument { + 6344..6376 @15 Argument { name: "key", - value: 6188..6215 @15 String( + value: 6349..6376 @15 String( "username name{first last}", ), }, @@ -3098,18 +3104,18 @@ Schema { }, Component { origin: Definition, - node: 6217..6257 @15 Directive { + node: 6378..6418 @15 Directive { name: "join__type", arguments: [ - 6229..6245 @15 Argument { + 6390..6406 @15 Argument { name: "graph", - value: 6236..6245 @15 Enum( + value: 6397..6406 @15 Enum( "INVENTORY", ), }, - 6247..6256 @15 Argument { + 6408..6417 @15 Argument { name: "key", - value: 6252..6256 @15 String( + value: 6413..6417 @15 String( "id", ), }, @@ -3118,18 +3124,18 @@ Schema { }, Component { origin: Definition, - node: 6258..6296 @15 Directive { + node: 6419..6457 @15 Directive { name: "join__type", arguments: [ - 6270..6284 @15 Argument { + 6431..6445 @15 Argument { name: "graph", - value: 6277..6284 @15 Enum( + value: 6438..6445 @15 Enum( "PRODUCT", ), }, - 6286..6295 @15 Argument { + 6447..6456 @15 Argument { name: "key", - value: 6291..6295 @15 String( + value: 6452..6456 @15 String( "id", ), }, @@ -3138,18 +3144,18 @@ Schema { }, Component { origin: Definition, - node: 6297..6335 @15 Directive { + node: 6458..6496 @15 Directive { name: "join__type", arguments: [ - 6309..6323 @15 Argument { + 6470..6484 @15 Argument { name: "graph", - value: 6316..6323 @15 Enum( + value: 6477..6484 @15 Enum( "REVIEWS", ), }, - 6325..6334 @15 Argument { + 6486..6495 @15 Argument { name: "key", - value: 6330..6334 @15 String( + value: 6491..6495 @15 String( "id", ), }, @@ -3160,7 +3166,7 @@ Schema { fields: { "id": Component { origin: Definition, - node: 6340..6377 @15 FieldDefinition { + node: 6501..6538 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -3168,12 +3174,12 @@ Schema { "ID", ), directives: [ - 6348..6377 @15 Directive { + 6509..6538 @15 Directive { name: "join__field", arguments: [ - 6361..6376 @15 Argument { + 6522..6537 @15 Argument { name: "graph", - value: 6368..6376 @15 Enum( + value: 6529..6537 @15 Enum( "ACCOUNTS", ), }, @@ -3184,7 +3190,7 @@ Schema { }, "name": Component { origin: Definition, - node: 6380..6420 @15 FieldDefinition { + node: 6541..6581 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -3192,12 +3198,12 @@ Schema { "Name", ), directives: [ - 6391..6420 @15 Directive { + 6552..6581 @15 Directive { name: "join__field", arguments: [ - 6404..6419 @15 Argument { + 6565..6580 @15 Argument { name: "graph", - value: 6411..6419 @15 Enum( + value: 6572..6580 @15 Enum( "ACCOUNTS", ), }, @@ -3208,7 +3214,7 @@ Schema { }, "username": Component { origin: Definition, - node: 6423..6469 @15 FieldDefinition { + node: 6584..6630 @15 FieldDefinition { description: None, name: "username", arguments: [], @@ -3216,12 +3222,12 @@ Schema { "String", ), directives: [ - 6440..6469 @15 Directive { + 6601..6630 @15 Directive { name: "join__field", arguments: [ - 6453..6468 @15 Argument { + 6614..6629 @15 Argument { name: "graph", - value: 6460..6468 @15 Enum( + value: 6621..6629 @15 Enum( "ACCOUNTS", ), }, @@ -3232,14 +3238,14 @@ Schema { }, "birthDate": Component { origin: Definition, - node: 6472..6535 @15 FieldDefinition { + node: 6633..6696 @15 FieldDefinition { description: None, name: "birthDate", arguments: [ - 6482..6496 @15 InputValueDefinition { + 6643..6657 @15 InputValueDefinition { description: None, name: "locale", - ty: 6490..6496 @15 Named( + ty: 6651..6657 @15 Named( "String", ), default_value: None, @@ -3250,12 +3256,12 @@ Schema { "String", ), directives: [ - 6506..6535 @15 Directive { + 6667..6696 @15 Directive { name: "join__field", arguments: [ - 6519..6534 @15 Argument { + 6680..6695 @15 Argument { name: "graph", - value: 6526..6534 @15 Enum( + value: 6687..6695 @15 Enum( "ACCOUNTS", ), }, @@ -3266,7 +3272,7 @@ Schema { }, "account": Component { origin: Definition, - node: 6538..6588 @15 FieldDefinition { + node: 6699..6749 @15 FieldDefinition { description: None, name: "account", arguments: [], @@ -3274,12 +3280,12 @@ Schema { "AccountType", ), directives: [ - 6559..6588 @15 Directive { + 6720..6749 @15 Directive { name: "join__field", arguments: [ - 6572..6587 @15 Argument { + 6733..6748 @15 Argument { name: "graph", - value: 6579..6587 @15 Enum( + value: 6740..6748 @15 Enum( "ACCOUNTS", ), }, @@ -3290,7 +3296,7 @@ Schema { }, "metadata": Component { origin: Definition, - node: 6591..6645 @15 FieldDefinition { + node: 6752..6806 @15 FieldDefinition { description: None, name: "metadata", arguments: [], @@ -3300,12 +3306,12 @@ Schema { ), ), directives: [ - 6616..6645 @15 Directive { + 6777..6806 @15 Directive { name: "join__field", arguments: [ - 6629..6644 @15 Argument { + 6790..6805 @15 Argument { name: "graph", - value: 6636..6644 @15 Enum( + value: 6797..6805 @15 Enum( "ACCOUNTS", ), }, @@ -3316,7 +3322,7 @@ Schema { }, "goodDescription": Component { origin: Definition, - node: 6648..6738 @15 FieldDefinition { + node: 6809..6899 @15 FieldDefinition { description: None, name: "goodDescription", arguments: [], @@ -3324,18 +3330,18 @@ Schema { "Boolean", ), directives: [ - 6673..6738 @15 Directive { + 6834..6899 @15 Directive { name: "join__field", arguments: [ - 6686..6702 @15 Argument { + 6847..6863 @15 Argument { name: "graph", - value: 6693..6702 @15 Enum( + value: 6854..6863 @15 Enum( "INVENTORY", ), }, - 6704..6737 @15 Argument { + 6865..6898 @15 Argument { name: "requires", - value: 6714..6737 @15 String( + value: 6875..6898 @15 String( "metadata{description}", ), }, @@ -3346,7 +3352,7 @@ Schema { }, "vehicle": Component { origin: Definition, - node: 6741..6786 @15 FieldDefinition { + node: 6902..6947 @15 FieldDefinition { description: None, name: "vehicle", arguments: [], @@ -3354,12 +3360,12 @@ Schema { "Vehicle", ), directives: [ - 6758..6786 @15 Directive { + 6919..6947 @15 Directive { name: "join__field", arguments: [ - 6771..6785 @15 Argument { + 6932..6946 @15 Argument { name: "graph", - value: 6778..6785 @15 Enum( + value: 6939..6946 @15 Enum( "PRODUCT", ), }, @@ -3370,7 +3376,7 @@ Schema { }, "thing": Component { origin: Definition, - node: 6789..6830 @15 FieldDefinition { + node: 6950..6991 @15 FieldDefinition { description: None, name: "thing", arguments: [], @@ -3378,12 +3384,12 @@ Schema { "Thing", ), directives: [ - 6802..6830 @15 Directive { + 6963..6991 @15 Directive { name: "join__field", arguments: [ - 6815..6829 @15 Argument { + 6976..6990 @15 Argument { name: "graph", - value: 6822..6829 @15 Enum( + value: 6983..6990 @15 Enum( "PRODUCT", ), }, @@ -3394,7 +3400,7 @@ Schema { }, "reviews": Component { origin: Definition, - node: 6833..6879 @15 FieldDefinition { + node: 6994..7040 @15 FieldDefinition { description: None, name: "reviews", arguments: [], @@ -3404,12 +3410,12 @@ Schema { ), ), directives: [ - 6851..6879 @15 Directive { + 7012..7040 @15 Directive { name: "join__field", arguments: [ - 6864..6878 @15 Argument { + 7025..7039 @15 Argument { name: "graph", - value: 6871..6878 @15 Enum( + value: 7032..7039 @15 Enum( "REVIEWS", ), }, @@ -3420,7 +3426,7 @@ Schema { }, "numberOfReviews": Component { origin: Definition, - node: 6882..6932 @15 FieldDefinition { + node: 7043..7093 @15 FieldDefinition { description: None, name: "numberOfReviews", arguments: [], @@ -3428,12 +3434,12 @@ Schema { "Int", ), directives: [ - 6904..6932 @15 Directive { + 7065..7093 @15 Directive { name: "join__field", arguments: [ - 6917..6931 @15 Argument { + 7078..7092 @15 Argument { name: "graph", - value: 6924..6931 @15 Enum( + value: 7085..7092 @15 Enum( "REVIEWS", ), }, @@ -3444,7 +3450,7 @@ Schema { }, "goodAddress": Component { origin: Definition, - node: 6935..7015 @15 FieldDefinition { + node: 7096..7176 @15 FieldDefinition { description: None, name: "goodAddress", arguments: [], @@ -3452,18 +3458,18 @@ Schema { "Boolean", ), directives: [ - 6956..7015 @15 Directive { + 7117..7176 @15 Directive { name: "join__field", arguments: [ - 6969..6983 @15 Argument { + 7130..7144 @15 Argument { name: "graph", - value: 6976..6983 @15 Enum( + value: 7137..7144 @15 Enum( "REVIEWS", ), }, - 6985..7014 @15 Argument { + 7146..7175 @15 Argument { name: "requires", - value: 6995..7014 @15 String( + value: 7156..7175 @15 String( "metadata{address}", ), }, @@ -3476,14 +3482,14 @@ Schema { }, ), "UserMetadata": Object( - 7019..7095 @15 ObjectType { + 7180..7256 @15 ObjectType { description: None, implements_interfaces: {}, directives: [], fields: { "name": Component { origin: Definition, - node: 7041..7053 @15 FieldDefinition { + node: 7202..7214 @15 FieldDefinition { description: None, name: "name", arguments: [], @@ -3495,7 +3501,7 @@ Schema { }, "address": Component { origin: Definition, - node: 7056..7071 @15 FieldDefinition { + node: 7217..7232 @15 FieldDefinition { description: None, name: "address", arguments: [], @@ -3507,7 +3513,7 @@ Schema { }, "description": Component { origin: Definition, - node: 7074..7093 @15 FieldDefinition { + node: 7235..7254 @15 FieldDefinition { description: None, name: "description", arguments: [], @@ -3521,7 +3527,7 @@ Schema { }, ), "Van": Object( - 7097..7444 @15 ObjectType { + 7258..7605 @15 ObjectType { description: None, implements_interfaces: { ComponentStr { @@ -3532,12 +3538,12 @@ Schema { directives: [ Component { origin: Definition, - node: 7125..7153 @15 Directive { + node: 7286..7314 @15 Directive { name: "join__owner", arguments: [ - 7138..7152 @15 Argument { + 7299..7313 @15 Argument { name: "graph", - value: 7145..7152 @15 Enum( + value: 7306..7313 @15 Enum( "PRODUCT", ), }, @@ -3546,18 +3552,18 @@ Schema { }, Component { origin: Definition, - node: 7154..7192 @15 Directive { + node: 7315..7353 @15 Directive { name: "join__type", arguments: [ - 7166..7180 @15 Argument { + 7327..7341 @15 Argument { name: "graph", - value: 7173..7180 @15 Enum( + value: 7334..7341 @15 Enum( "PRODUCT", ), }, - 7182..7191 @15 Argument { + 7343..7352 @15 Argument { name: "key", - value: 7187..7191 @15 String( + value: 7348..7352 @15 String( "id", ), }, @@ -3566,18 +3572,18 @@ Schema { }, Component { origin: Definition, - node: 7193..7231 @15 Directive { + node: 7354..7392 @15 Directive { name: "join__type", arguments: [ - 7205..7219 @15 Argument { + 7366..7380 @15 Argument { name: "graph", - value: 7212..7219 @15 Enum( + value: 7373..7380 @15 Enum( "REVIEWS", ), }, - 7221..7230 @15 Argument { + 7382..7391 @15 Argument { name: "key", - value: 7226..7230 @15 String( + value: 7387..7391 @15 String( "id", ), }, @@ -3588,7 +3594,7 @@ Schema { fields: { "id": Component { origin: Definition, - node: 7236..7276 @15 FieldDefinition { + node: 7397..7437 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -3596,12 +3602,12 @@ Schema { "String", ), directives: [ - 7248..7276 @15 Directive { + 7409..7437 @15 Directive { name: "join__field", arguments: [ - 7261..7275 @15 Argument { + 7422..7436 @15 Argument { name: "graph", - value: 7268..7275 @15 Enum( + value: 7429..7436 @15 Enum( "PRODUCT", ), }, @@ -3612,7 +3618,7 @@ Schema { }, "description": Component { origin: Definition, - node: 7279..7327 @15 FieldDefinition { + node: 7440..7488 @15 FieldDefinition { description: None, name: "description", arguments: [], @@ -3620,12 +3626,12 @@ Schema { "String", ), directives: [ - 7299..7327 @15 Directive { + 7460..7488 @15 Directive { name: "join__field", arguments: [ - 7312..7326 @15 Argument { + 7473..7487 @15 Argument { name: "graph", - value: 7319..7326 @15 Enum( + value: 7480..7487 @15 Enum( "PRODUCT", ), }, @@ -3636,7 +3642,7 @@ Schema { }, "price": Component { origin: Definition, - node: 7330..7372 @15 FieldDefinition { + node: 7491..7533 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -3644,12 +3650,12 @@ Schema { "String", ), directives: [ - 7344..7372 @15 Directive { + 7505..7533 @15 Directive { name: "join__field", arguments: [ - 7357..7371 @15 Argument { + 7518..7532 @15 Argument { name: "graph", - value: 7364..7371 @15 Enum( + value: 7525..7532 @15 Enum( "PRODUCT", ), }, @@ -3660,7 +3666,7 @@ Schema { }, "retailPrice": Component { origin: Definition, - node: 7375..7442 @15 FieldDefinition { + node: 7536..7603 @15 FieldDefinition { description: None, name: "retailPrice", arguments: [], @@ -3668,18 +3674,18 @@ Schema { "String", ), directives: [ - 7395..7442 @15 Directive { + 7556..7603 @15 Directive { name: "join__field", arguments: [ - 7408..7422 @15 Argument { + 7569..7583 @15 Argument { name: "graph", - value: 7415..7422 @15 Enum( + value: 7576..7583 @15 Enum( "REVIEWS", ), }, - 7424..7441 @15 Argument { + 7585..7602 @15 Argument { name: "requires", - value: 7434..7441 @15 String( + value: 7595..7602 @15 String( "price", ), }, @@ -3692,14 +3698,14 @@ Schema { }, ), "Vehicle": Interface( - 7446..7541 @15 InterfaceType { + 7607..7702 @15 InterfaceType { description: None, implements_interfaces: {}, directives: [], fields: { "id": Component { origin: Definition, - node: 7468..7479 @15 FieldDefinition { + node: 7629..7640 @15 FieldDefinition { description: None, name: "id", arguments: [], @@ -3711,7 +3717,7 @@ Schema { }, "description": Component { origin: Definition, - node: 7482..7501 @15 FieldDefinition { + node: 7643..7662 @15 FieldDefinition { description: None, name: "description", arguments: [], @@ -3723,7 +3729,7 @@ Schema { }, "price": Component { origin: Definition, - node: 7504..7517 @15 FieldDefinition { + node: 7665..7678 @15 FieldDefinition { description: None, name: "price", arguments: [], @@ -3735,7 +3741,7 @@ Schema { }, "retailPrice": Component { origin: Definition, - node: 7520..7539 @15 FieldDefinition { + node: 7681..7700 @15 FieldDefinition { description: None, name: "retailPrice", arguments: [], @@ -3754,7 +3760,7 @@ ExecutableDocument { sources: { 15: SourceFile { path: "0015_supergraph.graphql", - source_text: "schema\n@core(feature: \"https://specs.apollo.dev/core/v0.1\"),\n@core(feature: \"https://specs.apollo.dev/join/v0.1\")\n{\n query: Query\n mutation: Mutation\n}\n\ndirective @core(feature: String!) repeatable on SCHEMA\ndirective @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet) on FIELD_DEFINITION\ndirective @join__type(graph: join__Graph!, key: join__FieldSet) repeatable on OBJECT | INTERFACE\ndirective @join__owner(graph: join__Graph!) on OBJECT | INTERFACE\ndirective @join__graph(name: String!, url: String!) on ENUM_VALUE\ndirective @stream on FIELD\ndirective @transform(from: String!) on FIELD\n\nunion AccountType = PasswordAccount | SMSAccount\n\ntype Amazon {\n referrer: String\n}\n\nunion Body = Image | Text\n\ntype Book implements Product\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"isbn\")\n@join__type(graph: INVENTORY, key: \"isbn\")\n@join__type(graph: PRODUCT, key: \"isbn\")\n@join__type(graph: REVIEWS, key: \"isbn\")\n{\n isbn: String! @join__field(graph: BOOKS)\n title: String @join__field(graph: BOOKS)\n year: Int @join__field(graph: BOOKS)\n similarBooks: [Book]! @join__field(graph: BOOKS)\n metadata: [MetadataOrError] @join__field(graph: BOOKS)\n inStock: Boolean @join__field(graph: INVENTORY)\n isCheckedOut: Boolean @join__field(graph: INVENTORY)\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name(delimeter: String = \" \"): String @join__field(graph: PRODUCT, requires: \"title year\")\n price: String @join__field(graph: PRODUCT)\n details: ProductDetailsBook @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n relatedReviews: [Review!]! @join__field(graph: REVIEWS, requires: \"similarBooks{isbn}\")\n}\n\nunion Brand = Ikea | Amazon\n\ntype Car implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ntype Error {\n code: Int\n message: String\n}\n\ntype Furniture implements Product\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"upc\")\n@join__type(graph: PRODUCT, key: \"sku\")\n@join__type(graph: INVENTORY, key: \"sku\")\n@join__type(graph: REVIEWS, key: \"upc\")\n{\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n brand: Brand @join__field(graph: PRODUCT)\n metadata: [MetadataOrError] @join__field(graph: PRODUCT)\n details: ProductDetailsFurniture @join__field(graph: PRODUCT)\n inStock: Boolean @join__field(graph: INVENTORY)\n isHeavy: Boolean @join__field(graph: INVENTORY)\n reviews: [Review] @join__field(graph: REVIEWS)\n}\n\ntype Ikea {\n asile: Int\n}\n\ntype Image implements NamedObject {\n name: String!\n attributes: ImageAttributes!\n}\n\ntype ImageAttributes {\n url: String!\n}\n\nscalar join__FieldSet @specifiedBy(url: \"https://spec.graphql.org/\")\n\nenum join__Graph {\nACCOUNTS @join__graph(name: \"accounts\" url: \"\")\nBOOKS @join__graph(name: \"books\" url: \"\")\nDOCUMENTS @join__graph(name: \"documents\" url: \"\")\nINVENTORY @join__graph(name: \"inventory\" url: \"\")\nPRODUCT @join__graph(name: \"product\" url: \"\")\nREVIEWS @join__graph(name: \"reviews\" url: \"\")\n}\n\ntype KeyValue {\n key: String!\n value: String!\n}\n\ntype Library\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"id\")\n{\n id: ID! @join__field(graph: BOOKS)\n name: String @join__field(graph: BOOKS)\n userAccount(id: ID! = 1): User @join__field(graph: ACCOUNTS, requires: \"name\")\n}\n\nunion MetadataOrError = KeyValue | Error\n\ntype Mutation {\n login(username: String!, password: String!): User @join__field(graph: ACCOUNTS)\n reviewProduct(upc: String!, body: String!): Product @join__field(graph: REVIEWS)\n updateReview(review: UpdateReviewInput!): Review @join__field(graph: REVIEWS)\n deleteReview(id: ID!): Boolean @join__field(graph: REVIEWS)\n}\n\ntype Name {\n first: String\n last: String\n}\n\ninterface NamedObject {\n name: String!\n}\n\ntype PasswordAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"email\")\n{\n email: String! @join__field(graph: ACCOUNTS)\n}\n\ninterface Product {\n upc: String!\n sku: String!\n name: String\n price: String\n details: ProductDetails\n inStock: Boolean\n reviews: [Review]\n}\n\ninterface ProductDetails {\n country: String\n}\n\ntype ProductDetailsBook implements ProductDetails {\n country: String\n pages: Int\n}\n\ntype ProductDetailsFurniture implements ProductDetails {\n country: String\n color: String\n}\n\ntype Query {\n user(id: ID!): User @join__field(graph: ACCOUNTS)\n me: User @join__field(graph: ACCOUNTS)\n book(isbn: String!): Book @join__field(graph: BOOKS)\n books: [Book] @join__field(graph: BOOKS)\n library(id: ID!): Library @join__field(graph: BOOKS)\n body: Body! @join__field(graph: DOCUMENTS)\n product(upc: String!): Product @join__field(graph: PRODUCT)\n vehicle(id: String!): Vehicle @join__field(graph: PRODUCT)\n topProducts(first: Int = 5): [Product] @join__field(graph: PRODUCT)\n topCars(first: Int = 5): [Car] @join__field(graph: PRODUCT)\n topReviews(first: Int = 5): [Review] @join__field(graph: REVIEWS)\n}\n\ntype Review\n@join__owner(graph: REVIEWS)\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: REVIEWS)\n body(format: Boolean = false): String @join__field(graph: REVIEWS)\n author: User @join__field(graph: REVIEWS, provides: \"username\")\n product: Product @join__field(graph: REVIEWS)\n metadata: [MetadataOrError] @join__field(graph: REVIEWS)\n}\n\ntype SMSAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"number\")\n{\n number: String @join__field(graph: ACCOUNTS)\n}\n\ntype Text implements NamedObject {\n name: String!\n attributes: TextAttributes!\n}\n\ntype TextAttributes {\n bold: Boolean\n text: String\n}\n\nunion Thing = Car | Ikea\n\ninput UpdateReviewInput {\n id: ID!\n body: String\n}\n\ntype User\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"username name{first last}\")\n@join__type(graph: INVENTORY, key: \"id\")\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: ACCOUNTS)\n name: Name @join__field(graph: ACCOUNTS)\n username: String @join__field(graph: ACCOUNTS)\n birthDate(locale: String): String @join__field(graph: ACCOUNTS)\n account: AccountType @join__field(graph: ACCOUNTS)\n metadata: [UserMetadata] @join__field(graph: ACCOUNTS)\n goodDescription: Boolean @join__field(graph: INVENTORY, requires: \"metadata{description}\")\n vehicle: Vehicle @join__field(graph: PRODUCT)\n thing: Thing @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n numberOfReviews: Int! @join__field(graph: REVIEWS)\n goodAddress: Boolean @join__field(graph: REVIEWS, requires: \"metadata{address}\")\n}\n\ntype UserMetadata {\n name: String\n address: String\n description: String\n}\n\ntype Van implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ninterface Vehicle {\n id: String!\n description: String\n price: String\n retailPrice: String\n}", + source_text: "schema\n@core(feature: \"https://specs.apollo.dev/core/v0.1\"),\n@core(feature: \"https://specs.apollo.dev/join/v0.1\")\n{\n query: Query\n mutation: Mutation\n}\n\ndirective @core(feature: String!) repeatable on SCHEMA\ndirective @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet) on FIELD_DEFINITION\ndirective @join__type(graph: join__Graph!, key: join__FieldSet) repeatable on OBJECT | INTERFACE\ndirective @join__owner(graph: join__Graph!) on OBJECT | INTERFACE\ndirective @join__graph(name: String!, url: String!) on ENUM_VALUE\ndirective @stream on FIELD\ndirective @transform(from: String!) on FIELD\n\nunion AccountType = PasswordAccount | SMSAccount\n\ntype Amazon {\n referrer: String\n}\n\nunion Body = Image | Text\n\n\"\"\"\n Usually made of pages\n\n\"\"\"\ntype Book implements Product\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"isbn\")\n@join__type(graph: INVENTORY, key: \"isbn\")\n@join__type(graph: PRODUCT, key: \"isbn\")\n@join__type(graph: REVIEWS, key: \"isbn\")\n{\n isbn: String! @join__field(graph: BOOKS)\n title: String @join__field(graph: BOOKS)\n \"\"\"In the \\\"\"\"Gregorian\\\"\"\" calendar\"\"\"\n year: Int @join__field(graph: BOOKS)\n similarBooks: [Book]! @join__field(graph: BOOKS)\n metadata: [MetadataOrError] @join__field(graph: BOOKS)\n \"\"\"\n \n \\\"\"\"To be in stock or not to be in stock\\\"\"\"\n\n that is the question\n \"\"\"\n inStock: Boolean @join__field(graph: INVENTORY)\n isCheckedOut: Boolean @join__field(graph: INVENTORY)\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name(delimeter: String = \" \"): String @join__field(graph: PRODUCT, requires: \"title year\")\n price: String @join__field(graph: PRODUCT)\n details: ProductDetailsBook @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n relatedReviews: [Review!]! @join__field(graph: REVIEWS, requires: \"similarBooks{isbn}\")\n}\n\nunion Brand = Ikea | Amazon\n\ntype Car implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ntype Error {\n code: Int\n message: String\n}\n\ntype Furniture implements Product\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"upc\")\n@join__type(graph: PRODUCT, key: \"sku\")\n@join__type(graph: INVENTORY, key: \"sku\")\n@join__type(graph: REVIEWS, key: \"upc\")\n{\n upc: String! @join__field(graph: PRODUCT)\n sku: String! @join__field(graph: PRODUCT)\n name: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n brand: Brand @join__field(graph: PRODUCT)\n metadata: [MetadataOrError] @join__field(graph: PRODUCT)\n details: ProductDetailsFurniture @join__field(graph: PRODUCT)\n inStock: Boolean @join__field(graph: INVENTORY)\n isHeavy: Boolean @join__field(graph: INVENTORY)\n reviews: [Review] @join__field(graph: REVIEWS)\n}\n\ntype Ikea {\n asile: Int\n}\n\ntype Image implements NamedObject {\n name: String!\n attributes: ImageAttributes!\n}\n\ntype ImageAttributes {\n url: String!\n}\n\nscalar join__FieldSet @specifiedBy(url: \"https://spec.graphql.org/\")\n\nenum join__Graph {\nACCOUNTS @join__graph(name: \"accounts\" url: \"\")\nBOOKS @join__graph(name: \"books\" url: \"\")\nDOCUMENTS @join__graph(name: \"documents\" url: \"\")\nINVENTORY @join__graph(name: \"inventory\" url: \"\")\nPRODUCT @join__graph(name: \"product\" url: \"\")\nREVIEWS @join__graph(name: \"reviews\" url: \"\")\n}\n\ntype KeyValue {\n key: String!\n value: String!\n}\n\ntype Library\n@join__owner(graph: BOOKS)\n@join__type(graph: BOOKS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"id\")\n{\n id: ID! @join__field(graph: BOOKS)\n name: String @join__field(graph: BOOKS)\n userAccount(id: ID! = 1): User @join__field(graph: ACCOUNTS, requires: \"name\")\n}\n\nunion MetadataOrError = KeyValue | Error\n\ntype Mutation {\n login(username: String!, password: String!): User @join__field(graph: ACCOUNTS)\n reviewProduct(upc: String!, body: String!): Product @join__field(graph: REVIEWS)\n updateReview(review: UpdateReviewInput!): Review @join__field(graph: REVIEWS)\n deleteReview(id: ID!): Boolean @join__field(graph: REVIEWS)\n}\n\ntype Name {\n first: String\n last: String\n}\n\ninterface NamedObject {\n name: String!\n}\n\ntype PasswordAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"email\")\n{\n email: String! @join__field(graph: ACCOUNTS)\n}\n\ninterface Product {\n upc: String!\n sku: String!\n name: String\n price: String\n details: ProductDetails\n inStock: Boolean\n reviews: [Review]\n}\n\ninterface ProductDetails {\n country: String\n}\n\ntype ProductDetailsBook implements ProductDetails {\n country: String\n pages: Int\n}\n\ntype ProductDetailsFurniture implements ProductDetails {\n country: String\n color: String\n}\n\ntype Query {\n user(id: ID!): User @join__field(graph: ACCOUNTS)\n me: User @join__field(graph: ACCOUNTS)\n book(isbn: String!): Book @join__field(graph: BOOKS)\n books: [Book] @join__field(graph: BOOKS)\n library(id: ID!): Library @join__field(graph: BOOKS)\n body: Body! @join__field(graph: DOCUMENTS)\n product(upc: String!): Product @join__field(graph: PRODUCT)\n vehicle(id: String!): Vehicle @join__field(graph: PRODUCT)\n topProducts(first: Int = 5): [Product] @join__field(graph: PRODUCT)\n topCars(first: Int = 5): [Car] @join__field(graph: PRODUCT)\n topReviews(first: Int = 5): [Review] @join__field(graph: REVIEWS)\n}\n\ntype Review\n@join__owner(graph: REVIEWS)\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: REVIEWS)\n body(format: Boolean = false): String @join__field(graph: REVIEWS)\n author: User @join__field(graph: REVIEWS, provides: \"username\")\n product: Product @join__field(graph: REVIEWS)\n metadata: [MetadataOrError] @join__field(graph: REVIEWS)\n}\n\ntype SMSAccount\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"number\")\n{\n number: String @join__field(graph: ACCOUNTS)\n}\n\ntype Text implements NamedObject {\n name: String!\n attributes: TextAttributes!\n}\n\ntype TextAttributes {\n bold: Boolean\n text: String\n}\n\nunion Thing = Car | Ikea\n\ninput UpdateReviewInput {\n id: ID!\n body: String\n}\n\ntype User\n@join__owner(graph: ACCOUNTS)\n@join__type(graph: ACCOUNTS, key: \"id\")\n@join__type(graph: ACCOUNTS, key: \"username name{first last}\")\n@join__type(graph: INVENTORY, key: \"id\")\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: ID! @join__field(graph: ACCOUNTS)\n name: Name @join__field(graph: ACCOUNTS)\n username: String @join__field(graph: ACCOUNTS)\n birthDate(locale: String): String @join__field(graph: ACCOUNTS)\n account: AccountType @join__field(graph: ACCOUNTS)\n metadata: [UserMetadata] @join__field(graph: ACCOUNTS)\n goodDescription: Boolean @join__field(graph: INVENTORY, requires: \"metadata{description}\")\n vehicle: Vehicle @join__field(graph: PRODUCT)\n thing: Thing @join__field(graph: PRODUCT)\n reviews: [Review] @join__field(graph: REVIEWS)\n numberOfReviews: Int! @join__field(graph: REVIEWS)\n goodAddress: Boolean @join__field(graph: REVIEWS, requires: \"metadata{address}\")\n}\n\ntype UserMetadata {\n name: String\n address: String\n description: String\n}\n\ntype Van implements Vehicle\n@join__owner(graph: PRODUCT)\n@join__type(graph: PRODUCT, key: \"id\")\n@join__type(graph: REVIEWS, key: \"id\")\n{\n id: String! @join__field(graph: PRODUCT)\n description: String @join__field(graph: PRODUCT)\n price: String @join__field(graph: PRODUCT)\n retailPrice: String @join__field(graph: REVIEWS, requires: \"price\")\n}\n\ninterface Vehicle {\n id: String!\n description: String\n price: String\n retailPrice: String\n}", parse_errors: [], }, }, diff --git a/crates/apollo-compiler/test_data/serializer/ok/0015_supergraph.graphql b/crates/apollo-compiler/test_data/serializer/ok/0015_supergraph.graphql index 2d6fb1bab..48caa2de9 100644 --- a/crates/apollo-compiler/test_data/serializer/ok/0015_supergraph.graphql +++ b/crates/apollo-compiler/test_data/serializer/ok/0015_supergraph.graphql @@ -25,12 +25,15 @@ type Amazon { union Body = Image | Text +"Usually made of pages" type Book implements Product @join__owner(graph: BOOKS) @join__type(graph: BOOKS, key: "isbn") @join__type(graph: INVENTORY, key: "isbn") @join__type(graph: PRODUCT, key: "isbn") @join__type(graph: REVIEWS, key: "isbn") { isbn: String! @join__field(graph: BOOKS) title: String @join__field(graph: BOOKS) + "In the \"\"\"Gregorian\"\"\" calendar" year: Int @join__field(graph: BOOKS) similarBooks: [Book]! @join__field(graph: BOOKS) metadata: [MetadataOrError] @join__field(graph: BOOKS) + "\"\"\"To be in stock or not to be in stock\"\"\"\n\nthat is the question" inStock: Boolean @join__field(graph: INVENTORY) isCheckedOut: Boolean @join__field(graph: INVENTORY) upc: String! @join__field(graph: PRODUCT)