@graphitation/supermassive 3.0.0-alpha.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +22 -2
  3. package/README.md +11 -2
  4. package/lib/__testUtils__/execute.d.ts +1 -1
  5. package/lib/__testUtils__/execute.d.ts.map +1 -1
  6. package/lib/__testUtils__/execute.js +1 -1
  7. package/lib/__testUtils__/execute.js.map +2 -2
  8. package/lib/__testUtils__/execute.mjs +1 -2
  9. package/lib/__testUtils__/execute.mjs.map +2 -2
  10. package/lib/benchmarks/swapi-schema/resolvers.d.ts.map +1 -1
  11. package/lib/benchmarks/swapi-schema/resolvers.js.map +2 -2
  12. package/lib/benchmarks/swapi-schema/resolvers.mjs.map +2 -2
  13. package/lib/executeWithoutSchema.d.ts.map +1 -1
  14. package/lib/executeWithoutSchema.js +26 -22
  15. package/lib/executeWithoutSchema.js.map +2 -2
  16. package/lib/executeWithoutSchema.mjs +26 -23
  17. package/lib/executeWithoutSchema.mjs.map +2 -2
  18. package/lib/utilities/coerceInputValue.d.ts.map +1 -1
  19. package/lib/utilities/coerceInputValue.js +17 -12
  20. package/lib/utilities/coerceInputValue.js.map +2 -2
  21. package/lib/utilities/coerceInputValue.mjs +18 -13
  22. package/lib/utilities/coerceInputValue.mjs.map +2 -2
  23. package/lib/utilities/decodeASTSchema.js.map +2 -2
  24. package/lib/utilities/decodeASTSchema.mjs.map +2 -2
  25. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.d.ts.map +1 -1
  26. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js +3 -7
  27. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js.map +2 -2
  28. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs +5 -9
  29. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs.map +2 -2
  30. package/lib/values.d.ts.map +1 -1
  31. package/lib/values.js +12 -16
  32. package/lib/values.js.map +2 -2
  33. package/lib/values.mjs +12 -17
  34. package/lib/values.mjs.map +2 -2
  35. package/package.json +4 -5
  36. package/scripts/install-graphql-17.js +41 -0
package/CHANGELOG.md CHANGED
@@ -1,12 +1,32 @@
1
1
  # Change Log - @graphitation/supermassive
2
2
 
3
- This log was last generated on Thu, 14 Sep 2023 19:05:21 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 15 Sep 2023 16:06:25 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 3.0.0
8
+
9
+ Fri, 15 Sep 2023 16:06:25 GMT
10
+
11
+ ### Major changes
12
+
13
+ - - feat: execution with compact schema fragments
14
+ - feat: schema fragment loading on demand
15
+ - feat: new document annotation strategy
16
+ - feat: experimental `@defer` and `@stream` support
17
+ - (vladimir.razuvaev@gmail.com)
18
+
19
+ ## 3.0.0-alpha.9
20
+
21
+ Fri, 15 Sep 2023 00:43:00 GMT
22
+
23
+ ### Changes
24
+
25
+ - graphql15 compatibility (vladimir.razuvaev@gmail.com)
26
+
7
27
  ## 3.0.0-alpha.8
8
28
 
9
- Thu, 14 Sep 2023 19:05:21 GMT
29
+ Thu, 14 Sep 2023 19:05:33 GMT
10
30
 
11
31
  ### Changes
12
32
 
package/README.md CHANGED
@@ -25,9 +25,9 @@ Similarly, the GraphQL operations themselves, described using e.g. [GraphQL SDL]
25
25
 
26
26
  ## Implementation details and plans
27
27
 
28
- ### Current
28
+ ### Execution with schema fragments
29
29
 
30
- Starting with version 3.0, supermassive expects a compact fragment of the schema alongside documents that are sent to it.
30
+ Starting with version 3.0, supermassive expects a compact _fragment_ of the schema alongside executable documents.
31
31
  It doesn't require having a full schema, only a small fragment necessary for a specific operation.
32
32
 
33
33
  Schema fragment format is much more compact than the graphql-js AST. It is optimized for fast merging and serializing,
@@ -54,6 +54,15 @@ This strategy implies "schema map" to properly map operations or individual type
54
54
  Other strategies usually represent a variation of those two. E.g. a fragment per specific group of operations, group of modules,
55
55
  or mix of modules and operations. Supermassive is agnostic to your "fragmentizing" strategy.
56
56
 
