@eddeee888/gcg-typescript-resolver-files 0.5.0 → 0.7.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/README.md +34 -0
- package/package.json +3 -2
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.d.ts +5 -2
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +27 -7
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +1 -1
- package/src/defineConfig.d.ts +3 -2
- package/src/defineConfig.js +3 -2
- package/src/defineConfig.js.map +1 -1
- package/src/generateResolverFiles/addExternalResolverImport.d.ts +7 -0
- package/src/generateResolverFiles/addExternalResolverImport.js +41 -18
- package/src/generateResolverFiles/addExternalResolverImport.js.map +1 -1
- package/src/generateResolverFiles/addResolverMainFiles.d.ts +10 -0
- package/src/generateResolverFiles/{addResolverMainFile.js → addResolverMainFiles.js} +79 -23
- package/src/generateResolverFiles/addResolverMainFiles.js.map +1 -0
- package/src/generateResolverFiles/generateResolverFiles.js +46 -5
- package/src/generateResolverFiles/generateResolverFiles.js.map +1 -1
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +14 -0
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLInterfaceType.d.ts +2 -0
- package/src/generateResolverFiles/handleGraphQLInterfaceType.js +32 -0
- package/src/generateResolverFiles/handleGraphQLInterfaceType.js.map +1 -0
- package/src/generateResolverFiles/handleGraphQLObjectType.d.ts +3 -1
- package/src/generateResolverFiles/handleGraphQLObjectType.js +28 -4
- package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js +12 -4
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLScalarType.js +20 -3
- package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLUnionType.d.ts +2 -0
- package/src/generateResolverFiles/{handleGraphQLUninionType.js → handleGraphQLUnionType.js} +9 -4
- package/src/generateResolverFiles/handleGraphQLUnionType.js.map +1 -0
- package/src/generateResolverFiles/types.d.ts +13 -7
- package/src/generateResolverFiles/visitNamedType.d.ts +6 -1
- package/src/generateResolverFiles/visitNamedType.js +32 -10
- package/src/generateResolverFiles/visitNamedType.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/normalizeAddConfigPath/index.d.ts +1 -0
- package/src/normalizeAddConfigPath/index.js +5 -0
- package/src/normalizeAddConfigPath/index.js.map +1 -0
- package/src/normalizeAddConfigPath/normalizeAddConfigPath.d.ts +11 -0
- package/src/normalizeAddConfigPath/normalizeAddConfigPath.js +22 -0
- package/src/normalizeAddConfigPath/normalizeAddConfigPath.js.map +1 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js +19 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +1 -1
- package/src/preset.js +18 -6
- package/src/preset.js.map +1 -1
- package/src/utils/getNodePropertyMap.js +26 -0
- package/src/utils/getNodePropertyMap.js.map +1 -1
- package/src/utils/printImportLine.d.ts +10 -1
- package/src/utils/printImportLine.js +6 -3
- package/src/utils/printImportLine.js.map +1 -1
- package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js +1 -4
- package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js.map +1 -1
- package/src/validatePresetConfig/validatePresetConfig.d.ts +19 -2
- package/src/validatePresetConfig/validatePresetConfig.js +66 -8
- package/src/validatePresetConfig/validatePresetConfig.js.map +1 -1
- package/src/generateResolverFiles/addResolverMainFile.d.ts +0 -5
- package/src/generateResolverFiles/addResolverMainFile.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLUninionType.d.ts +0 -2
- package/src/generateResolverFiles/handleGraphQLUninionType.js.map +0 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getVariableStatementWithExpectedIdentifier = void 0;
|
|
4
4
|
const getVariableStatementWithExpectedIdentifier = (sourceFile, resolverFile) => {
|
|
5
|
+
var _a, _b;
|
|
5
6
|
let isExported = false;
|
|
6
7
|
const variableStatementWithExpectedIdentifier = sourceFile.getVariableStatement((statement) => {
|
|
7
8
|
let hasExpectedIdentifier = false;
|
|
@@ -18,6 +19,19 @@ const getVariableStatementWithExpectedIdentifier = (sourceFile, resolverFile) =>
|
|
|
18
19
|
});
|
|
19
20
|
return hasExpectedIdentifier;
|
|
20
21
|
});
|
|
22
|
+
/**
|
|
23
|
+
* If we found the variable statement replace its type with the expected resolver type string
|
|
24
|
+
*
|
|
25
|
+
* This is because we change the type of the resolver in some cases:
|
|
26
|
+
* 1. When `extend type <Object>` is used, we might change its original type to the picked version
|
|
27
|
+
* e.g. `Book` might become `Pick<Book, 'title' | 'author'>`
|
|
28
|
+
*/
|
|
29
|
+
if (variableStatementWithExpectedIdentifier &&
|
|
30
|
+
resolverFile.meta.resolverTypeString) {
|
|
31
|
+
(_b = (_a = variableStatementWithExpectedIdentifier
|
|
32
|
+
.getDeclarationList()
|
|
33
|
+
.getDeclarations()[0]) === null || _a === void 0 ? void 0 : _a.getTypeNode()) === null || _b === void 0 ? void 0 : _b.replaceWithText(resolverFile.meta.resolverTypeString);
|
|
34
|
+
}
|
|
21
35
|
return {
|
|
22
36
|
variableStatement: variableStatementWithExpectedIdentifier,
|
|
23
37
|
isExported,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVariableStatementWithExpectedIdentifier.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.ts"],"names":[],"mappings":";;;AAGO,MAAM,0CAA0C,GAAG,CACxD,UAAsB,EACtB,YAA0B,EAI1B,EAAE
|
|
1
|
+
{"version":3,"file":"getVariableStatementWithExpectedIdentifier.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.ts"],"names":[],"mappings":";;;AAGO,MAAM,0CAA0C,GAAG,CACxD,UAAsB,EACtB,YAA0B,EAI1B,EAAE;;IACF,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,uCAAuC,GAC3C,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,SAAS;aACN,kBAAkB,EAAE;aACpB,eAAe,EAAE;aACjB,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,YAAY,CAAC,oBAAoB,EAAE;gBACnE,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE;oBAC1B,UAAU,GAAG,IAAI,CAAC;iBACnB;aACF;QACH,CAAC,CAAC,CAAC;QACL,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL;;;;;;OAMG;IACH,IACE,uCAAuC;QACvC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EACpC;QACA,MAAA,MAAA,uCAAuC;aACpC,kBAAkB,EAAE;aACpB,eAAe,EAAE,CAAC,CAAC,CAAC,0CACnB,WAAW,EAAE,0CACb,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC3D;IAED,OAAO;QACL,iBAAiB,EAAE,uCAAuC;QAC1D,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,0CAA0C,8CA+CrD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleGraphQLInterfaceType = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const handleGraphQLInterfaceType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => {
|
|
6
|
+
if (!resolverGeneration.interface) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const resolverTypeString = resolversTypeMeta.typeString;
|
|
10
|
+
const variableStatement = `export const ${resolverName}: ${resolverTypeString} = { /* Implement ${resolverName} interface logic here */ };`;
|
|
11
|
+
result.files[fieldFilePath] = {
|
|
12
|
+
__filetype: 'generalResolver',
|
|
13
|
+
content: `
|
|
14
|
+
${(0, utils_1.printImportLine)({
|
|
15
|
+
isTypeImport: true,
|
|
16
|
+
module: resolversTypeMeta.module,
|
|
17
|
+
moduleType: resolversTypeMeta.moduleType,
|
|
18
|
+
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
19
|
+
emitLegacyCommonJSImports,
|
|
20
|
+
})}
|
|
21
|
+
${variableStatement}`,
|
|
22
|
+
mainImportIdentifier: resolverName,
|
|
23
|
+
meta: {
|
|
24
|
+
moduleName,
|
|
25
|
+
normalizedResolverName,
|
|
26
|
+
variableStatement,
|
|
27
|
+
resolverTypeString,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.handleGraphQLInterfaceType = handleGraphQLInterfaceType;
|
|
32
|
+
//# sourceMappingURL=handleGraphQLInterfaceType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLInterfaceType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLInterfaceType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,0BAA0B,GAAuB,CAC5D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACjC,OAAO;KACR;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,UAAU,CAAC;IAExD,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB,qBAAqB,YAAY,6BAA6B,CAAC;IAE5I,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB;SACnB;KACF,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,0BAA0B,8BAqCrC"}
|
|
@@ -2,9 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleGraphQLObjectType = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName,
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, fieldsToPick = [], // If fieldsToPick.length === 0, it means the current object handles all resolvers
|
|
6
|
+
}, { result, config: { resolverGeneration, graphQLObjectTypeResolversToGenerate, emitLegacyCommonJSImports, }, }) => {
|
|
7
|
+
if (!resolverGeneration.object) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
// `typeString` contains the resolver type
|
|
11
|
+
// If there's fieldsToPick, we must only pick said fields from the original resolver type
|
|
12
|
+
const typeString = fieldsToPick.length > 0
|
|
13
|
+
? `Pick<${resolversTypeMeta.typeString}, ${fieldsToPick
|
|
14
|
+
.map((fieldName) => `'${fieldName}'`)
|
|
15
|
+
.join('|')}>`
|
|
16
|
+
: resolversTypeMeta.typeString;
|
|
17
|
+
// Array of all resolvers that may need type checking
|
|
18
|
+
// If there's fieldsToPick, we must only generate said fields
|
|
19
|
+
const allResolversToGenerate = graphQLObjectTypeResolversToGenerate[resolverName];
|
|
20
|
+
const resolversToGenerate = fieldsToPick.length > 0
|
|
21
|
+
? fieldsToPick.reduce((res, fieldToPick) => {
|
|
22
|
+
if (allResolversToGenerate) {
|
|
23
|
+
res[fieldToPick] = allResolversToGenerate[fieldToPick];
|
|
24
|
+
}
|
|
25
|
+
return res;
|
|
26
|
+
}, {})
|
|
27
|
+
: allResolversToGenerate;
|
|
28
|
+
const variableStatement = `export const ${resolverName}: ${typeString} = {
|
|
29
|
+
/* Implement ${resolverName} resolver logic here */
|
|
8
30
|
};`;
|
|
9
31
|
result.files[fieldFilePath] = {
|
|
10
32
|
__filetype: 'objectType',
|
|
@@ -12,6 +34,7 @@ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolv
|
|
|
12
34
|
${(0, utils_1.printImportLine)({
|
|
13
35
|
isTypeImport: true,
|
|
14
36
|
module: resolversTypeMeta.module,
|
|
37
|
+
moduleType: resolversTypeMeta.moduleType,
|
|
15
38
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
16
39
|
emitLegacyCommonJSImports,
|
|
17
40
|
})}
|
|
@@ -21,7 +44,8 @@ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolv
|
|
|
21
44
|
moduleName,
|
|
22
45
|
normalizedResolverName,
|
|
23
46
|
variableStatement,
|
|
24
|
-
|
|
47
|
+
resolverTypeString: typeString,
|
|
48
|
+
resolversToGenerate,
|
|
25
49
|
},
|
|
26
50
|
};
|
|
27
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,GAGhC,CACF,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,YAAY,GAAG,EAAE,EAAE,kFAAkF;EACtG,EACD,EACE,MAAM,EACN,MAAM,EAAE,EACN,kBAAkB,EAClB,oCAAoC,EACpC,yBAAyB,GAC1B,GACF,EACD,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,0CAA0C;IAC1C,yFAAyF;IACzF,MAAM,UAAU,GACd,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,QAAQ,iBAAiB,CAAC,UAAU,KAAK,YAAY;aAClD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC;aACpC,IAAI,CAAC,GAAG,CAAC,GAAG;QACjB,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAEnC,qDAAqD;IACrD,6DAA6D;IAC7D,MAAM,sBAAsB,GAC1B,oCAAoC,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,mBAAmB,GACvB,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,YAAY,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YACnB,IAAI,sBAAsB,EAAE;gBAC1B,GAAG,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH;QACH,CAAC,CAAC,sBAAsB,CAAC;IAE7B,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,UAAU;mBACpD,YAAY;KAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB,EAAE,UAAU;YAC9B,mBAAmB;SACpB;KACF,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,uBAAuB,2BA2ElC"}
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleGraphQLRootObjectTypeField = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { emitLegacyCommonJSImports } }) => {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => {
|
|
6
|
+
if ((belongsToRootObject === 'Query' && !resolverGeneration.query) ||
|
|
7
|
+
(belongsToRootObject === 'Mutation' && !resolverGeneration.mutation) ||
|
|
8
|
+
(belongsToRootObject === 'Subscription' && !resolverGeneration.subscription)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const suggestion = `/* Implement ${normalizedResolverName.base} resolver logic here */`;
|
|
12
|
+
const resolverTypeString = `NonNullable<${resolversTypeMeta.typeString}>`;
|
|
13
|
+
let variableStatement = `export const ${resolverName}: ${resolverTypeString} = async (_parent, _arg, _ctx) => { ${suggestion} };`;
|
|
8
14
|
if (belongsToRootObject === 'Subscription') {
|
|
9
|
-
variableStatement = `export const ${resolverName}:
|
|
15
|
+
variableStatement = `export const ${resolverName}: ${resolverTypeString} = {
|
|
10
16
|
subscribe: async (_parent, _arg, _ctx) => { ${suggestion} },
|
|
11
17
|
}`;
|
|
12
18
|
}
|
|
@@ -16,6 +22,7 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongs
|
|
|
16
22
|
${(0, utils_1.printImportLine)({
|
|
17
23
|
isTypeImport: true,
|
|
18
24
|
module: resolversTypeMeta.module,
|
|
25
|
+
moduleType: resolversTypeMeta.moduleType,
|
|
19
26
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
20
27
|
emitLegacyCommonJSImports,
|
|
21
28
|
})}
|
|
@@ -25,6 +32,7 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongs
|
|
|
25
32
|
moduleName,
|
|
26
33
|
belongsToRootObject,
|
|
27
34
|
variableStatement,
|
|
35
|
+
resolverTypeString,
|
|
28
36
|
normalizedResolverName,
|
|
29
37
|
},
|
|
30
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAGzD,MAAM,gCAAgC,GAEzC,CACF,EACE,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAGzD,MAAM,gCAAgC,GAEzC,CACF,EACE,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IACE,CAAC,mBAAmB,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC9D,CAAC,mBAAmB,KAAK,UAAU,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpE,CAAC,mBAAmB,KAAK,cAAc,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAC5E;QACA,OAAO;KACR;IAED,MAAM,UAAU,GAAG,gBAAgB,sBAAsB,CAAC,IAAI,yBAAyB,CAAC;IAExF,MAAM,kBAAkB,GAAG,eAAe,iBAAiB,CAAC,UAAU,GAAG,CAAC;IAE1E,IAAI,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB,uCAAuC,UAAU,KAAK,CAAC;IAClI,IAAI,mBAAmB,KAAK,cAAc,EAAE;QAC1C,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB;oDACvB,UAAU;MACxD,CAAC;KACJ;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE;UACH,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;UACA,iBAAiB,EAAE;QACzB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,mBAAmB;YACnB,iBAAiB;YACjB,kBAAkB;YAClB,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,gCAAgC,oCAoD3C"}
|
|
@@ -3,14 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleGraphQLScalarType = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
const graphQLScalarType = 'GraphQLScalarType';
|
|
6
|
-
const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolverName, moduleName }, { result, config: { emitLegacyCommonJSImports } }) => {
|
|
7
|
-
|
|
6
|
+
const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolverName, moduleName }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => {
|
|
7
|
+
if (!resolverGeneration.scalar) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const variableStatement = `export const ${resolverName} = new GraphQLScalarType({
|
|
11
|
+
name: '${resolverName}',
|
|
12
|
+
description: '${resolverName} description',
|
|
13
|
+
serialize: (value) => {
|
|
14
|
+
/* Implement logic to turn the returned value from resolvers to a value that can be sent to clients */
|
|
15
|
+
},
|
|
16
|
+
parseValue: (value) => {
|
|
17
|
+
/* Implement logic to parse input that was sent to the server as variables */
|
|
18
|
+
},
|
|
19
|
+
parseLiteral: (ast) => {
|
|
20
|
+
/* Implement logic to parse input that was sent to the server as literal values (string, number, or boolean) */
|
|
21
|
+
},
|
|
22
|
+
});`;
|
|
8
23
|
result.files[fieldFilePath] = {
|
|
9
24
|
__filetype: 'generalResolver',
|
|
10
25
|
content: `
|
|
11
26
|
${(0, utils_1.printImportLine)({
|
|
12
|
-
isTypeImport:
|
|
27
|
+
isTypeImport: false,
|
|
13
28
|
module: 'graphql',
|
|
29
|
+
moduleType: 'module',
|
|
14
30
|
namedImports: [graphQLScalarType],
|
|
15
31
|
emitLegacyCommonJSImports,
|
|
16
32
|
})}
|
|
@@ -20,6 +36,7 @@ const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolv
|
|
|
20
36
|
moduleName,
|
|
21
37
|
normalizedResolverName,
|
|
22
38
|
variableStatement,
|
|
39
|
+
resolverTypeString: null,
|
|
23
40
|
},
|
|
24
41
|
};
|
|
25
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGraphQLScalarType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLScalarType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAEvC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"handleGraphQLScalarType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLScalarType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAEvC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY;aAC3C,YAAY;oBACL,YAAY;;;;;;;;;;MAU1B,CAAC;IAEL,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB,EAAE,IAAI;SACzB;KACF,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,uBAAuB,2BAyClC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.handleGraphQLUnionType = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
|
-
const
|
|
5
|
+
const handleGraphQLUnionType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => {
|
|
6
|
+
if (!resolverGeneration.union) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
6
9
|
const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { /* Implement ${resolverName} union logic here */ };`;
|
|
7
10
|
result.files[fieldFilePath] = {
|
|
8
11
|
__filetype: 'generalResolver',
|
|
@@ -10,6 +13,7 @@ const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResol
|
|
|
10
13
|
${(0, utils_1.printImportLine)({
|
|
11
14
|
isTypeImport: true,
|
|
12
15
|
module: resolversTypeMeta.module,
|
|
16
|
+
moduleType: resolversTypeMeta.moduleType,
|
|
13
17
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
14
18
|
emitLegacyCommonJSImports,
|
|
15
19
|
})}
|
|
@@ -18,9 +22,10 @@ const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResol
|
|
|
18
22
|
meta: {
|
|
19
23
|
moduleName,
|
|
20
24
|
normalizedResolverName,
|
|
25
|
+
resolverTypeString: resolversTypeMeta.typeString,
|
|
21
26
|
variableStatement,
|
|
22
27
|
},
|
|
23
28
|
};
|
|
24
29
|
};
|
|
25
|
-
exports.
|
|
26
|
-
//# sourceMappingURL=
|
|
30
|
+
exports.handleGraphQLUnionType = handleGraphQLUnionType;
|
|
31
|
+
//# sourceMappingURL=handleGraphQLUnionType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLUnionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUnionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,sBAAsB,GAAuB,CACxD,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,yBAAyB,CAAC;IAElJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,kBAAkB,EAAE,iBAAiB,CAAC,UAAU;YAChD,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,sBAAsB,0BAmCjC"}
|
|
@@ -4,6 +4,7 @@ import type { GraphQLObjectTypeResolversToGenerate } from '../getGraphQLObjectTy
|
|
|
4
4
|
import type { ParseSourcesResult } from '../parseSources';
|
|
5
5
|
import type { ImportLineMeta, RootObjectType } from '../utils';
|
|
6
6
|
import type { ParsedPresetConfig } from '../validatePresetConfig';
|
|
7
|
+
import type { NormalizedResolverName } from './visitNamedType';
|
|
7
8
|
interface BaseVirtualFile {
|
|
8
9
|
__filetype: string;
|
|
9
10
|
content: string;
|
|
@@ -17,7 +18,8 @@ export interface GeneralResolverFile extends BaseVirtualFile {
|
|
|
17
18
|
meta: {
|
|
18
19
|
moduleName: string;
|
|
19
20
|
variableStatement: string;
|
|
20
|
-
|
|
21
|
+
resolverTypeString: string | null;
|
|
22
|
+
normalizedResolverName: NormalizedResolverName;
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
|
|
@@ -26,7 +28,8 @@ export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
|
|
|
26
28
|
moduleName: string;
|
|
27
29
|
belongsToRootObject: RootObjectType;
|
|
28
30
|
variableStatement: string;
|
|
29
|
-
|
|
31
|
+
resolverTypeString: string;
|
|
32
|
+
normalizedResolverName: NormalizedResolverName;
|
|
30
33
|
};
|
|
31
34
|
}
|
|
32
35
|
export interface ObjectTypeFile extends BaseVirtualFile {
|
|
@@ -34,7 +37,8 @@ export interface ObjectTypeFile extends BaseVirtualFile {
|
|
|
34
37
|
meta: {
|
|
35
38
|
moduleName: string;
|
|
36
39
|
variableStatement: string;
|
|
37
|
-
|
|
40
|
+
resolverTypeString: string;
|
|
41
|
+
normalizedResolverName: NormalizedResolverName;
|
|
38
42
|
resolversToGenerate?: GraphQLObjectTypeResolversToGenerate[number];
|
|
39
43
|
};
|
|
40
44
|
}
|
|
@@ -48,6 +52,7 @@ export interface GenerateResolverFilesContext {
|
|
|
48
52
|
resolverRelativeTargetDir: string;
|
|
49
53
|
resolverMainFile: string;
|
|
50
54
|
resolverMainFileMode: ParsedPresetConfig['resolverMainFileMode'];
|
|
55
|
+
resolverGeneration: ParsedPresetConfig['resolverGeneration'];
|
|
51
56
|
mode: ParsedPresetConfig['mode'];
|
|
52
57
|
whitelistedModules: string[];
|
|
53
58
|
blacklistedModules: string[];
|
|
@@ -77,12 +82,13 @@ export interface GraphQLTypeHandlerParams<BelongsToRootObject = null> {
|
|
|
77
82
|
fieldFilePath: string;
|
|
78
83
|
resolverName: string;
|
|
79
84
|
belongsToRootObject: BelongsToRootObject;
|
|
80
|
-
normalizedResolverName:
|
|
85
|
+
normalizedResolverName: NormalizedResolverName;
|
|
81
86
|
resolversTypeMeta: {
|
|
82
87
|
typeNamedImport: `${string}Resolvers`;
|
|
83
|
-
module:
|
|
84
|
-
|
|
88
|
+
module: ImportLineMeta['module'];
|
|
89
|
+
moduleType: ImportLineMeta['moduleType'];
|
|
90
|
+
typeString: string;
|
|
85
91
|
};
|
|
86
92
|
}
|
|
87
|
-
export type GraphQLTypeHandler<BelongsToRootObject = null
|
|
93
|
+
export type GraphQLTypeHandler<BelongsToRootObject = null, ExtraParams = Record<string, unknown>> = (params: GraphQLTypeHandlerParams<BelongsToRootObject> & ExtraParams, ctx: GenerateResolverFilesContext) => void;
|
|
88
94
|
export {};
|
|
@@ -10,7 +10,12 @@ export interface VisitNamedTypeParams {
|
|
|
10
10
|
ObjectType: GraphQLTypeHandler;
|
|
11
11
|
ScalarType: GraphQLTypeHandler;
|
|
12
12
|
UnionType: GraphQLTypeHandler;
|
|
13
|
+
InterfaceType: GraphQLTypeHandler;
|
|
13
14
|
};
|
|
14
15
|
location?: Location;
|
|
15
16
|
}
|
|
16
|
-
export declare const visitNamedType: ({ namedType, resolverName, belongsToRootObject, location, visitor, }: VisitNamedTypeParams, ctx: GenerateResolverFilesContext) => void;
|
|
17
|
+
export declare const visitNamedType: <P extends Record<string, unknown>>({ namedType, resolverName, belongsToRootObject, location, visitor, ...extraParams }: VisitNamedTypeParams & P, ctx: GenerateResolverFilesContext) => void;
|
|
18
|
+
export interface NormalizedResolverName {
|
|
19
|
+
base: string;
|
|
20
|
+
withModule: string;
|
|
21
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.visitNamedType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const path = require("path");
|
|
5
6
|
const graphql_1 = require("graphql");
|
|
6
7
|
const utils_1 = require("../utils");
|
|
7
8
|
const addExternalResolverImport_1 = require("./addExternalResolverImport");
|
|
8
|
-
const visitNamedType = (
|
|
9
|
-
|
|
9
|
+
const visitNamedType = (_a, ctx) => {
|
|
10
|
+
var { namedType, resolverName, belongsToRootObject, location, visitor } = _a, extraParams = tslib_1.__rest(_a, ["namedType", "resolverName", "belongsToRootObject", "location", "visitor"]);
|
|
10
11
|
// Check to see if need to generate resolver files
|
|
11
12
|
const parsedDetails = parseLocationForOutputDir(belongsToRootObject ? [belongsToRootObject] : [], ctx, location);
|
|
12
13
|
if (!parsedDetails) {
|
|
@@ -14,24 +15,27 @@ const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location
|
|
|
14
15
|
return;
|
|
15
16
|
}
|
|
16
17
|
const { moduleName, outputDir } = parsedDetails;
|
|
17
|
-
const
|
|
18
|
+
const normalizedResolverName = normalizeResolverName(moduleName, resolverName, belongsToRootObject);
|
|
19
|
+
const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName.base];
|
|
20
|
+
// when used with extended object types scenario
|
|
18
21
|
if (externalResolverImportSyntax) {
|
|
19
22
|
// If has external resolver, use it
|
|
20
23
|
(0, addExternalResolverImport_1.addExternalResolverImport)({
|
|
21
24
|
moduleName,
|
|
22
|
-
normalizedResolverName,
|
|
25
|
+
normalizedResolverName: normalizedResolverName.base,
|
|
23
26
|
configImportSyntax: externalResolverImportSyntax,
|
|
24
27
|
}, ctx);
|
|
25
28
|
return;
|
|
26
29
|
}
|
|
27
30
|
// Generate resolver files based on its type
|
|
28
|
-
const
|
|
31
|
+
const visitorHandlerParamsBase = validateAndPrepareForGraphQLTypeHandler({
|
|
29
32
|
resolverName,
|
|
30
33
|
normalizedResolverName,
|
|
31
34
|
outputDir,
|
|
32
35
|
belongsToRootObject,
|
|
33
36
|
moduleName,
|
|
34
37
|
}, ctx);
|
|
38
|
+
const visitorHandlerParams = Object.assign(Object.assign({}, visitorHandlerParamsBase), extraParams);
|
|
35
39
|
if (visitorHandlerParams.belongsToRootObject) {
|
|
36
40
|
visitor['RootObjectTypeField'](visitorHandlerParams, ctx);
|
|
37
41
|
}
|
|
@@ -45,6 +49,9 @@ const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location
|
|
|
45
49
|
else if ((0, graphql_1.isScalarType)(namedType)) {
|
|
46
50
|
visitor['ScalarType'](visitorHandlerParams, ctx);
|
|
47
51
|
}
|
|
52
|
+
else if ((0, graphql_1.isInterfaceType)(namedType)) {
|
|
53
|
+
visitor['InterfaceType'](visitorHandlerParams, ctx);
|
|
54
|
+
}
|
|
48
55
|
}
|
|
49
56
|
};
|
|
50
57
|
exports.visitNamedType = visitNamedType;
|
|
@@ -89,11 +96,13 @@ const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResol
|
|
|
89
96
|
? {
|
|
90
97
|
typeNamedImport: `${belongsToRootObject}Resolvers`,
|
|
91
98
|
module: resolversTypeMetaModule,
|
|
99
|
+
moduleType: 'file',
|
|
92
100
|
typeString: `${belongsToRootObject}Resolvers['${resolverName}']`,
|
|
93
101
|
}
|
|
94
102
|
: {
|
|
95
103
|
typeNamedImport: `${resolverName}Resolvers`,
|
|
96
104
|
module: resolversTypeMetaModule,
|
|
105
|
+
moduleType: 'file',
|
|
97
106
|
typeString: `${resolverName}Resolvers`,
|
|
98
107
|
};
|
|
99
108
|
return {
|
|
@@ -109,11 +118,24 @@ const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResol
|
|
|
109
118
|
* Function to get format resolver name based on its definition in the schema
|
|
110
119
|
* - Root object type resolver e.g Query.me, Mutation.updateUser
|
|
111
120
|
* - Object type e.g. User, Profile
|
|
121
|
+
*
|
|
122
|
+
* Returns an object with 2 key/value pairs:
|
|
123
|
+
* - base: resolver name without module. This is used by to match up with config.externalResolvers.
|
|
124
|
+
* - withModule: resolver name with module. This is used to identify the resolver INTERNAL unique path used in main resolver files.
|
|
112
125
|
*/
|
|
113
|
-
const normalizeResolverName = (name, rootObject) => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
126
|
+
const normalizeResolverName = (moduleName, name, rootObject) => {
|
|
127
|
+
const baseResolverName = !rootObject ? name : `${rootObject}.${name}`;
|
|
128
|
+
// Note: this is to make sure the resolver name is a valid variable name because we use it in resolvers.generated.ts
|
|
129
|
+
//
|
|
130
|
+
// However, this naive implementation means there could be a duplicated variable name if a mix of kebab-case and snake_case is used.
|
|
131
|
+
// e.g. `user-by-account-name` and `user_by_account_name` will both be normalized to `user_by_account_name`
|
|
132
|
+
//
|
|
133
|
+
// If users report this issue. We can try another approach.
|
|
134
|
+
// I'm banking my slim hope in humanity that no codebase is so chaotic that it uses both kebab-case and snake_case.
|
|
135
|
+
const variableSafeModuleName = moduleName.replace('-', '_');
|
|
136
|
+
return {
|
|
137
|
+
base: baseResolverName,
|
|
138
|
+
withModule: `${variableSafeModuleName}.${baseResolverName}`,
|
|
139
|
+
};
|
|
118
140
|
};
|
|
119
141
|
//# sourceMappingURL=visitNamedType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/visitNamedType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/visitNamedType.ts"],"names":[],"mappings":"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"}
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineConfig = exports.preset = void 0;
|
|
3
|
+
exports.defineConfig = exports.preset = exports.defineServerConfig = void 0;
|
|
4
|
+
var gcg_server_config_1 = require("@eddeee888/gcg-server-config");
|
|
5
|
+
Object.defineProperty(exports, "defineServerConfig", { enumerable: true, get: function () { return gcg_server_config_1.defineConfig; } });
|
|
4
6
|
var preset_1 = require("./preset");
|
|
5
7
|
Object.defineProperty(exports, "preset", { enumerable: true, get: function () { return preset_1.preset; } });
|
|
6
8
|
var defineConfig_1 = require("./defineConfig");
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/index.ts"],"names":[],"mappings":";;;AAAA,kEAAkF;AAAzE,uHAAA,YAAY,OAAsB;AAC3C,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './normalizeAddConfigPath';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/normalizeAddConfigPath/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AddPluginConfig } from '@graphql-codegen/add/typings/config';
|
|
2
|
+
/**
|
|
3
|
+
* normalizeAddConfigPath
|
|
4
|
+
*
|
|
5
|
+
* Function to turn the add config keys into normalized path a.k.a. path from baseOutputDir
|
|
6
|
+
* This helps us detects targeted file being given in different formats e.g. './types.generated.ts' vs 'types.generated.ts'
|
|
7
|
+
*/
|
|
8
|
+
export declare const normalizeAddConfigPath: ({ add, baseOutputDir, }: {
|
|
9
|
+
add?: Record<string, AddPluginConfig> | undefined;
|
|
10
|
+
baseOutputDir: string;
|
|
11
|
+
}) => Record<string, AddPluginConfig> | undefined;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeAddConfigPath = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
/**
|
|
6
|
+
* normalizeAddConfigPath
|
|
7
|
+
*
|
|
8
|
+
* Function to turn the add config keys into normalized path a.k.a. path from baseOutputDir
|
|
9
|
+
* This helps us detects targeted file being given in different formats e.g. './types.generated.ts' vs 'types.generated.ts'
|
|
10
|
+
*/
|
|
11
|
+
const normalizeAddConfigPath = ({ add, baseOutputDir, }) => {
|
|
12
|
+
if (!add) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const normalizedPathAdd = Object.entries(add).reduce((res, [originalFilePath, config]) => {
|
|
16
|
+
res[path.posix.join(baseOutputDir, originalFilePath)] = config;
|
|
17
|
+
return res;
|
|
18
|
+
}, {});
|
|
19
|
+
return normalizedPathAdd;
|
|
20
|
+
};
|
|
21
|
+
exports.normalizeAddConfigPath = normalizeAddConfigPath;
|
|
22
|
+
//# sourceMappingURL=normalizeAddConfigPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeAddConfigPath.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/normalizeAddConfigPath/normalizeAddConfigPath.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAG7B;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,GAAG,EACH,aAAa,GAId,EAA+C,EAAE;IAChD,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAElD,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,EAAE;QACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAnBW,QAAA,sBAAsB,0BAmBjC"}
|
|
@@ -58,6 +58,25 @@ const collectTypeMappersFromSourceFile = ({ typeMappersSourceFile, typeMappersSu
|
|
|
58
58
|
}, result);
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
|
+
typeMappersSourceFile.getClasses().forEach((classDeclaration) => {
|
|
62
|
+
if (!classDeclaration.hasExportKeyword()) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const identifierNode = classDeclaration.getNameNode();
|
|
66
|
+
if (!identifierNode) {
|
|
67
|
+
// Anonymous class is skipped
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
addTypeMapperDetailsIfValid({
|
|
71
|
+
declarationNode: null,
|
|
72
|
+
identifierNode,
|
|
73
|
+
typeMappersSuffix,
|
|
74
|
+
typeMappersFilePath: typeMappersSourceFile.getFilePath(),
|
|
75
|
+
resolverTypesPath,
|
|
76
|
+
shouldCollectPropertyMap,
|
|
77
|
+
emitLegacyCommonJSImports,
|
|
78
|
+
}, result);
|
|
79
|
+
});
|
|
61
80
|
};
|
|
62
81
|
exports.collectTypeMappersFromSourceFile = collectTypeMappersFromSourceFile;
|
|
63
82
|
const addTypeMapperDetailsIfValid = ({ declarationNode, identifierNode, typeMappersSuffix, typeMappersFilePath, resolverTypesPath, shouldCollectPropertyMap, emitLegacyCommonJSImports, }, result) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectTypeMappersFromSourceFile.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/parseTypeMappers/collectTypeMappersFromSourceFile.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,uCAOkB;AAClB,oCAAqE;AAG9D,MAAM,gCAAgC,GAAG,CAC9C,EACE,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GAO1B,EACD,MAAsB,EAChB,EAAE;IACR,6CAA6C;IAC7C,qBAAqB,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,EAAE;QACrE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,EAAE;YAC5C,OAAO;SACR;QAED,2BAA2B,CACzB;YACE,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,oBAAoB,CAAC,WAAW,EAAE;YAClD,iBAAiB;YACjB,mBAAmB,EAAE,qBAAqB,CAAC,WAAW,EAAE;YACxD,iBAAiB;YACjB,wBAAwB;YACxB,yBAAyB;SAC1B,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,iDAAiD;IACjD,qBAAqB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3D,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE;YACjC,OAAO;SACR;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE/C,2BAA2B,CACzB;YACE,eAAe,EAAE,SAAS;YAC1B,cAAc;YACd,iBAAiB;YACjB,mBAAmB,EAAE,qBAAqB,CAAC,WAAW,EAAE;YACxD,iBAAiB;YACjB,wBAAwB;YACxB,yBAAyB;SAC1B,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,0CAA0C;IAC1C,+CAA+C;IAC/C,6DAA6D;IAE7D,qBAAqB,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAC1E,iBAAiB,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC1D,IAAI,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,SAAS,EAAE;gBACb,cAAc,GAAG,SAAS,CAAC;aAC5B;YAED,2BAA2B,CACzB;gBACE,eAAe,EAAE,IAAI;gBACrB,cAAc;gBACd,iBAAiB;gBACjB,mBAAmB,EAAE,qBAAqB,CAAC,WAAW,EAAE;gBACxD,iBAAiB;gBACjB,wBAAwB;gBACxB,yBAAyB;aAC1B,EACD,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"collectTypeMappersFromSourceFile.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/parseTypeMappers/collectTypeMappersFromSourceFile.ts"],"names":[],"mappings":"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"}
|