@graphitation/supermassive 3.5.6 → 3.6.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/.eslintcache +1 -1
- package/CHANGELOG.md +18 -2
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +48 -11
- package/lib/executeWithoutSchema.js.map +2 -2
- package/lib/executeWithoutSchema.mjs +48 -11
- package/lib/executeWithoutSchema.mjs.map +2 -2
- package/lib/hooks/types.d.ts +3 -3
- package/lib/hooks/types.d.ts.map +1 -1
- package/lib/hooks/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -83,7 +83,7 @@ function executeWithoutSchema(args) {
|
|
|
83
83
|
if (!("schemaFragment" in exeContext)) {
|
|
84
84
|
return { errors: exeContext };
|
|
85
85
|
} else {
|
|
86
|
-
return
|
|
86
|
+
return executeOperationWithBeforeHook(exeContext);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
function assertValidExecutionArguments(document, rawVariableValues) {
|
|
@@ -175,6 +175,17 @@ function buildPerEventExecutionContext(exeContext, payload) {
|
|
|
175
175
|
errors: []
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
+
function executeOperationWithBeforeHook(exeContext) {
|
|
179
|
+
const hooks = exeContext.fieldExecutionHooks;
|
|
180
|
+
let hook;
|
|
181
|
+
if (hooks == null ? void 0 : hooks.beforeOperationExecute) {
|
|
182
|
+
hook = invokeBeforeOperationExecuteHook(exeContext);
|
|
183
|
+
}
|
|
184
|
+
if (isPromise(hook)) {
|
|
185
|
+
return hook.then(() => executeOperation(exeContext));
|
|
186
|
+
}
|
|
187
|
+
return executeOperation(exeContext);
|
|
188
|
+
}
|
|
178
189
|
function executeOperation(exeContext) {
|
|
179
190
|
try {
|
|
180
191
|
const { operation, rootValue } = exeContext;
|
|
@@ -185,10 +196,6 @@ function executeOperation(exeContext) {
|
|
|
185
196
|
);
|
|
186
197
|
const path = void 0;
|
|
187
198
|
let result;
|
|
188
|
-
const hooks = exeContext.fieldExecutionHooks;
|
|
189
|
-
if (hooks == null ? void 0 : hooks.beforeOperationExecute) {
|
|
190
|
-
invokeBeforeOperationExecuteHook(exeContext);
|
|
191
|
-
}
|
|
192
199
|
switch (operation.operation) {
|
|
193
200
|
case "query":
|
|
194
201
|
result = executeFields(
|
|
@@ -456,7 +463,10 @@ function executeSubscriptionImpl(exeContext) {
|
|
|
456
463
|
if (!isDefaultResolverUsed && (hooks == null ? void 0 : hooks.beforeFieldResolve)) {
|
|
457
464
|
hookContext = invokeBeforeFieldResolveHook(info, exeContext);
|
|
458
465
|
}
|
|
459
|
-
const result =
|
|
466
|
+
const result = isPromise(hookContext) ? hookContext.then((context) => {
|
|
467
|
+
hookContext = context;
|
|
468
|
+
return resolveFn(rootValue, args, contextValue, info);
|
|
469
|
+
}) : resolveFn(rootValue, args, contextValue, info);
|
|
460
470
|
if (isPromise(result)) {
|
|
461
471
|
return result.then(assertEventStream).then(
|
|
462
472
|
(resolved) => {
|
|
@@ -540,11 +550,24 @@ function mapResultOrEventStreamOrPromise(resultOrStreamOrPromise, exeContext, pa
|
|
|
540
550
|
payload
|
|
541
551
|
);
|
|
542
552
|
const hooks = exeContext == null ? void 0 : exeContext.fieldExecutionHooks;
|
|
553
|
+
let beforeExecuteFieldsHook;
|
|
543
554
|
if (hooks == null ? void 0 : hooks.beforeSubscriptionEventEmit) {
|
|
544
|
-
invokeBeforeSubscriptionEventEmitHook(
|
|
555
|
+
beforeExecuteFieldsHook = invokeBeforeSubscriptionEventEmitHook(
|
|
556
|
+
perEventContext,
|
|
557
|
+
payload
|
|
558
|
+
);
|
|
545
559
|
}
|
|
546
560
|
try {
|
|
547
|
-
const data =
|
|
561
|
+
const data = isPromise(beforeExecuteFieldsHook) ? beforeExecuteFieldsHook.then(
|
|
562
|
+
() => executeFields(
|
|
563
|
+
exeContext,
|
|
564
|
+
parentTypeName,
|
|
565
|
+
payload,
|
|
566
|
+
path,
|
|
567
|
+
groupedFieldSet,
|
|
568
|
+
void 0
|
|
569
|
+
)
|
|
570
|
+
) : executeFields(
|
|
548
571
|
exeContext,
|
|
549
572
|
parentTypeName,
|
|
550
573
|
payload,
|
|
@@ -610,7 +633,10 @@ function resolveAndCompleteField(exeContext, parentTypeName, fieldDefinition, fi
|
|
|
610
633
|
if (!isDefaultResolverUsed && (hooks == null ? void 0 : hooks.beforeFieldResolve)) {
|
|
611
634
|
hookContext = invokeBeforeFieldResolveHook(info, exeContext);
|
|
612
635
|
}
|
|
613
|
-
const result =
|
|
636
|
+
const result = isPromise(hookContext) ? hookContext.then((context) => {
|
|
637
|
+
hookContext = context;
|
|
638
|
+
return resolveFn(source, args, contextValue, info);
|
|
639
|
+
}) : resolveFn(source, args, contextValue, info);
|
|
614
640
|
let completed;
|
|
615
641
|
if (isPromise(result)) {
|
|
616
642
|
completed = result.then(
|
|
@@ -1351,9 +1377,20 @@ function executeSafe(execute, onComplete) {
|
|
|
1351
1377
|
} catch (e) {
|
|
1352
1378
|
error = e;
|
|
1353
1379
|
} finally {
|
|
1354
|
-
|
|
1380
|
+
if (!isPromise(result)) {
|
|
1381
|
+
onComplete(result, error);
|
|
1382
|
+
}
|
|
1355
1383
|
}
|
|
1356
|
-
|
|
1384
|
+
if (!isPromise(result)) {
|
|
1385
|
+
return result;
|
|
1386
|
+
}
|
|
1387
|
+
return result.then((hookResult) => {
|
|
1388
|
+
onComplete(hookResult, error);
|
|
1389
|
+
return hookResult;
|
|
1390
|
+
}).catch((e) => {
|
|
1391
|
+
onComplete(void 0, e);
|
|
1392
|
+
return void 0;
|
|
1393
|
+
});
|
|
1357
1394
|
}
|
|
1358
1395
|
function toGraphQLError(originalError, path, prependMessage) {
|
|
1359
1396
|
const originalMessage = originalError instanceof Error ? originalError.message : inspect(originalError);
|