@graphitation/supermassive 3.6.4 → 3.7.1

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.
package/CHANGELOG.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # Change Log - @graphitation/supermassive
2
2
 
3
- <!-- This log was last generated on Wed, 30 Oct 2024 12:58:08 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Wed, 06 Nov 2024 13:29:21 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 3.7.0
8
+
9
+ Wed, 06 Nov 2024 13:29:21 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - async before hooks added (77059398+vejrj@users.noreply.github.com)
14
+
7
15
  ## 3.6.4
8
16
 
9
- Wed, 30 Oct 2024 12:58:08 GMT
17
+ Wed, 30 Oct 2024 12:58:29 GMT
10
18
 
11
19
  ### Patches
12
20
 
@@ -120,6 +120,78 @@ queryRunningSuite.add("supermassive - runtime schemaless", () => __async(exports
120
120
  throw new Error("Stuff ain't executing");
121
121
  }
122
122
  }));
123
+ queryRunningSuite.add(
124
+ "supermassive - before operation execute sync hook - runtime schemaless",
125
+ () => __async(exports, null, function* () {
126
+ const result = yield (0, import_executeWithoutSchema.executeWithoutSchema)({
127
+ schemaFragment,
128
+ document: parsedQuery,
129
+ fieldExecutionHooks: {
130
+ beforeOperationExecute: ({ context }) => {
131
+ context.test = 0;
132
+ }
133
+ },
134
+ contextValue: { models: import_models.default }
135
+ });
136
+ if ("data" in result && (result.errors || !result.data)) {
137
+ throw new Error("Stuff ain't executing");
138
+ }
139
+ })
140
+ );
141
+ queryRunningSuite.add(
142
+ "supermassive - before operation execute async hook - runtime schemaless",
143
+ () => __async(exports, null, function* () {
144
+ const result = yield (0, import_executeWithoutSchema.executeWithoutSchema)({
145
+ schemaFragment,
146
+ document: parsedQuery,
147
+ fieldExecutionHooks: {
148
+ beforeOperationExecute: (_0) => __async(exports, [_0], function* ({ context }) {
149
+ context.test = 0;
150
+ })
151
+ },
152
+ contextValue: { models: import_models.default }
153
+ });
154
+ if ("data" in result && (result.errors || !result.data)) {
155
+ throw new Error("Stuff ain't executing");
156
+ }
157
+ })
158
+ );
159
+ queryRunningSuite.add(
160
+ "supermassive - before field resolve sync hook - runtime schemaless",
161
+ () => __async(exports, null, function* () {
162
+ const result = yield (0, import_executeWithoutSchema.executeWithoutSchema)({
163
+ schemaFragment,
164
+ document: parsedQuery,
165
+ fieldExecutionHooks: {
166
+ beforeFieldResolve: ({ context }) => {
167
+ context.test = 0;
168
+ }
169
+ },
170
+ contextValue: { models: import_models.default }
171
+ });
172
+ if ("data" in result && (result.errors || !result.data)) {
173
+ throw new Error("Stuff ain't executing");
174
+ }
175
+ })
176
+ );
177
+ queryRunningSuite.add(
178
+ "supermassive - before field resolve async hook - runtime schemaless",
179
+ () => __async(exports, null, function* () {
180
+ const result = yield (0, import_executeWithoutSchema.executeWithoutSchema)({
181
+ schemaFragment,
182
+ document: parsedQuery,
183
+ fieldExecutionHooks: {
184
+ beforeFieldResolve: (_0) => __async(exports, [_0], function* ({ context }) {
185
+ context.test = 0;
186
+ })
187
+ },
188
+ contextValue: { models: import_models.default }
189
+ });
190
+ if ("data" in result && (result.errors || !result.data)) {
191
+ throw new Error("Stuff ain't executing");
192
+ }
193
+ })
194
+ );
123
195
  const queryParsingSuite = new import_nice_benchmark.default("Query parsing");
