@k0lyan/typegraphql-prisma-nestjs 0.28.20 → 0.28.21

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.
Files changed (88) hide show
  1. package/lib/cli/dev.d.ts +1 -0
  2. package/lib/cli/dev.js +5 -0
  3. package/lib/cli/dev.js.map +1 -0
  4. package/lib/cli/generator.d.ts +1 -0
  5. package/lib/cli/generator.js +13 -0
  6. package/lib/cli/generator.js.map +1 -0
  7. package/lib/cli/helpers.d.ts +4 -0
  8. package/lib/cli/helpers.js +52 -0
  9. package/lib/cli/helpers.js.map +1 -0
  10. package/lib/cli/prisma-generator.d.ts +2 -0
  11. package/lib/cli/prisma-generator.js +79 -0
  12. package/lib/cli/prisma-generator.js.map +1 -0
  13. package/lib/generator/args-class.d.ts +4 -0
  14. package/lib/generator/args-class.js +56 -0
  15. package/lib/generator/args-class.js.map +1 -0
  16. package/lib/generator/config.d.ts +22 -0
  17. package/lib/generator/config.js +39 -0
  18. package/lib/generator/config.js.map +1 -0
  19. package/lib/generator/dmmf/dmmf-document.d.ts +19 -0
  20. package/lib/generator/dmmf/dmmf-document.js +60 -0
  21. package/lib/generator/dmmf/dmmf-document.js.map +1 -0
  22. package/lib/generator/dmmf/helpers.d.ts +5 -0
  23. package/lib/generator/dmmf/helpers.js +42 -0
  24. package/lib/generator/dmmf/helpers.js.map +1 -0
  25. package/lib/generator/dmmf/transform.d.ts +11 -0
  26. package/lib/generator/dmmf/transform.js +456 -0
  27. package/lib/generator/dmmf/transform.js.map +1 -0
  28. package/lib/generator/dmmf/types.d.ts +230 -0
  29. package/lib/generator/dmmf/types.js +28 -0
  30. package/lib/generator/dmmf/types.js.map +1 -0
  31. package/lib/generator/emit-block.d.ts +4 -0
  32. package/lib/generator/emit-block.js +35 -0
  33. package/lib/generator/emit-block.js.map +1 -0
  34. package/lib/generator/enum.d.ts +4 -0
  35. package/lib/generator/enum.js +39 -0
  36. package/lib/generator/enum.js.map +1 -0
  37. package/lib/generator/generate-code.d.ts +3 -0
  38. package/lib/generator/generate-code.js +229 -0
  39. package/lib/generator/generate-code.js.map +1 -0
  40. package/lib/generator/generate-enhance.d.ts +5 -0
  41. package/lib/generator/generate-enhance.js +492 -0
  42. package/lib/generator/generate-enhance.js.map +1 -0
  43. package/lib/generator/generate-helpers.d.ts +3 -0
  44. package/lib/generator/generate-helpers.js +113 -0
  45. package/lib/generator/generate-helpers.js.map +1 -0
  46. package/lib/generator/generate-scalars.d.ts +3 -0
  47. package/lib/generator/generate-scalars.js +27 -0
  48. package/lib/generator/generate-scalars.js.map +1 -0
  49. package/lib/generator/helpers.d.ts +14 -0
  50. package/lib/generator/helpers.js +226 -0
  51. package/lib/generator/helpers.js.map +1 -0
  52. package/lib/generator/imports.d.ts +28 -0
  53. package/lib/generator/imports.js +311 -0
  54. package/lib/generator/imports.js.map +1 -0
  55. package/lib/generator/model-type-class.d.ts +4 -0
  56. package/lib/generator/model-type-class.js +152 -0
  57. package/lib/generator/model-type-class.js.map +1 -0
  58. package/lib/generator/options.d.ts +40 -0
  59. package/lib/generator/options.js +3 -0
  60. package/lib/generator/options.js.map +1 -0
  61. package/lib/generator/resolvers/full-crud.d.ts +5 -0
  62. package/lib/generator/resolvers/full-crud.js +45 -0
  63. package/lib/generator/resolvers/full-crud.js.map +1 -0
  64. package/lib/generator/resolvers/helpers.d.ts +5 -0
  65. package/lib/generator/resolvers/helpers.js +81 -0
  66. package/lib/generator/resolvers/helpers.js.map +1 -0
  67. package/lib/generator/resolvers/relations.d.ts +5 -0
  68. package/lib/generator/resolvers/relations.js +254 -0
  69. package/lib/generator/resolvers/relations.js.map +1 -0
  70. package/lib/generator/resolvers/separate-action.d.ts +5 -0
  71. package/lib/generator/resolvers/separate-action.js +33 -0
  72. package/lib/generator/resolvers/separate-action.js.map +1 -0
  73. package/lib/generator/type-class.d.ts +12 -0
  74. package/lib/generator/type-class.js +340 -0
  75. package/lib/generator/type-class.js.map +1 -0
  76. package/lib/generator/types.d.ts +5 -0
  77. package/lib/generator/types.js +3 -0
  78. package/lib/generator/types.js.map +1 -0
  79. package/lib/generator.d.ts +2 -0
  80. package/lib/generator.js +5 -0
  81. package/lib/generator.js.map +1 -0
  82. package/lib/utils/prisma-version.d.ts +1 -0
  83. package/lib/utils/prisma-version.js +34 -0
  84. package/lib/utils/prisma-version.js.map +1 -0
  85. package/lib/utils/removeDir.d.ts +1 -0
  86. package/lib/utils/removeDir.js +19 -0
  87. package/lib/utils/removeDir.js.map +1 -0
  88. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ import { Project } from "ts-morph";
