type-graphql 2.0.0-rc.2 → 2.0.0-rc.4
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/LICENSE +1 -1
- package/README.md +19 -13
- package/build/cjs/decorators/Arg.js +1 -2
- package/build/cjs/decorators/Args.js +1 -2
- package/build/cjs/decorators/ArgsType.js +1 -2
- package/build/cjs/decorators/Authorized.js +1 -2
- package/build/cjs/decorators/Ctx.js +1 -2
- package/build/cjs/decorators/Directive.js +1 -2
- package/build/cjs/decorators/Extensions.js +1 -2
- package/build/cjs/decorators/Field.js +1 -2
- package/build/cjs/decorators/FieldResolver.js +1 -2
- package/build/cjs/decorators/Info.js +1 -2
- package/build/cjs/decorators/InputType.js +1 -2
- package/build/cjs/decorators/InterfaceType.js +1 -2
- package/build/cjs/decorators/Mutation.js +1 -2
- package/build/cjs/decorators/ObjectType.js +1 -2
- package/build/cjs/decorators/Query.js +1 -2
- package/build/cjs/decorators/Resolver.js +1 -2
- package/build/cjs/decorators/Root.js +1 -2
- package/build/cjs/decorators/Subscription.js +1 -2
- package/build/cjs/decorators/UseMiddleware.js +1 -2
- package/build/cjs/decorators/createMethodMiddlewareDecorator.js +1 -2
- package/build/cjs/decorators/createParameterDecorator.js +1 -2
- package/build/cjs/decorators/createResolverClassMiddlewareDecorator.js +1 -2
- package/build/cjs/decorators/enums.js +1 -2
- package/build/cjs/decorators/unions.js +1 -2
- package/build/cjs/helpers/auth-middleware.js +1 -2
- package/build/cjs/helpers/decorators.js +3 -4
- package/build/cjs/helpers/filesystem.js +2 -3
- package/build/cjs/helpers/findType.js +1 -2
- package/build/cjs/helpers/isThrowing.js +1 -2
- package/build/cjs/helpers/params.js +1 -2
- package/build/cjs/helpers/resolver-metadata.js +1 -2
- package/build/cjs/helpers/types.js +11 -6
- package/build/cjs/metadata/getMetadataStorage.js +1 -2
- package/build/cjs/metadata/metadata-storage.js +192 -28
- package/build/cjs/metadata/utils.js +4 -5
- package/build/cjs/resolvers/convert-args.js +2 -3
- package/build/cjs/resolvers/create.js +4 -5
- package/build/cjs/resolvers/helpers.js +3 -4
- package/build/cjs/resolvers/validate-arg.js +1 -2
- package/build/cjs/schema/definition-node.js +6 -7
- package/build/cjs/schema/schema-generator.js +51 -41
- package/build/cjs/schema/utils.js +2 -3
- package/build/cjs/shim.js +3 -3
- package/build/cjs/utils/buildSchema.js +2 -3
- package/build/cjs/utils/buildTypeDefsAndResolvers.js +2 -3
- package/build/cjs/utils/createResolversMap.js +1 -2
- package/build/cjs/utils/emitSchemaDefinitionFile.js +3 -3
- package/build/cjs/utils/graphql-version.js +3 -3
- package/build/cjs/utils/isPromiseLike.js +1 -2
- package/build/esm/helpers/types.js +7 -1
- package/build/esm/metadata/metadata-storage.js +192 -28
- package/build/esm/schema/schema-generator.js +51 -41
- package/build/esm/utils/graphql-version.js +1 -1
- package/build/typings/metadata/metadata-storage.d.ts +14 -0
- package/build/typings/schema/schema-generator.d.ts +5 -5
- package/build/typings/utils/graphql-version.d.ts +1 -1
- package/package.json +65 -65
|
@@ -6,7 +6,6 @@ const graphql_1 = require("graphql");
|
|
|
6
6
|
const errors_1 = require("../errors");
|
|
7
7
|
const types_1 = require("../helpers/types");
|
|
8
8
|
const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
|
|
9
|
-
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
10
9
|
const create_1 = require("../resolvers/create");
|
|
11
10
|
const graphql_version_1 = require("../utils/graphql-version");
|
|
12
11
|
const build_context_1 = require("./build-context");
|
|
@@ -14,7 +13,7 @@ const definition_node_1 = require("./definition-node");
|
|
|
14
13
|
const utils_1 = require("./utils");
|
|
15
14
|
class SchemaGenerator {
|
|
16
15
|
static generateFromMetadata(options) {
|
|
17
|
-
this.metadataStorage =
|
|
16
|
+
this.metadataStorage = (0, getMetadataStorage_1.getMetadataStorage)().clone();
|
|
18
17
|
this.metadataStorage.build(options);
|
|
19
18
|
this.checkForErrors(options);
|
|
20
19
|
build_context_1.BuildContext.create(options);
|
|
@@ -32,6 +31,11 @@ class SchemaGenerator {
|
|
|
32
31
|
});
|
|
33
32
|
build_context_1.BuildContext.reset();
|
|
34
33
|
this.usedInterfaceTypes = new Set();
|
|
34
|
+
this.objectTypesInfoMap = new Map();
|
|
35
|
+
this.inputTypesInfoMap = new Map();
|
|
36
|
+
this.interfaceTypesInfoMap = new Map();
|
|
37
|
+
this.enumTypesInfoMap = new Map();
|
|
38
|
+
this.unionTypesInfoMap = new Map();
|
|
35
39
|
if (!options.skipCheck) {
|
|
36
40
|
const { errors } = (0, graphql_1.graphqlSync)({ schema: finalSchema, source: (0, graphql_1.getIntrospectionQuery)() });
|
|
37
41
|
if (errors) {
|
|
@@ -62,15 +66,15 @@ class SchemaGenerator {
|
|
|
62
66
|
: defaultValueFromInitializer;
|
|
63
67
|
}
|
|
64
68
|
static buildTypesInfo(resolvers) {
|
|
65
|
-
this.
|
|
69
|
+
this.unionTypesInfoMap = new Map(this.metadataStorage.unions.map(unionMetadata => {
|
|
66
70
|
const unionObjectTypesInfo = [];
|
|
67
71
|
const typesThunk = () => {
|
|
68
72
|
unionObjectTypesInfo.push(...unionMetadata
|
|
69
73
|
.getClassTypes()
|
|
70
|
-
.map(objectTypeCls => this.
|
|
74
|
+
.map(objectTypeCls => this.objectTypesInfoMap.get(objectTypeCls)));
|
|
71
75
|
return unionObjectTypesInfo.map(it => it.type);
|
|
72
76
|
};
|
|
73
|
-
|
|
77
|
+
const unionTypeInfo = {
|
|
74
78
|
unionSymbol: unionMetadata.symbol,
|
|
75
79
|
type: new graphql_1.GraphQLUnionType({
|
|
76
80
|
name: unionMetadata.name,
|
|
@@ -90,10 +94,11 @@ class SchemaGenerator {
|
|
|
90
94
|
},
|
|
91
95
|
}),
|
|
92
96
|
};
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
return [unionMetadata.symbol, unionTypeInfo];
|
|
98
|
+
}));
|
|
99
|
+
this.enumTypesInfoMap = new Map(this.metadataStorage.enums.map(enumMetadata => {
|
|
95
100
|
const enumMap = (0, types_1.getEnumValuesMap)(enumMetadata.enumObj);
|
|
96
|
-
|
|
101
|
+
const enumTypeInfo = {
|
|
97
102
|
enumObj: enumMetadata.enumObj,
|
|
98
103
|
type: new graphql_1.GraphQLEnumType({
|
|
99
104
|
name: enumMetadata.name,
|
|
@@ -109,17 +114,18 @@ class SchemaGenerator {
|
|
|
109
114
|
}, {}),
|
|
110
115
|
}),
|
|
111
116
|
};
|
|
112
|
-
|
|
113
|
-
|
|
117
|
+
return [enumMetadata.enumObj, enumTypeInfo];
|
|
118
|
+
}));
|
|
119
|
+
this.objectTypesInfoMap = new Map(this.metadataStorage.objectTypes.map(objectType => {
|
|
114
120
|
const objectSuperClass = Object.getPrototypeOf(objectType.target);
|
|
115
121
|
const hasExtended = objectSuperClass.prototype !== undefined;
|
|
116
122
|
const getSuperClassType = () => {
|
|
117
|
-
const superClassTypeInfo = this.
|
|
118
|
-
this.
|
|
123
|
+
const superClassTypeInfo = this.objectTypesInfoMap.get(objectSuperClass) ??
|
|
124
|
+
this.interfaceTypesInfoMap.get(objectSuperClass);
|
|
119
125
|
return superClassTypeInfo ? superClassTypeInfo.type : undefined;
|
|
120
126
|
};
|
|
121
127
|
const interfaceClasses = objectType.interfaceClasses || [];
|
|
122
|
-
|
|
128
|
+
const objectTypeInfo = {
|
|
123
129
|
metadata: objectType,
|
|
124
130
|
target: objectType.target,
|
|
125
131
|
type: new graphql_1.GraphQLObjectType({
|
|
@@ -129,7 +135,7 @@ class SchemaGenerator {
|
|
|
129
135
|
extensions: objectType.extensions,
|
|
130
136
|
interfaces: () => {
|
|
131
137
|
let interfaces = interfaceClasses.map(interfaceClass => {
|
|
132
|
-
const interfaceTypeInfo = this.
|
|
138
|
+
const interfaceTypeInfo = this.interfaceTypesInfoMap.get(interfaceClass);
|
|
133
139
|
if (!interfaceTypeInfo) {
|
|
134
140
|
throw new Error(`Cannot find interface type metadata for class '${interfaceClass.name}' ` +
|
|
135
141
|
`provided in 'implements' option for '${objectType.target.name}' object type class. ` +
|
|
@@ -195,28 +201,30 @@ class SchemaGenerator {
|
|
|
195
201
|
},
|
|
196
202
|
}),
|
|
197
203
|
};
|
|
198
|
-
|
|
199
|
-
|
|
204
|
+
return [objectType.target, objectTypeInfo];
|
|
205
|
+
}));
|
|
206
|
+
this.interfaceTypesInfoMap = new Map(this.metadataStorage.interfaceTypes.map(interfaceType => {
|
|
200
207
|
const interfaceSuperClass = Object.getPrototypeOf(interfaceType.target);
|
|
201
208
|
const hasExtended = interfaceSuperClass.prototype !== undefined;
|
|
202
209
|
const getSuperClassType = () => {
|
|
203
|
-
const superClassTypeInfo = this.
|
|
210
|
+
const superClassTypeInfo = this.interfaceTypesInfoMap.get(interfaceSuperClass);
|
|
204
211
|
return superClassTypeInfo ? superClassTypeInfo.type : undefined;
|
|
205
212
|
};
|
|
206
213
|
const implementingObjectTypesTargets = this.metadataStorage.objectTypes
|
|
207
214
|
.filter(objectType => objectType.interfaceClasses &&
|
|
208
215
|
objectType.interfaceClasses.includes(interfaceType.target))
|
|
209
216
|
.map(objectType => objectType.target);
|
|
210
|
-
const implementingObjectTypesInfo = this.
|
|
211
|
-
|
|
217
|
+
const implementingObjectTypesInfo = [...this.objectTypesInfoMap.values()].filter(objectTypesInfo => implementingObjectTypesTargets.includes(objectTypesInfo.target));
|
|
218
|
+
const interfaceTypeInfo = {
|
|
212
219
|
metadata: interfaceType,
|
|
213
220
|
target: interfaceType.target,
|
|
214
221
|
type: new graphql_1.GraphQLInterfaceType({
|
|
215
222
|
name: interfaceType.name,
|
|
216
223
|
description: interfaceType.description,
|
|
217
224
|
astNode: (0, definition_node_1.getInterfaceTypeDefinitionNode)(interfaceType.name, interfaceType.directives),
|
|
225
|
+
extensions: interfaceType.extensions,
|
|
218
226
|
interfaces: () => {
|
|
219
|
-
let interfaces = (interfaceType.interfaceClasses || []).map(interfaceClass => this.
|
|
227
|
+
let interfaces = (interfaceType.interfaceClasses || []).map(interfaceClass => this.interfaceTypesInfoMap.get(interfaceClass).type);
|
|
220
228
|
if (hasExtended) {
|
|
221
229
|
const superClass = getSuperClassType();
|
|
222
230
|
if (superClass) {
|
|
@@ -276,15 +284,16 @@ class SchemaGenerator {
|
|
|
276
284
|
},
|
|
277
285
|
}),
|
|
278
286
|
};
|
|
279
|
-
|
|
280
|
-
|
|
287
|
+
return [interfaceType.target, interfaceTypeInfo];
|
|
288
|
+
}));
|
|
289
|
+
this.inputTypesInfoMap = new Map(this.metadataStorage.inputTypes.map(inputType => {
|
|
281
290
|
const objectSuperClass = Object.getPrototypeOf(inputType.target);
|
|
282
291
|
const getSuperClassType = () => {
|
|
283
|
-
const superClassTypeInfo = this.
|
|
292
|
+
const superClassTypeInfo = this.inputTypesInfoMap.get(objectSuperClass);
|
|
284
293
|
return superClassTypeInfo ? superClassTypeInfo.type : undefined;
|
|
285
294
|
};
|
|
286
295
|
const inputInstance = new inputType.target();
|
|
287
|
-
|
|
296
|
+
const inputTypeInfo = {
|
|
288
297
|
target: inputType.target,
|
|
289
298
|
type: new graphql_1.GraphQLInputObjectType({
|
|
290
299
|
name: inputType.name,
|
|
@@ -319,7 +328,8 @@ class SchemaGenerator {
|
|
|
319
328
|
astNode: (0, definition_node_1.getInputObjectTypeDefinitionNode)(inputType.name, inputType.directives),
|
|
320
329
|
}),
|
|
321
330
|
};
|
|
322
|
-
|
|
331
|
+
return [inputType.target, inputTypeInfo];
|
|
332
|
+
}));
|
|
323
333
|
}
|
|
324
334
|
static buildRootQueryType(resolvers) {
|
|
325
335
|
const queriesHandlers = this.filterHandlersByResolvers(this.metadataStorage.queries, resolvers);
|
|
@@ -349,8 +359,8 @@ class SchemaGenerator {
|
|
|
349
359
|
});
|
|
350
360
|
}
|
|
351
361
|
static buildOtherTypes(orphanedTypes) {
|
|
352
|
-
const autoRegisteredObjectTypesInfo = this.
|
|
353
|
-
const implementedInterfaceInfo = this.
|
|
362
|
+
const autoRegisteredObjectTypesInfo = [...this.objectTypesInfoMap.values()].filter(typeInfo => typeInfo.metadata.interfaceClasses?.some(interfaceClass => {
|
|
363
|
+
const implementedInterfaceInfo = this.interfaceTypesInfoMap.get(interfaceClass);
|
|
354
364
|
if (!implementedInterfaceInfo) {
|
|
355
365
|
return false;
|
|
356
366
|
}
|
|
@@ -363,9 +373,9 @@ class SchemaGenerator {
|
|
|
363
373
|
return true;
|
|
364
374
|
}));
|
|
365
375
|
return [
|
|
366
|
-
...this.filterTypesInfoByOrphanedTypesAndExtractType(this.
|
|
367
|
-
...this.filterTypesInfoByOrphanedTypesAndExtractType(this.
|
|
368
|
-
...this.filterTypesInfoByOrphanedTypesAndExtractType(this.
|
|
376
|
+
...this.filterTypesInfoByOrphanedTypesAndExtractType([...this.objectTypesInfoMap.values()], orphanedTypes),
|
|
377
|
+
...this.filterTypesInfoByOrphanedTypesAndExtractType([...this.interfaceTypesInfoMap.values()], orphanedTypes),
|
|
378
|
+
...this.filterTypesInfoByOrphanedTypesAndExtractType([...this.inputTypesInfoMap.values()], orphanedTypes),
|
|
369
379
|
...autoRegisteredObjectTypesInfo.map(typeInfo => typeInfo.type),
|
|
370
380
|
];
|
|
371
381
|
}
|
|
@@ -501,26 +511,26 @@ class SchemaGenerator {
|
|
|
501
511
|
let gqlType;
|
|
502
512
|
gqlType = (0, types_1.convertTypeIfScalar)(type);
|
|
503
513
|
if (!gqlType) {
|
|
504
|
-
const objectType = this.
|
|
514
|
+
const objectType = this.objectTypesInfoMap.get(type);
|
|
505
515
|
if (objectType) {
|
|
506
516
|
gqlType = objectType.type;
|
|
507
517
|
}
|
|
508
518
|
}
|
|
509
519
|
if (!gqlType) {
|
|
510
|
-
const interfaceType = this.
|
|
520
|
+
const interfaceType = this.interfaceTypesInfoMap.get(type);
|
|
511
521
|
if (interfaceType) {
|
|
512
522
|
this.usedInterfaceTypes.add(interfaceType.target);
|
|
513
523
|
gqlType = interfaceType.type;
|
|
514
524
|
}
|
|
515
525
|
}
|
|
516
526
|
if (!gqlType) {
|
|
517
|
-
const enumType = this.
|
|
527
|
+
const enumType = this.enumTypesInfoMap.get(type);
|
|
518
528
|
if (enumType) {
|
|
519
529
|
gqlType = enumType.type;
|
|
520
530
|
}
|
|
521
531
|
}
|
|
522
532
|
if (!gqlType) {
|
|
523
|
-
const unionType = this.
|
|
533
|
+
const unionType = this.unionTypesInfoMap.get(type);
|
|
524
534
|
if (unionType) {
|
|
525
535
|
gqlType = unionType.type;
|
|
526
536
|
}
|
|
@@ -535,13 +545,13 @@ class SchemaGenerator {
|
|
|
535
545
|
let gqlType;
|
|
536
546
|
gqlType = (0, types_1.convertTypeIfScalar)(type);
|
|
537
547
|
if (!gqlType) {
|
|
538
|
-
const inputType = this.
|
|
548
|
+
const inputType = this.inputTypesInfoMap.get(type);
|
|
539
549
|
if (inputType) {
|
|
540
550
|
gqlType = inputType.type;
|
|
541
551
|
}
|
|
542
552
|
}
|
|
543
553
|
if (!gqlType) {
|
|
544
|
-
const enumType = this.
|
|
554
|
+
const enumType = this.enumTypesInfoMap.get(type);
|
|
545
555
|
if (enumType) {
|
|
546
556
|
gqlType = enumType.type;
|
|
547
557
|
}
|
|
@@ -570,9 +580,9 @@ class SchemaGenerator {
|
|
|
570
580
|
}
|
|
571
581
|
}
|
|
572
582
|
exports.SchemaGenerator = SchemaGenerator;
|
|
573
|
-
SchemaGenerator.
|
|
574
|
-
SchemaGenerator.
|
|
575
|
-
SchemaGenerator.
|
|
576
|
-
SchemaGenerator.
|
|
577
|
-
SchemaGenerator.
|
|
583
|
+
SchemaGenerator.objectTypesInfoMap = new Map();
|
|
584
|
+
SchemaGenerator.inputTypesInfoMap = new Map();
|
|
585
|
+
SchemaGenerator.interfaceTypesInfoMap = new Map();
|
|
586
|
+
SchemaGenerator.enumTypesInfoMap = new Map();
|
|
587
|
+
SchemaGenerator.unionTypesInfoMap = new Map();
|
|
578
588
|
SchemaGenerator.usedInterfaceTypes = new Set();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getFieldMetadataFromInputType = getFieldMetadataFromInputType;
|
|
4
|
+
exports.getFieldMetadataFromObjectType = getFieldMetadataFromObjectType;
|
|
4
5
|
function getFieldMetadataFromInputType(type) {
|
|
5
6
|
const fieldInfo = type.getFields();
|
|
6
7
|
const typeFields = Object.keys(fieldInfo).reduce((fieldsMap, fieldName) => {
|
|
@@ -15,7 +16,6 @@ function getFieldMetadataFromInputType(type) {
|
|
|
15
16
|
}, {});
|
|
16
17
|
return typeFields;
|
|
17
18
|
}
|
|
18
|
-
exports.getFieldMetadataFromInputType = getFieldMetadataFromInputType;
|
|
19
19
|
function getFieldMetadataFromObjectType(type) {
|
|
20
20
|
const fieldInfo = type.getFields();
|
|
21
21
|
const typeFields = Object.keys(fieldInfo).reduce((fieldsMap, fieldName) => {
|
|
@@ -36,4 +36,3 @@ function getFieldMetadataFromObjectType(type) {
|
|
|
36
36
|
}, {});
|
|
37
37
|
return typeFields;
|
|
38
38
|
}
|
|
39
|
-
exports.getFieldMetadataFromObjectType = getFieldMetadataFromObjectType;
|
package/build/cjs/shim.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphQLTimestamp = exports.GraphQLISODateTime = exports.ID = exports.Float = exports.Int = exports.UseMiddleware = exports.createUnionType = exports.Subscription = exports.Root = exports.Resolver = exports.Query = exports.ObjectType = exports.Mutation = exports.InterfaceType = exports.InputType = exports.Info = exports.FieldResolver = exports.Field = exports.registerEnumType = exports.Extensions = exports.Directive = exports.Ctx = exports.createResolverClassMiddlewareDecorator = exports.createMethodMiddlewareDecorator = exports.createParameterDecorator = exports.Authorized = exports.ArgsType = exports.Args = exports.Arg = exports.
|
|
3
|
+
exports.GraphQLTimestamp = exports.GraphQLISODateTime = exports.ID = exports.Float = exports.Int = exports.UseMiddleware = exports.createUnionType = exports.Subscription = exports.Root = exports.Resolver = exports.Query = exports.ObjectType = exports.Mutation = exports.InterfaceType = exports.InputType = exports.Info = exports.FieldResolver = exports.Field = exports.registerEnumType = exports.Extensions = exports.Directive = exports.Ctx = exports.createResolverClassMiddlewareDecorator = exports.createMethodMiddlewareDecorator = exports.createParameterDecorator = exports.Authorized = exports.ArgsType = exports.Args = exports.Arg = exports.dummyValue = void 0;
|
|
4
|
+
exports.dummyFn = dummyFn;
|
|
5
|
+
exports.dummyDecorator = dummyDecorator;
|
|
4
6
|
exports.dummyValue = "";
|
|
5
7
|
function dummyFn() { }
|
|
6
|
-
exports.dummyFn = dummyFn;
|
|
7
8
|
function dummyDecorator() {
|
|
8
9
|
return dummyFn;
|
|
9
10
|
}
|
|
10
|
-
exports.dummyDecorator = dummyDecorator;
|
|
11
11
|
exports.Arg = dummyDecorator;
|
|
12
12
|
exports.Args = dummyDecorator;
|
|
13
13
|
exports.ArgsType = dummyDecorator;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.buildSchema = buildSchema;
|
|
4
|
+
exports.buildSchemaSync = buildSchemaSync;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
7
|
const schema_generator_1 = require("../schema/schema-generator");
|
|
@@ -33,7 +34,6 @@ async function buildSchema(options) {
|
|
|
33
34
|
}
|
|
34
35
|
return schema;
|
|
35
36
|
}
|
|
36
|
-
exports.buildSchema = buildSchema;
|
|
37
37
|
function buildSchemaSync(options) {
|
|
38
38
|
const resolvers = loadResolvers(options);
|
|
39
39
|
const schema = schema_generator_1.SchemaGenerator.generateFromMetadata({ ...options, resolvers });
|
|
@@ -43,4 +43,3 @@ function buildSchemaSync(options) {
|
|
|
43
43
|
}
|
|
44
44
|
return schema;
|
|
45
45
|
}
|
|
46
|
-
exports.buildSchemaSync = buildSchemaSync;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.buildTypeDefsAndResolvers = buildTypeDefsAndResolvers;
|
|
4
|
+
exports.buildTypeDefsAndResolversSync = buildTypeDefsAndResolversSync;
|
|
4
5
|
const graphql_1 = require("graphql");
|
|
5
6
|
const buildSchema_1 = require("./buildSchema");
|
|
6
7
|
const createResolversMap_1 = require("./createResolversMap");
|
|
@@ -13,9 +14,7 @@ async function buildTypeDefsAndResolvers(options) {
|
|
|
13
14
|
const schema = await (0, buildSchema_1.buildSchema)(options);
|
|
14
15
|
return createTypeDefsAndResolversMap(schema);
|
|
15
16
|
}
|
|
16
|
-
exports.buildTypeDefsAndResolvers = buildTypeDefsAndResolvers;
|
|
17
17
|
function buildTypeDefsAndResolversSync(options) {
|
|
18
18
|
const schema = (0, buildSchema_1.buildSchemaSync)(options);
|
|
19
19
|
return createTypeDefsAndResolversMap(schema);
|
|
20
20
|
}
|
|
21
|
-
exports.buildTypeDefsAndResolversSync = buildTypeDefsAndResolversSync;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createResolversMap =
|
|
3
|
+
exports.createResolversMap = createResolversMap;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
function generateTypeResolver(abstractType, schema) {
|
|
6
6
|
if (abstractType.resolveType) {
|
|
@@ -69,4 +69,3 @@ function createResolversMap(schema) {
|
|
|
69
69
|
return resolversMap;
|
|
70
70
|
}, {});
|
|
71
71
|
}
|
|
72
|
-
exports.createResolversMap = createResolversMap;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defaultPrintSchemaOptions = void 0;
|
|
4
|
+
exports.emitSchemaDefinitionFileSync = emitSchemaDefinitionFileSync;
|
|
5
|
+
exports.emitSchemaDefinitionFile = emitSchemaDefinitionFile;
|
|
4
6
|
const graphql_1 = require("graphql");
|
|
5
7
|
const filesystem_1 = require("../helpers/filesystem");
|
|
6
8
|
exports.defaultPrintSchemaOptions = {
|
|
@@ -21,9 +23,7 @@ function emitSchemaDefinitionFileSync(schemaFilePath, schema, options = exports.
|
|
|
21
23
|
const schemaFileContent = getSchemaFileContent(schema, options);
|
|
22
24
|
(0, filesystem_1.outputFileSync)(schemaFilePath, schemaFileContent);
|
|
23
25
|
}
|
|
24
|
-
exports.emitSchemaDefinitionFileSync = emitSchemaDefinitionFileSync;
|
|
25
26
|
async function emitSchemaDefinitionFile(schemaFilePath, schema, options = exports.defaultPrintSchemaOptions) {
|
|
26
27
|
const schemaFileContent = getSchemaFileContent(schema, options);
|
|
27
28
|
await (0, filesystem_1.outputFile)(schemaFilePath, schemaFileContent);
|
|
28
29
|
}
|
|
29
|
-
exports.emitSchemaDefinitionFile = emitSchemaDefinitionFile;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.graphQLPeerDependencyVersion = void 0;
|
|
4
|
+
exports.ensureInstalledCorrectGraphQLPackage = ensureInstalledCorrectGraphQLPackage;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const graphql = tslib_1.__importStar(require("graphql"));
|
|
6
7
|
const semver_1 = tslib_1.__importDefault(require("semver"));
|
|
7
8
|
const errors_1 = require("../errors");
|
|
8
|
-
exports.graphQLPeerDependencyVersion = "^16.
|
|
9
|
+
exports.graphQLPeerDependencyVersion = "^16.12.0";
|
|
9
10
|
function ensureInstalledCorrectGraphQLPackage() {
|
|
10
11
|
if (!semver_1.default.satisfies(graphql.version, exports.graphQLPeerDependencyVersion)) {
|
|
11
12
|
throw new errors_1.UnmetGraphQLPeerDependencyError(graphql.version, exports.graphQLPeerDependencyVersion);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
|
-
exports.ensureInstalledCorrectGraphQLPackage = ensureInstalledCorrectGraphQLPackage;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPromiseLike =
|
|
3
|
+
exports.isPromiseLike = isPromiseLike;
|
|
4
4
|
function isPromiseLike(value) {
|
|
5
5
|
return value != null && typeof value.then === "function";
|
|
6
6
|
}
|
|
7
|
-
exports.isPromiseLike = isPromiseLike;
|
|
@@ -66,7 +66,13 @@ export function convertToType(Target, data) {
|
|
|
66
66
|
if (Array.isArray(data)) {
|
|
67
67
|
return data.map(item => convertToType(Target, item));
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
const instance = new Target();
|
|
70
|
+
for (const key of Object.keys(instance)) {
|
|
71
|
+
if (instance[key] === undefined && !(key in data)) {
|
|
72
|
+
delete instance[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return Object.assign(instance, data);
|
|
70
76
|
}
|
|
71
77
|
export function getEnumValuesMap(enumObject) {
|
|
72
78
|
const enumKeys = Object.keys(enumObject).filter(key => Number.isNaN(parseInt(key, 10)));
|