124
196
  queryParsingSuite.add("graphql-js", () => __async(exports, null, function* () {
125
197
  (0, import_graphql.parse)(query);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/benchmarks/index.ts"],
4
- "sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n execute as graphqlExecute,\n parse,\n // experimentalExecuteIncrementally as graphqlExecute,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { UserResolvers, SchemaFragment } from \"../types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n parsedQuery,\n);\n\nconst schemaFragment: SchemaFragment = {\n schemaId: \"benchmark\",\n definitions,\n resolvers: resolvers as UserResolvers,\n};\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parse(query),\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n extractMinimalViableSchemaForRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gBAAe;AACf,kBAAiB;AACjB,4BAA0B;AAC1B,0BAAmB;AACnB,uBAAsB;AACtB,oBAAmB;AACnB,qBAIO;AACP,yBAA8C;AAC9C,kCAA4D;AAE5D,0DAA6D;AAE7D,MAAM,QAAQ,UAAAA,QAAG;AAAA,EACf,YAAAC,QAAK,KAAK,WAAW,2BAA2B;AAAA,EAChD;AAAA,IACE,UAAU;AAAA,EACZ;AACF;AAEA,MAAM,kBAAc,sBAAM,KAAK;AAC/B,MAAM,oBAAgB,iCAAa,oBAAAC,SAAQ,WAAW;AAEtD,MAAM,EAAE,YAAY,QAAI;AAAA,EACtB,oBAAAA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiC;AAAA,EACrC,UAAU;AAAA,EACV;AAAA,EACA,WAAW,iBAAAC;AACb;AAEA,MAAM,oBAAoB,IAAI,sBAAAC,QAAc,eAAe;AAC3D,kBAAkB,IAAI,+BAA+B,MAAY;AAC/D,QAAM,SAAS,UAAM,eAAAC,SAAe;AAAA,IAClC,4BAAAH;AAAA,IACA,cAAU,sBAAM,KAAK;AAAA,IACrB,cAAc,EAAE,sBAAAI,QAAO;AAAA,EACzB,CAAC;AACD,MAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACF,EAAC;AACD,kBAAkB,IAAI,+BAA+B,MAAY;AAC/D,QAAM,SAAS,UAAM,eAAAD,SAAe;AAAA,IAClC,4BAAAH;AAAA,IACA,UAAU;AAAA,IACV,cAAc,EAAE,sBAAAI,QAAO;AAAA,EACzB,CAAC;AACD,MAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACF,EAAC;AACD,kBAAkB,IAAI,4BAA4B,MAAY;AAC5D,QAAM,yBAAqB,iCAAa,oBAAAJ,SAAQ,WAAW;AAC3D,UAAI,oCAAgB,kBAAkB,GAAG;AACvC,UAAM,SAAS,MAAM,mBAAmB,MAAM,CAAC,GAAG,EAAE,sBAAAI,QAAO,GAAG,CAAC,CAAC;AAChE,QAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACzC;AAAA,EACF,OAAO;AACL,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AACF,EAAC;AACD,kBAAkB,IAAI,6BAA6B,MAAY;AAC7D,UAAI,oCAAgB,aAAa,GAAG;AAClC,UAAM,SAAS,MAAM,cAAc,MAAM,CAAC,GAAG,EAAE,sBAAAA,QAAO,GAAG,CAAC,CAAC;AAC3D,QAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACzC;AAAA,EACF,OAAO;AACL,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AACF,EAAC;AACD,kBAAkB,IAAI,qCAAqC,MAAY;AACrE,QAAM,SAAS,UAAM,4BAAAC,sBAAoB;AAAA,IACvC;AAAA,IACA,UAAU;AAAA,IACV,cAAc,EAAE,sBAAAD,QAAO;AAAA,EACzB,CAAC;AACD,MAAI,UAAU,WAAW,OAAO,UAAU,CAAC,OAAO,OAAO;AACvD,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACF,EAAC;AAED,MAAM,oBAAoB,IAAI,sBAAAF,QAAc,eAAe;AAC3D,kBAAkB,IAAI,cAAc,MAAY;AAC9C,4BAAM,KAAK;AACb,EAAC;AAED,MAAM,sBAAsB,IAAI,sBAAAA,QAAc,iBAAiB;AAC/D,oBAAoB,IAAI,eAAe,MAAY;AACjD,YAAM,iCAAa,oBAAAF,SAAQ,WAAW;AACxC,EAAC;AAED,MAAM,uBAAuB,IAAI,sBAAAE,QAAc,kBAAkB;AACjE,qBAAqB,IAAI,gBAAgB,MAAM;AAC7C,wGAA6C,oBAAAF,SAAQ,WAAW;AAClE,CAAC;AAED,SAAe,OAAO;AAAA;AACpB,UAAM,oBAAoB,IAAI;AAC9B,UAAM,kBAAkB,IAAI;AAC5B,UAAM,qBAAqB,IAAI;AAC/B,UAAM,kBAAkB,IAAI;AAAA,EAC9B;AAAA;AAEA,KAAK;",
4
+ "sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n execute as graphqlExecute,\n parse,\n // experimentalExecuteIncrementally as graphqlExecute,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { UserResolvers, SchemaFragment } from \"../types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n parsedQuery,\n);\n\nconst schemaFragment: SchemaFragment = {\n schemaId: \"benchmark\",\n definitions,\n resolvers: resolvers as UserResolvers,\n};\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parse(query),\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nqueryRunningSuite.add(\n \"supermassive - before operation execute sync hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeOperationExecute: ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before operation execute async hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeOperationExecute: async ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before field resolve sync hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeFieldResolve: ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before field resolve async hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeFieldResolve: async ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n extractMinimalViableSchemaForRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
5
+ "mappings": "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",
6
6
  "names": ["fs", "path", "schema", "resolvers", "NiceBenchmark", "graphqlExecute", "models", "supermassiveExecute"]
7
7
  }
@@ -108,6 +108,78 @@ var require_benchmarks = __commonJS({
108
108
  throw new Error("Stuff ain't executing");
109
109
  }
110
110
  }));
