@graphitation/supermassive 0.1.2 → 0.4.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.json +76 -1
- package/CHANGELOG.md +34 -2
- package/README.md +264 -2
- package/bin/supermassive.js +7 -0
- package/lib/{src/ast → ast}/TypedAST.d.ts +2 -0
- package/lib/ast/TypedAST.d.ts.map +1 -0
- package/lib/{src/ast → ast}/addTypesToRequestDocument.d.ts +0 -0
- package/lib/ast/addTypesToRequestDocument.d.ts.map +1 -0
- package/lib/ast/addTypesToRequestDocument.js +8 -5
- package/lib/ast/addTypesToRequestDocument.mjs +12 -6
- package/lib/benchmarks/index.d.ts.map +1 -1
- package/lib/benchmarks/index.js +127 -0
- package/lib/benchmarks/index.mjs +111 -0
- package/lib/benchmarks/nice-benchmark.d.ts +1 -1
- package/lib/benchmarks/nice-benchmark.d.ts.map +1 -1
- package/lib/benchmarks/nice-benchmark.js +72 -0
- package/lib/benchmarks/nice-benchmark.mjs +52 -0
- package/lib/benchmarks/swapi-schema/index.d.ts +1 -0
- package/lib/benchmarks/swapi-schema/index.d.ts.map +1 -1
- package/lib/benchmarks/swapi-schema/index.js +39 -0
- package/lib/benchmarks/swapi-schema/index.mjs +17 -0
- package/lib/benchmarks/swapi-schema/models.d.ts.map +1 -1
- package/lib/benchmarks/swapi-schema/models.js +29 -0
- package/lib/benchmarks/swapi-schema/models.mjs +7 -0
- package/lib/benchmarks/swapi-schema/resolvers.d.ts.map +1 -1
- package/lib/benchmarks/swapi-schema/resolvers.js +237 -0
- package/lib/benchmarks/swapi-schema/resolvers.mjs +230 -0
- package/lib/bin/supermassive.d.ts +3 -0
- package/lib/bin/supermassive.d.ts.map +1 -0
- package/lib/bin/supermassive.js +83 -0
- package/lib/bin/supermassive.mjs +62 -0
- package/lib/collectFields.d.ts +17 -0
- package/lib/collectFields.d.ts.map +1 -0
- package/lib/collectFields.js +83 -0
- package/lib/collectFields.mjs +61 -0
- package/lib/compiledQuery.d.ts +1 -0
- package/lib/compiledQuery.d.ts.map +1 -0
- package/lib/compiledQuery.js +0 -0
- package/lib/compiledQuery.mjs +0 -0
- package/lib/executeWithSchema.d.ts +4 -0
- package/lib/executeWithSchema.d.ts.map +1 -0
- package/lib/{index.test.js → executeWithSchema.js} +45 -46
- package/lib/executeWithSchema.mjs +64 -0
- package/lib/executeWithoutSchema.d.ts +99 -0
- package/lib/executeWithoutSchema.d.ts.map +1 -0
- package/lib/executeWithoutSchema.js +376 -0
- package/lib/executeWithoutSchema.mjs +363 -0
- package/lib/extractImplicitTypesRuntime.d.ts +4 -0
- package/lib/extractImplicitTypesRuntime.d.ts.map +1 -0
- package/lib/extractImplicitTypesRuntime.js +103 -0
- package/lib/extractImplicitTypesRuntime.mjs +91 -0
- package/lib/extractImplicitTypesToTypescript.d.ts +4 -0
- package/lib/extractImplicitTypesToTypescript.d.ts.map +1 -0
- package/lib/extractImplicitTypesToTypescript.js +169 -0
- package/lib/extractImplicitTypesToTypescript.mjs +149 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +12 -29
- package/lib/index.mjs +13 -29
- package/lib/jsutils/Maybe.d.ts +3 -0
- package/lib/jsutils/Maybe.d.ts.map +1 -0
- package/lib/jsutils/Maybe.js +3 -0
- package/lib/jsutils/Maybe.mjs +0 -0
- package/lib/jsutils/ObjMap.d.ts +13 -0
- package/lib/jsutils/ObjMap.d.ts.map +1 -0
- package/lib/jsutils/ObjMap.js +3 -0
- package/lib/jsutils/ObjMap.mjs +0 -0
- package/lib/jsutils/Path.d.ts +15 -0
- package/lib/jsutils/Path.d.ts.map +1 -0
- package/lib/jsutils/Path.js +23 -0
- package/lib/jsutils/Path.mjs +17 -0
- package/lib/jsutils/PromiseOrValue.d.ts +2 -0
- package/lib/jsutils/PromiseOrValue.d.ts.map +1 -0
- package/lib/jsutils/PromiseOrValue.js +3 -0
- package/lib/jsutils/PromiseOrValue.mjs +0 -0
- package/lib/jsutils/devAssert.d.ts +2 -0
- package/lib/jsutils/devAssert.d.ts.map +1 -0
- package/lib/jsutils/devAssert.js +16 -0
- package/lib/jsutils/devAssert.mjs +10 -0
- package/lib/jsutils/didYouMean.d.ts +6 -0
- package/lib/jsutils/didYouMean.d.ts.map +1 -0
- package/lib/jsutils/didYouMean.js +30 -0
- package/lib/jsutils/didYouMean.mjs +24 -0
- package/lib/jsutils/identityFunc.d.ts +5 -0
- package/lib/jsutils/identityFunc.d.ts.map +1 -0
- package/lib/jsutils/identityFunc.js +13 -0
- package/lib/jsutils/identityFunc.mjs +7 -0
- package/lib/jsutils/inspect.d.ts +5 -0
- package/lib/jsutils/inspect.d.ts.map +1 -0
- package/lib/jsutils/inspect.js +89 -0
- package/lib/jsutils/inspect.mjs +83 -0
- package/lib/jsutils/instanceOf.d.ts +14 -0
- package/lib/jsutils/instanceOf.d.ts.map +1 -0
- package/lib/jsutils/instanceOf.js +55 -0
- package/lib/jsutils/instanceOf.mjs +33 -0
- package/lib/jsutils/invariant.d.ts +2 -0
- package/lib/jsutils/invariant.d.ts.map +1 -0
- package/lib/jsutils/invariant.js +16 -0
- package/lib/jsutils/invariant.mjs +10 -0
- package/lib/jsutils/isAsyncIterable.d.ts +6 -0
- package/lib/jsutils/isAsyncIterable.d.ts.map +1 -0
- package/lib/jsutils/isAsyncIterable.js +13 -0
- package/lib/jsutils/isAsyncIterable.mjs +7 -0
- package/lib/jsutils/isIterableObject.d.ts +18 -0
- package/lib/jsutils/isIterableObject.d.ts.map +1 -0
- package/lib/jsutils/isIterableObject.js +13 -0
- package/lib/jsutils/isIterableObject.mjs +7 -0
- package/lib/jsutils/isObjectLike.d.ts +8 -0
- package/lib/jsutils/isObjectLike.d.ts.map +1 -0
- package/lib/jsutils/isObjectLike.js +13 -0
- package/lib/jsutils/isObjectLike.mjs +7 -0
- package/lib/jsutils/isPromise.d.ts +6 -0
- package/lib/jsutils/isPromise.d.ts.map +1 -0
- package/lib/jsutils/isPromise.js +13 -0
- package/lib/jsutils/isPromise.mjs +7 -0
- package/lib/jsutils/keyMap.d.ts +26 -0
- package/lib/jsutils/keyMap.d.ts.map +1 -0
- package/lib/jsutils/keyMap.js +17 -0
- package/lib/jsutils/keyMap.mjs +11 -0
- package/lib/jsutils/keyValMap.d.ts +20 -0
- package/lib/jsutils/keyValMap.d.ts.map +1 -0
- package/lib/jsutils/keyValMap.js +17 -0
- package/lib/jsutils/keyValMap.mjs +11 -0
- package/lib/jsutils/mapValue.d.ts +7 -0
- package/lib/jsutils/mapValue.d.ts.map +1 -0
- package/lib/jsutils/mapValue.js +17 -0
- package/lib/jsutils/mapValue.mjs +11 -0
- package/lib/jsutils/memoize3.d.ts +5 -0
- package/lib/jsutils/memoize3.d.ts.map +1 -0
- package/lib/jsutils/memoize3.js +34 -0
- package/lib/jsutils/memoize3.mjs +28 -0
- package/lib/jsutils/naturalCompare.d.ts +9 -0
- package/lib/jsutils/naturalCompare.d.ts.map +1 -0
- package/lib/jsutils/naturalCompare.js +53 -0
- package/lib/jsutils/naturalCompare.mjs +47 -0
- package/lib/jsutils/printPathArray.d.ts +5 -0
- package/lib/jsutils/printPathArray.d.ts.map +1 -0
- package/lib/jsutils/printPathArray.js +13 -0
- package/lib/jsutils/printPathArray.mjs +7 -0
- package/lib/jsutils/promiseForObject.d.ts +10 -0
- package/lib/jsutils/promiseForObject.d.ts.map +1 -0
- package/lib/jsutils/promiseForObject.js +19 -0
- package/lib/jsutils/promiseForObject.mjs +13 -0
- package/lib/jsutils/promiseReduce.d.ts +10 -0
- package/lib/jsutils/promiseReduce.d.ts.map +1 -0
- package/lib/jsutils/promiseReduce.js +34 -0
- package/lib/jsutils/promiseReduce.mjs +12 -0
- package/lib/jsutils/suggestionList.d.ts +6 -0
- package/lib/jsutils/suggestionList.d.ts.map +1 -0
- package/lib/jsutils/suggestionList.js +109 -0
- package/lib/jsutils/suggestionList.mjs +87 -0
- package/lib/jsutils/toObjMap.d.ts +4 -0
- package/lib/jsutils/toObjMap.d.ts.map +1 -0
- package/lib/jsutils/toObjMap.js +20 -0
- package/lib/jsutils/toObjMap.mjs +14 -0
- package/lib/transforms/annotateDocumentGraphQLTransform.d.ts +3 -0
- package/lib/transforms/annotateDocumentGraphQLTransform.d.ts.map +1 -0
- package/lib/transforms/annotateDocumentGraphQLTransform.js +37 -0
- package/lib/transforms/annotateDocumentGraphQLTransform.mjs +17 -0
- package/lib/transforms/transformerTestUtils.d.ts +79 -0
- package/lib/transforms/transformerTestUtils.d.ts.map +1 -0
- package/lib/transforms/transformerTestUtils.js +175 -0
- package/lib/transforms/transformerTestUtils.mjs +160 -0
- package/lib/types.d.ts +74 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +3 -0
- package/lib/types.mjs +0 -0
- package/lib/utilities/typeNameFromAST.d.ts +3 -0
- package/lib/utilities/typeNameFromAST.d.ts.map +1 -0
- package/lib/utilities/typeNameFromAST.js +34 -0
- package/lib/utilities/typeNameFromAST.mjs +12 -0
- package/lib/values.d.ts +64 -0
- package/lib/values.d.ts.map +1 -0
- package/lib/values.js +145 -0
- package/lib/values.mjs +138 -0
- package/package.json +21 -6
- package/benchmarks/fixtures/query1.graphql +0 -20
- package/benchmarks/index.ts +0 -68
- package/benchmarks/nice-benchmark.ts +0 -32
- package/benchmarks/swapi-schema/index.ts +0 -13
- package/benchmarks/swapi-schema/models.ts +0 -4
- package/benchmarks/swapi-schema/resolvers.ts +0 -331
- package/benchmarks/swapi-schema/schema.graphql +0 -164
- package/benchmarks/swapi-schema/starwars.json +0 -5991
- package/lib/index.test.mjs +0 -63
- package/lib/src/ast/TypedAST.d.ts.map +0 -1
- package/lib/src/ast/addTypesToRequestDocument.d.ts.map +0 -1
- package/lib/src/index.d.ts +0 -16
- package/lib/src/index.d.ts.map +0 -1
- package/lib/src/index.test.d.ts +0 -2
- package/lib/src/index.test.d.ts.map +0 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
|
|
6
|
+
var __objSpread = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
18
|
+
var __export = (target, all) => {
|
|
19
|
+
for (var name in all)
|
|
20
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
21
|
+
};
|
|
22
|
+
__markAsModule(exports);
|
|
23
|
+
__export(exports, {
|
|
24
|
+
default: () => resolvers_default
|
|
25
|
+
});
|
|
26
|
+
const films = (parent, args, {models}) => {
|
|
27
|
+
return models.getData("/films").filter(({id}) => parent.films.includes(id));
|
|
28
|
+
};
|
|
29
|
+
const starships = (parent, {id}, {models}) => {
|
|
30
|
+
return models.getData("/starships").filter(({id: id2}) => parent.starships.includes(id2));
|
|
31
|
+
};
|
|
32
|
+
function people(key) {
|
|
33
|
+
return (parent, args, {models}) => {
|
|
34
|
+
return models.getData("/people").filter(({id}) => parent[key].includes(id));
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const vehicles = (parent, args, {models}) => {
|
|
38
|
+
return models.getData("/vehicles").filter(({id}) => parent.vehicles.includes(id));
|
|
39
|
+
};
|
|
40
|
+
const transports = (parent, args, {models}) => {
|
|
41
|
+
return models.getData("/transport").filter(({id}) => parent.starships.includes(id));
|
|
42
|
+
};
|
|
43
|
+
const planets = (parent, args, {models}) => {
|
|
44
|
+
return models.getData("/planets").filter(({id}) => parent.planets.includes(id));
|
|
45
|
+
};
|
|
46
|
+
const species = (parent, args, {models}) => {
|
|
47
|
+
return models.getData("/species").filter(({id}) => parent.species.includes(id));
|
|
48
|
+
};
|
|
49
|
+
const homeworld = (parent, args, {models}) => {
|
|
50
|
+
return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
|
|
51
|
+
};
|
|
52
|
+
const person = (parent, {id}, {models}) => {
|
|
53
|
+
return models.getData("/people").find((person2) => person2.id === id);
|
|
54
|
+
};
|
|
55
|
+
const planet = (parent, {id}, {models}) => {
|
|
56
|
+
return models.getData("/planets").find((planet2) => planet2.id === id);
|
|
57
|
+
};
|
|
58
|
+
const film = (parent, {id}, {models}) => {
|
|
59
|
+
return models.getData("/films").find((film2) => film2.id === id);
|
|
60
|
+
};
|
|
61
|
+
const starship = (parent, {id}, {models}) => {
|
|
62
|
+
return models.getData("/starships").find((starship2) => starship2.id === id);
|
|
63
|
+
};
|
|
64
|
+
const transport = (parent, {id}, {models}) => {
|
|
65
|
+
return models.getData("/transport").find((transport2) => transport2.id === id);
|
|
66
|
+
};
|
|
67
|
+
const vehicle = (parent, {id}, {models}) => {
|
|
68
|
+
return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
|
|
69
|
+
};
|
|
70
|
+
const searchPeopleByName = (parent, {search}, {models}) => {
|
|
71
|
+
return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
|
|
72
|
+
};
|
|
73
|
+
const searchPlanetsByName = (parent, {search}, {models}) => {
|
|
74
|
+
return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
|
|
75
|
+
};
|
|
76
|
+
const searchFilmsByTitle = (parent, {search}, {models}) => {
|
|
77
|
+
return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
|
|
78
|
+
};
|
|
79
|
+
const searchSpeciesByName = (parent, {search}, {models}) => {
|
|
80
|
+
return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
|
|
81
|
+
};
|
|
82
|
+
const searchStarshipsByName = (parent, {search}, {models}) => {
|
|
83
|
+
return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
|
|
84
|
+
};
|
|
85
|
+
const searchVehiclesByName = (parent, {search}, {models}) => {
|
|
86
|
+
return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
|
|
87
|
+
};
|
|
88
|
+
const searchTransportsByName = (parent, {search}, {models}) => {
|
|
89
|
+
return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
|
|
90
|
+
};
|
|
91
|
+
const resolvers = {
|
|
92
|
+
SearchResult: {
|
|
93
|
+
__resolveType(parent) {
|
|
94
|
+
return parent.__typename;
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
Query: {
|
|
98
|
+
search(parent, {search}, {models}, info) {
|
|
99
|
+
const result = [
|
|
100
|
+
...searchFilmsByTitle(parent, {search}, {models}, info).map((r) => (r.__typename = "Film") && r),
|
|
101
|
+
...searchPeopleByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Person") && r),
|
|
102
|
+
...searchPlanetsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Planet") && r),
|
|
103
|
+
...searchSpeciesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Species") && r),
|
|
104
|
+
...searchStarshipsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Starship") && r),
|
|
105
|
+
...searchTransportsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Transport") && r),
|
|
106
|
+
...searchVehiclesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Vehicle") && r)
|
|
107
|
+
];
|
|
108
|
+
return result;
|
|
109
|
+
},
|
|
110
|
+
node(parent, args, context, info) {
|
|
111
|
+
let result;
|
|
112
|
+
switch (args.nodeType) {
|
|
113
|
+
case "Person": {
|
|
114
|
+
result = person(parent, args, context, info);
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
case "Starship": {
|
|
118
|
+
result = starship(parent, args, context, info);
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
case "Transport": {
|
|
122
|
+
result = transport(parent, args, context, info);
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case "Species": {
|
|
126
|
+
result = species(parent, args, context, info);
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case "Vehicle": {
|
|
130
|
+
result = vehicle(parent, args, context, info);
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
case "Planet": {
|
|
134
|
+
result = planet(parent, args, context, info);
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case "Film": {
|
|
138
|
+
result = film(parent, args, context, info);
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
default:
|
|
142
|
+
throw new Error(`Invalid node type ${args.nodeType}`);
|
|
143
|
+
}
|
|
144
|
+
return __objSpread(__objSpread({}, result), {
|
|
145
|
+
__typename: args.nodeType
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
person,
|
|
149
|
+
planet,
|
|
150
|
+
film,
|
|
151
|
+
transport,
|
|
152
|
+
starship,
|
|
153
|
+
vehicle,
|
|
154
|
+
searchPeopleByName,
|
|
155
|
+
searchStarshipsByName,
|
|
156
|
+
searchTransportsByName,
|
|
157
|
+
searchSpeciesByName,
|
|
158
|
+
searchVehiclesByName,
|
|
159
|
+
searchPlanetsByName,
|
|
160
|
+
searchFilmsByTitle,
|
|
161
|
+
allStarships(parent, args, {models}) {
|
|
162
|
+
return models.getData("/starships");
|
|
163
|
+
},
|
|
164
|
+
allFilms(parent, args, {models}) {
|
|
165
|
+
return models.getData("/films");
|
|
166
|
+
},
|
|
167
|
+
allPeople(parent, args, {models}) {
|
|
168
|
+
return models.getData("/people");
|
|
169
|
+
},
|
|
170
|
+
allPlanets(parent, args, {models}) {
|
|
171
|
+
return models.getData("/planets");
|
|
172
|
+
},
|
|
173
|
+
allSpecies(parent, args, {models}) {
|
|
174
|
+
return models.getData("/species");
|
|
175
|
+
},
|
|
176
|
+
allTransports(parent, args, {models}) {
|
|
177
|
+
return models.getData("/transport");
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
Film: {
|
|
181
|
+
starships,
|
|
182
|
+
vehicles,
|
|
183
|
+
planets,
|
|
184
|
+
characters: people("characters"),
|
|
185
|
+
species
|
|
186
|
+
},
|
|
187
|
+
Starship: {
|
|
188
|
+
MGLT: (starship2) => +starship2.MGLT,
|
|
189
|
+
hyperdrive_rating: (starship2) => +starship2.hyperdrive_rating,
|
|
190
|
+
cargo_capacity: (starship2) => +starship2.cargo_capacity,
|
|
191
|
+
passengers: (starship2) => +starship2.passengers,
|
|
192
|
+
max_atmosphering_speed: (starship2) => +starship2.max_atmosphering_speed,
|
|
193
|
+
length: (starship2) => +starship2.length,
|
|
194
|
+
cost_in_credits: (starship2) => +starship2.cost_in_credits,
|
|
195
|
+
pilots: people("pilots"),
|
|
196
|
+
films
|
|
197
|
+
},
|
|
198
|
+
Person: {
|
|
199
|
+
height: (pilot) => +pilot.height,
|
|
200
|
+
mass: (pilot) => +pilot.mass,
|
|
201
|
+
starships,
|
|
202
|
+
homeworld
|
|
203
|
+
},
|
|
204
|
+
Vehicle: {
|
|
205
|
+
cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
|
|
206
|
+
passengers: (vehicle2) => +vehicle2.passengers,
|
|
207
|
+
max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
|
|
208
|
+
crew: (vehicle2) => forceNumber(vehicle2.crew),
|
|
209
|
+
length: (vehicle2) => +vehicle2.length,
|
|
210
|
+
cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits,
|
|
211
|
+
pilots: people("pilots")
|
|
212
|
+
},
|
|
213
|
+
Planet: {
|
|
214
|
+
diameter: (planet2) => +planet2.diameter,
|
|
215
|
+
rotation_period: (planet2) => +planet2.rotation_period,
|
|
216
|
+
orbital_period: (planet2) => +planet2.orbital_period,
|
|
217
|
+
population: (planet2) => +planet2.population,
|
|
218
|
+
residents: people("residents"),
|
|
219
|
+
films
|
|
220
|
+
},
|
|
221
|
+
Species: {
|
|
222
|
+
average_lifespan: (species2) => +species2.average_lifespan,
|
|
223
|
+
average_height: (species2) => +species2.average_height,
|
|
224
|
+
homeworld,
|
|
225
|
+
people: people("people")
|
|
226
|
+
},
|
|
227
|
+
Transport: {
|
|
228
|
+
cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
|
|
229
|
+
passengers: (vehicle2) => +vehicle2.passengers,
|
|
230
|
+
max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
|
|
231
|
+
crew: (vehicle2) => forceNumber(vehicle2.crew),
|
|
232
|
+
length: (vehicle2) => +vehicle2.length,
|
|
233
|
+
cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
const forceNumber = (i) => Number(i.split(",").join("").split("-")[0]) || -1;
|
|
237
|
+
var resolvers_default = resolvers;
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
|
|
6
|
+
var __objSpread = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// src/benchmarks/swapi-schema/resolvers.ts
|
|
19
|
+
var films = (parent, args, {models}) => {
|
|
20
|
+
return models.getData("/films").filter(({id}) => parent.films.includes(id));
|
|
21
|
+
};
|
|
22
|
+
var starships = (parent, {id}, {models}) => {
|
|
23
|
+
return models.getData("/starships").filter(({id: id2}) => parent.starships.includes(id2));
|
|
24
|
+
};
|
|
25
|
+
function people(key) {
|
|
26
|
+
return (parent, args, {models}) => {
|
|
27
|
+
return models.getData("/people").filter(({id}) => parent[key].includes(id));
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var vehicles = (parent, args, {models}) => {
|
|
31
|
+
return models.getData("/vehicles").filter(({id}) => parent.vehicles.includes(id));
|
|
32
|
+
};
|
|
33
|
+
var planets = (parent, args, {models}) => {
|
|
34
|
+
return models.getData("/planets").filter(({id}) => parent.planets.includes(id));
|
|
35
|
+
};
|
|
36
|
+
var species = (parent, args, {models}) => {
|
|
37
|
+
return models.getData("/species").filter(({id}) => parent.species.includes(id));
|
|
38
|
+
};
|
|
39
|
+
var homeworld = (parent, args, {models}) => {
|
|
40
|
+
return models.getData("/planets").find((planet2) => planet2.id === parent.homeworld);
|
|
41
|
+
};
|
|
42
|
+
var person = (parent, {id}, {models}) => {
|
|
43
|
+
return models.getData("/people").find((person2) => person2.id === id);
|
|
44
|
+
};
|
|
45
|
+
var planet = (parent, {id}, {models}) => {
|
|
46
|
+
return models.getData("/planets").find((planet2) => planet2.id === id);
|
|
47
|
+
};
|
|
48
|
+
var film = (parent, {id}, {models}) => {
|
|
49
|
+
return models.getData("/films").find((film2) => film2.id === id);
|
|
50
|
+
};
|
|
51
|
+
var starship = (parent, {id}, {models}) => {
|
|
52
|
+
return models.getData("/starships").find((starship2) => starship2.id === id);
|
|
53
|
+
};
|
|
54
|
+
var transport = (parent, {id}, {models}) => {
|
|
55
|
+
return models.getData("/transport").find((transport2) => transport2.id === id);
|
|
56
|
+
};
|
|
57
|
+
var vehicle = (parent, {id}, {models}) => {
|
|
58
|
+
return models.getData("/vehicles").find((vehicle2) => vehicle2.id === id);
|
|
59
|
+
};
|
|
60
|
+
var searchPeopleByName = (parent, {search}, {models}) => {
|
|
61
|
+
return models.getData("/people").filter((person2) => new RegExp(search, "i").test(person2.name));
|
|
62
|
+
};
|
|
63
|
+
var searchPlanetsByName = (parent, {search}, {models}) => {
|
|
64
|
+
return models.getData("/planets").filter((planet2) => new RegExp(search, "i").test(planet2.name));
|
|
65
|
+
};
|
|
66
|
+
var searchFilmsByTitle = (parent, {search}, {models}) => {
|
|
67
|
+
return models.getData("/films").filter((film2) => new RegExp(search, "i").test(film2.title));
|
|
68
|
+
};
|
|
69
|
+
var searchSpeciesByName = (parent, {search}, {models}) => {
|
|
70
|
+
return models.getData("/species").filter((species2) => new RegExp(search, "i").test(species2.name));
|
|
71
|
+
};
|
|
72
|
+
var searchStarshipsByName = (parent, {search}, {models}) => {
|
|
73
|
+
return models.getData("/starships").filter((starship2) => new RegExp(search, "i").test(starship2.name));
|
|
74
|
+
};
|
|
75
|
+
var searchVehiclesByName = (parent, {search}, {models}) => {
|
|
76
|
+
return models.getData("/vehicles").filter((vehicle2) => new RegExp(search, "i").test(vehicle2.name));
|
|
77
|
+
};
|
|
78
|
+
var searchTransportsByName = (parent, {search}, {models}) => {
|
|
79
|
+
return models.getData("/transport").filter((transport2) => new RegExp(search, "i").test(transport2.name));
|
|
80
|
+
};
|
|
81
|
+
var resolvers = {
|
|
82
|
+
SearchResult: {
|
|
83
|
+
__resolveType(parent) {
|
|
84
|
+
return parent.__typename;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
Query: {
|
|
88
|
+
search(parent, {search}, {models}, info) {
|
|
89
|
+
const result = [
|
|
90
|
+
...searchFilmsByTitle(parent, {search}, {models}, info).map((r) => (r.__typename = "Film") && r),
|
|
91
|
+
...searchPeopleByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Person") && r),
|
|
92
|
+
...searchPlanetsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Planet") && r),
|
|
93
|
+
...searchSpeciesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Species") && r),
|
|
94
|
+
...searchStarshipsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Starship") && r),
|
|
95
|
+
...searchTransportsByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Transport") && r),
|
|
96
|
+
...searchVehiclesByName(parent, {search}, {models}, info).map((r) => (r.__typename = "Vehicle") && r)
|
|
97
|
+
];
|
|
98
|
+
return result;
|
|
99
|
+
},
|
|
100
|
+
node(parent, args, context, info) {
|
|
101
|
+
let result;
|
|
102
|
+
switch (args.nodeType) {
|
|
103
|
+
case "Person": {
|
|
104
|
+
result = person(parent, args, context, info);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
case "Starship": {
|
|
108
|
+
result = starship(parent, args, context, info);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
case "Transport": {
|
|
112
|
+
result = transport(parent, args, context, info);
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
case "Species": {
|
|
116
|
+
result = species(parent, args, context, info);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case "Vehicle": {
|
|
120
|
+
result = vehicle(parent, args, context, info);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
case "Planet": {
|
|
124
|
+
result = planet(parent, args, context, info);
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
case "Film": {
|
|
128
|
+
result = film(parent, args, context, info);
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
default:
|
|
132
|
+
throw new Error(`Invalid node type ${args.nodeType}`);
|
|
133
|
+
}
|
|
134
|
+
return __objSpread(__objSpread({}, result), {
|
|
135
|
+
__typename: args.nodeType
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
person,
|
|
139
|
+
planet,
|
|
140
|
+
film,
|
|
141
|
+
transport,
|
|
142
|
+
starship,
|
|
143
|
+
vehicle,
|
|
144
|
+
searchPeopleByName,
|
|
145
|
+
searchStarshipsByName,
|
|
146
|
+
searchTransportsByName,
|
|
147
|
+
searchSpeciesByName,
|
|
148
|
+
searchVehiclesByName,
|
|
149
|
+
searchPlanetsByName,
|
|
150
|
+
searchFilmsByTitle,
|
|
151
|
+
allStarships(parent, args, {models}) {
|
|
152
|
+
return models.getData("/starships");
|
|
153
|
+
},
|
|
154
|
+
allFilms(parent, args, {models}) {
|
|
155
|
+
return models.getData("/films");
|
|
156
|
+
},
|
|
157
|
+
allPeople(parent, args, {models}) {
|
|
158
|
+
return models.getData("/people");
|
|
159
|
+
},
|
|
160
|
+
allPlanets(parent, args, {models}) {
|
|
161
|
+
return models.getData("/planets");
|
|
162
|
+
},
|
|
163
|
+
allSpecies(parent, args, {models}) {
|
|
164
|
+
return models.getData("/species");
|
|
165
|
+
},
|
|
166
|
+
allTransports(parent, args, {models}) {
|
|
167
|
+
return models.getData("/transport");
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
Film: {
|
|
171
|
+
starships,
|
|
172
|
+
vehicles,
|
|
173
|
+
planets,
|
|
174
|
+
characters: people("characters"),
|
|
175
|
+
species
|
|
176
|
+
},
|
|
177
|
+
Starship: {
|
|
178
|
+
MGLT: (starship2) => +starship2.MGLT,
|
|
179
|
+
hyperdrive_rating: (starship2) => +starship2.hyperdrive_rating,
|
|
180
|
+
cargo_capacity: (starship2) => +starship2.cargo_capacity,
|
|
181
|
+
passengers: (starship2) => +starship2.passengers,
|
|
182
|
+
max_atmosphering_speed: (starship2) => +starship2.max_atmosphering_speed,
|
|
183
|
+
length: (starship2) => +starship2.length,
|
|
184
|
+
cost_in_credits: (starship2) => +starship2.cost_in_credits,
|
|
185
|
+
pilots: people("pilots"),
|
|
186
|
+
films
|
|
187
|
+
},
|
|
188
|
+
Person: {
|
|
189
|
+
height: (pilot) => +pilot.height,
|
|
190
|
+
mass: (pilot) => +pilot.mass,
|
|
191
|
+
starships,
|
|
192
|
+
homeworld
|
|
193
|
+
},
|
|
194
|
+
Vehicle: {
|
|
195
|
+
cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
|
|
196
|
+
passengers: (vehicle2) => +vehicle2.passengers,
|
|
197
|
+
max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
|
|
198
|
+
crew: (vehicle2) => forceNumber(vehicle2.crew),
|
|
199
|
+
length: (vehicle2) => +vehicle2.length,
|
|
200
|
+
cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits,
|
|
201
|
+
pilots: people("pilots")
|
|
202
|
+
},
|
|
203
|
+
Planet: {
|
|
204
|
+
diameter: (planet2) => +planet2.diameter,
|
|
205
|
+
rotation_period: (planet2) => +planet2.rotation_period,
|
|
206
|
+
orbital_period: (planet2) => +planet2.orbital_period,
|
|
207
|
+
population: (planet2) => +planet2.population,
|
|
208
|
+
residents: people("residents"),
|
|
209
|
+
films
|
|
210
|
+
},
|
|
211
|
+
Species: {
|
|
212
|
+
average_lifespan: (species2) => +species2.average_lifespan,
|
|
213
|
+
average_height: (species2) => +species2.average_height,
|
|
214
|
+
homeworld,
|
|
215
|
+
people: people("people")
|
|
216
|
+
},
|
|
217
|
+
Transport: {
|
|
218
|
+
cargo_capacity: (vehicle2) => +vehicle2.cargo_capacity,
|
|
219
|
+
passengers: (vehicle2) => +vehicle2.passengers,
|
|
220
|
+
max_atmosphering_speed: (vehicle2) => +vehicle2.max_atmosphering_speed,
|
|
221
|
+
crew: (vehicle2) => forceNumber(vehicle2.crew),
|
|
222
|
+
length: (vehicle2) => +vehicle2.length,
|
|
223
|
+
cost_in_credits: (vehicle2) => +vehicle2.cost_in_credits
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
var forceNumber = (i) => Number(i.split(",").join("").split("-")[0]) || -1;
|
|
227
|
+
var resolvers_default = resolvers;
|
|
228
|
+
export {
|
|
229
|
+
resolvers_default as default
|
|
230
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supermassive.d.ts","sourceRoot":"","sources":["../../src/bin/supermassive.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAC;AAI7C,wBAAgB,YAAY,IAAI,OAAO,CAYtC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __reExport = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
var __async = (__this, __arguments, generator) => {
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
var fulfilled = (value) => {
|
|
26
|
+
try {
|
|
27
|
+
step(generator.next(value));
|
|
28
|
+
} catch (e) {
|
|
29
|
+
reject(e);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var rejected = (value) => {
|
|
33
|
+
try {
|
|
34
|
+
step(generator.throw(value));
|
|
35
|
+
} catch (e) {
|
|
36
|
+
reject(e);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
40
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
__markAsModule(exports);
|
|
44
|
+
__export(exports, {
|
|
45
|
+
supermassive: () => supermassive
|
|
46
|
+
});
|
|
47
|
+
var import_path = __toModule(require("path"));
|
|
48
|
+
var import_promises = __toModule(require("fs/promises"));
|
|
49
|
+
var import_typescript = __toModule(require("typescript"));
|
|
50
|
+
var import_commander = __toModule(require("commander"));
|
|
51
|
+
var import_extractImplicitTypesToTypescript = __toModule(require("../extractImplicitTypesToTypescript"));
|
|
52
|
+
var import_graphql = __toModule(require("graphql"));
|
|
53
|
+
function supermassive() {
|
|
54
|
+
const command = new import_commander.Command();
|
|
55
|
+
command.name("extract-schema").argument("<files...>").description("extract implicit resolvers to a ts file from graphql typedefs").action((files) => __async(this, null, function* () {
|
|
56
|
+
yield typeDefsToImplicitResolversImpl(files);
|
|
57
|
+
}));
|
|
58
|
+
return import_commander.program.name("supermassive").addCommand(command);
|
|
59
|
+
}
|
|
60
|
+
function typeDefsToImplicitResolversImpl(files) {
|
|
61
|
+
return __async(this, null, function* () {
|
|
62
|
+
for (const file of files) {
|
|
63
|
+
let fullPath;
|
|
64
|
+
if (import_path.default.isAbsolute(file)) {
|
|
65
|
+
fullPath = file;
|
|
66
|
+
} else {
|
|
67
|
+
fullPath = import_path.default.join(process.cwd(), file);
|
|
68
|
+
}
|
|
69
|
+
const stat = yield import_promises.default.stat(fullPath);
|
|
70
|
+
if (!stat.isFile) {
|
|
71
|
+
throw new Error(`Invalid file ${file}`);
|
|
72
|
+
}
|
|
73
|
+
const content = yield import_promises.default.readFile(fullPath, {encoding: "utf-8"});
|
|
74
|
+
const document = (0, import_graphql.parse)(content);
|
|
75
|
+
const tsContents = (0, import_extractImplicitTypesToTypescript.extractImplicitTypesToTypescript)(document);
|
|
76
|
+
const tsDir = import_path.default.join(import_path.default.dirname(fullPath), "__generated__");
|
|
77
|
+
yield import_promises.default.mkdir(tsDir, {recursive: true});
|
|
78
|
+
const tsFileName = import_path.default.join(tsDir, import_path.default.basename(fullPath, import_path.default.extname(fullPath)) + ".ts");
|
|
79
|
+
const printer = import_typescript.default.createPrinter();
|
|
80
|
+
yield import_promises.default.writeFile(tsFileName, printer.printNode(import_typescript.default.EmitHint.SourceFile, tsContents, tsContents), {encoding: "utf-8"});
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/bin/supermassive.ts
|
|
23
|
+
import path from "path";
|
|
24
|
+
import fs from "fs/promises";
|
|
25
|
+
import ts from "typescript";
|
|
26
|
+
import {program, Command} from "commander";
|
|
27
|
+
import {extractImplicitTypesToTypescript} from "../extractImplicitTypesToTypescript.mjs";
|
|
28
|
+
import {parse} from "graphql";
|
|
29
|
+
function supermassive() {
|
|
30
|
+
const command = new Command();
|
|
31
|
+
command.name("extract-schema").argument("<files...>").description("extract implicit resolvers to a ts file from graphql typedefs").action((files) => __async(this, null, function* () {
|
|
32
|
+
yield typeDefsToImplicitResolversImpl(files);
|
|
33
|
+
}));
|
|
34
|
+
return program.name("supermassive").addCommand(command);
|
|
35
|
+
}
|
|
36
|
+
function typeDefsToImplicitResolversImpl(files) {
|
|
37
|
+
return __async(this, null, function* () {
|
|
38
|
+
for (const file of files) {
|
|
39
|
+
let fullPath;
|
|
40
|
+
if (path.isAbsolute(file)) {
|
|
41
|
+
fullPath = file;
|
|
42
|
+
} else {
|
|
43
|
+
fullPath = path.join(process.cwd(), file);
|
|
44
|
+
}
|
|
45
|
+
const stat = yield fs.stat(fullPath);
|
|
46
|
+
if (!stat.isFile) {
|
|
47
|
+
throw new Error(`Invalid file ${file}`);
|
|
48
|
+
}
|
|
49
|
+
const content = yield fs.readFile(fullPath, {encoding: "utf-8"});
|
|
50
|
+
const document = parse(content);
|
|
51
|
+
const tsContents = extractImplicitTypesToTypescript(document);
|
|
52
|
+
const tsDir = path.join(path.dirname(fullPath), "__generated__");
|
|
53
|
+
yield fs.mkdir(tsDir, {recursive: true});
|
|
54
|
+
const tsFileName = path.join(tsDir, path.basename(fullPath, path.extname(fullPath)) + ".ts");
|
|
55
|
+
const printer = ts.createPrinter();
|
|
56
|
+
yield fs.writeFile(tsFileName, printer.printNode(ts.EmitHint.SourceFile, tsContents, tsContents), {encoding: "utf-8"});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
supermassive
|
|
62
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FieldNode, FragmentDefinitionNode, SelectionSetNode } from "./ast/TypedAST";
|
|
2
|
+
import type { ObjMap } from "./jsutils/ObjMap";
|
|
3
|
+
import { Resolvers } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Given a selectionSet, adds all of the fields in that selection to
|
|
6
|
+
* the passed in map of fields, and returns it at the end.
|
|
7
|
+
*
|
|
8
|
+
* CollectFields requires the "runtime type" of an object. For a field which
|
|
9
|
+
* returns an Interface or Union type, the "runtime type" will be the actual
|
|
10
|
+
* Object type returned by that field.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function collectFields(resolvers: Resolvers, fragments: ObjMap<FragmentDefinitionNode>, variableValues: {
|
|
15
|
+
[variable: string]: unknown;
|
|
16
|
+
}, runtimeTypeName: string, selectionSet: SelectionSetNode, fields: Map<string, Array<FieldNode>>, visitedFragmentNames: Set<string>): Map<string, Array<FieldNode>>;
|
|
17
|
+
//# sourceMappingURL=collectFields.d.ts.map
|
|
@@ -0,0 +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;AAC/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"}
|