@graphitation/supermassive 4.0.1 → 4.2.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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +18 -2
- package/lib/executeWithoutSchema.d.ts +12 -15
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +51 -18
- package/lib/executeWithoutSchema.js.map +2 -2
- package/lib/executeWithoutSchema.mjs +53 -19
- package/lib/executeWithoutSchema.mjs.map +2 -2
- package/lib/types.d.ts +5 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utilities/mergeResolvers.d.ts.map +1 -1
- package/lib/utilities/mergeResolvers.js +21 -8
- package/lib/utilities/mergeResolvers.js.map +2 -2
- package/lib/utilities/mergeResolvers.mjs +21 -8
- package/lib/utilities/mergeResolvers.mjs.map +2 -2
- package/lib/values.d.ts +1 -0
- package/lib/values.d.ts.map +1 -1
- package/lib/values.js +41 -7
- package/lib/values.js.map +2 -2
- package/lib/values.mjs +46 -9
- package/lib/values.mjs.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
# Change Log - @graphitation/supermassive
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on Mon,
|
|
3
|
+
<!-- This log was last generated on Mon, 14 Sep 2026 08:05:49 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 4.2.0
|
|
8
|
+
|
|
9
|
+
Mon, 14 Sep 2026 08:05:49 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- feat: add schemaFragmentLoader support for input variable types (dsamsonov@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 4.1.0
|
|
16
|
+
|
|
17
|
+
Tue, 01 Sep 2026 11:12:33 GMT
|
|
18
|
+
|
|
19
|
+
### Minor changes
|
|
20
|
+
|
|
21
|
+
- feat: do not mutate nested objects on resolver merge (dsamsonov@microsoft.com)
|
|
22
|
+
|
|
7
23
|
## 4.0.1
|
|
8
24
|
|
|
9
|
-
Mon, 10 Aug 2026
|
|
25
|
+
Mon, 10 Aug 2026 14:26:56 GMT
|
|
10
26
|
|
|
11
27
|
### Patches
|
|
12
28
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { GraphQLError,
|
|
1
|
+
import { GraphQLError, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeDefinitionNode } from "graphql";
|
|
2
2
|
import { FieldGroup } from "./collectFields";
|
|
3
|
-
import type { Maybe } from "./jsutils/Maybe";
|
|
4
3
|
import type { ObjMap } from "./jsutils/ObjMap";
|
|
5
4
|
import type { Path } from "./jsutils/Path";
|
|
6
5
|
import type { PromiseOrValue } from "./jsutils/PromiseOrValue";
|
|
7
|
-
import type { ExecutionWithoutSchemaArgs, FunctionFieldResolver, ResolveInfo, TypeResolver, ExecutionResult, TotalExecutionResult, IncrementalExecutionResult, SchemaFragment, SchemaFragmentLoader } from "./types";
|
|
6
|
+
import type { ExecutionWithoutSchemaArgs, FunctionFieldResolver, ResolveInfo, TypeResolver, ExecutionResult, TotalExecutionResult, IncrementalExecutionResult, SchemaFragment, SchemaFragmentLoader, SchemaFragmentRequest } from "./types";
|
|
8
7
|
import type { ExecutionHooks } from "./hooks/types";
|
|
9
8
|
/**
|
|
10
9
|
* Terminology
|
|
@@ -39,9 +38,7 @@ export interface ExecutionContext {
|
|
|
39
38
|
contextValue: unknown;
|
|
40
39
|
buildContextValue?: (contextValue?: unknown) => unknown;
|
|
41
40
|
operation: OperationDefinitionNode;
|
|
42
|
-
variableValues:
|
|
43
|
-
[variable: string]: unknown;
|
|
44
|
-
};
|
|
41
|
+
variableValues: VariableValues;
|
|
45
42
|
fieldResolver: FunctionFieldResolver<unknown, unknown>;
|
|
46
43
|
typeResolver: TypeResolver<unknown, unknown>;
|
|
47
44
|
subscribeFieldResolver: FunctionFieldResolver<unknown, unknown>;
|
|
@@ -51,6 +48,9 @@ export interface ExecutionContext {
|
|
|
51
48
|
enablePerEventContext: boolean;
|
|
52
49
|
enableEarlyExecution: boolean;
|
|
53
50
|
}
|
|
51
|
+
type VariableValues = {
|
|
52
|
+
[variable: string]: unknown;
|
|
53
|
+
};
|
|
54
54
|
/**
|
|
55
55
|
* Implements the "Executing requests" section of the GraphQL specification.
|
|
56
56
|
*
|
|
@@ -62,15 +62,12 @@ export interface ExecutionContext {
|
|
|
62
62
|
* a GraphQLError will be thrown immediately explaining the invalid input.
|
|
63
63
|
*/
|
|
64
64
|
export declare function executeWithoutSchema(args: ExecutionWithoutSchemaArgs): PromiseOrValue<ExecutionResult>;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export declare function assertValidExecutionArguments(document: DocumentNode, rawVariableValues: Maybe<{
|
|
72
|
-
[variable: string]: unknown;
|
|
73
|
-
}>): void;
|
|
65
|
+
export interface SchemaFragmentLoaderContext {
|
|
66
|
+
contextValue: unknown;
|
|
67
|
+
schemaFragment: SchemaFragment;
|
|
68
|
+
schemaFragmentLoader?: SchemaFragmentLoader;
|
|
69
|
+
}
|
|
70
|
+
export declare function requestSchemaFragment(exeContext: SchemaFragmentLoaderContext, request: SchemaFragmentRequest): PromiseOrValue<void>;
|
|
74
71
|
/**
|
|
75
72
|
* @internal
|
|
76
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,14 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var executeWithoutSchema_exports = {};
|
|
30
30
|
__export(executeWithoutSchema_exports, {
|
|
31
|
-
assertValidExecutionArguments: () => assertValidExecutionArguments,
|
|
32
31
|
buildResolveInfo: () => buildResolveInfo,
|
|
33
32
|
defaultFieldResolver: () => defaultFieldResolver,
|
|
34
33
|
defaultTypeResolver: () => defaultTypeResolver,
|
|
35
34
|
executeWithoutSchema: () => executeWithoutSchema,
|
|
36
35
|
getOperationRootTypeName: () => getOperationRootTypeName,
|
|
37
36
|
isIncrementalExecutionResult: () => isIncrementalExecutionResult,
|
|
38
|
-
isTotalExecutionResult: () => isTotalExecutionResult
|
|
37
|
+
isTotalExecutionResult: () => isTotalExecutionResult,
|
|
38
|
+
requestSchemaFragment: () => requestSchemaFragment
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(executeWithoutSchema_exports);
|
|
41
41
|
var import_graphql = require("graphql");
|
|
@@ -62,12 +62,26 @@ const collectSubfields = (0, import_memoize3.memoize3)(
|
|
|
62
62
|
(exeContext, returnTypeName, fieldGroup) => (0, import_collectFields.collectSubfields)(exeContext, returnTypeName.name, fieldGroup)
|
|
63
63
|
);
|
|
64
64
|
function executeWithoutSchema(args) {
|
|
65
|
+
const { document, variableValues } = args;
|
|
66
|
+
assertValidExecutionArguments(document, variableValues);
|
|
65
67
|
const exeContext = buildExecutionContext(args);
|
|
66
|
-
if (
|
|
68
|
+
if (Array.isArray(exeContext)) {
|
|
67
69
|
return { errors: exeContext };
|
|
68
|
-
}
|
|
70
|
+
}
|
|
71
|
+
const coersionResult = populateVariableValuesInContext(
|
|
72
|
+
exeContext,
|
|
73
|
+
variableValues
|
|
74
|
+
);
|
|
75
|
+
const handleCoersionResult = (coersionErrors) => {
|
|
76
|
+
if (Array.isArray(coersionErrors)) {
|
|
77
|
+
return { errors: coersionErrors };
|
|
78
|
+
}
|
|
69
79
|
return executeOperationWithBeforeHook(exeContext);
|
|
80
|
+
};
|
|
81
|
+
if ((0, import_isPromise.isPromise)(coersionResult)) {
|
|
82
|
+
return coersionResult.then(handleCoersionResult);
|
|
70
83
|
}
|
|
84
|
+
return handleCoersionResult(coersionResult);
|
|
71
85
|
}
|
|
72
86
|
function assertValidExecutionArguments(document, rawVariableValues) {
|
|
73
87
|
(0, import_devAssert.devAssert)(document, "Must provide document.");
|
|
@@ -76,8 +90,39 @@ function assertValidExecutionArguments(document, rawVariableValues) {
|
|
|
76
90
|
"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided."
|
|
77
91
|
);
|
|
78
92
|
}
|
|
93
|
+
function populateVariableValuesInContext(exeContext, rawVariableValues) {
|
|
94
|
+
var _a;
|
|
95
|
+
const { operation, schemaFragment } = exeContext;
|
|
96
|
+
const variableDefinitions = (_a = operation.variableDefinitions) != null ? _a : [];
|
|
97
|
+
const missingTypes = (0, import_values.getMissingVariableTypes)(
|
|
98
|
+
variableDefinitions,
|
|
99
|
+
schemaFragment
|
|
100
|
+
);
|
|
101
|
+
const coerce = () => {
|
|
102
|
+
const coercedVariableValues = (0, import_values.getVariableValues)(
|
|
103
|
+
schemaFragment,
|
|
104
|
+
variableDefinitions,
|
|
105
|
+
rawVariableValues != null ? rawVariableValues : {},
|
|
106
|
+
{ maxErrors: 50 }
|
|
107
|
+
);
|
|
108
|
+
if (coercedVariableValues.errors) {
|
|
109
|
+
return coercedVariableValues.errors;
|
|
110
|
+
}
|
|
111
|
+
exeContext.variableValues = coercedVariableValues.coerced;
|
|
112
|
+
};
|
|
113
|
+
if (missingTypes.length) {
|
|
114
|
+
const pendingSchemaLoad = requestSchemaFragment(exeContext, {
|
|
115
|
+
kind: "InputVariables",
|
|
116
|
+
typeNames: missingTypes
|
|
117
|
+
});
|
|
118
|
+
if ((0, import_isPromise.isPromise)(pendingSchemaLoad)) {
|
|
119
|
+
return pendingSchemaLoad.then(coerce);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return coerce();
|
|
123
|
+
}
|
|
79
124
|
function buildExecutionContext(args) {
|
|
80
|
-
var _a
|
|
125
|
+
var _a;
|
|
81
126
|
const {
|
|
82
127
|
schemaFragment,
|
|
83
128
|
schemaFragmentLoader,
|
|
@@ -85,7 +130,6 @@ function buildExecutionContext(args) {
|
|
|
85
130
|
rootValue,
|
|
86
131
|
contextValue,
|
|
87
132
|
buildContextValue,
|
|
88
|
-
variableValues,
|
|
89
133
|
operationName,
|
|
90
134
|
fieldResolver,
|
|
91
135
|
typeResolver,
|
|
@@ -94,7 +138,6 @@ function buildExecutionContext(args) {
|
|
|
94
138
|
enablePerEventContext,
|
|
95
139
|
enableEarlyExecution
|
|
96
140
|
} = args;
|
|
97
|
-
assertValidExecutionArguments(document, variableValues);
|
|
98
141
|
let operation;
|
|
99
142
|
const fragments = /* @__PURE__ */ Object.create(null);
|
|
100
143
|
for (const definition of document.definitions) {
|
|
@@ -125,16 +168,6 @@ function buildExecutionContext(args) {
|
|
|
125
168
|
}
|
|
126
169
|
return [(0, import_graphql.locatedError)("Must provide an operation.", [])];
|
|
127
170
|
}
|
|
128
|
-
const variableDefinitions = (_b = operation.variableDefinitions) != null ? _b : [];
|
|
129
|
-
const coercedVariableValues = (0, import_values.getVariableValues)(
|
|
130
|
-
schemaFragment,
|
|
131
|
-
variableDefinitions,
|
|
132
|
-
variableValues != null ? variableValues : {},
|
|
133
|
-
{ maxErrors: 50 }
|
|
134
|
-
);
|
|
135
|
-
if (coercedVariableValues.errors) {
|
|
136
|
-
return coercedVariableValues.errors;
|
|
137
|
-
}
|
|
138
171
|
return {
|
|
139
172
|
schemaFragment,
|
|
140
173
|
schemaFragmentLoader,
|
|
@@ -143,7 +176,7 @@ function buildExecutionContext(args) {
|
|
|
143
176
|
contextValue: buildContextValue ? buildContextValue(contextValue) : contextValue,
|
|
144
177
|
buildContextValue,
|
|
145
178
|
operation,
|
|
146
|
-
variableValues:
|
|
179
|
+
variableValues: {},
|
|
147
180
|
fieldResolver: fieldResolver != null ? fieldResolver : defaultFieldResolver,
|
|
148
181
|
typeResolver: typeResolver != null ? typeResolver : defaultTypeResolver,
|
|
149
182
|
subscribeFieldResolver: subscribeFieldResolver != null ? subscribeFieldResolver : defaultFieldResolver,
|