111
+ queryRunningSuite.add(
112
+ "supermassive - before operation execute sync hook - runtime schemaless",
113
+ () => __async(exports, null, function* () {
114
+ const result = yield supermassiveExecute({
115
+ schemaFragment,
116
+ document: parsedQuery,
117
+ fieldExecutionHooks: {
118
+ beforeOperationExecute: ({ context }) => {
119
+ context.test = 0;
120
+ }
121
+ },
122
+ contextValue: { models }
123
+ });
124
+ if ("data" in result && (result.errors || !result.data)) {
125
+ throw new Error("Stuff ain't executing");
126
+ }
127
+ })
128
+ );
129
+ queryRunningSuite.add(
130
+ "supermassive - before operation execute async hook - runtime schemaless",
131
+ () => __async(exports, null, function* () {
132
+ const result = yield supermassiveExecute({
133
+ schemaFragment,
134
+ document: parsedQuery,
135
+ fieldExecutionHooks: {
136
+ beforeOperationExecute: (_0) => __async(exports, [_0], function* ({ context }) {
137
+ context.test = 0;
138
+ })
139
+ },
140
+ contextValue: { models }
141
+ });
142
+ if ("data" in result && (result.errors || !result.data)) {
143
+ throw new Error("Stuff ain't executing");
144
+ }
145
+ })
146
+ );
147
+ queryRunningSuite.add(
148
+ "supermassive - before field resolve sync hook - runtime schemaless",
149
+ () => __async(exports, null, function* () {
150
+ const result = yield supermassiveExecute({
151
+ schemaFragment,
152
+ document: parsedQuery,
153
+ fieldExecutionHooks: {
154
+ beforeFieldResolve: ({ context }) => {
155
+ context.test = 0;
156
+ }
157
+ },
158
+ contextValue: { models }
159
+ });
160
+ if ("data" in result && (result.errors || !result.data)) {
161
+ throw new Error("Stuff ain't executing");
162
+ }
163
+ })
164
+ );
165
+ queryRunningSuite.add(
166
+ "supermassive - before field resolve async hook - runtime schemaless",
167
+ () => __async(exports, null, function* () {
168
+ const result = yield supermassiveExecute({
169
+ schemaFragment,
170
+ document: parsedQuery,
171
+ fieldExecutionHooks: {
172
+ beforeFieldResolve: (_0) => __async(exports, [_0], function* ({ context }) {
173
+ context.test = 0;
174
+ })
175
+ },
176
+ contextValue: { models }
177
+ });
178
+ if ("data" in result && (result.errors || !result.data)) {
179
+ throw new Error("Stuff ain't executing");
180
+ }
181
+ })
182
+ );
111
183
  var queryParsingSuite = new NiceBenchmark("Query parsing");