57
+ ### Experimental feature: `@defer` and `@stream` support
58
+
59
+ Current draft of GraphQL spec includes support for incremental result delivery via `@defer` and `@stream`
60
+ directives. Supermassive provides an _experimental_ implementation for those directives and incremental delivery.
61
+ However, APIs and response format _will_ change, expect breaking changes.
62
+
63
+ > Note: see [this discussion](https://github.com/graphql/defer-stream-wg) of the new response format in the
64
+ > defer and stream working group
65
+
57
66
  ### Possible future - pre-normalized executor
58
67
 
59
68
  In a scenario where executor is running close to the client (sometimes even in same process or at least in same browser), it might be worth exploring removing some of the requirements imposed by the usual GraphQL transport - for example serialization. Not only GraphQL executors do the JSON serialization, but also they return the data that is optimized for transport and that matches the query tree. This means clients need to perform often expensive normazilation. As traffic and message size might be less important in same process / same browser scenarios, it might be worthwhile exploring return pre-normalized data from supermassive. This offers massive speedups for some clients like Apollo ([see benchmarks](https://github.com/vladar/graphql-normalized)).
@@ -3,7 +3,7 @@ import { ExecutionResult } from "../types";
3
3
  import { PromiseOrValue } from "graphql/jsutils/PromiseOrValue";
4
4
  import { ObjMap } from "../jsutils/ObjMap";
5
5
  type GraphQLResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> = GraphQLExecutionResult<TData, TExtensions> | AsyncGenerator<GraphQLExecutionResult<TData, TExtensions>, void, void>;
6
- export declare function createExecutionUtils(graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>, graphqlSubscribe: (args: ExecutionArgs) => PromiseOrValue<AsyncGenerator<ExecutionResult, void, void> | ExecutionResult>): {
6
+ export declare function createExecutionUtils(graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>, graphqlSubscribe: (args: ExecutionArgs) => PromiseOrValue<AsyncIterableIterator<ExecutionResult> | ExecutionResult>): {
7
7
  compareResultForExecuteWithoutSchemaWithMVSAnnotation: (schema: GraphQLSchema, query: string, variables?: Record<string, unknown>) => Promise<void>;
8
8
  compareResultsForExecuteWithSchema: (schema: GraphQLSchema, query: string, variables?: Record<string, unknown>) => Promise<void>;
9
9
  drainExecution: (result: ExecutionResult | GraphQLResult) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/__testUtils__/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAKb,aAAa,EACb,aAAa,IAAI,oBAAoB,EACrC,eAAe,IAAI,sBAAsB,EAC1C,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,KAAK,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IACrE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,GAC1C,cAAc,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3E,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,cAAc,CAAC,eAAe,CAAC,EACxE,gBAAgB,EAAE,CAChB,IAAI,EAAE,aAAa,KAChB,cAAc,CACjB,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe,CAC9D;oEAkCS,aAAa,SACd,MAAM,cACF,OAAO,MAAM,EAAE,OAAO,CAAC;iDAjC1B,aAAa,SACd,MAAM,cACD,OAAO,MAAM,EAAE,OAAO,CAAC;6BAkG3B,eAAe,GAAG,aAAa,KACtC,QAAQ,OAAO,CAAC;sCAhCX,oBAAoB,KACzB,eAAe,aAAa,CAAC;EA8DjC"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/__testUtils__/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAIb,aAAa,EACb,aAAa,IAAI,oBAAoB,EACrC,eAAe,IAAI,sBAAsB,EAC1C,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,KAAK,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IACrE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,GAC1C,cAAc,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3E,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,cAAc,CAAC,eAAe,CAAC,EACxE,gBAAgB,EAAE,CAChB,IAAI,EAAE,aAAa,KAChB,cAAc,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;oEAkCnE,aAAa,SACd,MAAM,cACF,OAAO,MAAM,EAAE,OAAO,CAAC;iDAjC1B,aAAa,SACd,MAAM,cACD,OAAO,MAAM,EAAE,OAAO,CAAC;6BAkG3B,eAAe,GAAG,aAAa,KACtC,QAAQ,OAAO,CAAC;sCAhCX,oBAAoB,KACzB,eAAe,aAAa,CAAC;EA8DjC"}
@@ -161,7 +161,7 @@ function createExecutionUtils(graphqlExecute, graphqlSubscribe) {
161
161
  if (!operation) {
162
162
  throw new Error("Bad operation in test");
163
163
  }
164
- if (operation.operation === import_graphql.OperationTypeNode.SUBSCRIPTION) {
164
+ if (operation.operation === "subscription") {
165
165
  return graphqlSubscribe(args);
166
166
  } else {
167
167
  return graphqlExecute(args);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/__testUtils__/execute.ts"],
4
- "sourcesContent": ["import {\n DocumentNode,\n GraphQLSchema,\n Kind,\n OperationDefinitionNode,\n OperationTypeNode,\n parse,\n ExecutionArgs,\n ExecutionArgs as GraphQLExecutionArgs,\n ExecutionResult as GraphQLExecutionResult,\n} from \"graphql\";\nimport { executeWithSchema } from \"../executeWithSchema\";\nimport { typeDefs } from \"../benchmarks/swapi-schema\";\nimport resolvers from \"../benchmarks/swapi-schema/resolvers\";\nimport { ExecutionResult, UserResolvers } from \"../types\";\nimport models from \"../benchmarks/swapi-schema/models\";\nimport { executeWithoutSchema } from \"../executeWithoutSchema\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\nimport { PromiseOrValue } from \"graphql/jsutils/PromiseOrValue\";\nimport { ObjMap } from \"../jsutils/ObjMap\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\n\ntype GraphQLResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> =\n | GraphQLExecutionResult<TData, TExtensions>\n | AsyncGenerator<GraphQLExecutionResult<TData, TExtensions>, void, void>;\n\nexport function createExecutionUtils(\n graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>,\n graphqlSubscribe: (\n args: ExecutionArgs,\n ) => PromiseOrValue<\n AsyncGenerator<ExecutionResult, void, void> | ExecutionResult\n >,\n) {\n async function compareResultsForExecuteWithSchema(\n schema: GraphQLSchema,\n query: string,\n variables?: Record<string, unknown>,\n ) {\n expect.assertions(1);\n const document = parse(query);\n const result = await drainExecution(\n await executeWithSchema({\n document,\n definitions: typeDefs,\n resolvers: resolvers as UserResolvers<unknown, unknown>,\n contextValue: {\n models,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n async function compareResultForExecuteWithoutSchemaWithMVSAnnotation(\n schema: GraphQLSchema,\n query: string,\n variables: Record<string, unknown> = {},\n ) {\n expect.assertions(1);\n const document = parse(query);\n const { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n const result = await drainExecution(\n await executeWithoutSchema({\n document,\n contextValue: {\n models,\n },\n schemaFragment: {\n schemaId: \"test\",\n definitions,\n resolvers: resolvers as UserResolvers,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n function graphqlExecuteOrSubscribe(\n args: GraphQLExecutionArgs,\n ): PromiseOrValue<GraphQLResult> {\n const operationName = args.operationName;\n let operation: OperationDefinitionNode | undefined;\n for (const definition of (args.document as unknown as DocumentNode)\n .definitions) {\n switch (definition.kind) {\n case Kind.OPERATION_DEFINITION:\n if (operationName == null) {\n if (operation !== undefined) {\n throw new Error(\"Bad operation in test\");\n }\n operation = definition;\n } else if (definition.name?.value === operationName) {\n operation = definition;\n }\n break;\n }\n }\n if (!operation) {\n throw new Error(\"Bad operation in test\");\n }\n\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n return graphqlSubscribe(args) as GraphQLResult;\n } else {\n return graphqlExecute(args) as GraphQLResult;\n }\n }\n\n async function drainExecution(\n result: ExecutionResult | GraphQLResult,\n ): Promise<unknown> {\n let processedResult;\n if (isAsyncIterable(result)) {\n processedResult = await drainAsyncGeneratorToArray(result);\n } else if (\"subsequentResults\" in result) {\n processedResult = {\n ...result,\n subsequentResults: await drainAsyncGeneratorToArray(\n result.subsequentResults,\n ),\n };\n } else {\n processedResult = result;\n }\n return processedResult;\n }\n\n async function drainAsyncGeneratorToArray<T>(\n collection: AsyncGenerator<T, void, void>,\n ): Promise<T[]> {\n const result: T[] = [];\n await forAwaitEach(collection, (item) => result.push(item));\n return result;\n }\n\n return {\n compareResultForExecuteWithoutSchemaWithMVSAnnotation,\n compareResultsForExecuteWithSchema,\n drainExecution,\n graphqlExecuteOrSubscribe,\n };\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n DocumentNode,\n GraphQLSchema,\n Kind,\n OperationDefinitionNode,\n parse,\n ExecutionArgs,\n ExecutionArgs as GraphQLExecutionArgs,\n ExecutionResult as GraphQLExecutionResult,\n} from \"graphql\";\nimport { executeWithSchema } from \"../executeWithSchema\";\nimport { typeDefs } from \"../benchmarks/swapi-schema\";\nimport resolvers from \"../benchmarks/swapi-schema/resolvers\";\nimport { ExecutionResult, UserResolvers } from \"../types\";\nimport models from \"../benchmarks/swapi-schema/models\";\nimport { executeWithoutSchema } from \"../executeWithoutSchema\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\nimport { PromiseOrValue } from \"graphql/jsutils/PromiseOrValue\";\nimport { ObjMap } from \"../jsutils/ObjMap\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\n\ntype GraphQLResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> =\n | GraphQLExecutionResult<TData, TExtensions>\n | AsyncGenerator<GraphQLExecutionResult<TData, TExtensions>, void, void>;\n\nexport function createExecutionUtils(\n graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>,\n graphqlSubscribe: (\n args: ExecutionArgs,\n ) => PromiseOrValue<AsyncIterableIterator<ExecutionResult> | ExecutionResult>,\n) {\n async function compareResultsForExecuteWithSchema(\n schema: GraphQLSchema,\n query: string,\n variables?: Record<string, unknown>,\n ) {\n expect.assertions(1);\n const document = parse(query);\n const result = await drainExecution(\n await executeWithSchema({\n document,\n definitions: typeDefs,\n resolvers: resolvers as UserResolvers<unknown, unknown>,\n contextValue: {\n models,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n async function compareResultForExecuteWithoutSchemaWithMVSAnnotation(\n schema: GraphQLSchema,\n query: string,\n variables: Record<string, unknown> = {},\n ) {\n expect.assertions(1);\n const document = parse(query);\n const { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n const result = await drainExecution(\n await executeWithoutSchema({\n document,\n contextValue: {\n models,\n },\n schemaFragment: {\n schemaId: \"test\",\n definitions,\n resolvers: resolvers as UserResolvers,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n function graphqlExecuteOrSubscribe(\n args: GraphQLExecutionArgs,\n ): PromiseOrValue<GraphQLResult> {\n const operationName = args.operationName;\n let operation: OperationDefinitionNode | undefined;\n for (const definition of (args.document as unknown as DocumentNode)\n .definitions) {\n switch (definition.kind) {\n case Kind.OPERATION_DEFINITION:\n if (operationName == null) {\n if (operation !== undefined) {\n throw new Error(\"Bad operation in test\");\n }\n operation = definition;\n } else if (definition.name?.value === operationName) {\n operation = definition;\n }\n break;\n }\n }\n if (!operation) {\n throw new Error(\"Bad operation in test\");\n }\n\n if (operation.operation === \"subscription\") {\n return graphqlSubscribe(args) as GraphQLResult;\n } else {\n return graphqlExecute(args) as GraphQLResult;\n }\n }\n\n async function drainExecution(\n result: ExecutionResult | GraphQLResult,\n ): Promise<unknown> {\n let processedResult;\n if (isAsyncIterable(result)) {\n processedResult = await drainAsyncGeneratorToArray(result);\n } else if (\"subsequentResults\" in result) {\n processedResult = {\n ...result,\n subsequentResults: await drainAsyncGeneratorToArray(\n result.subsequentResults,\n ),\n };\n } else {\n processedResult = result;\n }\n return processedResult;\n }\n\n async function drainAsyncGeneratorToArray<T>(\n collection: AsyncGenerator<T, void, void>,\n ): Promise<T[]> {\n const result: T[] = [];\n await forAwaitEach(collection, (item) => result.push(item));\n return result;\n }\n\n return {\n compareResultForExecuteWithoutSchemaWithMVSAnnotation,\n compareResultsForExecuteWithSchema,\n drainExecution,\n graphqlExecuteOrSubscribe,\n };\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["resolvers", "models"]
7
7
  }
@@ -41,7 +41,6 @@ var __async = (__this, __arguments, generator) => {
41
41
  // src/__testUtils__/execute.ts
42
42
  import {
43
43
  Kind,
44
- OperationTypeNode,
45
44
  parse
46
45
  } from "graphql";
47
46
  import { executeWithSchema } from "../executeWithSchema.mjs";
@@ -136,7 +135,7 @@ function createExecutionUtils(graphqlExecute, graphqlSubscribe) {
136
135
  if (!operation) {
137
136
  throw new Error("Bad operation in test");
138
137
  }
139
- if (operation.operation === OperationTypeNode.SUBSCRIPTION) {
138
+ if (operation.operation === "subscription") {
140
139
  return graphqlSubscribe(args);
141
140
  } else {
142
141
  return graphqlExecute(args);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/__testUtils__/execute.ts"],
4
- "sourcesContent": ["import {\n DocumentNode,\n GraphQLSchema,\n Kind,\n OperationDefinitionNode,\n OperationTypeNode,\n parse,\n ExecutionArgs,\n ExecutionArgs as GraphQLExecutionArgs,\n ExecutionResult as GraphQLExecutionResult,\n} from \"graphql\";\nimport { executeWithSchema } from \"../executeWithSchema\";\nimport { typeDefs } from \"../benchmarks/swapi-schema\";\nimport resolvers from \"../benchmarks/swapi-schema/resolvers\";\nimport { ExecutionResult, UserResolvers } from \"../types\";\nimport models from \"../benchmarks/swapi-schema/models\";\nimport { executeWithoutSchema } from \"../executeWithoutSchema\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\nimport { PromiseOrValue } from \"graphql/jsutils/PromiseOrValue\";\nimport { ObjMap } from \"../jsutils/ObjMap\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\n\ntype GraphQLResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> =\n | GraphQLExecutionResult<TData, TExtensions>\n | AsyncGenerator<GraphQLExecutionResult<TData, TExtensions>, void, void>;\n\nexport function createExecutionUtils(\n graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>,\n graphqlSubscribe: (\n args: ExecutionArgs,\n ) => PromiseOrValue<\n AsyncGenerator<ExecutionResult, void, void> | ExecutionResult\n >,\n) {\n async function compareResultsForExecuteWithSchema(\n schema: GraphQLSchema,\n query: string,\n variables?: Record<string, unknown>,\n ) {\n expect.assertions(1);\n const document = parse(query);\n const result = await drainExecution(\n await executeWithSchema({\n document,\n definitions: typeDefs,\n resolvers: resolvers as UserResolvers<unknown, unknown>,\n contextValue: {\n models,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n async function compareResultForExecuteWithoutSchemaWithMVSAnnotation(\n schema: GraphQLSchema,\n query: string,\n variables: Record<string, unknown> = {},\n ) {\n expect.assertions(1);\n const document = parse(query);\n const { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n const result = await drainExecution(\n await executeWithoutSchema({\n document,\n contextValue: {\n models,\n },\n schemaFragment: {\n schemaId: \"test\",\n definitions,\n resolvers: resolvers as UserResolvers,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n function graphqlExecuteOrSubscribe(\n args: GraphQLExecutionArgs,\n ): PromiseOrValue<GraphQLResult> {\n const operationName = args.operationName;\n let operation: OperationDefinitionNode | undefined;\n for (const definition of (args.document as unknown as DocumentNode)\n .definitions) {\n switch (definition.kind) {\n case Kind.OPERATION_DEFINITION:\n if (operationName == null) {\n if (operation !== undefined) {\n throw new Error(\"Bad operation in test\");\n }\n operation = definition;\n } else if (definition.name?.value === operationName) {\n operation = definition;\n }\n break;\n }\n }\n if (!operation) {\n throw new Error(\"Bad operation in test\");\n }\n\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n return graphqlSubscribe(args) as GraphQLResult;\n } else {\n return graphqlExecute(args) as GraphQLResult;\n }\n }\n\n async function drainExecution(\n result: ExecutionResult | GraphQLResult,\n ): Promise<unknown> {\n let processedResult;\n if (isAsyncIterable(result)) {\n processedResult = await drainAsyncGeneratorToArray(result);\n } else if (\"subsequentResults\" in result) {\n processedResult = {\n ...result,\n subsequentResults: await drainAsyncGeneratorToArray(\n result.subsequentResults,\n ),\n };\n } else {\n processedResult = result;\n }\n return processedResult;\n }\n\n async function drainAsyncGeneratorToArray<T>(\n collection: AsyncGenerator<T, void, void>,\n ): Promise<T[]> {\n const result: T[] = [];\n await forAwaitEach(collection, (item) => result.push(item));\n return result;\n }\n\n return {\n compareResultForExecuteWithoutSchemaWithMVSAnnotation,\n compareResultsForExecuteWithSchema,\n drainExecution,\n graphqlExecuteOrSubscribe,\n };\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n DocumentNode,\n GraphQLSchema,\n Kind,\n OperationDefinitionNode,\n parse,\n ExecutionArgs,\n ExecutionArgs as GraphQLExecutionArgs,\n ExecutionResult as GraphQLExecutionResult,\n} from \"graphql\";\nimport { executeWithSchema } from \"../executeWithSchema\";\nimport { typeDefs } from \"../benchmarks/swapi-schema\";\nimport resolvers from \"../benchmarks/swapi-schema/resolvers\";\nimport { ExecutionResult, UserResolvers } from \"../types\";\nimport models from \"../benchmarks/swapi-schema/models\";\nimport { executeWithoutSchema } from \"../executeWithoutSchema\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\nimport { PromiseOrValue } from \"graphql/jsutils/PromiseOrValue\";\nimport { ObjMap } from \"../jsutils/ObjMap\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\n\ntype GraphQLResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> =\n | GraphQLExecutionResult<TData, TExtensions>\n | AsyncGenerator<GraphQLExecutionResult<TData, TExtensions>, void, void>;\n\nexport function createExecutionUtils(\n graphqlExecute: (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>,\n graphqlSubscribe: (\n args: ExecutionArgs,\n ) => PromiseOrValue<AsyncIterableIterator<ExecutionResult> | ExecutionResult>,\n) {\n async function compareResultsForExecuteWithSchema(\n schema: GraphQLSchema,\n query: string,\n variables?: Record<string, unknown>,\n ) {\n expect.assertions(1);\n const document = parse(query);\n const result = await drainExecution(\n await executeWithSchema({\n document,\n definitions: typeDefs,\n resolvers: resolvers as UserResolvers<unknown, unknown>,\n contextValue: {\n models,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n async function compareResultForExecuteWithoutSchemaWithMVSAnnotation(\n schema: GraphQLSchema,\n query: string,\n variables: Record<string, unknown> = {},\n ) {\n expect.assertions(1);\n const document = parse(query);\n const { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n const result = await drainExecution(\n await executeWithoutSchema({\n document,\n contextValue: {\n models,\n },\n schemaFragment: {\n schemaId: \"test\",\n definitions,\n resolvers: resolvers as UserResolvers,\n },\n variableValues: variables,\n }),\n );\n const validResult = await drainExecution(\n await graphqlExecuteOrSubscribe({\n document,\n contextValue: {\n models,\n },\n schema,\n variableValues: variables,\n }),\n );\n expect(result).toEqual(validResult);\n }\n\n function graphqlExecuteOrSubscribe(\n args: GraphQLExecutionArgs,\n ): PromiseOrValue<GraphQLResult> {\n const operationName = args.operationName;\n let operation: OperationDefinitionNode | undefined;\n for (const definition of (args.document as unknown as DocumentNode)\n .definitions) {\n switch (definition.kind) {\n case Kind.OPERATION_DEFINITION:\n if (operationName == null) {\n if (operation !== undefined) {\n throw new Error(\"Bad operation in test\");\n }\n operation = definition;\n } else if (definition.name?.value === operationName) {\n operation = definition;\n }\n break;\n }\n }\n if (!operation) {\n throw new Error(\"Bad operation in test\");\n }\n\n if (operation.operation === \"subscription\") {\n return graphqlSubscribe(args) as GraphQLResult;\n } else {\n return graphqlExecute(args) as GraphQLResult;\n }\n }\n\n async function drainExecution(\n result: ExecutionResult | GraphQLResult,\n ): Promise<unknown> {\n let processedResult;\n if (isAsyncIterable(result)) {\n processedResult = await drainAsyncGeneratorToArray(result);\n } else if (\"subsequentResults\" in result) {\n processedResult = {\n ...result,\n subsequentResults: await drainAsyncGeneratorToArray(\n result.subsequentResults,\n ),\n };\n } else {\n processedResult = result;\n }\n return processedResult;\n }\n\n async function drainAsyncGeneratorToArray<T>(\n collection: AsyncGenerator<T, void, void>,\n ): Promise<T[]> {\n const result: T[] = [];\n await forAwaitEach(collection, (item) => result.push(item));\n return result;\n }\n\n return {\n compareResultForExecuteWithoutSchemaWithMVSAnnotation,\n compareResultsForExecuteWithSchema,\n drainExecution,\n graphqlExecuteOrSubscribe,\n };\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/resolvers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AA0OpE,QAAA,MAAM,SAAS,EAAE,2BAA2B,CAAC,WAAW,CA2LvD,CAAC;AAKF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/resolvers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAkPpE,QAAA,MAAM,SAAS,EAAE,2BAA2B,CAAC,WAAW,CA2LvD,CAAC;AAKF,eAAe,SAAS,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/benchmarks/swapi-schema/resolvers.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { GraphQLFieldResolver } from \"graphql/type/definition\";\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator, forAwaitEach, getAsyncIterator } from \"iterall\";\nimport { mapAsyncIterator } from \"../../utilities/mapAsyncIterator\";\n\nconst films: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n return item;\n },\n );\n};\n\nconst starships: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 1));\n return item;\n },\n );\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any, any> = async function (\n parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n films,\n bubblingError: () => {\n throw new Error(\"Bubbling!\");\n },\n bubblingListError: () => {\n return forAwaitEach([1, 2, 3], async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (item === 2) {\n throw new Error(\"Bubbling in list!\");\n }\n return item;\n });\n },\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoE;AACpE,8BAAiC;AAEjC,MAAM,QAAkD,CACtD,QACA,OACA,EAAE,OAAO,MACN;AACH,aAAO;AAAA,QACL;AAAA,UACE;AAAA,QACE,OACG,QAAQ,QAAQ,EAChB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,MAAM,SAAS,EAAE,CAAC;AAAA,MAC9D;AAAA,IACF;AAAA;AAAA,IAEA,CAAO,SAAS;AACd,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,CAAC,CAAC;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,MAAM,YAAsD,CAC1D,QACA,OACA,EAAE,OAAO,MACN;AACH,aAAO;AAAA,QACL;AAAA,UACE;AAAA,QACE,OACG,QAAQ,YAAY,EACpB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,UAAU,SAAS,EAAE,CAAC;AAAA,MAClE;AAAA,IACF;AAAA;AAAA,IAGA,CAAO,SAAS;AACd,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,CAAC,CAAC;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,SAAS,OAAO,KAAuD;AACrE,SAAO,CAAC,QAAQ,OAAO,EAAE,OAAO,MAAM;AACpC,WAAO,OACJ,QAAQ,SAAS,EACjB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC;AAAA,EAC7D;AACF;AAEA,MAAM,WAAqD,CACzD,QACA,OACA,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,WAAW,EACnB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,SAAS,SAAS,EAAE,CAAC;AACjE;AAEA,MAAM,UAAoD,CACxD,QACA,OACA,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,UAAU,EAClB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,QAAQ,SAAS,EAAE,CAAC;AAChE;AAEA,MAAM,UAAoD,CACxD,QACA,OACA,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,UAAU,EAClB,OAAO,CAAC,EAAE,GAAG,MAAmB,OAAO,QAAQ,SAAS,EAAE,CAAC;AAChE;AACA,MAAM,YAAsD,CAC1D,QACA,OACA,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,UAAU,EAClB,KAAK,CAACA,YAAgBA,QAAO,OAAO,OAAO,SAAS;AACzD;AAEA,MAAM,SAAmD,CACvD,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OAAO,QAAQ,SAAS,EAAE,KAAK,CAACC,YAAgBA,QAAO,OAAO,EAAE;AACzE;AAEA,MAAM,SAAmD,CACvD,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OAAO,QAAQ,UAAU,EAAE,KAAK,CAACD,YAAgBA,QAAO,OAAO,EAAE;AAC1E;AAEA,MAAM,OAAiD,CACrD,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OAAO,QAAQ,QAAQ,EAAE,KAAK,CAACE,UAAcA,MAAK,OAAO,EAAE;AACpE;AAEA,MAAM,WAAqD,CACzD,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,YAAY,EACpB,KAAK,CAACC,cAAkBA,UAAS,OAAO,EAAE;AAC/C;AAEA,MAAM,YAAsD,CAC1D,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,YAAY,EACpB,KAAK,CAACC,eAAmBA,WAAU,OAAO,EAAE;AACjD;AAEA,MAAM,UAAoD,CACxD,QACA,EAAE,GAAG,GACL,EAAE,OAAO,MACN;AACH,SAAO,OAAO,QAAQ,WAAW,EAAE,KAAK,CAACC,aAAiBA,SAAQ,OAAO,EAAE;AAC7E;AAEA,MAAM,qBAA+D,CACnE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,SAAS,EACjB,OAAO,CAACJ,YAAgB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,QAAO,IAAI,CAAC;AACtE;AAEA,MAAM,sBAAgE,CACpE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,UAAU,EAClB,OAAO,CAACD,YAAgB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,QAAO,IAAI,CAAC;AACtE;AAEA,MAAM,qBAA+D,CACnE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,QAAQ,EAChB,OAAO,CAACE,UAAc,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,MAAK,KAAK,CAAC;AACnE;AAEA,MAAM,sBAAgE,CACpE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,UAAU,EAClB,OAAO,CAACI,aAAiB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,SAAQ,IAAI,CAAC;AACxE;AAEA,MAAM,wBAAkE,CACtE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,YAAY,EACpB,OAAO,CAACH,cAAkB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,UAAS,IAAI,CAAC;AAC1E;AAEA,MAAM,uBAAiE,CACrE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,WAAW,EACnB,OAAO,CAACE,aAAiB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,SAAQ,IAAI,CAAC;AACxE;AAEA,MAAM,cAAwD,SAC5D,IACA,IACA,IACA;AAAA,6CAHA,QACA,EAAE,OAAO,WAAW,GACpB,EAAE,OAAO,GACT;AACA,QAAI,YAAY;AACd,YAAM,IAAI,MAAM,OAAO;AACvB;AAAA,IACF;AACA,UAAM,UAAU,MAAM,OAAO,QAAQ,SAAS;AAC9C,UAAM,eAAe,KAAK,IAAI,OAAO,QAAQ,MAAM;AACnD,UAAM,SAAc,EAAE,QAAQ,aAAa;AAC3C,aAAS,IAAI,GAAG,IAAI,cAAc,KAAK;AACrC,aAAO,CAAC,IAAI,EAAE,aAAa,QAAQ,CAAC,EAAE;AAAA,IACxC;AACA,eAAO,oCAAoB,MAAM;AAAA,EACnC;AAAA;AAEA,MAAM,yBAAmE,CACvE,QACA,EAAE,OAAO,GACT,EAAE,OAAO,MACN;AACH,SAAO,OACJ,QAAQ,YAAY,EACpB,OAAO,CAACD,eAAmB,IAAI,OAAO,QAAQ,GAAG,EAAE,KAAKA,WAAU,IAAI,CAAC;AAC5E;AAEA,MAAM,YAAsD;AAAA,EAC1D,cAAc;AAAA,IACZ,cAAc,QAAa;AACzB,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,aAAa;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,OAAO,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,MAAM;AAC3C,YAAM,SAAS;AAAA,QACb,GAAG,mBAAmB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC1D,CAAC,OAAY,EAAE,aAAa,WAAW;AAAA,QACzC;AAAA,QACA,GAAG,mBAAmB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC1D,CAAC,OAAY,EAAE,aAAa,aAAa;AAAA,QAC3C;AAAA,QACA,GAAG,oBAAoB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC3D,CAAC,OAAY,EAAE,aAAa,aAAa;AAAA,QAC3C;AAAA,QACA,GAAG,oBAAoB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC3D,CAAC,OAAY,EAAE,aAAa,cAAc;AAAA,QAC5C;AAAA,QACA,GAAG,sBAAsB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC7D,CAAC,OAAY,EAAE,aAAa,eAAe;AAAA,QAC7C;AAAA,QACA,GAAG,uBAAuB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC9D,CAAC,OAAY,EAAE,aAAa,gBAAgB;AAAA,QAC9C;AAAA,QACA,GAAG,qBAAqB,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE;AAAA,UAC5D,CAAC,OAAY,EAAE,aAAa,cAAc;AAAA,QAC5C;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,IAEA,KAAK,QAAQ,MAAM,SAAS,MAAM;AAChC,UAAI;AACJ,cAAQ,KAAK,UAAU;AAAA,QACrB,KAAK,UAAU;AACb,mBAAS,OAAO,QAAQ,MAAM,SAAS,IAAI;AAC3C;AAAA,QACF;AAAA,QACA,KAAK,YAAY;AACf,mBAAS,SAAS,QAAQ,MAAM,SAAS,IAAI;AAC7C;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB,mBAAS,UAAU,QAAQ,MAAM,SAAS,IAAI;AAC9C;AAAA,QACF;AAAA,QACA,KAAK,WAAW;AACd,mBAAS,QAAQ,QAAQ,MAAM,SAAS,IAAI;AAC5C;AAAA,QACF;AAAA,QACA,KAAK,WAAW;AACd,mBAAS,QAAQ,QAAQ,MAAM,SAAS,IAAI;AAC5C;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,mBAAS,OAAO,QAAQ,MAAM,SAAS,IAAI;AAC3C;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,mBAAS,KAAK,QAAQ,MAAM,SAAS,IAAI;AACzC;AAAA,QACF;AAAA,QACA;AACE,gBAAM,IAAI,MAAM,qBAAqB,KAAK,UAAU;AAAA,MACxD;AACA,aAAO,iCACF,SADE;AAAA,QAEL,YAAY,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,aAAa,SAAS,OAAO,EAAE,OAAO,GAAG;AACvC,aAAO,OAAO,QAAQ,YAAY;AAAA,IACpC;AAAA,IACA,SAAS,SAAS,OAAO,EAAE,OAAO,GAAG;AACnC,aAAO,OAAO,QAAQ,QAAQ;AAAA,IAChC;AAAA,IACA,UAAU,SAAS,OAAO,EAAE,OAAO,GAAG;AACpC,aAAO,OAAO,QAAQ,SAAS;AAAA,IACjC;AAAA,IACA,WAAW,SAAS,OAAO,EAAE,OAAO,GAAG;AACrC,aAAO,OAAO,QAAQ,UAAU;AAAA,IAClC;AAAA,IACA,WAAW,SAAS,OAAO,EAAE,OAAO,GAAG;AACrC,aAAO,OAAO,QAAQ,UAAU;AAAA,IAClC;AAAA,IACA,cAAc,SAAS,OAAO,EAAE,OAAO,GAAG;AACxC,aAAO,OAAO,QAAQ,YAAY;AAAA,IACpC;AAAA,IACA,qBAAqB,SAAS,MAAM;AAClC,aAAO,KAAK,UAAU,IAAI;AAAA,IAC5B;AAAA,IACA,WAAW,SAAS,MAAM;AACxB,aAAO,KAAK,UAAU,IAAI;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,OAAO,YAAY;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM,CAACD,cAAa,CAACA,UAAS;AAAA,IAC9B,mBAAmB,CAACA,cAAa,CAACA,UAAS;AAAA,IAC3C,gBAAgB,CAACA,cAAa,CAACA,UAAS;AAAA,IACxC,YAAY,CAACA,cAAa,CAACA,UAAS;AAAA,IACpC,wBAAwB,CAACA,cAAa,CAACA,UAAS;AAAA,IAChD,QAAQ,CAACA,cAAa,CAACA,UAAS;AAAA,IAChC,iBAAiB,CAACA,cAAa,CAACA,UAAS;AAAA,IACzC,QAAQ,OAAO,QAAQ;AAAA,IACvB;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,UAAU,CAAC,MAAM;AAAA,IAC1B,MAAM,CAAC,UAAU,CAAC,MAAM;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,MAAM;AACnB,YAAM,IAAI,MAAM,WAAW;AAAA,IAC7B;AAAA,IACA,mBAAmB,MAAM;AACvB,iBAAO,6BAAa,CAAC,GAAG,GAAG,CAAC,GAAG,CAAO,SAAS;AAC7C,cAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,CAAC,CAAC;AACrD,YAAI,SAAS,GAAG;AACd,gBAAM,IAAI,MAAM,mBAAmB;AAAA,QACrC;AACA,eAAO;AAAA,MACT,EAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB,CAACE,aAAY,CAACA,SAAQ;AAAA,IACtC,YAAY,CAACA,aAAY,CAACA,SAAQ;AAAA,IAClC,wBAAwB,CAACA,aAAY,CAACA,SAAQ;AAAA,IAC9C,MAAM,CAACA,aAAY,YAAYA,SAAQ,IAAI;AAAA,IAC3C,QAAQ,CAACA,aAAY,CAACA,SAAQ;AAAA,IAC9B,iBAAiB,CAACA,aAAY,CAACA,SAAQ;AAAA,IACvC,QAAQ,OAAO,QAAQ;AAAA,EACzB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU,CAACL,YAAW,CAACA,QAAO;AAAA,IAC9B,iBAAiB,CAACA,YAAW,CAACA,QAAO;AAAA,IACrC,gBAAgB,CAACA,YAAW,CAACA,QAAO;AAAA,IACpC,YAAY,CAACA,YAAW,CAACA,QAAO;AAAA,IAChC,WAAW,OAAO,WAAW;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,kBAAkB,CAACM,aAAY,CAACA,SAAQ;AAAA,IACxC,gBAAgB,CAACA,aAAY,CAACA,SAAQ;AAAA,IACtC;AAAA,IACA,QAAQ,OAAO,QAAQ;AAAA,EACzB;AAAA,EACA,WAAW;AAAA,IACT,gBAAgB,CAACD,aAAY,CAACA,SAAQ;AAAA,IACtC,YAAY,CAACA,aAAY,CAACA,SAAQ;AAAA,IAClC,wBAAwB,CAACA,aAAY,CAACA,SAAQ;AAAA,IAC9C,MAAM,CAACA,aAAY,YAAYA,SAAQ,IAAI;AAAA,IAC3C,QAAQ,CAACA,aAAY,CAACA,SAAQ;AAAA,IAC9B,iBAAiB,CAACA,aAAY,CAACA,SAAQ;AAAA,EACzC;AACF;AAEA,MAAM,cAAc,CAAC,MACnB,OAAO,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK;AAEjD,IAAO,oBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator, forAwaitEach, getAsyncIterator } from \"iterall\";\nimport { mapAsyncIterator } from \"../../utilities/mapAsyncIterator\";\n\n// Note: need this for graphql15-graphql17 cross-compatibility\ntype GraphQLFieldResolver<T = any, U = any, I = any> = (\n parent: T,\n args: U,\n context: I,\n info: any,\n) => any;\n\nconst films: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n return item;\n },\n );\n};\n\nconst starships: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 1));\n return item;\n },\n );\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any> = async function (\n parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n films,\n bubblingError: () => {\n throw new Error(\"Bubbling!\");\n },\n bubblingListError: () => {\n return forAwaitEach([1, 2, 3], async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (item === 2) {\n throw new Error(\"Bubbling in list!\");\n }\n return item;\n });\n },\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
5
+ "mappings": "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",
6
6
  "names": ["planet", "person", "film", "starship", "transport", "vehicle", "species"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/benchmarks/swapi-schema/resolvers.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { GraphQLFieldResolver } from \"graphql/type/definition\";\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator, forAwaitEach, getAsyncIterator } from \"iterall\";\nimport { mapAsyncIterator } from \"../../utilities/mapAsyncIterator\";\n\nconst films: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n return item;\n },\n );\n};\n\nconst starships: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 1));\n return item;\n },\n );\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any, any> = async function (\n parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n films,\n bubblingError: () => {\n throw new Error(\"Bubbling!\");\n },\n bubblingListError: () => {\n return forAwaitEach([1, 2, 3], async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (item === 2) {\n throw new Error(\"Bubbling in list!\");\n }\n return item;\n });\n },\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { IExecutableSchemaDefinition } from \"@graphql-tools/schema\";\nimport { createAsyncIterator, forAwaitEach, getAsyncIterator } from \"iterall\";\nimport { mapAsyncIterator } from \"../../utilities/mapAsyncIterator\";\n\n// Note: need this for graphql15-graphql17 cross-compatibility\ntype GraphQLFieldResolver<T = any, U = any, I = any> = (\n parent: T,\n args: U,\n context: I,\n info: any,\n) => any;\n\nconst films: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/films\")\n .filter(({ id }: { id: any }) => parent.films.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n return item;\n },\n );\n};\n\nconst starships: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return mapAsyncIterator(\n getAsyncIterator(\n createAsyncIterator(\n models\n .getData(\"/starships\")\n .filter(({ id }: { id: any }) => parent.starships.includes(id)),\n ),\n ) as unknown as AsyncIterable<any>,\n // this ensures it's a awaitable iterator\n\n async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 1));\n return item;\n },\n );\n};\n\nfunction people(key: string): GraphQLFieldResolver<any, any, any> {\n return (parent, _args, { models }) => {\n return models\n .getData(\"/people\")\n .filter(({ id }: { id: any }) => parent[key].includes(id));\n };\n}\n\nconst vehicles: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter(({ id }: { id: any }) => parent.vehicles.includes(id));\n};\n\nconst planets: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter(({ id }: { id: any }) => parent.planets.includes(id));\n};\n\nconst species: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter(({ id }: { id: any }) => parent.species.includes(id));\n};\nconst homeworld: GraphQLFieldResolver<any, any, any> = (\n parent,\n _args,\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .find((planet: any) => planet.id === parent.homeworld);\n};\n\nconst person: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/people\").find((person: any) => person.id === id);\n};\n\nconst planet: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/planets\").find((planet: any) => planet.id === id);\n};\n\nconst film: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/films\").find((film: any) => film.id === id);\n};\n\nconst starship: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .find((starship: any) => starship.id === id);\n};\n\nconst transport: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .find((transport: any) => transport.id === id);\n};\n\nconst vehicle: GraphQLFieldResolver<any, any, any> = (\n parent,\n { id },\n { models },\n) => {\n return models.getData(\"/vehicles\").find((vehicle: any) => vehicle.id === id);\n};\n\nconst searchPeopleByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/people\")\n .filter((person: any) => new RegExp(search, \"i\").test(person.name));\n};\n\nconst searchPlanetsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/planets\")\n .filter((planet: any) => new RegExp(search, \"i\").test(planet.name));\n};\n\nconst searchFilmsByTitle: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/films\")\n .filter((film: any) => new RegExp(search, \"i\").test(film.title));\n};\n\nconst searchSpeciesByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/species\")\n .filter((species: any) => new RegExp(search, \"i\").test(species.name));\n};\n\nconst searchStarshipsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/starships\")\n .filter((starship: any) => new RegExp(search, \"i\").test(starship.name));\n};\n\nconst searchVehiclesByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/vehicles\")\n .filter((vehicle: any) => new RegExp(search, \"i\").test(vehicle.name));\n};\n\nconst emitPersons: GraphQLFieldResolver<any, any, any> = async function (\n parent,\n { limit, throwError },\n { models },\n) {\n if (throwError) {\n throw new Error(\"error\");\n return;\n }\n const persons = await models.getData(\"/people\");\n const personsLimit = Math.min(limit, persons.length);\n const output: any = { length: personsLimit };\n for (let i = 0; i < personsLimit; i++) {\n output[i] = { emitPersons: persons[i] };\n }\n return createAsyncIterator(output);\n};\n\nconst searchTransportsByName: GraphQLFieldResolver<any, any, any> = (\n parent,\n { search },\n { models },\n) => {\n return models\n .getData(\"/transport\")\n .filter((transport: any) => new RegExp(search, \"i\").test(transport.name));\n};\n\nconst resolvers: IExecutableSchemaDefinition[\"resolvers\"] = {\n SearchResult: {\n __resolveType(parent: any) {\n return parent.__typename;\n },\n },\n Subscription: {\n emitPersons: {\n subscribe: emitPersons,\n },\n },\n Query: {\n search(parent, { search }, { models }, info) {\n const result = [\n ...searchFilmsByTitle(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Film\") && r,\n ),\n ...searchPeopleByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Person\") && r,\n ),\n ...searchPlanetsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Planet\") && r,\n ),\n ...searchSpeciesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Species\") && r,\n ),\n ...searchStarshipsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Starship\") && r,\n ),\n ...searchTransportsByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Transport\") && r,\n ),\n ...searchVehiclesByName(parent, { search }, { models }, info).map(\n (r: any) => (r.__typename = \"Vehicle\") && r,\n ),\n ];\n\n return result;\n },\n\n node(parent, args, context, info) {\n let result;\n switch (args.nodeType) {\n case \"Person\": {\n result = person(parent, args, context, info);\n break;\n }\n case \"Starship\": {\n result = starship(parent, args, context, info);\n break;\n }\n case \"Transport\": {\n result = transport(parent, args, context, info);\n break;\n }\n case \"Species\": {\n result = species(parent, args, context, info);\n break;\n }\n case \"Vehicle\": {\n result = vehicle(parent, args, context, info);\n break;\n }\n case \"Planet\": {\n result = planet(parent, args, context, info);\n break;\n }\n case \"Film\": {\n result = film(parent, args, context, info);\n break;\n }\n default:\n throw new Error(`Invalid node type ${args.nodeType}`);\n }\n return {\n ...result,\n __typename: args.nodeType,\n };\n },\n\n person,\n planet,\n film,\n transport,\n starship,\n vehicle,\n searchPeopleByName,\n searchStarshipsByName,\n searchTransportsByName,\n searchSpeciesByName,\n searchVehiclesByName,\n searchPlanetsByName,\n searchFilmsByTitle,\n\n allStarships(_parent, _args, { models }) {\n return models.getData(\"/starships\");\n },\n allFilms(_parent, _args, { models }) {\n return models.getData(\"/films\");\n },\n allPeople(_parent, _args, { models }) {\n return models.getData(\"/people\");\n },\n allPlanets(_parent, _args, { models }) {\n return models.getData(\"/planets\");\n },\n allSpecies(_parent, _args, { models }) {\n return models.getData(\"/species\");\n },\n allTransports(_parent, _args, { models }) {\n return models.getData(\"/transport\");\n },\n advancedDefaultInput(_parent, args) {\n return JSON.stringify(args);\n },\n multiArger(_parent, args) {\n return JSON.stringify(args);\n },\n },\n Film: {\n starships,\n vehicles,\n planets,\n characters: people(\"characters\"),\n species,\n },\n Starship: {\n MGLT: (starship) => +starship.MGLT,\n hyperdrive_rating: (starship) => +starship.hyperdrive_rating,\n cargo_capacity: (starship) => +starship.cargo_capacity,\n passengers: (starship) => +starship.passengers,\n max_atmosphering_speed: (starship) => +starship.max_atmosphering_speed,\n length: (starship) => +starship.length,\n cost_in_credits: (starship) => +starship.cost_in_credits,\n pilots: people(\"pilots\"),\n films,\n },\n Person: {\n height: (pilot) => +pilot.height,\n mass: (pilot) => +pilot.mass,\n starships,\n homeworld,\n films,\n bubblingError: () => {\n throw new Error(\"Bubbling!\");\n },\n bubblingListError: () => {\n return forAwaitEach([1, 2, 3], async (item) => {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (item === 2) {\n throw new Error(\"Bubbling in list!\");\n }\n return item;\n });\n },\n },\n Vehicle: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n pilots: people(\"pilots\"),\n },\n Planet: {\n diameter: (planet) => +planet.diameter,\n rotation_period: (planet) => +planet.rotation_period,\n orbital_period: (planet) => +planet.orbital_period,\n population: (planet) => +planet.population,\n residents: people(\"residents\"),\n films,\n },\n Species: {\n average_lifespan: (species) => +species.average_lifespan,\n average_height: (species) => +species.average_height,\n homeworld,\n people: people(\"people\"),\n },\n Transport: {\n cargo_capacity: (vehicle) => +vehicle.cargo_capacity,\n passengers: (vehicle) => +vehicle.passengers,\n max_atmosphering_speed: (vehicle) => +vehicle.max_atmosphering_speed,\n crew: (vehicle) => forceNumber(vehicle.crew),\n length: (vehicle) => +vehicle.length,\n cost_in_credits: (vehicle) => +vehicle.cost_in_credits,\n },\n};\n\nconst forceNumber = (i: string) =>\n Number(i.split(\",\").join(\"\").split(\"-\")[0]) || -1;\n\nexport default resolvers;\n"],
5
+ "mappings": "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",
6
6
  "names": ["planet", "person", "film", "starship", "transport", "vehicle", "species"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
@@ -138,8 +138,9 @@ function buildExecutionContext(args) {
138
138
  if (operationName == null) {
139
139
  if (operation !== void 0) {
140
140
  return [
141
- new import_graphql.GraphQLError(
142
- "Must provide operation name if query contains multiple operations."
141
+ (0, import_graphql.locatedError)(
142
+ "Must provide operation name if query contains multiple operations.",
143
+ []
143
144
  )
144
145
  ];
145
146
  }
@@ -155,9 +156,9 @@ function buildExecutionContext(args) {
155
156
  }
156
157
  if (!operation) {
157
158
  if (operationName != null) {
158
- return [new import_graphql.GraphQLError(`Unknown operation named "${operationName}".`)];
159
+ return [(0, import_graphql.locatedError)(`Unknown operation named "${operationName}".`, [])];
159
160
  }
160
- return [new import_graphql.GraphQLError("Must provide an operation.")];
161
+ return [(0, import_graphql.locatedError)("Must provide an operation.", [])];
161
162
  }
162
163
  const variableDefinitions = (_b = operation.variableDefinitions) != null ? _b : [];
163
164
  const coercedVariableValues = (0, import_values.getVariableValues)(
@@ -423,9 +424,9 @@ function executeSubscriptionImpl(exeContext) {
423
424
  fieldName
424
425
  );
425
426
  if (!fieldDef) {
426
- throw new import_graphql.GraphQLError(
427
+ throw (0, import_graphql.locatedError)(
427
428
  `The subscription field "${fieldName}" is not defined.`,
428
- { nodes: fieldGroup }
429
+ fieldGroup
429
430
  );
430
431
  }
431
432
  const returnTypeRef = Definitions.getFieldTypeReference(fieldDef);
@@ -462,8 +463,9 @@ function assertEventStream(result) {
462
463
  throw result;
463
464
  }
464
465
  if (!(0, import_isAsyncIterable.isAsyncIterable)(result)) {
465
- throw new import_graphql.GraphQLError(
466
- `Subscription field must return Async Iterable. Received: ${(0, import_inspect.inspect)(result)}.`
466
+ throw (0, import_graphql.locatedError)(
467
+ `Subscription field must return Async Iterable. Received: ${(0, import_inspect.inspect)(result)}.`,
468
+ []
467
469
  );
468
470
  }
469
471
  return result;
@@ -750,8 +752,9 @@ function completeListValue(exeContext, returnTypeRef, fieldGroup, info, path, re
750
752
  );
751
753
  }
752
754
  if (!(0, import_isIterableObject.isIterableObject)(result)) {
753
- throw new import_graphql.GraphQLError(
754
- `Expected Iterable, but did not find one for field "${info.parentTypeName}.${info.fieldName}".`
755
+ throw (0, import_graphql.locatedError)(
756
+ `Expected Iterable, but did not find one for field "${info.parentTypeName}.${info.fieldName}".`,
757
+ []
755
758
  );
756
759
  }
757
760
  const stream = getStreamValues(exeContext, fieldGroup, path);
@@ -984,14 +987,15 @@ function completeAbstractValue(exeContext, returnTypeName, fieldGroup, info, pat
984
987
  }
985
988
  function ensureValidRuntimeType(runtimeTypeName, exeContext, returnTypeName, fieldGroup, info, result) {
986
989
  if (runtimeTypeName == null) {
987
- throw new import_graphql.GraphQLError(
990
+ throw (0, import_graphql.locatedError)(
988
991
  `Abstract type "${returnTypeName}" must resolve to an Object type at runtime for field "${info.parentTypeName}.${info.fieldName}". Either the "${returnTypeName}" should provide a "__resolveType" resolver function or "${info.parentTypeName}.${info.fieldName}" should be an object with "__typename" property.`,
989
- { nodes: fieldGroup }
992
+ fieldGroup
990
993
  );
991
994
  }
992
995
  if (typeof runtimeTypeName !== "string") {
993
- throw new import_graphql.GraphQLError(
994
- `Abstract type "${returnTypeName}" must resolve to an Object type at runtime for field "${info.returnTypeName}.${info.fieldName}" with value ${(0, import_inspect.inspect)(result)}, received "${(0, import_inspect.inspect)(runtimeTypeName)}".`
996
+ throw (0, import_graphql.locatedError)(
997
+ `Abstract type "${returnTypeName}" must resolve to an Object type at runtime for field "${info.returnTypeName}.${info.fieldName}" with value ${(0, import_inspect.inspect)(result)}, received "${(0, import_inspect.inspect)(runtimeTypeName)}".`,
998
+ []
995
999
  );
996
1000
  }
997
1001
  const strictInterfaceValidation = !!exeContext.schemaFragmentLoader;
@@ -1025,21 +1029,21 @@ function ensureValidRuntimeTypeImpl(runtimeTypeName, exeContext, returnTypeName,
1025
1029
  const union = Definitions.getUnionType(definitions, returnTypeName);
1026
1030
  if (union || strictInterfaceValidation) {
1027
1031
  if (!Definitions.isDefined(definitions, runtimeTypeName)) {
1028
- throw new import_graphql.GraphQLError(
1032
+ throw (0, import_graphql.locatedError)(
1029
1033
  `Abstract type "${returnTypeName}" was resolved to a type "${runtimeTypeName}" that does not exist inside the schema.`,
1030
- { nodes: fieldGroup }
1034
+ fieldGroup
1031
1035
  );
1032
1036
  }
1033
1037
  if (!Definitions.isObjectType(definitions, runtimeTypeName)) {
1034
- throw new import_graphql.GraphQLError(
1038
+ throw (0, import_graphql.locatedError)(
1035
1039
  `Abstract type "${returnTypeName}" was resolved to a non-object type "${runtimeTypeName}".`,
1036
- { nodes: fieldGroup }
1040
+ fieldGroup
1037
1041
  );
1038
1042
  }
1039
1043
  if (!Definitions.isSubType(definitions, returnTypeName, runtimeTypeName)) {
1040
- throw new import_graphql.GraphQLError(
1044
+ throw (0, import_graphql.locatedError)(
1041
1045
  `Runtime Object type "${runtimeTypeName}" is not a possible type for "${returnTypeName}".`,
1042
- { nodes: fieldGroup }
1046
+ fieldGroup
1043
1047
  );
1044
1048
  }
1045
1049
  return runtimeTypeName;
@@ -1047,9 +1051,9 @@ function ensureValidRuntimeTypeImpl(runtimeTypeName, exeContext, returnTypeName,
1047
1051
  const iface = Definitions.getInterfaceType(definitions, returnTypeName);
1048
1052
  if (iface) {
1049
1053
  if (Definitions.isDefined(definitions, runtimeTypeName) && !Definitions.isObjectType(definitions, runtimeTypeName)) {
1050
- throw new import_graphql.GraphQLError(
1054
+ throw (0, import_graphql.locatedError)(
1051
1055
  `Abstract type "${returnTypeName}" was resolved to a non-object type "${runtimeTypeName}".`,
1052
- { nodes: fieldGroup }
1056
+ fieldGroup
1053
1057
  );
1054
1058
  }
1055
1059
  Definitions.addInterfaceImplementation(