@graphitation/supermassive 2.4.5 → 2.4.7
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 +17 -1
- package/lib/ast/TypedAST.d.ts +1 -1
- package/lib/ast/TypedAST.d.ts.map +1 -1
- package/lib/ast/addTypesToRequestDocument.d.ts.map +1 -1
- package/lib/ast/addTypesToRequestDocument.js +67 -27
- package/lib/ast/addTypesToRequestDocument.mjs +69 -29
- package/lib/benchmarks/nice-benchmark.d.ts +1 -1
- package/lib/benchmarks/nice-benchmark.d.ts.map +1 -1
- package/lib/benchmarks/swapi-schema/resolvers.d.ts.map +1 -1
- package/lib/benchmarks/swapi-schema/resolvers.js +34 -31
- package/lib/benchmarks/swapi-schema/resolvers.mjs +34 -28
- package/lib/collectFields.d.ts.map +1 -1
- package/lib/definition.d.ts +2 -2
- package/lib/definition.d.ts.map +1 -1
- package/lib/executeWithoutSchema.d.ts +2 -2
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +12 -15
- package/lib/executeWithoutSchema.mjs +12 -9
- package/lib/extractImplicitTypesRuntime.d.ts +1 -1
- package/lib/extractImplicitTypesRuntime.d.ts.map +1 -1
- package/lib/extractImplicitTypesRuntime.js +1 -1
- package/lib/extractImplicitTypesRuntime.mjs +1 -1
- package/lib/hooks/types.d.ts +3 -4
- package/lib/hooks/types.d.ts.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -8
- package/lib/index.mjs +0 -16
- package/lib/jsutils/isAsyncIterable.d.ts.map +1 -1
- package/lib/jsutils/isIterableObject.d.ts.map +1 -1
- package/lib/jsutils/isPromise.d.ts.map +1 -1
- package/lib/subscribeWithSchema.d.ts.map +1 -1
- package/lib/subscribeWithoutSchema.d.ts +1 -1
- package/lib/subscribeWithoutSchema.d.ts.map +1 -1
- package/lib/subscribeWithoutSchema.js +2 -1
- package/lib/subscribeWithoutSchema.mjs +2 -1
- package/lib/types.d.ts +15 -14
- package/lib/types.d.ts.map +1 -1
- package/lib/utilities/array.d.ts +1 -1
- package/lib/utilities/array.d.ts.map +1 -1
- package/lib/utilities/mergeResolvers.d.ts +1 -1
- package/lib/utilities/mergeResolvers.d.ts.map +1 -1
- package/lib/values.d.ts.map +1 -1
- package/lib/values.js +1 -9
- package/lib/values.mjs +1 -9
- package/package.json +1 -1
- package/lib/compiledQuery.d.ts +0 -1
- package/lib/compiledQuery.d.ts.map +0 -1
- package/lib/compiledQuery.js +0 -1
- package/lib/compiledQuery.mjs +0 -0
|
@@ -23,11 +23,11 @@ import {
|
|
|
23
23
|
isListType,
|
|
24
24
|
isNamedType,
|
|
25
25
|
isNonNullType,
|
|
26
|
-
parseValue,
|
|
27
26
|
TypeInfo,
|
|
28
27
|
visit,
|
|
29
28
|
visitWithTypeInfo,
|
|
30
|
-
Kind
|
|
29
|
+
Kind,
|
|
30
|
+
astFromValue
|
|
31
31
|
} from "graphql";
|
|
32
32
|
export * from "./TypedAST.mjs";
|
|
33
33
|
function addTypesToRequestDocument(schema, document) {
|
|
@@ -36,48 +36,67 @@ function addTypesToRequestDocument(schema, document) {
|
|
|
36
36
|
document,
|
|
37
37
|
visitWithTypeInfo(typeInfo, {
|
|
38
38
|
Argument: {
|
|
39
|
-
leave(node) {
|
|
39
|
+
leave(node, _key, _parent, _path, ancestors) {
|
|
40
40
|
const argument = typeInfo.getArgument();
|
|
41
41
|
if (argument) {
|
|
42
42
|
const typeNode = generateTypeNode(argument.type);
|
|
43
43
|
const newNode = __spreadProps(__spreadValues({}, node), {
|
|
44
|
-
__type: typeNode
|
|
45
|
-
__defaultValue: argument.defaultValue ? parseValue(JSON.stringify(argument.defaultValue)) : void 0
|
|
44
|
+
__type: typeNode
|
|
46
45
|
});
|
|
46
|
+
if (argument.defaultValue && node.value.kind === Kind.VARIABLE) {
|
|
47
|
+
newNode.__defaultValue = astFromValue(
|
|
48
|
+
argument.defaultValue,
|
|
49
|
+
argument.type
|
|
50
|
+
);
|
|
51
|
+
}
|
|
47
52
|
return newNode;
|
|
48
53
|
}
|
|
54
|
+
const errorPath = makeReadableErrorPath(ancestors);
|
|
55
|
+
throw new Error(
|
|
56
|
+
`Cannot find type for argument: ${errorPath.join(".")}.${node.name.value}`
|
|
57
|
+
);
|
|
49
58
|
}
|
|
50
59
|
},
|
|
51
60
|
Field: {
|
|
52
61
|
leave(node, _key, _parent, _path, ancestors) {
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (!Array.isArray(ancestorOrArray)) {
|
|
65
|
-
ancestor = ancestorOrArray;
|
|
66
|
-
if (ancestor && ancestor.kind === Kind.FIELD) {
|
|
67
|
-
path.push(ancestor.name.value);
|
|
68
|
-
} else if (ancestor && ancestor.kind === Kind.OPERATION_DEFINITION) {
|
|
69
|
-
let name;
|
|
70
|
-
if (ancestor.name) {
|
|
71
|
-
name = `${ancestor.operation} ${ancestor.name.value}`;
|
|
72
|
-
} else {
|
|
73
|
-
name = ancestor.operation;
|
|
62
|
+
const fieldDef = typeInfo.getFieldDef();
|
|
63
|
+
if (fieldDef) {
|
|
64
|
+
const type = fieldDef.type;
|
|
65
|
+
if (type) {
|
|
66
|
+
const typeNode = generateTypeNode(type);
|
|
67
|
+
const missingArgs = fieldDef.args.filter(
|
|
68
|
+
(argDef) => {
|
|
69
|
+
var _a;
|
|
70
|
+
return argDef.defaultValue != null && ((_a = node.arguments) == null ? void 0 : _a.findIndex(
|
|
71
|
+
(arg) => arg.name.value === argDef.name
|
|
72
|
+
)) === -1;
|
|
74
73
|
}
|
|
75
|
-
|
|
74
|
+
);
|
|
75
|
+
const newNode = __spreadProps(__spreadValues({}, node), {
|
|
76
|
+
__type: typeNode
|
|
77
|
+
});
|
|
78
|
+
if (missingArgs) {
|
|
79
|
+
newNode.arguments = (newNode.arguments || []).concat(
|
|
80
|
+
missingArgs.map((arg) => ({
|
|
81
|
+
__type: generateTypeNode(arg.type),
|
|
82
|
+
kind: Kind.ARGUMENT,
|
|
83
|
+
name: {
|
|
84
|
+
kind: Kind.NAME,
|
|
85
|
+
value: arg.name
|
|
86
|
+
},
|
|
87
|
+
value: astFromValue(
|
|
88
|
+
arg.defaultValue,
|
|
89
|
+
arg.type
|
|
90
|
+
)
|
|
91
|
+
}))
|
|
92
|
+
);
|
|
76
93
|
}
|
|
94
|
+
return newNode;
|
|
77
95
|
}
|
|
78
|
-
}
|
|
96
|
+
}
|
|
97
|
+
const errorPath = makeReadableErrorPath(ancestors);
|
|
79
98
|
throw new Error(
|
|
80
|
-
`Cannot find type for field: ${
|
|
99
|
+
`Cannot find type for field: ${errorPath.join(".")}.${node.name.value}`
|
|
81
100
|
);
|
|
82
101
|
}
|
|
83
102
|
}
|
|
@@ -108,6 +127,27 @@ function generateTypeNode(type) {
|
|
|
108
127
|
}
|
|
109
128
|
throw new Error(`Can't generate TypeNode for type: ${type}`);
|
|
110
129
|
}
|
|
130
|
+
function makeReadableErrorPath(ancestors) {
|
|
131
|
+
const path = [];
|
|
132
|
+
ancestors.forEach((ancestorOrArray) => {
|
|
133
|
+
let ancestor;
|
|
134
|
+
if (!Array.isArray(ancestorOrArray)) {
|
|
135
|
+
ancestor = ancestorOrArray;
|
|
136
|
+
if (ancestor && ancestor.kind === Kind.FIELD) {
|
|
137
|
+
path.push(ancestor.name.value);
|
|
138
|
+
} else if (ancestor && ancestor.kind === Kind.OPERATION_DEFINITION) {
|
|
139
|
+
let name;
|
|
140
|
+
if (ancestor.name) {
|
|
141
|
+
name = `${ancestor.operation} ${ancestor.name.value}`;
|
|
142
|
+
} else {
|
|
143
|
+
name = ancestor.operation;
|
|
144
|
+
}
|
|
145
|
+
path.push(name);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return path;
|
|
150
|
+
}
|
|
111
151
|
export {
|
|
112
152
|
addTypesToRequestDocument
|
|
113
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nice-benchmark.d.ts","sourceRoot":"","sources":["../../src/benchmarks/nice-benchmark.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nice-benchmark.d.ts","sourceRoot":"","sources":["../../src/benchmarks/nice-benchmark.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAQ;gBAET,IAAI,EAAE,MAAM;IAQxB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUhD,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAOrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/swapi-schema/resolvers.ts"],"names":[],"mappings":"
|
|
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;AAkNpE,QAAA,MAAM,SAAS,EAAE,2BAA2B,CAAC,WAAW,CA8KvD,CAAC;AAKF,eAAe,SAAS,CAAC"}
|
|
@@ -59,70 +59,67 @@ __export(resolvers_exports, {
|
|
|
59
59
|
});
|
|
60
60
|
module.exports = __toCommonJS(resolvers_exports);
|
|
61
61
|
var import_iterall = require("iterall");
|
|
62
|
-
const films = (parent,
|
|
62
|
+
const films = (parent, _args, { models }) => {
|
|
63
63
|
return models.getData("/films").filter(({ id }) => parent.films.includes(id));
|
|
64
64
|
};
|
|
65
|
-
const starships = (parent,
|
|
66
|
-
return models.getData("/starships").filter(({ id
|
|
65
|
+
const starships = (parent, _args, { models }) => {
|
|
66
|
+
return models.getData("/starships").filter(({ id }) => parent.starships.includes(id));
|
|
67
67
|
};
|
|
68
68
|
function people(key) {
|
|
69
|
-
return (parent,
|
|
69
|
+
return (parent, _args, { models }) => {
|
|
70
70
|
return models.getData("/people").filter(({ id }) => parent[key].includes(id));
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
const vehicles = (parent,
|
|
73
|
+
const vehicles = (parent, _args, { models }) => {
|
|
74
74
|
return models.getData("/vehicles").filter(({ id }) => parent.vehicles.includes(id));
|
|
75
75
|
};
|
|
76
|
-
const
|
|
77
|
-
return models.getData("/transport").filter(({ id }) => parent.starships.includes(id));
|
|
78
|
-
};
|
|
79
|
-
const planets = (parent, args, { models }) => {
|
|
76
|
+
const planets = (parent, _args, { models }) => {
|
|
80
77
|
return models.getData("/planets").filter(({ id }) => parent.planets.includes(id));
|
|
81
78
|
};
|
|
82
|
-
const species = (parent,
|
|
79
|
+
const species = (parent, _args, { models }) => {
|
|
83
80
|
return models.getData("/species").filter(({ id }) => parent.species.includes(id));
|
|
84
81
|
};
|
|
85
|
-
const homeworld = (parent,
|
|
82
|
+
const homeworld = (parent, _args, { models }) => {
|
|
86
83
|
return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
|
|
87
84
|
};
|
|
88
|
-
const person = (
|
|
85
|
+
const person = (_parent, { id }, { models }) => {
|
|
89
86
|
return models.getData("/people").find((person2) => person2.id === id);
|
|
90
87
|
};
|
|
91
|
-
const planet = (
|
|
88
|
+
const planet = (_parent, { id }, { models }) => {
|
|
92
89
|
return models.getData("/planets").find((planet2) => planet2.id === id);
|
|
93
90
|
};
|
|
94
|
-
const film = (
|
|
91
|
+
const film = (_parent, { id }, { models }) => {
|
|
95
92
|
return models.getData("/films").find((film2) => film2.id === id);
|
|
96
93
|
};
|
|
97
|
-
const starship = (
|
|
94
|
+
const starship = (_parent, { id }, { models }) => {
|
|
98
95
|
return models.getData("/starships").find((starship2) => starship2.id === id);
|
|
99
96
|
};
|
|
100
|
-
const transport = (
|
|
97
|
+
const transport = (_parent, { id }, { models }) => {
|
|
101
98
|
return models.getData("/transport").find((transport2) => transport2.id === id);
|
|
102
99
|
};
|
|
103
|
-
const vehicle = (
|
|
100
|
+
const vehicle = (_parent, { id }, { models }) => {
|
|
104
101
|
return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
|
|
105
102
|
};
|
|
106
|
-
const searchPeopleByName = (
|
|
103
|
+
const searchPeopleByName = (_parent, { search }, { models }) => {
|
|
107
104
|
return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
|
|
108
105
|
};
|
|
109
|
-
const searchPlanetsByName = (
|
|
106
|
+
const searchPlanetsByName = (_parent, { search }, { models }) => {
|
|
110
107
|
return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
|
|
111
108
|
};
|
|
112
|
-
const searchFilmsByTitle = (
|
|
109
|
+
const searchFilmsByTitle = (_parent, { search }, { models }) => {
|
|
113
110
|
return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
|
|
114
111
|
};
|
|
115
|
-
const searchSpeciesByName = (
|
|
112
|
+
const searchSpeciesByName = (_parent, { search }, { models }) => {
|
|
116
113
|
return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
|
|
117
114
|
};
|
|
118
|
-
const searchStarshipsByName = (
|
|
115
|
+
const searchStarshipsByName = (_parent, { search }, { models }) => {
|
|
119
116
|
return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
|
|
120
117
|
};
|
|
121
|
-
const searchVehiclesByName = (
|
|
118
|
+
const searchVehiclesByName = (_parent, { search }, { models }) => {
|
|
122
119
|
return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
|
|
123
120
|
};
|
|
124
121
|
const emitPersons = function(_0, _1, _2) {
|
|
125
|
-
return __async(this, arguments, function* (
|
|
122
|
+
return __async(this, arguments, function* (_parent, { limit, throwError }, { models }) {
|
|
126
123
|
if (throwError) {
|
|
127
124
|
throw new Error("error");
|
|
128
125
|
return;
|
|
@@ -136,7 +133,7 @@ const emitPersons = function(_0, _1, _2) {
|
|
|
136
133
|
return (0, import_iterall.createAsyncIterator)(output);
|
|
137
134
|
});
|
|
138
135
|
};
|
|
139
|
-
const searchTransportsByName = (
|
|
136
|
+
const searchTransportsByName = (_parent, { search }, { models }) => {
|
|
140
137
|
return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
|
|
141
138
|
};
|
|
142
139
|
const resolvers = {
|
|
@@ -228,23 +225,29 @@ const resolvers = {
|
|
|
228
225
|
searchVehiclesByName,
|
|
229
226
|
searchPlanetsByName,
|
|
230
227
|
searchFilmsByTitle,
|
|
231
|
-
allStarships(
|
|
228
|
+
allStarships(_parent, _args, { models }) {
|
|
232
229
|
return models.getData("/starships");
|
|
233
230
|
},
|
|
234
|
-
allFilms(
|
|
231
|
+
allFilms(_parent, _args, { models }) {
|
|
235
232
|
return models.getData("/films");
|
|
236
233
|
},
|
|
237
|
-
allPeople(
|
|
234
|
+
allPeople(_parent, _args, { models }) {
|
|
238
235
|
return models.getData("/people");
|
|
239
236
|
},
|
|
240
|
-
allPlanets(
|
|
237
|
+
allPlanets(_parent, _args, { models }) {
|
|
241
238
|
return models.getData("/planets");
|
|
242
239
|
},
|
|
243
|
-
allSpecies(
|
|
240
|
+
allSpecies(_parent, _args, { models }) {
|
|
244
241
|
return models.getData("/species");
|
|
245
242
|
},
|
|
246
|
-
allTransports(
|
|
243
|
+
allTransports(_parent, _args, { models }) {
|
|
247
244
|
return models.getData("/transport");
|
|
245
|
+
},
|
|
246
|
+
advancedDefaultInput(_parent, args) {
|
|
247
|
+
return JSON.stringify(args);
|
|
248
|
+
},
|
|
249
|
+
multiArger(_parent, args) {
|
|
250
|
+
return JSON.stringify(args);
|
|
248
251
|
}
|
|
249
252
|
},
|
|
250
253
|
Film: {
|
|
@@ -40,67 +40,67 @@ var __async = (__this, __arguments, generator) => {
|
|
|
40
40
|
|
|
41
41
|
// src/benchmarks/swapi-schema/resolvers.ts
|
|
42
42
|
import { createAsyncIterator } from "iterall";
|
|
43
|
-
var films = (parent,
|
|
43
|
+
var films = (parent, _args, { models }) => {
|
|
44
44
|
return models.getData("/films").filter(({ id }) => parent.films.includes(id));
|
|
45
45
|
};
|
|
46
|
-
var starships = (parent,
|
|
47
|
-
return models.getData("/starships").filter(({ id
|
|
46
|
+
var starships = (parent, _args, { models }) => {
|
|
47
|
+
return models.getData("/starships").filter(({ id }) => parent.starships.includes(id));
|
|
48
48
|
};
|
|
49
49
|
function people(key) {
|
|
50
|
-
return (parent,
|
|
50
|
+
return (parent, _args, { models }) => {
|
|
51
51
|
return models.getData("/people").filter(({ id }) => parent[key].includes(id));
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
var vehicles = (parent,
|
|
54
|
+
var vehicles = (parent, _args, { models }) => {
|
|
55
55
|
return models.getData("/vehicles").filter(({ id }) => parent.vehicles.includes(id));
|
|
56
56
|
};
|
|
57
|
-
var planets = (parent,
|
|
57
|
+
var planets = (parent, _args, { models }) => {
|
|
58
58
|
return models.getData("/planets").filter(({ id }) => parent.planets.includes(id));
|
|
59
59
|
};
|
|
60
|
-
var species = (parent,
|
|
60
|
+
var species = (parent, _args, { models }) => {
|
|
61
61
|
return models.getData("/species").filter(({ id }) => parent.species.includes(id));
|
|
62
62
|
};
|
|
63
|
-
var homeworld = (parent,
|
|
63
|
+
var homeworld = (parent, _args, { models }) => {
|
|
64
64
|
return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
|
|
65
65
|
};
|
|
66
|
-
var person = (
|
|
66
|
+
var person = (_parent, { id }, { models }) => {
|
|
67
67
|
return models.getData("/people").find((person2) => person2.id === id);
|
|
68
68
|
};
|
|
69
|
-
var planet = (
|
|
69
|
+
var planet = (_parent, { id }, { models }) => {
|
|
70
70
|
return models.getData("/planets").find((planet2) => planet2.id === id);
|
|
71
71
|
};
|
|
72
|
-
var film = (
|
|
72
|
+
var film = (_parent, { id }, { models }) => {
|
|
73
73
|
return models.getData("/films").find((film2) => film2.id === id);
|
|
74
74
|
};
|
|
75
|
-
var starship = (
|
|
75
|
+
var starship = (_parent, { id }, { models }) => {
|
|
76
76
|
return models.getData("/starships").find((starship2) => starship2.id === id);
|
|
77
77
|
};
|
|
78
|
-
var transport = (
|
|
78
|
+
var transport = (_parent, { id }, { models }) => {
|
|
79
79
|
return models.getData("/transport").find((transport2) => transport2.id === id);
|
|
80
80
|
};
|
|
81
|
-
var vehicle = (
|
|
81
|
+
var vehicle = (_parent, { id }, { models }) => {
|
|
82
82
|
return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
|
|
83
83
|
};
|
|
84
|
-
var searchPeopleByName = (
|
|
84
|
+
var searchPeopleByName = (_parent, { search }, { models }) => {
|
|
85
85
|
return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
|
|
86
86
|
};
|
|
87
|
-
var searchPlanetsByName = (
|
|
87
|
+
var searchPlanetsByName = (_parent, { search }, { models }) => {
|
|
88
88
|
return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
|
|
89
89
|
};
|
|
90
|
-
var searchFilmsByTitle = (
|
|
90
|
+
var searchFilmsByTitle = (_parent, { search }, { models }) => {
|
|
91
91
|
return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
|
|
92
92
|
};
|
|
93
|
-
var searchSpeciesByName = (
|
|
93
|
+
var searchSpeciesByName = (_parent, { search }, { models }) => {
|
|
94
94
|
return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
|
|
95
95
|
};
|
|
96
|
-
var searchStarshipsByName = (
|
|
96
|
+
var searchStarshipsByName = (_parent, { search }, { models }) => {
|
|
97
97
|
return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
|
|
98
98
|
};
|
|
99
|
-
var searchVehiclesByName = (
|
|
99
|
+
var searchVehiclesByName = (_parent, { search }, { models }) => {
|
|
100
100
|
return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
|
|
101
101
|
};
|
|
102
102
|
var emitPersons = function(_0, _1, _2) {
|
|
103
|
-
return __async(this, arguments, function* (
|
|
103
|
+
return __async(this, arguments, function* (_parent, { limit, throwError }, { models }) {
|
|
104
104
|
if (throwError) {
|
|
105
105
|
throw new Error("error");
|
|
106
106
|
return;
|
|
@@ -114,7 +114,7 @@ var emitPersons = function(_0, _1, _2) {
|
|
|
114
114
|
return createAsyncIterator(output);
|
|
115
115
|
});
|
|
116
116
|
};
|
|
117
|
-
var searchTransportsByName = (
|
|
117
|
+
var searchTransportsByName = (_parent, { search }, { models }) => {
|
|
118
118
|
return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
|
|
119
119
|
};
|
|
120
120
|
var resolvers = {
|
|
@@ -206,23 +206,29 @@ var resolvers = {
|
|
|
206
206
|
searchVehiclesByName,
|
|
207
207
|
searchPlanetsByName,
|
|
208
208
|
searchFilmsByTitle,
|
|
209
|
-
allStarships(
|
|
209
|
+
allStarships(_parent, _args, { models }) {
|
|
210
210
|
return models.getData("/starships");
|
|
211
211
|
},
|
|
212
|
-
allFilms(
|
|
212
|
+
allFilms(_parent, _args, { models }) {
|
|
213
213
|
return models.getData("/films");
|
|
214
214
|
},
|
|
215
|
-
allPeople(
|
|
215
|
+
allPeople(_parent, _args, { models }) {
|
|
216
216
|
return models.getData("/people");
|
|
217
217
|
},
|
|
218
|
-
allPlanets(
|
|
218
|
+
allPlanets(_parent, _args, { models }) {
|
|
219
219
|
return models.getData("/planets");
|
|
220
220
|
},
|
|
221
|
-
allSpecies(
|
|
221
|
+
allSpecies(_parent, _args, { models }) {
|
|
222
222
|
return models.getData("/species");
|
|
223
223
|
},
|
|
224
|
-
allTransports(
|
|
224
|
+
allTransports(_parent, _args, { models }) {
|
|
225
225
|
return models.getData("/transport");
|
|
226
|
+
},
|
|
227
|
+
advancedDefaultInput(_parent, args) {
|
|
228
|
+
return JSON.stringify(args);
|
|
229
|
+
},
|
|
230
|
+
multiArger(_parent, args) {
|
|
231
|
+
return JSON.stringify(args);
|
|
226
232
|
}
|
|
227
233
|
},
|
|
228
234
|
Film: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectFields.d.ts","sourceRoot":"","sources":["../src/collectFields.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGtB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"collectFields.d.ts","sourceRoot":"","sources":["../src/collectFields.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EAGtB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACzC,cAAc,EAAE;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAC/C,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EACrC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAgE/B"}
|
package/lib/definition.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ import { GraphQLFieldConfigArgumentMap, GraphQLArgument } from "graphql";
|
|
|
2
2
|
import { Resolver, UnionTypeResolver, InterfaceTypeResolver } from "./types";
|
|
3
3
|
export declare function defineArguments(config: GraphQLFieldConfigArgumentMap): ReadonlyArray<GraphQLArgument>;
|
|
4
4
|
export declare function argsToArgsConfig(args: ReadonlyArray<GraphQLArgument>): GraphQLFieldConfigArgumentMap;
|
|
5
|
-
export declare function isInterfaceResolverType(resolver: Resolver<
|
|
6
|
-
export declare function isUnionResolverType(resolver: Resolver<
|
|
5
|
+
export declare function isInterfaceResolverType(resolver: Resolver<unknown, unknown>): resolver is InterfaceTypeResolver;
|
|
6
|
+
export declare function isUnionResolverType(resolver: Resolver<unknown, unknown>): resolver is UnionTypeResolver;
|
|
7
7
|
//# sourceMappingURL=definition.d.ts.map
|
package/lib/definition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI7E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,6BAA6B,GACpC,aAAa,CAAC,eAAe,CAAC,CAUhC;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,GACnC,6BAA6B,CAa/B;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GACnC,QAAQ,IAAI,qBAAqB,CAEnC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GACnC,QAAQ,IAAI,iBAAiB,CAE/B"}
|
|
@@ -40,8 +40,8 @@ export interface ExecutionContext {
|
|
|
40
40
|
variableValues: {
|
|
41
41
|
[variable: string]: unknown;
|
|
42
42
|
};
|
|
43
|
-
fieldResolver: FunctionFieldResolver<
|
|
44
|
-
typeResolver: TypeResolver<
|
|
43
|
+
fieldResolver: FunctionFieldResolver<unknown, unknown>;
|
|
44
|
+
typeResolver: TypeResolver<unknown, unknown>;
|
|
45
45
|
errors: Array<GraphQLError>;
|
|
46
46
|
fieldExecutionHooks?: ExecutionHooks;
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,
|
|
1
|
+
{"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -563,7 +563,7 @@ function getRuntimeTypeInstanceName(runtimeType) {
|
|
|
563
563
|
return "Unknown";
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
|
-
function completeObjectValue(exeContext, returnTypeName, fieldNodes,
|
|
566
|
+
function completeObjectValue(exeContext, returnTypeName, fieldNodes, _info, path, result) {
|
|
567
567
|
const subFieldNodes = collectSubfields(
|
|
568
568
|
exeContext,
|
|
569
569
|
returnTypeName,
|
|
@@ -571,12 +571,6 @@ function completeObjectValue(exeContext, returnTypeName, fieldNodes, info, path,
|
|
|
571
571
|
);
|
|
572
572
|
return executeFields(exeContext, returnTypeName, result, path, subFieldNodes);
|
|
573
573
|
}
|
|
574
|
-
function invalidReturnTypeError(returnType, result, fieldNodes) {
|
|
575
|
-
return new import_graphql.GraphQLError(
|
|
576
|
-
`Expected value of type "${returnType.name}" but got: ${(0, import_inspect.inspect)(result)}.`,
|
|
577
|
-
fieldNodes
|
|
578
|
-
);
|
|
579
|
-
}
|
|
580
574
|
function collectSubfields(exeContext, returnTypeName, fieldNodes) {
|
|
581
575
|
let subFieldNodes = /* @__PURE__ */ new Map();
|
|
582
576
|
const visitedFragmentNames = /* @__PURE__ */ new Set();
|
|
@@ -677,8 +671,8 @@ function executeSafe(execute, onComplete) {
|
|
|
677
671
|
error = e;
|
|
678
672
|
} finally {
|
|
679
673
|
onComplete(result, error);
|
|
680
|
-
return result;
|
|
681
674
|
}
|
|
675
|
+
return result;
|
|
682
676
|
}
|
|
683
677
|
function toGraphQLError(originalError, path, prependMessage) {
|
|
684
678
|
const originalMessage = originalError instanceof Error ? originalError.message : (0, import_inspect.inspect)(originalError);
|
|
@@ -690,15 +684,18 @@ const defaultTypeResolver = function(value) {
|
|
|
690
684
|
return value.__typename;
|
|
691
685
|
}
|
|
692
686
|
};
|
|
693
|
-
const defaultFieldResolver =
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
if (typeof
|
|
697
|
-
|
|
687
|
+
const defaultFieldResolver = (
|
|
688
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
689
|
+
function(source, args, contextValue, info) {
|
|
690
|
+
if ((0, import_isObjectLike.isObjectLike)(source) || typeof source === "function") {
|
|
691
|
+
const property = source[info.fieldName];
|
|
692
|
+
if (typeof property === "function") {
|
|
693
|
+
return source[info.fieldName](args, contextValue, info);
|
|
694
|
+
}
|
|
695
|
+
return property;
|
|
698
696
|
}
|
|
699
|
-
return property;
|
|
700
697
|
}
|
|
701
|
-
|
|
698
|
+
);
|
|
702
699
|
function getOperationRootTypeName(operation) {
|
|
703
700
|
switch (operation.operation) {
|
|
704
701
|
case "query":
|
|
@@ -547,7 +547,7 @@ function getRuntimeTypeInstanceName(runtimeType) {
|
|
|
547
547
|
return "Unknown";
|
|
548
548
|
}
|
|
549
549
|
}
|
|
550
|
-
function completeObjectValue(exeContext, returnTypeName, fieldNodes,
|
|
550
|
+
function completeObjectValue(exeContext, returnTypeName, fieldNodes, _info, path, result) {
|
|
551
551
|
const subFieldNodes = collectSubfields(
|
|
552
552
|
exeContext,
|
|
553
553
|
returnTypeName,
|
|
@@ -655,8 +655,8 @@ function executeSafe(execute, onComplete) {
|
|
|
655
655
|
error = e;
|
|
656
656
|
} finally {
|
|
657
657
|
onComplete(result, error);
|
|
658
|
-
return result;
|
|
659
658
|
}
|
|
659
|
+
return result;
|
|
660
660
|
}
|
|
661
661
|
function toGraphQLError(originalError, path, prependMessage) {
|
|
662
662
|
const originalMessage = originalError instanceof Error ? originalError.message : inspect(originalError);
|
|
@@ -668,15 +668,18 @@ var defaultTypeResolver = function(value) {
|
|
|
668
668
|
return value.__typename;
|
|
669
669
|
}
|
|
670
670
|
};
|
|
671
|
-
var defaultFieldResolver =
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
if (typeof
|
|
675
|
-
|
|
671
|
+
var defaultFieldResolver = (
|
|
672
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
673
|
+
function(source, args, contextValue, info) {
|
|
674
|
+
if (isObjectLike(source) || typeof source === "function") {
|
|
675
|
+
const property = source[info.fieldName];
|
|
676
|
+
if (typeof property === "function") {
|
|
677
|
+
return source[info.fieldName](args, contextValue, info);
|
|
678
|
+
}
|
|
679
|
+
return property;
|
|
676
680
|
}
|
|
677
|
-
return property;
|
|
678
681
|
}
|
|
679
|
-
|
|
682
|
+
);
|
|
680
683
|
function getOperationRootTypeName(operation) {
|
|
681
684
|
switch (operation.operation) {
|
|
682
685
|
case "query":
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { DocumentNode, GraphQLInputType } from "graphql";
|
|
2
2
|
import { Resolvers } from "./types";
|
|
3
|
-
export declare function extractImplicitTypes<TSource =
|
|
3
|
+
export declare function extractImplicitTypes<TSource = unknown, TContext = unknown>(document: DocumentNode, getTypeByName: (name: string) => GraphQLInputType): Resolvers<TSource, TContext>;
|
|
4
4
|
//# sourceMappingURL=extractImplicitTypesRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractImplicitTypesRuntime.d.ts","sourceRoot":"","sources":["../src/extractImplicitTypesRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAgBZ,gBAAgB,EAKjB,MAAM,SAAS,CAAC;AAEjB,OAAO,
|
|
1
|
+
{"version":3,"file":"extractImplicitTypesRuntime.d.ts","sourceRoot":"","sources":["../src/extractImplicitTypesRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAgBZ,gBAAgB,EAKjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAA4C,MAAM,SAAS,CAAC;AAE9E,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,EACxE,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,GAChD,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CA6C9B"}
|
|
@@ -26,7 +26,7 @@ function extractImplicitTypes(document, getTypeByName) {
|
|
|
26
26
|
var _a, _b, _c;
|
|
27
27
|
const result = /* @__PURE__ */ Object.create(null);
|
|
28
28
|
const implementedBy = {};
|
|
29
|
-
for (
|
|
29
|
+
for (const astNode of document.definitions) {
|
|
30
30
|
if (astNode.kind === import_graphql.Kind.SCALAR_TYPE_DEFINITION) {
|
|
31
31
|
const name = astNode.name.value;
|
|
32
32
|
result[name] = new import_graphql.GraphQLScalarType({
|
|
@@ -14,7 +14,7 @@ function extractImplicitTypes(document, getTypeByName) {
|
|
|
14
14
|
var _a, _b, _c;
|
|
15
15
|
const result = /* @__PURE__ */ Object.create(null);
|
|
16
16
|
const implementedBy = {};
|
|
17
|
-
for (
|
|
17
|
+
for (const astNode of document.definitions) {
|
|
18
18
|
if (astNode.kind === Kind.SCALAR_TYPE_DEFINITION) {
|
|
19
19
|
const name = astNode.name.value;
|
|
20
20
|
result[name] = new GraphQLScalarType({
|
package/lib/hooks/types.d.ts
CHANGED
|
@@ -5,15 +5,14 @@ interface BaseExecuteHookArgs {
|
|
|
5
5
|
interface BaseExecuteFieldHookArgs extends BaseExecuteHookArgs {
|
|
6
6
|
resolveInfo: ResolveInfo;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
}
|
|
8
|
+
export declare type BeforeFieldResolveHookArgs = BaseExecuteFieldHookArgs;
|
|
10
9
|
export interface AfterFieldResolveHookArgs extends BaseExecuteFieldHookArgs {
|
|
11
10
|
result?: unknown;
|
|
12
|
-
error?:
|
|
11
|
+
error?: unknown;
|
|
13
12
|
}
|
|
14
13
|
export interface AfterFieldCompleteHookArgs extends BaseExecuteFieldHookArgs {
|
|
15
14
|
result?: unknown;
|
|
16
|
-
error?:
|
|
15
|
+
error?: unknown;
|
|
17
16
|
}
|
|
18
17
|
export interface BeforeFieldResolveHook {
|
|
19
18
|
(args: BeforeFieldResolveHookArgs): void;
|
package/lib/hooks/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,oBAAY,0BAA0B,GAAG,wBAAwB,CAAC;AAElE,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C"}
|