112
184
  queryParsingSuite.add("graphql-js", () => __async(exports, null, function* () {
113
185
  parse(query);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/benchmarks/index.ts"],
4
- "sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n execute as graphqlExecute,\n parse,\n // experimentalExecuteIncrementally as graphqlExecute,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { UserResolvers, SchemaFragment } from \"../types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n parsedQuery,\n);\n\nconst schemaFragment: SchemaFragment = {\n schemaId: \"benchmark\",\n definitions,\n resolvers: resolvers as UserResolvers,\n};\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parse(query),\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n extractMinimalViableSchemaForRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,mBAAmB;AAC1B,OAAO,YAAY;AACnB,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB;AAAA,EACE,WAAW;AAAA,EACX;AAAA,OAEK;AACP,SAAS,cAAc,uBAAuB;AAC9C,SAAS,wBAAwB,2BAA2B;AAE5D,SAAS,oDAAoD;AAd7D;AAAA;AAgBA,QAAM,QAAQ,GAAG;AAAA,MACf,KAAK,KAAK,WAAW,2BAA2B;AAAA,MAChD;AAAA,QACE,UAAU;AAAA,MACZ;AAAA,IACF;AAEA,QAAM,cAAc,MAAM,KAAK;AAC/B,QAAM,gBAAgB,aAAa,QAAQ,WAAW;AAEtD,QAAM,EAAE,YAAY,IAAI;AAAA,MACtB;AAAA,MACA;AAAA,IACF;AAEA,QAAM,iBAAiC;AAAA,MACrC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,IACF;AAEA,QAAM,oBAAoB,IAAI,cAAc,eAAe;AAC3D,sBAAkB,IAAI,+BAA+B,MAAY;AAC/D,YAAM,SAAS,MAAM,eAAe;AAAA,QAClC;AAAA,QACA,UAAU,MAAM,KAAK;AAAA,QACrB,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,+BAA+B,MAAY;AAC/D,YAAM,SAAS,MAAM,eAAe;AAAA,QAClC;AAAA,QACA,UAAU;AAAA,QACV,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,4BAA4B,MAAY;AAC5D,YAAM,qBAAqB,aAAa,QAAQ,WAAW;AAC3D,UAAI,gBAAgB,kBAAkB,GAAG;AACvC,cAAM,SAAS,MAAM,mBAAmB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC;AAChE,YAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,MAAM,aAAa;AAAA,MAC/B;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,6BAA6B,MAAY;AAC7D,UAAI,gBAAgB,aAAa,GAAG;AAClC,cAAM,SAAS,MAAM,cAAc,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC;AAC3D,YAAI,OAAO,UAAU,CAAC,OAAO,MAAM;AACjC,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,MAAM,aAAa;AAAA,MAC/B;AAAA,IACF,EAAC;AACD,sBAAkB,IAAI,qCAAqC,MAAY;AACrE,YAAM,SAAS,MAAM,oBAAoB;AAAA,QACvC;AAAA,QACA,UAAU;AAAA,QACV,cAAc,EAAE,OAAO;AAAA,MACzB,CAAC;AACD,UAAI,UAAU,WAAW,OAAO,UAAU,CAAC,OAAO,OAAO;AACvD,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACzC;AAAA,IACF,EAAC;AAED,QAAM,oBAAoB,IAAI,cAAc,eAAe;AAC3D,sBAAkB,IAAI,cAAc,MAAY;AAC9C,YAAM,KAAK;AAAA,IACb,EAAC;AAED,QAAM,sBAAsB,IAAI,cAAc,iBAAiB;AAC/D,wBAAoB,IAAI,eAAe,MAAY;AACjD,YAAM,aAAa,QAAQ,WAAW;AAAA,IACxC,EAAC;AAED,QAAM,uBAAuB,IAAI,cAAc,kBAAkB;AACjE,yBAAqB,IAAI,gBAAgB,MAAM;AAC7C,mDAA6C,QAAQ,WAAW;AAAA,IAClE,CAAC;AAED,aAAe,OAAO;AAAA;AACpB,cAAM,oBAAoB,IAAI;AAC9B,cAAM,kBAAkB,IAAI;AAC5B,cAAM,qBAAqB,IAAI;AAC/B,cAAM,kBAAkB,IAAI;AAAA,MAC9B;AAAA;AAEA,SAAK;AAAA;AAAA;",
4
+ "sourcesContent": ["import fs from \"fs\";\nimport path from \"path\";\nimport NiceBenchmark from \"./nice-benchmark\";\nimport schema from \"./swapi-schema\";\nimport resolvers from \"./swapi-schema/resolvers\";\nimport models from \"./swapi-schema/models\";\nimport {\n execute as graphqlExecute,\n parse,\n // experimentalExecuteIncrementally as graphqlExecute,\n} from \"graphql\";\nimport { compileQuery, isCompiledQuery } from \"graphql-jit\";\nimport { executeWithoutSchema as supermassiveExecute } from \"../executeWithoutSchema\";\nimport { UserResolvers, SchemaFragment } from \"../types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"../utilities/extractMinimalViableSchemaForRequestDocument\";\n\nconst query = fs.readFileSync(\n path.join(__dirname, \"./fixtures/query1.graphql\"),\n {\n encoding: \"utf-8\",\n },\n);\n\nconst parsedQuery = parse(query);\nconst compiledQuery = compileQuery(schema, parsedQuery);\n\nconst { definitions } = extractMinimalViableSchemaForRequestDocument(\n schema,\n parsedQuery,\n);\n\nconst schemaFragment: SchemaFragment = {\n schemaId: \"benchmark\",\n definitions,\n resolvers: resolvers as UserResolvers,\n};\n\nconst queryRunningSuite = new NiceBenchmark(\"Query Running\");\nqueryRunningSuite.add(\"graphql-js - string queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parse(query),\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-js - parsed queries\", async () => {\n const result = await graphqlExecute({\n schema,\n document: parsedQuery,\n contextValue: { models },\n });\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - uncompiled\", async () => {\n const freshCompiledQuery = compileQuery(schema, parsedQuery);\n if (isCompiledQuery(freshCompiledQuery)) {\n const result = await freshCompiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"graphql-jit - precompiled\", async () => {\n if (isCompiledQuery(compiledQuery)) {\n const result = await compiledQuery.query({}, { models }, {});\n if (result.errors || !result.data) {\n throw new Error(\"Stuff ain't executing\");\n }\n } else {\n throw new Error(\"Wrong query\");\n }\n});\nqueryRunningSuite.add(\"supermassive - runtime schemaless\", async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n});\n\nqueryRunningSuite.add(\n \"supermassive - before operation execute sync hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeOperationExecute: ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before operation execute async hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeOperationExecute: async ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before field resolve sync hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeFieldResolve: ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nqueryRunningSuite.add(\n \"supermassive - before field resolve async hook - runtime schemaless\",\n async () => {\n const result = await supermassiveExecute({\n schemaFragment,\n document: parsedQuery,\n fieldExecutionHooks: {\n beforeFieldResolve: async ({ context }) => {\n (context as any).test = 0;\n },\n },\n contextValue: { models },\n });\n if (\"data\" in result && (result.errors || !result.data)) {\n throw new Error(\"Stuff ain't executing\");\n }\n },\n);\n\nconst queryParsingSuite = new NiceBenchmark(\"Query parsing\");\nqueryParsingSuite.add(\"graphql-js\", async () => {\n parse(query);\n});\n\nconst queryCompilingSuite = new NiceBenchmark(\"Query compiling\");\nqueryCompilingSuite.add(\"graphql-jit\", async () => {\n await compileQuery(schema, parsedQuery);\n});\n\nconst queryAnnotationSuite = new NiceBenchmark(\"Query annotation\");\nqueryAnnotationSuite.add(\"supermassive\", () => {\n extractMinimalViableSchemaForRequestDocument(schema, parsedQuery);\n});\n\nasync function main() {\n await queryCompilingSuite.run();\n await queryParsingSuite.run();\n await queryAnnotationSuite.run();\n await queryRunningSuite.run();\n}\n\nmain();\n"],
5
+ "mappings": "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",
6
6
  "names": []
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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"}
@@ -103,7 +103,7 @@ function executeWithoutSchema(args) {
103
103
  if (!("schemaFragment" in exeContext)) {
104
104
  return { errors: exeContext };
105
105
  } else {
106
- return executeOperation(exeContext);
106
+ return executeOperationWithBeforeHook(exeContext);
107
107
  }
108
108
  }
109
109
  function assertValidExecutionArguments(document, rawVariableValues) {
@@ -195,6 +195,17 @@ function buildPerEventExecutionContext(exeContext, payload) {
195
195
  errors: []
196
196
  });
197
197
  }
198
+ function executeOperationWithBeforeHook(exeContext) {
199
+ const hooks = exeContext.fieldExecutionHooks;
200
+ let hook;
201
+ if (hooks == null ? void 0 : hooks.beforeOperationExecute) {
202
+ hook = invokeBeforeOperationExecuteHook(exeContext);
203
+ }
204
+ if ((0, import_isPromise.isPromise)(hook)) {
205
+ return hook.then(() => executeOperation(exeContext));
206
+ }
207
+ return executeOperation(exeContext);
208
+ }
198
209
  function executeOperation(exeContext) {
199
210
  try {
200
211
  const { operation, rootValue } = exeContext;
@@ -205,10 +216,6 @@ function executeOperation(exeContext) {
205
216
  );
206
217
  const path = void 0;
207
218
  let result;
208
- const hooks = exeContext.fieldExecutionHooks;
209
- if (hooks == null ? void 0 : hooks.beforeOperationExecute) {
210
- invokeBeforeOperationExecuteHook(exeContext);
211
- }
212
219
  switch (operation.operation) {
213
220
  case "query":
214
221
  result = executeFields(
@@ -476,7 +483,10 @@ function executeSubscriptionImpl(exeContext) {
476
483
  if (!isDefaultResolverUsed && (hooks == null ? void 0 : hooks.beforeFieldResolve)) {
477
484
  hookContext = invokeBeforeFieldResolveHook(info, exeContext);
478
485
  }
479
- const result = resolveFn(rootValue, args, contextValue, info);
486
+ const result = (0, import_isPromise.isPromise)(hookContext) ? hookContext.then((context) => {
487
+ hookContext = context;
488
+ return resolveFn(rootValue, args, contextValue, info);
489
+ }) : resolveFn(rootValue, args, contextValue, info);
480
490
  if ((0, import_isPromise.isPromise)(result)) {
481
491
  return result.then(assertEventStream).then(
482
492
  (resolved) => {
@@ -560,11 +570,24 @@ function mapResultOrEventStreamOrPromise(resultOrStreamOrPromise, exeContext, pa
560
570
  payload
561
571
  );
562
572
  const hooks = exeContext == null ? void 0 : exeContext.fieldExecutionHooks;
573
+ let beforeExecuteFieldsHook;
563
574
  if (hooks == null ? void 0 : hooks.beforeSubscriptionEventEmit) {
564
- invokeBeforeSubscriptionEventEmitHook(perEventContext, payload);
575
+ beforeExecuteFieldsHook = invokeBeforeSubscriptionEventEmitHook(
576
+ perEventContext,
577
+ payload
578
+ );
565
579
  }
566
580
  try {
567
- const data = executeFields(
581
+ const data = (0, import_isPromise.isPromise)(beforeExecuteFieldsHook) ? beforeExecuteFieldsHook.then(
582
+ () => executeFields(
583
+ exeContext,
584
+ parentTypeName,
585
+ payload,
586
+ path,
587
+ groupedFieldSet,
588
+ void 0
589
+ )
590
+ ) : executeFields(
568
591
  exeContext,
569
592
  parentTypeName,
570
593
  payload,
@@ -630,7 +653,10 @@ function resolveAndCompleteField(exeContext, parentTypeName, fieldDefinition, fi
630
653
  if (!isDefaultResolverUsed && (hooks == null ? void 0 : hooks.beforeFieldResolve)) {
631
654
  hookContext = invokeBeforeFieldResolveHook(info, exeContext);
632
655
  }
633
- const result = resolveFn(source, args, contextValue, info);
656
+ const result = (0, import_isPromise.isPromise)(hookContext) ? hookContext.then((context) => {
657
+ hookContext = context;
658
+ return resolveFn(source, args, contextValue, info);
659
+ }) : resolveFn(source, args, contextValue, info);
634
660
  let completed;
635
661
  if ((0, import_isPromise.isPromise)(result)) {
636
662
  completed = result.then(
@@ -1371,9 +1397,20 @@ function executeSafe(execute, onComplete) {
1371
1397
  } catch (e) {
1372
1398
  error = e;
1373
1399
  } finally {
1374
- onComplete(result, error);
1400
+ if (!(0, import_isPromise.isPromise)(result)) {
1401
+ onComplete(result, error);
1402
+ }
1375
1403
  }
1376
- return result;
1404
+ if (!(0, import_isPromise.isPromise)(result)) {
1405
+ return result;
1406
+ }
1407
+ return result.then((hookResult) => {
1408
+ onComplete(hookResult, error);
1409
+ return hookResult;
1410
+ }).catch((e) => {
1411
+ onComplete(void 0, e);
1412
+ return void 0;
1413
+ });
1377
1414
  }
1378
1415
  function toGraphQLError(originalError, path, prependMessage) {
1379
1416
  const originalMessage = originalError instanceof Error ? originalError.message : (0, import_inspect.inspect)(originalError);