@k0lyan/nestjs-prisma-graphql-generator 0.1.16 → 0.2.1

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.
@@ -5,7 +5,7 @@ export interface GeneratorConfig {
5
5
  */
6
6
  emitOnly?: EmitBlock[];
7
7
  /**
8
- * Custom output subdirectories
8
+ * Custom output subdirectories (only used when groupByModel is false)
9
9
  */
10
10
  outputDirs?: {
11
11
  models?: string;
@@ -14,6 +14,11 @@ export interface GeneratorConfig {
14
14
  enums?: string;
15
15
  resolvers?: string;
16
16
  };
17
+ /**
18
+ * Group generated files by model (model/inputs.ts, model/args.ts, etc.)
19
+ * Default: false
20
+ */
21
+ groupByModel?: boolean;
17
22
  /**
18
23
  * Whether to generate CRUD resolvers
19
24
  * Default: true
@@ -1 +1 @@
1
- {"version":3,"file":"options-parser.d.ts","sourceRoot":"","sources":["../../src/cli/options-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAmBzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAiDpF"}
1
+ {"version":3,"file":"options-parser.d.ts","sourceRoot":"","sources":["../../src/cli/options-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAoBzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAqDpF"}
@@ -10,6 +10,7 @@ const DEFAULT_CONFIG = {
10
10
  enums: 'enums',
11
11
  resolvers: 'resolvers',
12
12
  },
13
+ groupByModel: false,
13
14
  generateResolvers: true,
14
15
  useValidation: false,
15
16
  prismaClientPath: '@prisma/client',
@@ -25,6 +26,9 @@ function parseGeneratorConfig(config) {
25
26
  if (config['generateResolvers']) {
26
27
  result.generateResolvers = config['generateResolvers'] === 'true';
27
28
  }
29
+ if (config['groupByModel']) {
30
+ result.groupByModel = config['groupByModel'] === 'true';
31
+ }
28
32
  if (config['useValidation']) {
29
33
  result.useValidation = config['useValidation'] === 'true';
30
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options-parser.js","sourceRoot":"","sources":["../../src/cli/options-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options-parser.js","sourceRoot":"","sources":["../../src/cli/options-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { DMMFDocument } from './dmmf/document';
2
+ import type { GeneratedFile } from './dmmf/types';
3
+ import type { GeneratorConfig } from '../cli/options-parser';
4
+ /**
5
+ * Generate code with files grouped by model using direct string generation
6
+ * (faster than ts-morph AST manipulation)
7
+ */
8
+ export declare function generateCodeGrouped(dmmf: DMMFDocument, config: GeneratorConfig): Promise<GeneratedFile[]>;
9
+ //# sourceMappingURL=generate-grouped-fast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-grouped-fast.d.ts","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmB7D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B"}
@@ -0,0 +1,689 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateCodeGrouped = generateCodeGrouped;
7
+ const types_1 = require("./dmmf/types");
8
+ const transformer_1 = require("./dmmf/transformer");
9
+ const pluralize_1 = __importDefault(require("pluralize"));
10
+ /**
11
+ * Generate code with files grouped by model using direct string generation
12
+ * (faster than ts-morph AST manipulation)
13
+ */
14
+ async function generateCodeGrouped(dmmf, config) {
15
+ const files = [];
16
+ // Pre-compute input type names set for all models
17
+ const inputTypeNames = new Set(dmmf.inputTypes.keys());
18
+ // Generate shared enums
19
+ files.push(...generateEnumsGrouped(dmmf));
20
+ // Generate common types
21
+ files.push(...generateCommonTypesGrouped());
22
+ // Generate helpers
23
+ files.push(generateHelpersGrouped());
24
+ // Generate per-model files
25
+ for (const model of dmmf.models) {
26
+ files.push(...generateModelGrouped(model, dmmf, config, inputTypeNames));
27
+ }
28
+ // Generate root index
29
+ files.push(generateRootIndexGrouped(dmmf, inputTypeNames));
30
+ return files;
31
+ }
32
+ /**
33
+ * Generate all files for a single model
34
+ */
35
+ function generateModelGrouped(model, dmmf, config, inputTypeNames) {
36
+ const files = [];
37
+ const modelDir = model.name;
38
+ const available = {
39
+ hasWhereInput: inputTypeNames.has(`${model.name}WhereInput`),
40
+ hasWhereUniqueInput: inputTypeNames.has(`${model.name}WhereUniqueInput`),
41
+ hasOrderByInput: inputTypeNames.has(`${model.name}OrderByWithRelationInput`),
42
+ hasCreateInput: inputTypeNames.has(`${model.name}CreateInput`),
43
+ hasCreateManyInput: inputTypeNames.has(`${model.name}CreateManyInput`),
44
+ hasUpdateInput: inputTypeNames.has(`${model.name}UpdateInput`),
45
+ hasUpdateManyInput: inputTypeNames.has(`${model.name}UpdateManyMutationInput`),
46
+ hasScalarWhereWithAggregates: inputTypeNames.has(`${model.name}ScalarWhereWithAggregatesInput`),
47
+ };
48
+ // Skip models with no query capability
49
+ if (!available.hasWhereInput && !available.hasWhereUniqueInput) {
50
+ return files;
51
+ }
52
+ // Generate model.ts
53
+ files.push({
54
+ path: `${modelDir}/model.ts`,
55
+ content: generateModelObjectType(model, dmmf, config),
56
+ });
57
+ // Generate inputs.ts
58
+ const modelInputTypes = getInputTypesForModel(model.name, dmmf);
59
+ if (modelInputTypes.length > 0) {
60
+ files.push({
61
+ path: `${modelDir}/inputs.ts`,
62
+ content: generateModelInputs(model, modelInputTypes, dmmf),
63
+ });
64
+ }
65
+ // Generate args.ts
66
+ files.push({
67
+ path: `${modelDir}/args.ts`,
68
+ content: generateModelArgs(model, available),
69
+ });
70
+ // Generate resolver.ts
71
+ if (config.generateResolvers) {
72
+ files.push({
73
+ path: `${modelDir}/resolver.ts`,
74
+ content: generateModelResolver(model, available),
75
+ });
76
+ }
77
+ // Generate index.ts
78
+ files.push({
79
+ path: `${modelDir}/index.ts`,
80
+ content: generateModelIndex(config, modelInputTypes.length > 0),
81
+ });
82
+ return files;
83
+ }
84
+ function getInputTypesForModel(modelName, dmmf) {
85
+ const result = [];
86
+ for (const [name, inputType] of dmmf.inputTypes) {
87
+ if (name.startsWith(modelName)) {
88
+ result.push(inputType);
89
+ }
90
+ }
91
+ return result;
92
+ }
93
+ // ============ Model ObjectType ============
94
+ function generateModelObjectType(model, dmmf, config) {
95
+ const lines = [];
96
+ const hasJson = model.fields.some(f => f.type === 'Json');
97
+ const hasBigInt = model.fields.some(f => f.type === 'BigInt');
98
+ const relationFields = model.fields.filter(f => (0, transformer_1.isRelationField)(f));
99
+ const relatedModels = [...new Set(relationFields.map(f => f.type))].filter(m => m !== model.name);
100
+ const enumFields = model.fields.filter(f => (0, transformer_1.isEnumField)(f));
101
+ const enumTypes = [...new Set(enumFields.map(f => f.type))];
102
+ // Imports
103
+ lines.push(`import { ObjectType, Field, ID, Int, Float } from '@nestjs/graphql';`);
104
+ if (hasJson)
105
+ lines.push(`import { GraphQLJSON } from 'graphql-type-json';`);
106
+ if (hasBigInt)
107
+ lines.push(`import { GraphQLBigInt } from 'graphql-scalars';`);
108
+ if (relatedModels.length > 0) {
109
+ lines.push(`// eslint-disable-next-line @typescript-eslint/no-unused-vars`);
110
+ lines.push(`import type { ${relatedModels.join(', ')} } from '../index';`);
111
+ }
112
+ if (enumTypes.length > 0) {
113
+ lines.push(`import { ${enumTypes.join(', ')} } from '../enums';`);
114
+ }
115
+ lines.push('');
116
+ // Class
117
+ const className = `${config.typePrefix ?? ''}${model.name}${config.typeSuffix ?? ''}`;
118
+ const descOption = model.documentation ? `, { description: '${escapeStr(model.documentation)}' }` : '';
119
+ lines.push(`@ObjectType()${descOption}`);
120
+ lines.push(`export class ${className} {`);
121
+ for (const field of model.fields) {
122
+ lines.push(generateModelField(field, dmmf));
123
+ }
124
+ lines.push('}');
125
+ return lines.join('\n');
126
+ }
127
+ function generateModelField(field, _dmmf) {
128
+ const { graphqlType, tsType } = getFieldTypes(field);
129
+ const isRelation = (0, transformer_1.isRelationField)(field);
130
+ const lines = [];
131
+ let typeArg;
132
+ if (isRelation) {
133
+ typeArg = field.isList
134
+ ? `() => [require('../${field.type}/model').${field.type}]`
135
+ : `() => require('../${field.type}/model').${field.type}`;
136
+ }
137
+ else {
138
+ typeArg = field.isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`;
139
+ }
140
+ const options = [];
141
+ if (!field.isRequired && !field.isList)
142
+ options.push('nullable: true');
143
+ if (field.documentation)
144
+ options.push(`description: '${escapeStr(field.documentation)}'`);
145
+ const optionsStr = options.length > 0 ? `, { ${options.join(', ')} }` : '';
146
+ lines.push(` @Field(${typeArg}${optionsStr})`);
147
+ let propertyType = tsType;
148
+ if (field.isList)
149
+ propertyType = `${tsType}[]`;
150
+ if (!field.isRequired)
151
+ propertyType = `${propertyType} | null`;
152
+ const modifier = field.isRequired || field.isList ? '!' : '?';
153
+ lines.push(` ${field.name}${modifier}: ${propertyType};`);
154
+ lines.push('');
155
+ return lines.join('\n');
156
+ }
157
+ function getFieldTypes(field) {
158
+ if (field.isId)
159
+ return { graphqlType: 'ID', tsType: 'string' };
160
+ if ((0, transformer_1.isScalarField)(field)) {
161
+ if (field.type === 'Json')
162
+ return { graphqlType: 'GraphQLJSON', tsType: 'any' };
163
+ return {
164
+ graphqlType: types_1.PRISMA_TO_GRAPHQL_SCALAR[field.type] ?? 'String',
165
+ tsType: types_1.PRISMA_TO_TS_TYPE[field.type] ?? 'string',
166
+ };
167
+ }
168
+ if ((0, transformer_1.isEnumField)(field))
169
+ return { graphqlType: field.type, tsType: field.type };
170
+ if ((0, transformer_1.isRelationField)(field))
171
+ return { graphqlType: field.type, tsType: field.type };
172
+ return { graphqlType: 'String', tsType: 'string' };
173
+ }
174
+ // ============ Inputs ============
175
+ function generateModelInputs(model, inputTypes, dmmf) {
176
+ const lines = [];
177
+ const hasJson = inputTypes.some(it => it.fields.some(f => f.type === 'Json'));
178
+ const hasBigInt = inputTypes.some(it => it.fields.some(f => f.type === 'BigInt'));
179
+ // Collect enums
180
+ const enumTypes = new Set();
181
+ for (const it of inputTypes) {
182
+ for (const f of it.fields) {
183
+ if (dmmf.isEnum(f.type))
184
+ enumTypes.add(f.type);
185
+ }
186
+ }
187
+ // Imports
188
+ lines.push(`import { InputType, Field, Int, Float } from '@nestjs/graphql';`);
189
+ if (hasJson)
190
+ lines.push(`import { GraphQLJSON } from 'graphql-type-json';`);
191
+ if (hasBigInt)
192
+ lines.push(`import { GraphQLBigInt } from 'graphql-scalars';`);
193
+ if (enumTypes.size > 0)
194
+ lines.push(`import { ${[...enumTypes].join(', ')} } from '../enums';`);
195
+ lines.push('');
196
+ for (const inputType of inputTypes) {
197
+ lines.push(generateInputClass(inputType, dmmf, model.name));
198
+ lines.push('');
199
+ }
200
+ return lines.join('\n');
201
+ }
202
+ function generateInputClass(inputType, dmmf, modelName) {
203
+ const lines = [];
204
+ lines.push(`@InputType()`);
205
+ lines.push(`export class ${inputType.name} {`);
206
+ for (const field of inputType.fields) {
207
+ lines.push(generateInputField(field, dmmf, inputType.name, modelName));
208
+ }
209
+ lines.push('}');
210
+ return lines.join('\n');
211
+ }
212
+ function generateInputField(field, dmmf, currentTypeName, modelName) {
213
+ const { graphqlType, tsType, isInputObjectType } = getInputFieldTypes(field, dmmf);
214
+ const lines = [];
215
+ let typeArg;
216
+ if (isInputObjectType && graphqlType !== currentTypeName) {
217
+ if (graphqlType.startsWith(modelName)) {
218
+ typeArg = field.isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`;
219
+ }
220
+ else {
221
+ const otherModel = graphqlType.replace(/(?:Where|Create|Update|OrderBy|Scalar).*Input$/, '');
222
+ typeArg = field.isList
223
+ ? `() => [require('../${otherModel}/inputs').${graphqlType}]`
224
+ : `() => require('../${otherModel}/inputs').${graphqlType}`;
225
+ }
226
+ }
227
+ else {
228
+ typeArg = field.isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`;
229
+ }
230
+ const optionsStr = !field.isRequired ? ', { nullable: true }' : '';
231
+ lines.push(` @Field(${typeArg}${optionsStr})`);
232
+ let propertyType = tsType;
233
+ if (field.isList)
234
+ propertyType = `${tsType}[]`;
235
+ if (!field.isRequired)
236
+ propertyType = `${propertyType} | undefined`;
237
+ const modifier = field.isRequired ? '!' : '?';
238
+ lines.push(` ${field.name}${modifier}: ${propertyType};`);
239
+ lines.push('');
240
+ return lines.join('\n');
241
+ }
242
+ function getInputFieldTypes(field, dmmf) {
243
+ if (types_1.PRISMA_TO_GRAPHQL_SCALAR[field.type]) {
244
+ if (field.type === 'Json')
245
+ return { graphqlType: 'GraphQLJSON', tsType: 'any', isInputObjectType: false };
246
+ return {
247
+ graphqlType: types_1.PRISMA_TO_GRAPHQL_SCALAR[field.type] ?? 'String',
248
+ tsType: types_1.PRISMA_TO_TS_TYPE[field.type] ?? 'string',
249
+ isInputObjectType: false,
250
+ };
251
+ }
252
+ if (dmmf.isEnum(field.type))
253
+ return { graphqlType: field.type, tsType: field.type, isInputObjectType: false };
254
+ return { graphqlType: field.type, tsType: 'any', isInputObjectType: true };
255
+ }
256
+ // ============ Args ============
257
+ function generateModelArgs(model, available) {
258
+ const lines = [];
259
+ const m = model.name;
260
+ // Imports
261
+ lines.push(`import { ArgsType, Field, Int } from '@nestjs/graphql';`);
262
+ const inputImports = [];
263
+ if (available.hasWhereInput)
264
+ inputImports.push(`${m}WhereInput`);
265
+ if (available.hasWhereUniqueInput)
266
+ inputImports.push(`${m}WhereUniqueInput`);
267
+ if (available.hasOrderByInput)
268
+ inputImports.push(`${m}OrderByWithRelationInput`);
269
+ if (available.hasCreateInput)
270
+ inputImports.push(`${m}CreateInput`);
271
+ if (available.hasCreateManyInput)
272
+ inputImports.push(`${m}CreateManyInput`);
273
+ if (available.hasUpdateInput)
274
+ inputImports.push(`${m}UpdateInput`);
275
+ if (available.hasUpdateManyInput)
276
+ inputImports.push(`${m}UpdateManyMutationInput`);
277
+ if (available.hasScalarWhereWithAggregates)
278
+ inputImports.push(`${m}ScalarWhereWithAggregatesInput`);
279
+ if (inputImports.length > 0) {
280
+ lines.push(`import { ${inputImports.join(', ')} } from './inputs';`);
281
+ }
282
+ lines.push(`import { ${m}ScalarFieldEnum } from '../enums';`);
283
+ lines.push('');
284
+ // Generate args classes
285
+ if (available.hasWhereInput) {
286
+ lines.push(generateFindManyArgs(m, available));
287
+ lines.push(generateFindFirstArgs(m, available));
288
+ lines.push(generateDeleteManyArgs(m));
289
+ lines.push(generateAggregateArgs(m, available));
290
+ lines.push(generateGroupByArgs(m, available));
291
+ }
292
+ if (available.hasWhereUniqueInput) {
293
+ lines.push(generateFindUniqueArgs(m));
294
+ lines.push(generateDeleteArgs(m));
295
+ }
296
+ if (available.hasCreateInput)
297
+ lines.push(generateCreateArgs(m));
298
+ if (available.hasCreateManyInput)
299
+ lines.push(generateCreateManyArgs(m));
300
+ if (available.hasUpdateInput && available.hasWhereUniqueInput)
301
+ lines.push(generateUpdateArgs(m));
302
+ if (available.hasUpdateManyInput && available.hasWhereInput)
303
+ lines.push(generateUpdateManyArgs(m));
304
+ if (available.hasCreateInput && available.hasUpdateInput && available.hasWhereUniqueInput) {
305
+ lines.push(generateUpsertArgs(m));
306
+ }
307
+ return lines.join('\n');
308
+ }
309
+ function generateFindManyArgs(m, a) {
310
+ return `@ArgsType()
311
+ export class FindMany${m}Args {
312
+ @Field(() => ${m}WhereInput, { nullable: true })
313
+ where?: ${m}WhereInput;
314
+ ${a.hasOrderByInput ? `
315
+ @Field(() => [${m}OrderByWithRelationInput], { nullable: true })
316
+ orderBy?: ${m}OrderByWithRelationInput[];
317
+ ` : ''}${a.hasWhereUniqueInput ? `
318
+ @Field(() => ${m}WhereUniqueInput, { nullable: true })
319
+ cursor?: ${m}WhereUniqueInput;
320
+ ` : ''}
321
+ @Field(() => Int, { nullable: true })
322
+ take?: number;
323
+
324
+ @Field(() => Int, { nullable: true })
325
+ skip?: number;
326
+
327
+ @Field(() => [${m}ScalarFieldEnum], { nullable: true })
328
+ distinct?: ${m}ScalarFieldEnum[];
329
+ }
330
+ `;
331
+ }
332
+ function generateFindFirstArgs(m, a) {
333
+ return `@ArgsType()
334
+ export class FindFirst${m}Args {
335
+ @Field(() => ${m}WhereInput, { nullable: true })
336
+ where?: ${m}WhereInput;
337
+ ${a.hasOrderByInput ? `
338
+ @Field(() => [${m}OrderByWithRelationInput], { nullable: true })
339
+ orderBy?: ${m}OrderByWithRelationInput[];
340
+ ` : ''}${a.hasWhereUniqueInput ? `
341
+ @Field(() => ${m}WhereUniqueInput, { nullable: true })
342
+ cursor?: ${m}WhereUniqueInput;
343
+ ` : ''}
344
+ @Field(() => Int, { nullable: true })
345
+ take?: number;
346
+
347
+ @Field(() => Int, { nullable: true })
348
+ skip?: number;
349
+
350
+ @Field(() => [${m}ScalarFieldEnum], { nullable: true })
351
+ distinct?: ${m}ScalarFieldEnum[];
352
+ }
353
+ `;
354
+ }
355
+ function generateFindUniqueArgs(m) {
356
+ return `@ArgsType()
357
+ export class FindUnique${m}Args {
358
+ @Field(() => ${m}WhereUniqueInput)
359
+ where!: ${m}WhereUniqueInput;
360
+ }
361
+ `;
362
+ }
363
+ function generateCreateArgs(m) {
364
+ return `@ArgsType()
365
+ export class Create${m}Args {
366
+ @Field(() => ${m}CreateInput)
367
+ data!: ${m}CreateInput;
368
+ }
369
+ `;
370
+ }
371
+ function generateCreateManyArgs(m) {
372
+ return `@ArgsType()
373
+ export class CreateMany${m}Args {
374
+ @Field(() => [${m}CreateManyInput])
375
+ data!: ${m}CreateManyInput[];
376
+ }
377
+ `;
378
+ }
379
+ function generateUpdateArgs(m) {
380
+ return `@ArgsType()
381
+ export class Update${m}Args {
382
+ @Field(() => ${m}UpdateInput)
383
+ data!: ${m}UpdateInput;
384
+
385
+ @Field(() => ${m}WhereUniqueInput)
386
+ where!: ${m}WhereUniqueInput;
387
+ }
388
+ `;
389
+ }
390
+ function generateUpdateManyArgs(m) {
391
+ return `@ArgsType()
392
+ export class UpdateMany${m}Args {
393
+ @Field(() => ${m}UpdateManyMutationInput)
394
+ data!: ${m}UpdateManyMutationInput;
395
+
396
+ @Field(() => ${m}WhereInput, { nullable: true })
397
+ where?: ${m}WhereInput;
398
+ }
399
+ `;
400
+ }
401
+ function generateUpsertArgs(m) {
402
+ return `@ArgsType()
403
+ export class Upsert${m}Args {
404
+ @Field(() => ${m}WhereUniqueInput)
405
+ where!: ${m}WhereUniqueInput;
406
+
407
+ @Field(() => ${m}CreateInput)
408
+ create!: ${m}CreateInput;
409
+
410
+ @Field(() => ${m}UpdateInput)
411
+ update!: ${m}UpdateInput;
412
+ }
413
+ `;
414
+ }
415
+ function generateDeleteArgs(m) {
416
+ return `@ArgsType()
417
+ export class Delete${m}Args {
418
+ @Field(() => ${m}WhereUniqueInput)
419
+ where!: ${m}WhereUniqueInput;
420
+ }
421
+ `;
422
+ }
423
+ function generateDeleteManyArgs(m) {
424
+ return `@ArgsType()
425
+ export class DeleteMany${m}Args {
426
+ @Field(() => ${m}WhereInput, { nullable: true })
427
+ where?: ${m}WhereInput;
428
+ }
429
+ `;
430
+ }
431
+ function generateAggregateArgs(m, a) {
432
+ return `@ArgsType()
433
+ export class Aggregate${m}Args {
434
+ @Field(() => ${m}WhereInput, { nullable: true })
435
+ where?: ${m}WhereInput;
436
+ ${a.hasOrderByInput ? `
437
+ @Field(() => [${m}OrderByWithRelationInput], { nullable: true })
438
+ orderBy?: ${m}OrderByWithRelationInput[];
439
+ ` : ''}${a.hasWhereUniqueInput ? `
440
+ @Field(() => ${m}WhereUniqueInput, { nullable: true })
441
+ cursor?: ${m}WhereUniqueInput;
442
+ ` : ''}
443
+ @Field(() => Int, { nullable: true })
444
+ take?: number;
445
+
446
+ @Field(() => Int, { nullable: true })
447
+ skip?: number;
448
+ }
449
+ `;
450
+ }
451
+ function generateGroupByArgs(m, a) {
452
+ return `@ArgsType()
453
+ export class GroupBy${m}Args {
454
+ @Field(() => ${m}WhereInput, { nullable: true })
455
+ where?: ${m}WhereInput;
456
+ ${a.hasOrderByInput ? `
457
+ @Field(() => [${m}OrderByWithRelationInput], { nullable: true })
458
+ orderBy?: ${m}OrderByWithRelationInput[];
459
+ ` : ''}
460
+ @Field(() => [${m}ScalarFieldEnum])
461
+ by!: ${m}ScalarFieldEnum[];
462
+ ${a.hasScalarWhereWithAggregates ? `
463
+ @Field(() => ${m}ScalarWhereWithAggregatesInput, { nullable: true })
464
+ having?: ${m}ScalarWhereWithAggregatesInput;
465
+ ` : ''}
466
+ @Field(() => Int, { nullable: true })
467
+ take?: number;
468
+
469
+ @Field(() => Int, { nullable: true })
470
+ skip?: number;
471
+ }
472
+ `;
473
+ }
474
+ // ============ Resolver ============
475
+ function generateModelResolver(model, ops) {
476
+ const m = model.name;
477
+ const lowerName = (0, transformer_1.camelCase)(m);
478
+ const pluralName = (0, pluralize_1.default)(lowerName);
479
+ const isAlreadyPlural = pluralName === lowerName;
480
+ const findManyMethod = isAlreadyPlural ? `findMany${m}` : pluralName;
481
+ const findUniqueMethod = isAlreadyPlural ? `findUnique${m}` : lowerName;
482
+ const lines = [];
483
+ // Imports
484
+ const nestjsImports = ['Resolver', 'Query', 'Args', 'Info', 'Int'];
485
+ if (ops.hasCreateInput || ops.hasUpdateInput)
486
+ nestjsImports.push('Mutation');
487
+ lines.push(`import { ${nestjsImports.join(', ')} } from '@nestjs/graphql';`);
488
+ lines.push(`import { GraphQLResolveInfo } from 'graphql';`);
489
+ lines.push(`import { ${m} } from './model';`);
490
+ lines.push(`import { AffectedRows } from '../common/AffectedRows';`);
491
+ lines.push(`import { transformInfoIntoPrismaArgs, getPrismaFromContext } from '../helpers';`);
492
+ const argsImports = [];
493
+ if (ops.hasWhereInput)
494
+ argsImports.push(`FindMany${m}Args`, `FindFirst${m}Args`, `DeleteMany${m}Args`);
495
+ if (ops.hasWhereUniqueInput)
496
+ argsImports.push(`FindUnique${m}Args`, `Delete${m}Args`);
497
+ if (ops.hasCreateInput)
498
+ argsImports.push(`Create${m}Args`);
499
+ if (ops.hasCreateManyInput)
500
+ argsImports.push(`CreateMany${m}Args`);
501
+ if (ops.hasUpdateInput && ops.hasWhereUniqueInput)
502
+ argsImports.push(`Update${m}Args`);
503
+ if (ops.hasUpdateManyInput && ops.hasWhereInput)
504
+ argsImports.push(`UpdateMany${m}Args`);
505
+ if (ops.hasCreateInput && ops.hasUpdateInput && ops.hasWhereUniqueInput)
506
+ argsImports.push(`Upsert${m}Args`);
507
+ if (argsImports.length > 0) {
508
+ lines.push(`import { ${argsImports.join(', ')} } from './args';`);
509
+ }
510
+ lines.push('');
511
+ lines.push(`@Resolver(() => ${m})`);
512
+ lines.push(`export class ${m}Resolver {`);
513
+ // Queries
514
+ if (ops.hasWhereInput) {
515
+ lines.push(resolverMethod('Query', findManyMethod, `FindMany${m}Args`, `[${m}]`, `Promise<${m}[]>`, lowerName, 'findMany'));
516
+ lines.push(resolverMethod('Query', `findFirst${m}`, `FindFirst${m}Args`, m, `Promise<${m} | null>`, lowerName, 'findFirst', true));
517
+ }
518
+ if (ops.hasWhereUniqueInput) {
519
+ lines.push(resolverMethod('Query', findUniqueMethod, `FindUnique${m}Args`, m, `Promise<${m} | null>`, lowerName, 'findUnique', true));
520
+ }
521
+ // Mutations
522
+ if (ops.hasCreateInput) {
523
+ lines.push(resolverMethod('Mutation', `createOne${m}`, `Create${m}Args`, m, `Promise<${m}>`, lowerName, 'create'));
524
+ }
525
+ if (ops.hasCreateManyInput) {
526
+ lines.push(resolverMethod('Mutation', `createMany${m}`, `CreateMany${m}Args`, 'AffectedRows', 'Promise<AffectedRows>', lowerName, 'createMany'));
527
+ }
528
+ if (ops.hasUpdateInput && ops.hasWhereUniqueInput) {
529
+ lines.push(resolverMethod('Mutation', `updateOne${m}`, `Update${m}Args`, m, `Promise<${m} | null>`, lowerName, 'update', true));
530
+ }
531
+ if (ops.hasUpdateManyInput && ops.hasWhereInput) {
532
+ lines.push(resolverMethod('Mutation', `updateMany${m}`, `UpdateMany${m}Args`, 'AffectedRows', 'Promise<AffectedRows>', lowerName, 'updateMany'));
533
+ }
534
+ if (ops.hasCreateInput && ops.hasUpdateInput && ops.hasWhereUniqueInput) {
535
+ lines.push(resolverMethod('Mutation', `upsertOne${m}`, `Upsert${m}Args`, m, `Promise<${m}>`, lowerName, 'upsert'));
536
+ }
537
+ if (ops.hasWhereUniqueInput) {
538
+ lines.push(resolverMethod('Mutation', `deleteOne${m}`, `Delete${m}Args`, m, `Promise<${m} | null>`, lowerName, 'delete', true));
539
+ }
540
+ if (ops.hasWhereInput) {
541
+ lines.push(resolverMethod('Mutation', `deleteMany${m}`, `DeleteMany${m}Args`, 'AffectedRows', 'Promise<AffectedRows>', lowerName, 'deleteMany'));
542
+ }
543
+ lines.push('}');
544
+ return lines.join('\n');
545
+ }
546
+ function resolverMethod(type, methodName, argsType, graphqlReturn, tsReturn, prismaModel, prismaMethod, nullable = false) {
547
+ const nullableOpt = nullable ? ', { nullable: true }' : '';
548
+ return `
549
+ @${type}(() => ${graphqlReturn}${nullableOpt})
550
+ async ${methodName}(@Args() args: ${argsType}, @Info() info: GraphQLResolveInfo): ${tsReturn} {
551
+ const select = transformInfoIntoPrismaArgs(info);
552
+ const prisma = getPrismaFromContext(info);
553
+ return prisma.${prismaModel}.${prismaMethod}({ ...args, ...select });
554
+ }
555
+ `;
556
+ }
557
+ // ============ Model Index ============
558
+ function generateModelIndex(config, hasInputs) {
559
+ const lines = [];
560
+ lines.push(`export * from './model';`);
561
+ if (hasInputs)
562
+ lines.push(`export * from './inputs';`);
563
+ lines.push(`export * from './args';`);
564
+ if (config.generateResolvers)
565
+ lines.push(`export * from './resolver';`);
566
+ return lines.join('\n');
567
+ }
568
+ // ============ Enums ============
569
+ function generateEnumsGrouped(dmmf) {
570
+ const files = [];
571
+ for (const enumDef of dmmf.enums) {
572
+ const values = enumDef.values.map(v => ` ${v.name} = '${v.name}',`).join('\n');
573
+ const desc = enumDef.documentation ? `'${escapeStr(enumDef.documentation)}'` : 'undefined';
574
+ files.push({
575
+ path: `enums/${enumDef.name}.ts`,
576
+ content: `import { registerEnumType } from '@nestjs/graphql';
577
+
578
+ export enum ${enumDef.name} {
579
+ ${values}
580
+ }
581
+
582
+ registerEnumType(${enumDef.name}, {
583
+ name: '${enumDef.name}',
584
+ description: ${desc},
585
+ });
586
+ `,
587
+ });
588
+ }
589
+ // Index file
590
+ const exports = dmmf.enums.map(e => `export * from './${e.name}';`).join('\n');
591
+ files.push({ path: 'enums/index.ts', content: exports + '\n' });
592
+ return files;
593
+ }
594
+ // ============ Common Types ============
595
+ function generateCommonTypesGrouped() {
596
+ return [
597
+ {
598
+ path: 'common/AffectedRows.ts',
599
+ content: `import { ObjectType, Field, Int } from '@nestjs/graphql';
600
+
601
+ @ObjectType()
602
+ export class AffectedRows {
603
+ @Field(() => Int)
604
+ count!: number;
605
+ }
606
+ `,
607
+ },
608
+ {
609
+ path: 'common/index.ts',
610
+ content: `export * from './AffectedRows';\n`,
611
+ },
612
+ ];
613
+ }
614
+ // ============ Helpers ============
615
+ function generateHelpersGrouped() {
616
+ return {
617
+ path: 'helpers.ts',
618
+ content: `import { parseResolveInfo, ResolveTree, FieldsByTypeName } from 'graphql-parse-resolve-info';
619
+ import type { GraphQLResolveInfo } from 'graphql';
620
+
621
+ export function transformInfoIntoPrismaArgs(info: GraphQLResolveInfo): { select?: Record<string, any>; include?: Record<string, any> } {
622
+ const parsedInfo = parseResolveInfo(info) as ResolveTree | null;
623
+ if (!parsedInfo) return {};
624
+
625
+ const select = buildPrismaSelect(parsedInfo.fieldsByTypeName);
626
+ return Object.keys(select).length > 0 ? { select } : {};
627
+ }
628
+
629
+ function buildPrismaSelect(fieldsByTypeName: FieldsByTypeName): Record<string, any> {
630
+ const result: Record<string, any> = {};
631
+
632
+ for (const typeName in fieldsByTypeName) {
633
+ const fields = fieldsByTypeName[typeName];
634
+ for (const fieldName in fields) {
635
+ if (fieldName.startsWith('__') || fieldName.startsWith('_count') || fieldName.startsWith('_avg') || fieldName.startsWith('_sum') || fieldName.startsWith('_min') || fieldName.startsWith('_max')) continue;
636
+
637
+ const field = fields[fieldName];
638
+ const nestedFields = field.fieldsByTypeName;
639
+
640
+ if (Object.keys(nestedFields).length > 0) {
641
+ const nestedSelect = buildPrismaSelect(nestedFields);
642
+ result[fieldName] = Object.keys(nestedSelect).length > 0 ? { select: nestedSelect } : true;
643
+ } else {
644
+ result[fieldName] = true;
645
+ }
646
+ }
647
+ }
648
+
649
+ return result;
650
+ }
651
+
652
+ export function getPrismaFromContext(info: GraphQLResolveInfo): any {
653
+ const context = (info.rootValue as any)?.context ?? info.rootValue;
654
+ const prisma = context?.prisma ?? context?.db;
655
+ if (!prisma) throw new Error('Prisma client not found in context. Please provide prisma in your GraphQL context.');
656
+ return prisma;
657
+ }
658
+
659
+ export function mergePrismaSelects(...selects: Array<{ select?: Record<string, any>; include?: Record<string, any> }>): { select?: Record<string, any>; include?: Record<string, any> } {
660
+ const result: { select?: Record<string, any>; include?: Record<string, any> } = {};
661
+ for (const s of selects) {
662
+ if (s.select) result.select = { ...(result.select ?? {}), ...s.select };
663
+ if (s.include) result.include = { ...(result.include ?? {}), ...s.include };
664
+ }
665
+ return result;
666
+ }
667
+ `,
668
+ };
669
+ }
670
+ // ============ Root Index ============
671
+ function generateRootIndexGrouped(dmmf, inputTypeNames) {
672
+ const lines = [];
673
+ lines.push(`export * from './enums';`);
674
+ lines.push(`export * from './common';`);
675
+ lines.push(`export * from './helpers';`);
676
+ for (const model of dmmf.models) {
677
+ const hasWhereInput = inputTypeNames.has(`${model.name}WhereInput`);
678
+ const hasWhereUniqueInput = inputTypeNames.has(`${model.name}WhereUniqueInput`);
679
+ if (hasWhereInput || hasWhereUniqueInput) {
680
+ lines.push(`export * from './${model.name}';`);
681
+ }
682
+ }
683
+ return { path: 'index.ts', content: lines.join('\n') + '\n' };
684
+ }
685
+ // ============ Utilities ============
686
+ function escapeStr(text) {
687
+ return text.replace(/'/g, "\\'").replace(/\n/g, '\\n');
688
+ }
689
+ //# sourceMappingURL=generate-grouped-fast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-grouped-fast.js","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7D;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsF1B"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA0F1B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateCode = generateCode;
4
4
  const ts_morph_1 = require("ts-morph");
5
5
  const args_1 = require("./templates/args");
6
+ const generate_grouped_fast_1 = require("./generate-grouped-fast");
6
7
  const common_1 = require("./common");
7
8
  const enum_1 = require("./templates/enum");
8
9
  const helpers_generator_1 = require("./helpers-generator");
@@ -15,6 +16,10 @@ const resolver_1 = require("./templates/resolver");
15
16
  * Coordinates generation of all code files from the DMMF document
16
17
  */
17
18
  async function generateCode(dmmf, config) {
19
+ // Use grouped generation if enabled (uses fast string-based generation)
20
+ if (config.groupByModel) {
21
+ return (0, generate_grouped_fast_1.generateCodeGrouped)(dmmf, config);
22
+ }
18
23
  const project = new ts_morph_1.Project({
19
24
  useInMemoryFileSystem: true,
20
25
  compilerOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":";;AAkBA,oCAyFC;AA3GD,uCAA+C;AAK/C,2CAAgD;AAChD,qCAA+C;AAC/C,2CAAiD;AACjD,2DAAsD;AACtD,6CAAmD;AACnD,6CAAmD;AACnD,mDAAyD;AAEzD;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAChC,IAAkB,EAClB,MAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE;YACf,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;YACZ,sBAAsB,EAAE,IAAI;YAC5B,qBAAqB,EAAE,IAAI;SAC5B;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE/C,6BAA6B;IAC7B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAY,CAAC,CAAC;IAEzF,iBAAiB;IACjB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAA,oBAAa,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,IAAA,4BAAiB,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;YACzC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,mBAAmB;IACnB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAA,mCAAe,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACvC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEpC,iCAAiC;IACjC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAAsB,EACtB,MAAuB,EACvB,IAAkB;IAElB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAY,CAAC,CAAC;IAEzF,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,OAAO,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,QAAQ,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,QAAQ,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,MAAM,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACxD,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IAEH,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,WAAW;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k0lyan/nestjs-prisma-graphql-generator",
3
- "version": "0.1.16",
3
+ "version": "0.2.1",
4
4
  "description": "Prisma generator for NestJS 11 GraphQL with optimized query building from GraphQL selections",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",