2
+ import { DmmfDocument } from "../dmmf/dmmf-document";
3
+ import { DMMF } from "../dmmf/types";
4
+ import { GeneratorOptions } from "../options";
5
+ export default function generateActionResolverClass(project: Project, baseDirPath: string, model: DMMF.Model, action: DMMF.Action, mapping: DMMF.ModelMapping, dmmfDocument: DmmfDocument, generatorOptions: GeneratorOptions): void;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = generateActionResolverClass;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const config_1 = require("../config");
7
+ const imports_1 = require("../imports");
8
+ const helpers_1 = require("./helpers");
9
+ function generateActionResolverClass(project, baseDirPath, model, action, mapping, dmmfDocument, generatorOptions) {
10
+ const sourceFile = project.createSourceFile(path_1.default.resolve(baseDirPath, config_1.resolversFolderName, config_1.crudResolversFolderName, model.typeName, `${action.actionResolverName}.ts`), undefined, { overwrite: true });
11
+ (0, imports_1.generateTypeGraphQLImport)(sourceFile);
12
+ (0, imports_1.generateGraphQLInfoImport)(sourceFile);
13
+ if (action.argsTypeName) {
14
+ (0, imports_1.generateArgsImports)(sourceFile, [action.argsTypeName], 0);
15
+ }
16
+ (0, imports_1.generateModelsImports)(sourceFile, [model.typeName, action.outputTypeName].filter(typeName => dmmfDocument.isModelTypeName(typeName)), 3);
17
+ (0, imports_1.generateOutputsImports)(sourceFile, [action.outputTypeName].filter(typeName => !dmmfDocument.isModelTypeName(typeName)), 2);
18
+ (0, imports_1.generateHelpersFileImport)(sourceFile, 3);
19
+ sourceFile.addClass({
20
+ name: action.actionResolverName,
21
+ isExported: true,
22
+ decorators: [
23
+ {
24
+ name: "Resolver",
25
+ arguments: [`_of => ${model.typeName}`],
26
+ },
27
+ ],
28
+ methods: [
29
+ (0, helpers_1.generateCrudResolverClassMethodDeclaration)(action, mapping, dmmfDocument, generatorOptions),
30
+ ],
31
+ });
32
+ }
33
+ //# sourceMappingURL=separate-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separate-action.js","sourceRoot":"","sources":["../../../src/generator/resolvers/separate-action.ts"],"names":[],"mappings":";;AAiBA,8CA4DC;;AA5ED,wDAAwB;AAExB,sCAAyE;AACzE,wCAOoB;AACpB,uCAAuE;AAKvE,SAAwB,2BAA2B,CACjD,OAAgB,EAChB,WAAmB,EACnB,KAAiB,EACjB,MAAmB,EACnB,OAA0B,EAC1B,YAA0B,EAC1B,gBAAkC;IAElC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CACzC,cAAI,CAAC,OAAO,CACV,WAAW,EACX,4BAAmB,EACnB,gCAAuB,EACvB,KAAK,CAAC,QAAQ,EACd,GAAG,MAAM,CAAC,kBAAkB,KAAK,CAClC,EACD,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,IAAA,mCAAyB,EAAC,UAAU,CAAC,CAAC;IACtC,IAAA,mCAAyB,EAAC,UAAU,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,IAAA,6BAAmB,EAAC,UAAU,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAA,+BAAqB,EACnB,UAAU,EACV,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CACxD,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CACvC,EACD,CAAC,CACF,CAAC;IACF,IAAA,gCAAsB,EACpB,UAAU,EACV,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAC5B,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CACpD,EACD,CAAC,CACF,CAAC;IACF,IAAA,mCAAyB,EAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEzC,UAAU,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC,kBAAkB;QAC/B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,CAAC,UAAU,KAAK,CAAC,QAAQ,EAAE,CAAC;aACxC;SACF;QACD,OAAO,EAAE;YACP,IAAA,oDAA0C,EACxC,MAAM,EACN,OAAO,EACP,YAAY,EACZ,gBAAgB,CACjB;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Project } from "ts-morph";
2
+ import { DmmfDocument } from "./dmmf/dmmf-document";
3
+ import { DMMF } from "./dmmf/types";
4
+ import { GeneratorOptions } from "./options";
5
+ export declare function generateOutputTypeClassFromType(project: Project, dirPath: string, type: DMMF.OutputType, dmmfDocument: DmmfDocument): void;
6
+ export declare function generateInputTypeClassFromType(project: Project, dirPath: string, inputType: DMMF.InputType, options: GeneratorOptions): void;
7
+ /**
8
+ * Generate ALL input types in a single file to avoid circular dependency issues.
9
+ * When input types are in separate files and import each other via index.ts,
10
+ * Node.js cannot resolve the circular references at runtime.
11
+ */
12
+ export declare function generateAllInputTypesInSingleFile(project: Project, dirPath: string, inputTypes: readonly DMMF.InputType[], options: GeneratorOptions): string[];
@@ -0,0 +1,340 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateOutputTypeClassFromType = generateOutputTypeClassFromType;
4
+ exports.generateInputTypeClassFromType = generateInputTypeClassFromType;
5
+ exports.generateAllInputTypesInSingleFile = generateAllInputTypesInSingleFile;
6
+ const tslib_1 = require("tslib");
7
+ const path_1 = tslib_1.__importDefault(require("path"));
8
+ const ts_morph_1 = require("ts-morph");
9
+ const config_1 = require("./config");
10
+ const helpers_1 = require("./helpers");
11
+ const imports_1 = require("./imports");
12
+ function generateOutputTypeClassFromType(project, dirPath, type, dmmfDocument) {
13
+ const fileDirPath = path_1.default.resolve(dirPath, config_1.outputsFolderName);
14
+ const filePath = path_1.default.resolve(fileDirPath, `${type.typeName}.ts`);
15
+ const sourceFile = project.createSourceFile(filePath, undefined, {
16
+ overwrite: true,
17
+ });
18
+ const fieldArgsTypeNames = type.fields
19
+ .filter(it => it.argsTypeName)
20
+ .map(it => it.argsTypeName);
21
+ const outputObjectTypes = type.fields.filter(field => field.outputType.location === "outputObjectTypes");
22
+ const outputObjectModelTypes = outputObjectTypes.filter(field => dmmfDocument.isModelTypeName(field.outputType.type));
23
+ (0, imports_1.generateTypeGraphQLImport)(sourceFile);
24
+ (0, imports_1.generateGraphQLScalarsImport)(sourceFile);
25
+ (0, imports_1.generatePrismaNamespaceImport)(sourceFile, dmmfDocument.options, 2);
26
+ (0, imports_1.generateCustomScalarsImport)(sourceFile, 2);
27
+ (0, imports_1.generateArgsImports)(sourceFile, fieldArgsTypeNames, 0);
28
+ (0, imports_1.generateOutputsImports)(sourceFile, outputObjectTypes
29
+ .filter(field => !outputObjectModelTypes.includes(field))
30
+ .map(field => field.outputType.type), 1);
31
+ (0, imports_1.generateModelsImports)(sourceFile, outputObjectModelTypes.map(field => field.outputType.type), 2);
32
+ (0, imports_1.generateEnumsImports)(sourceFile, type.fields
33
+ .map(field => field.outputType)
34
+ .filter(fieldType => fieldType.location === "enumTypes")
35
+ .map(fieldType => fieldType.type), 2);
36
+ sourceFile.addClass({
37
+ name: type.typeName,
38
+ isExported: true,
39
+ decorators: [
40
+ {
41
+ name: "ObjectType",
42
+ arguments: [
43
+ `"${[dmmfDocument.options.objectTypePrefix, type.typeName]
44
+ .filter(Boolean)
45
+ .join("")}"`,
46
+ ts_morph_1.Writers.object({
47
+ ...(dmmfDocument.options.emitIsAbstract && {
48
+ isAbstract: "true",
49
+ }),
50
+ ...(dmmfDocument.options.simpleResolvers && {
51
+ simpleResolvers: "true",
52
+ }),
53
+ }),
54
+ ],
55
+ },
56
+ ],
57
+ properties: [
58
+ ...type.fields
59
+ .filter(field => !field.argsTypeName)
60
+ .map(field => ({
61
+ name: field.name,
62
+ type: field.fieldTSType,
63
+ hasExclamationToken: true,
64
+ hasQuestionToken: false,
65
+ trailingTrivia: "\r\n",
66
+ decorators: [
67
+ {
68
+ name: "Field",
69
+ arguments: [
70
+ `_type => ${field.typeGraphQLType}`,
71
+ ts_morph_1.Writers.object({
72
+ nullable: `${!field.isRequired}`,
73
+ }),
74
+ ],
75
+ },
76
+ ],
77
+ })),
78
+ ...type.fields
79
+ .filter(field => field.argsTypeName)
80
+ .map(field => ({
81
+ name: field.name,
82
+ type: field.fieldTSType,
83
+ hasExclamationToken: true,
84
+ hasQuestionToken: false,
85
+ })),
86
+ ],
87
+ methods: type.fields
88
+ .filter(field => field.argsTypeName)
89
+ .map(field => ({
90
+ name: `get${(0, helpers_1.pascalCase)(field.name)}`,
91
+ returnType: field.fieldTSType,
92
+ trailingTrivia: "\r\n",
93
+ decorators: [
94
+ {
95
+ name: "Field",
96
+ arguments: [
97
+ `_type => ${field.typeGraphQLType}`,
98
+ ts_morph_1.Writers.object({
99
+ name: `"${field.name}"`,
100
+ nullable: `${!field.isRequired}`,
101
+ // fix for https://github.com/EndyKaufman/typegraphql-prisma-nestjs/issues/49
102
+ ...(field.typeGraphQLType === "Int" &&
103
+ type.typeName.endsWith("Count")
104
+ ? {
105
+ middleware: `[
106
+ async (ctx) => {
107
+ return ctx.source.${field.name} || 0;
108
+ },
109
+ ]`,
110
+ }
111
+ : {}),
112
+ }),
113
+ ],
114
+ },
115
+ ],
116
+ parameters: [
117
+ {
118
+ name: "root",
119
+ type: type.typeName,
120
+ decorators: [{ name: "Parent", arguments: [] }],
121
+ },
122
+ {
123
+ name: "args",
124
+ type: field.argsTypeName,
125
+ decorators: [{ name: "Args", arguments: [] }],
126
+ },
127
+ ],
128
+ statements: [ts_morph_1.Writers.returnStatement(`root.${field.name}`)],
129
+ })),
130
+ });
131
+ }
132
+ function generateInputTypeClassFromType(project, dirPath, inputType, options) {
133
+ const filePath = path_1.default.resolve(dirPath, config_1.inputsFolderName, `${inputType.typeName}.ts`);
134
+ const sourceFile = project.createSourceFile(filePath, undefined, {
135
+ overwrite: true,
136
+ });
137
+ (0, imports_1.generateTypeGraphQLImport)(sourceFile);
138
+ (0, imports_1.generateGraphQLScalarsImport)(sourceFile);
139
+ (0, imports_1.generatePrismaNamespaceImport)(sourceFile, options, 2);
140
+ (0, imports_1.generateCustomScalarsImport)(sourceFile, 2);
141
+ (0, imports_1.generateInputsImports)(sourceFile, inputType.fields
142
+ .filter(f => !options.emitPropertyMethods?.includes(f.name))
143
+ .filter(field => field.selectedInputType.location === "inputObjectTypes")
144
+ .map(field => field.selectedInputType.type)
145
+ .filter(fieldType => fieldType !== inputType.typeName));
146
+ (0, imports_1.generateEnumsImports)(sourceFile, inputType.fields
147
+ .filter(f => !options.emitPropertyMethods?.includes(f.name))
148
+ .map(field => field.selectedInputType)
149
+ .filter(fieldType => fieldType.location === "enumTypes")
150
+ .map(fieldType => fieldType.type), 2);
151
+ const fieldsToEmit = inputType.fields
152
+ .filter(f => !options.emitPropertyMethods?.includes(f.name))
153
+ .filter(field => !field.isOmitted);
154
+ const mappedFields = fieldsToEmit.filter(field => field.hasMappedName);
155
+ sourceFile.addClass({
156
+ name: inputType.typeName,
157
+ isExported: true,
158
+ decorators: [
159
+ {
160
+ name: "InputType",
161
+ arguments: [
162
+ `"${[options.inputTypePrefix, inputType.typeName]
163
+ .filter(Boolean)
164
+ .join("")}"`,
165
+ ts_morph_1.Writers.object({
166
+ ...(options.emitIsAbstract && {
167
+ isAbstract: "true",
168
+ }),
169
+ }),
170
+ ],
171
+ },
172
+ ],
173
+ properties: fieldsToEmit.map(field => {
174
+ return {
175
+ name: field.name,
176
+ type: field.fieldTSType,
177
+ hasExclamationToken: !!field.isRequired,
178
+ hasQuestionToken: !field.isRequired,
179
+ trailingTrivia: "\r\n",
180
+ decorators: field.hasMappedName
181
+ ? []
182
+ : [
183
+ {
184
+ name: "Field",
185
+ arguments: [
186
+ `() => ${field.typeGraphQLType}`,
187
+ ts_morph_1.Writers.object({
188
+ nullable: `${!!field.isOptional || !field.isRequired}`,
189
+ }),
190
+ ],
191
+ },
192
+ ],
193
+ };
194
+ }),
195
+ getAccessors: mappedFields.map(field => {
196
+ return {
197
+ name: field.typeName,
198
+ type: field.fieldTSType,
199
+ hasExclamationToken: field.isRequired,
200
+ hasQuestionToken: !field.isRequired,
201
+ trailingTrivia: "\r\n",
202
+ statements: [`return this.${field.name};`],
203
+ decorators: [
204
+ {
205
+ name: "Field",
206
+ arguments: [
207
+ `() => ${field.typeGraphQLType}`,
208
+ ts_morph_1.Writers.object({
209
+ nullable: `${!field.isRequired}`,
210
+ }),
211
+ ],
212
+ },
213
+ ],
214
+ };
215
+ }),
216
+ setAccessors: mappedFields.map(field => {
217
+ return {
218
+ name: field.typeName,
219
+ type: field.fieldTSType,
220
+ hasExclamationToken: field.isRequired,
221
+ hasQuestionToken: !field.isRequired,
222
+ trailingTrivia: "\r\n",
223
+ parameters: [{ name: field.name, type: field.fieldTSType }],
224
+ statements: [`this.${field.name} = ${field.name};`],
225
+ };
226
+ }),
227
+ });
228
+ }
229
+ /**
230
+ * Generate ALL input types in a single file to avoid circular dependency issues.
231
+ * When input types are in separate files and import each other via index.ts,
232
+ * Node.js cannot resolve the circular references at runtime.
233
+ */
234
+ function generateAllInputTypesInSingleFile(project, dirPath, inputTypes, options) {
235
+ const fileDirPath = path_1.default.resolve(dirPath, config_1.inputsFolderName);
236
+ const filePath = path_1.default.resolve(fileDirPath, "index.ts");
237
+ const sourceFile = project.createSourceFile(filePath, undefined, {
238
+ overwrite: true,
239
+ });
240
+ // Collect all enum types used across all input types
241
+ const allEnumTypeNames = new Set();
242
+ for (const inputType of inputTypes) {
243
+ for (const field of inputType.fields) {
244
+ if (field.selectedInputType.location === "enumTypes") {
245
+ allEnumTypeNames.add(field.selectedInputType.type);
246
+ }
247
+ }
248
+ }
249
+ // Generate common imports once at the top
250
+ (0, imports_1.generateTypeGraphQLImport)(sourceFile);
251
+ (0, imports_1.generateGraphQLScalarsImport)(sourceFile);
252
+ (0, imports_1.generatePrismaNamespaceImport)(sourceFile, options, 1);
253
+ (0, imports_1.generateCustomScalarsImport)(sourceFile, 1);
254
+ if (allEnumTypeNames.size > 0) {
255
+ (0, imports_1.generateEnumsImports)(sourceFile, [...allEnumTypeNames], 1);
256
+ }
257
+ // Generate all input type classes in this single file
258
+ for (const inputType of inputTypes) {
259
+ const fieldsToEmit = inputType.fields
260
+ .filter(f => !options.emitPropertyMethods?.includes(f.name))
261
+ .filter(field => !field.isOmitted);
262
+ const mappedFields = fieldsToEmit.filter(field => field.hasMappedName);
263
+ sourceFile.addClass({
264
+ name: inputType.typeName,
265
+ isExported: true,
266
+ decorators: [
267
+ {
268
+ name: "InputType",
269
+ arguments: [
270
+ `"${[options.inputTypePrefix, inputType.typeName]
271
+ .filter(Boolean)
272
+ .join("")}"`,
273
+ ts_morph_1.Writers.object({
274
+ ...(options.emitIsAbstract && {
275
+ isAbstract: "true",
276
+ }),
277
+ }),
278
+ ],
279
+ },
280
+ ],
281
+ properties: fieldsToEmit.map(field => {
282
+ return {
283
+ name: field.name,
284
+ type: field.fieldTSType,
285
+ hasExclamationToken: !!field.isRequired,
286
+ hasQuestionToken: !field.isRequired,
287
+ trailingTrivia: "\r\n",
288
+ decorators: field.hasMappedName
289
+ ? []
290
+ : [
291
+ {
292
+ name: "Field",
293
+ arguments: [
294
+ `() => ${field.typeGraphQLType}`,
295
+ ts_morph_1.Writers.object({
296
+ nullable: `${!!field.isOptional || !field.isRequired}`,
297
+ }),
298
+ ],
299
+ },
300
+ ],
301
+ };
302
+ }),
303
+ getAccessors: mappedFields.map(field => {
304
+ return {
305
+ name: field.typeName,
306
+ type: field.fieldTSType,
307
+ hasExclamationToken: field.isRequired,
308
+ hasQuestionToken: !field.isRequired,
309
+ trailingTrivia: "\r\n",
310
+ statements: [`return this.${field.name};`],
311
+ decorators: [
312
+ {
313
+ name: "Field",
314
+ arguments: [
315
+ `() => ${field.typeGraphQLType}`,
316
+ ts_morph_1.Writers.object({
317
+ nullable: `${!!field.isOptional || !field.isRequired}`,
318
+ }),
319
+ ],
320
+ },
321
+ ],
322
+ };
323
+ }),
324
+ setAccessors: mappedFields.map(field => {
325
+ return {
326
+ name: field.typeName,
327
+ type: field.fieldTSType,
328
+ hasExclamationToken: field.isRequired,
329
+ hasQuestionToken: !field.isRequired,
330
+ trailingTrivia: "\r\n",
331
+ parameters: [{ name: field.name, type: field.fieldTSType }],
332
+ statements: [`this.${field.name} = ${field.name};`],
333
+ };
334
+ }),
335
+ });
336
+ }
337
+ // Return array of type names for reference
338
+ return inputTypes.map(type => type.typeName);
339
+ }
340
+ //# sourceMappingURL=type-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-class.js","sourceRoot":"","sources":["../../src/generator/type-class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface GenerateMappingData {
2
+ modelName: string;
3
+ resolverName: string;
4
+ actionResolverNames?: string[];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import "./cli/generator";
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("./cli/generator");
5
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;AACA,2BAAyB"}
@@ -0,0 +1 @@
1
+ export declare function ensureInstalledCorrectPrismaPackage(): void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureInstalledCorrectPrismaPackage = ensureInstalledCorrectPrismaPackage;
4
+ const tslib_1 = require("tslib");
5
+ const semVer = tslib_1.__importStar(require("semver"));
6
+ function shouldSkipPrismaVersionCheck() {
7
+ const value = process.env.SKIP_PRISMA_VERSION_CHECK;
8
+ return value === "true" || value === "TRUE" || value === "1";
9
+ }
10
+ function getInstalledPrismaVersion() {
11
+ const prismaPackageJson = require("prisma/package.json");
12
+ return prismaPackageJson.version;
13
+ }
14
+ function getPeerDependencyPrismaRequirement() {
15
+ const ownPackageJson = require("../../package.json");
16
+ return ownPackageJson.peerDependencies["prisma"];
17
+ }
18
+ function ensureInstalledCorrectPrismaPackage() {
19
+ if (shouldSkipPrismaVersionCheck()) {
20
+ return;
21
+ }
22
+ const installedVersion = getInstalledPrismaVersion();
23
+ const versionRequirement = getPeerDependencyPrismaRequirement();
24
+ if (!semVer.satisfies(installedVersion, versionRequirement)) {
25
+ throw new Error(`Looks like an incorrect version "${installedVersion}" ` +
26
+ `of the Prisma packages has been installed. ` +
27
+ `'typegraphql-prisma' works only with selected versions, ` +
28
+ `so please ensure that you have installed a version of Prisma ` +
29
+ `that meets the requirement: "${versionRequirement}". ` +
30
+ `Find out more about that requirement in the docs: ` +
31
+ `https://prisma.typegraphql.com/docs/basics/prisma-version`);
32
+ }
33
+ }
34
+ //# sourceMappingURL=prisma-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-version.js","sourceRoot":"","sources":["../../src/utils/prisma-version.ts"],"names":[],"mappings":";;AAiBA,kFAmBC;;AApCD,uDAAiC;AAEjC,SAAS,4BAA4B;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACpD,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzD,OAAO,iBAAiB,CAAC,OAAO,CAAC;AACnC,CAAC;AAED,SAAS,kCAAkC;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,OAAO,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,mCAAmC;IACjD,IAAI,4BAA4B,EAAE,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,yBAAyB,EAAE,CAAC;IACrD,MAAM,kBAAkB,GAAG,kCAAkC,EAAE,CAAC;IAEhE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,oCAAoC,gBAAgB,IAAI;YACtD,6CAA6C;YAC7C,0DAA0D;YAC1D,+DAA+D;YAC/D,gCAAgC,kBAAkB,KAAK;YACvD,oDAAoD;YACpD,2DAA2D,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export default function removeDir(dirPath: string, onlyContent: boolean): Promise<void>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = removeDir;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const fs_1 = require("fs");
7
+ async function removeDir(dirPath, onlyContent) {
8
+ const dirEntries = await fs_1.promises.readdir(dirPath, { withFileTypes: true });
9
+ await Promise.all(dirEntries.map(async (dirEntry) => {
10
+ const fullPath = path_1.default.join(dirPath, dirEntry.name);
11
+ return dirEntry.isDirectory()
12
+ ? await removeDir(fullPath, false)
13
+ : await fs_1.promises.unlink(fullPath);
14
+ }));
15
+ if (!onlyContent) {
16
+ await fs_1.promises.rmdir(dirPath);
17
+ }
18
+ }
19
+ //# sourceMappingURL=removeDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeDir.js","sourceRoot":"","sources":["../../src/utils/removeDir.ts"],"names":[],"mappings":";;AAGA,4BAaC;;AAhBD,wDAAwB;AACxB,2BAAoC;AAErB,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,WAAoB;IAC3E,MAAM,UAAU,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;QAC9B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,WAAW,EAAE;YAC3B,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;YAClC,CAAC,CAAC,MAAM,aAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,aAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k0lyan/typegraphql-prisma-nestjs",
3
- "version": "0.28.20",
3
+ "version": "0.28.21",
4
4
  "scripts": {
5
5
  "build": "tsc",
6
6
  "package:build": "./package.sh",