prisma-generator-express 1.40.0 → 1.41.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.
Files changed (48) hide show
  1. package/README.md +444 -12
  2. package/dist/generators/generateOperationCore.d.ts +3 -1
  3. package/dist/generators/generateOperationCore.js +266 -160
  4. package/dist/generators/generateOperationCore.js.map +1 -1
  5. package/dist/generators/generateRouteConfigType.d.ts +3 -1
  6. package/dist/generators/generateRouteConfigType.js +36 -31
  7. package/dist/generators/generateRouteConfigType.js.map +1 -1
  8. package/dist/generators/generateRouter.d.ts +4 -2
  9. package/dist/generators/generateRouter.js +130 -119
  10. package/dist/generators/generateRouter.js.map +1 -1
  11. package/dist/generators/generateRouterFastify.d.ts +3 -1
  12. package/dist/generators/generateRouterFastify.js +12 -10
  13. package/dist/generators/generateRouterFastify.js.map +1 -1
  14. package/dist/generators/generateRouterHono.d.ts +3 -1
  15. package/dist/generators/generateRouterHono.js +12 -9
  16. package/dist/generators/generateRouterHono.js.map +1 -1
  17. package/dist/generators/generateUnifiedDocs.d.ts +2 -1
  18. package/dist/generators/generateUnifiedDocs.js +6 -4
  19. package/dist/generators/generateUnifiedDocs.js.map +1 -1
  20. package/dist/index.js +16 -21
  21. package/dist/index.js.map +1 -1
  22. package/dist/utils/copyFiles.d.ts +2 -1
  23. package/dist/utils/copyFiles.js +39 -34
  24. package/dist/utils/copyFiles.js.map +1 -1
  25. package/dist/utils/importExt.d.ts +2 -0
  26. package/dist/utils/importExt.js +11 -0
  27. package/dist/utils/importExt.js.map +1 -0
  28. package/dist/utils/resolveImportStyle.d.ts +3 -0
  29. package/dist/utils/resolveImportStyle.js +211 -0
  30. package/dist/utils/resolveImportStyle.js.map +1 -0
  31. package/dist/utils/writeFileSafely.js +6 -9
  32. package/dist/utils/writeFileSafely.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/copy/routeConfig.express.ts +39 -5
  35. package/src/copy/routeConfig.fastify.ts +8 -4
  36. package/src/copy/routeConfig.hono.ts +7 -3
  37. package/src/copy/routeConfig.ts +42 -2
  38. package/src/generators/generateOperationCore.ts +273 -169
  39. package/src/generators/generateRouteConfigType.ts +42 -35
  40. package/src/generators/generateRouter.ts +134 -121
  41. package/src/generators/generateRouterFastify.ts +14 -9
  42. package/src/generators/generateRouterHono.ts +14 -8
  43. package/src/generators/generateUnifiedDocs.ts +8 -3
  44. package/src/index.ts +25 -47
  45. package/src/utils/copyFiles.ts +45 -45
  46. package/src/utils/importExt.ts +7 -0
  47. package/src/utils/resolveImportStyle.ts +187 -0
  48. package/src/utils/writeFileSafely.ts +6 -22
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateHonoRouterFunction = generateHonoRouterFunction;
4
4
  const strings_1 = require("../utils/strings");
5
5
  const generateRouteConfigType_1 = require("./generateRouteConfigType");
6
- function generateHonoRouterFunction({ model, enums, guardShapesImport, }) {
6
+ const importExt_1 = require("../utils/importExt");
7
+ function generateHonoRouterFunction({ model, enums, guardShapesImport, importStyle, }) {
8
+ const ext = (0, importExt_1.importExt)(importStyle);
7
9
  const modelName = model.name;
8
10
  const prefix = (0, strings_1.toCamelCase)(modelName);
9
11
  const modelNameLower = modelName.toLowerCase();
@@ -48,14 +50,15 @@ import {
48
50
  ${prefix}Aggregate,
49
51
  ${prefix}Count,
50
52
  ${prefix}GroupBy,
51
- } from './${modelName}Handlers'
52
- import type { RouteConfig, HonoHookHandler } from '../routeConfig.target'
53
- import { parseQueryParams } from '../parseQueryParams'
54
- import { sanitizeKeys } from '../misc'
55
- import { buildModelOpenApi } from '../buildModelOpenApi'
56
- import { mapError, transformResult, HttpError } from '../operationRuntime'
57
-
58
- ${(0, generateRouteConfigType_1.generateRouteConfigType)(modelName, 'HonoHookHandler', guardShapesImport)}
53
+ } from './${modelName}Handlers${ext}'
54
+ import type { RouteConfig, HonoHookHandler } from '../routeConfig.target${ext}'
55
+ import { parseQueryParams } from '../parseQueryParams${ext}'
56
+ import { sanitizeKeys } from '../misc${ext}'
57
+ import { buildModelOpenApi } from '../buildModelOpenApi${ext}'
58
+ import { mapError, transformResult, HttpError } from '../operationRuntime${ext}'
59
+
60
+ ${(0, generateRouteConfigType_1.generateRouteConfigType)(modelName, 'HonoHookHandler', guardShapesImport, importStyle, 'hono')}
61
+
59
62
  type HonoVariables = {
60
63
  prisma: any
61
64
  postgres?: any
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouterHono.js","sourceRoot":"","sources":["../../src/generators/generateRouterHono.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouterHono.js","sourceRoot":"","sources":["../../src/generators/generateRouterHono.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { Target } from '../constants';
2
- export declare function generateUnifiedDocs(models: string[], target?: Target): string;
2
+ import { ImportStyle } from '../utils/resolveImportStyle';
3
+ export declare function generateUnifiedDocs(models: string[], target?: Target, importStyle?: ImportStyle): string;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateUnifiedDocs = generateUnifiedDocs;
4
- function generateUnifiedDocs(models, target = 'express') {
4
+ const importExt_1 = require("../utils/importExt");
5
+ function generateUnifiedDocs(models, target = 'express', importStyle = 'none') {
6
+ const ext = (0, importExt_1.importExt)(importStyle);
5
7
  const imports = models
6
- .map((model) => `import { ${model}Docs } from './${model}/${model}Docs'`)
8
+ .map((model) => `import { ${model}Docs } from './${model}/${model}Docs${ext}'`)
7
9
  .join('\n');
8
10
  const handlersEntries = models
9
11
  .map((model) => ` ${model}: ${model}Docs`)
@@ -12,8 +14,8 @@ function generateUnifiedDocs(models, target = 'express') {
12
14
  ? `import type { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify'`
13
15
  : target === 'hono'
14
16
  ? `import type { Hono, Context } from 'hono'`
15
- : `import { Request, Response } from 'express'`;
16
- const routeConfigImport = `import type { RouteConfig } from './routeConfig.target'`;
17
+ : `import type { Request, Response } from 'express'`;
18
+ const routeConfigImport = `import type { RouteConfig } from './routeConfig.target${ext}'`;
17
19
  const handlerType = target === 'fastify'
18
20
  ? `(config: any) => (request: FastifyRequest, reply: FastifyReply) => Promise<void>`
19
21
  : target === 'hono'
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedDocs.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedDocs.ts"],"names":[],"mappings":";;AAEA,kDA0LC;AA1LD,SAAgB,mBAAmB,CACjC,MAAgB,EAChB,SAAiB,SAAS;IAE1B,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,kBAAkB,KAAK,IAAI,KAAK,OAAO,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,eAAe,GAAG,MAAM;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,CAAC;SAC1C,IAAI,CAAC,KAAK,CAAC,CAAA;IAEd,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,6CAA6C,CAAA;IAErD,MAAM,iBAAiB,GAAG,yDAAyD,CAAA;IAEnF,MAAM,WAAW,GACf,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,kFAAkF;QACpF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,uDAAuD,CAAA;IAE/D,MAAM,kBAAkB,GACtB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,MAAM,YAAY,GAChB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,OAAO,GAAG,OAAO;EACjB,eAAe;EACf,iBAAiB;;;;qCAIkB,WAAW;EAC9C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIf,kBAAkB;;EAElB,YAAY;CACb,CAAA;AACD,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"generateUnifiedDocs.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedDocs.ts"],"names":[],"mappings":";;AAIA,kDA6LC;AA/LD,kDAA8C;AAE9C,SAAgB,mBAAmB,CACjC,MAAgB,EAChB,SAAiB,SAAS,EAC1B,cAA2B,MAAM;IAEjC,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,kBAAkB,KAAK,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC;SAC9E,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,eAAe,GAAG,MAAM;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,CAAC;SAC1C,IAAI,CAAC,KAAK,CAAC,CAAA;IAEd,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,kDAAkD,CAAA;IAE1D,MAAM,iBAAiB,GAAG,yDAAyD,GAAG,GAAG,CAAA;IAEzF,MAAM,WAAW,GACf,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,kFAAkF;QACpF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,uDAAuD,CAAA;IAE/D,MAAM,kBAAkB,GACtB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,MAAM,YAAY,GAChB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,OAAO,GAAG,OAAO;EACjB,eAAe;EACf,iBAAiB;;;;qCAIkB,WAAW;EAC9C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIf,kBAAkB;;EAElB,YAAY;CACb,CAAA;AACD,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ const generateOperationCore_1 = require("./generators/generateOperationCore");
18
18
  const generateImportPrismaStatement_1 = require("./generators/generateImportPrismaStatement");
19
19
  const writeFileSafely_1 = require("./utils/writeFileSafely");
20
20
  const copyFiles_1 = require("./utils/copyFiles");
21
+ const resolveImportStyle_1 = require("./utils/resolveImportStyle");
21
22
  const constants_1 = require("./constants");
22
23
  function getTarget(options) {
23
24
  const raw = String(options.generator.config.target ?? 'express').toLowerCase();
@@ -42,24 +43,23 @@ function getTarget(options) {
42
43
  const outputPath = path_1.default.join(schemaDir, 'generated', target);
43
44
  options.generator.output = { value: outputPath, fromEnvVar: null };
44
45
  }
46
+ const importStyle = (0, resolveImportStyle_1.resolveImportStyle)(options);
45
47
  console.log(`\n═══ Prisma Generator (${target.toUpperCase()}) ═══`);
46
48
  console.log(` Target: ${target}`);
47
49
  console.log(` Output: ${options.generator.output?.value}`);
48
- await (0, copyFiles_1.copyFiles)(options, target);
50
+ console.log(` Import style: ${importStyle}`);
51
+ await (0, copyFiles_1.copyFiles)(options, target, importStyle);
49
52
  await (0, writeFileSafely_1.writeFileSafely)({
50
- content: (0, generateOperationCore_1.generateOperationRuntime)(),
53
+ content: (0, generateOperationCore_1.generateOperationRuntime)(importStyle),
51
54
  options,
52
55
  operation: 'operationRuntime',
53
56
  });
54
57
  const modelNames = [];
55
- const generateHandler = target === 'fastify'
56
- ? generateFastifyHandler_1.generateFastifyHandler
57
- : target === 'hono'
58
- ? generateHonoHandler_1.generateHonoHandler
59
- : generateUnifiedHandler_1.generateUnifiedHandler;
58
+ const generateHandler = target === 'fastify' ? generateFastifyHandler_1.generateFastifyHandler :
59
+ target === 'hono' ? generateHonoHandler_1.generateHonoHandler :
60
+ generateUnifiedHandler_1.generateUnifiedHandler;
60
61
  for (const model of options.dmmf.datamodel.models) {
61
- if (model.documentation &&
62
- model.documentation.includes('generator off')) {
62
+ if (model.documentation && model.documentation.includes('generator off')) {
63
63
  console.log(` Skipping: ${model.name} (generator off)`);
64
64
  continue;
65
65
  }
@@ -67,15 +67,13 @@ function getTarget(options) {
67
67
  const relativeClientPath = (0, generateImportPrismaStatement_1.getRelativeClientPath)(options, model.name);
68
68
  const guardShapesImport = (0, generateImportPrismaStatement_1.getGuardShapesImport)(options, model.name);
69
69
  await (0, writeFileSafely_1.writeFileSafely)({
70
- content: (0, generateOperationCore_1.generateModelCore)({ model: model }),
70
+ content: (0, generateOperationCore_1.generateModelCore)({ model: model, importStyle }),
71
71
  options,
72
72
  model: model,
73
73
  operation: 'Core',
74
74
  });
75
75
  await (0, writeFileSafely_1.writeFileSafely)({
76
- content: generateHandler({
77
- model: model,
78
- }),
76
+ content: generateHandler({ model: model, importStyle }),
79
77
  options,
80
78
  model: model,
81
79
  operation: 'Handlers',
@@ -85,18 +83,21 @@ function getTarget(options) {
85
83
  model: model,
86
84
  enums: options.dmmf.datamodel.enums,
87
85
  guardShapesImport,
86
+ importStyle,
88
87
  })
89
88
  : target === 'hono'
90
89
  ? (0, generateRouterHono_1.generateHonoRouterFunction)({
91
90
  model: model,
92
91
  enums: options.dmmf.datamodel.enums,
93
92
  guardShapesImport,
93
+ importStyle,
94
94
  })
95
95
  : (0, generateRouter_1.generateRouterFunction)({
96
96
  model: model,
97
97
  enums: options.dmmf.datamodel.enums,
98
98
  relativeClientPath,
99
99
  guardShapesImport,
100
+ importStyle,
100
101
  });
101
102
  await (0, writeFileSafely_1.writeFileSafely)({
102
103
  content: routerContent,
@@ -109,6 +110,7 @@ function getTarget(options) {
109
110
  model: model,
110
111
  enums: options.dmmf.datamodel.enums,
111
112
  target,
113
+ importStyle,
112
114
  }),
113
115
  options,
114
116
  model: model,
@@ -116,7 +118,7 @@ function getTarget(options) {
116
118
  });
117
119
  }
118
120
  await (0, writeFileSafely_1.writeFileSafely)({
119
- content: (0, generateUnifiedDocs_1.generateUnifiedDocs)(modelNames, target),
121
+ content: (0, generateUnifiedDocs_1.generateUnifiedDocs)(modelNames, target, importStyle),
120
122
  options,
121
123
  operation: 'combinedDocs',
122
124
  });
@@ -127,13 +129,6 @@ function getTarget(options) {
127
129
  });
128
130
  console.log('\n═══ Generation Complete ═══');
129
131
  console.log(`✓ ${modelNames.length} models (${target})`);
130
- console.log(`✓ OpenAPI documentation generated`);
131
- if (target === 'hono') {
132
- console.log(`✓ Query builder helper generated (not auto-started for Hono)`);
133
- }
134
- else {
135
- console.log(`✓ Query builder helper generated`);
136
- }
137
132
  console.log('');
138
133
  },
139
134
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { GeneratorOptions } from '@prisma/generator-helper';
2
2
  import { Target } from '../constants';
3
- export declare function copyFiles(options: GeneratorOptions, target: Target): Promise<void>;
3
+ import { ImportStyle } from './resolveImportStyle';
4
+ export declare function copyFiles(options: GeneratorOptions, target: Target, importStyle: ImportStyle): Promise<void>;
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.copyFiles = copyFiles;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const importExt_1 = require("./importExt");
39
40
  const SHARED_FILES = [
40
41
  'parseQueryParams.ts',
41
42
  'buildModelOpenApi.ts',
@@ -51,62 +52,68 @@ function resolveTemplateDir(subpath) {
51
52
  const fromDist = path.join(__dirname, '..', subpath);
52
53
  if (fs.existsSync(fromDist))
53
54
  return fromDist;
54
- throw new Error(`Template directory "${subpath}" not found.\n` +
55
- ` Searched:\n` +
56
- ` ${fromSrc}\n` +
57
- ` ${fromDist}\n` +
58
- ` __dirname: ${__dirname}\n` +
59
- ` Ensure template files are included in the published package.`);
55
+ throw new Error('Template directory "' + subpath + '" not found.\n Searched:\n ' +
56
+ fromSrc + '\n ' + fromDist + '\n __dirname: ' + __dirname);
60
57
  }
61
58
  function escapeRegex(str) {
62
59
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
63
60
  }
64
- function copyFileSync(srcDir, destDir, filename, options) {
61
+ const RELATIVE_IMPORT_RE = /(\b(?:import|export)\b[^'"\n;]*?\bfrom\s+|\bimport\s+|\bimport\s*\(\s*)(['"])(\.{1,2}\/[^'"\n]+)\2/g;
62
+ const SKIP_EXTENSION_RE = /\.(m?[jt]sx?|json|css|svg|png|jpe?g|gif|webp|wasm)$/i;
63
+ function applyExtension(content, style) {
64
+ if (style === 'none')
65
+ return content;
66
+ const ext = (0, importExt_1.importExt)(style);
67
+ if (!ext)
68
+ return content;
69
+ return content.replace(RELATIVE_IMPORT_RE, (_match, prefix, quote, spec) => {
70
+ if (SKIP_EXTENSION_RE.test(spec))
71
+ return prefix + quote + spec + quote;
72
+ return prefix + quote + spec + ext + quote;
73
+ });
74
+ }
75
+ function copyFileSync(srcDir, destDir, filename, importStyle, options) {
65
76
  const srcPath = path.join(srcDir, filename);
66
77
  const destFilename = options?.destFilename || filename;
67
78
  const destPath = path.join(destDir, destFilename);
68
79
  if (!fs.existsSync(srcPath)) {
69
- if (options?.required) {
70
- return `Required file not found: ${srcPath}`;
71
- }
80
+ if (options?.required)
81
+ return 'Required file not found: ' + srcPath;
72
82
  return null;
73
83
  }
74
84
  const destDirPath = path.dirname(destPath);
75
- if (!fs.existsSync(destDirPath)) {
85
+ if (!fs.existsSync(destDirPath))
76
86
  fs.mkdirSync(destDirPath, { recursive: true });
77
- }
78
87
  let content = fs.readFileSync(srcPath, 'utf-8');
79
88
  if (options?.importRewrites) {
80
89
  for (const rewrite of options.importRewrites) {
81
- content = content.replace(new RegExp(`from ['"]${escapeRegex(rewrite.from)}['"]`, 'g'), `from '${rewrite.to}'`);
90
+ content = content.replace(new RegExp('from [\'"]' + escapeRegex(rewrite.from) + '[\'"]', 'g'), "from '" + rewrite.to + "'");
82
91
  }
83
92
  }
84
- const header = `/**
85
- * Auto-generated by prisma-generator-express
86
- * DO NOT EDIT MANUALLY
87
- */
88
-
89
- `;
90
- if (!content.startsWith('/**')) {
93
+ const header = '/**\n' +
94
+ ' * Auto-generated by prisma-generator-express\n' +
95
+ ' * DO NOT EDIT MANUALLY\n' +
96
+ ' */\n\n';
97
+ if (!content.startsWith('/**'))
91
98
  content = header + content;
92
- }
99
+ content = applyExtension(content, importStyle);
93
100
  fs.writeFileSync(destPath, content);
94
101
  return null;
95
102
  }
96
- async function copyFiles(options, target) {
103
+ async function copyFiles(options, target, importStyle) {
97
104
  const outputPath = options.generator.output?.value;
98
105
  if (!outputPath)
99
106
  return;
100
107
  const copyBase = resolveTemplateDir('copy');
101
108
  const errors = [];
102
- console.log(` Copying utility files to: ${outputPath} (target: ${target})`);
109
+ console.log(' Copying utility files to: ' + outputPath + ' (target: ' + target + ')');
103
110
  for (const file of SHARED_FILES) {
104
- const err = copyFileSync(copyBase, outputPath, file, { required: true });
111
+ const err = copyFileSync(copyBase, outputPath, file, importStyle, { required: true });
105
112
  if (err)
106
113
  errors.push(err);
107
114
  }
108
- const targetConfigFile = `routeConfig.${target}.ts`;
109
- const err = copyFileSync(copyBase, outputPath, targetConfigFile, {
115
+ const targetConfigFile = 'routeConfig.' + target + '.ts';
116
+ const err = copyFileSync(copyBase, outputPath, targetConfigFile, importStyle, {
110
117
  required: true,
111
118
  destFilename: 'routeConfig.target.ts',
112
119
  importRewrites: [{ from: './routeConfig', to: './routeConfig' }],
@@ -114,22 +121,20 @@ async function copyFiles(options, target) {
114
121
  if (err)
115
122
  errors.push(err);
116
123
  const clientDir = path.join(outputPath, 'client');
117
- if (!fs.existsSync(clientDir)) {
124
+ if (!fs.existsSync(clientDir))
118
125
  fs.mkdirSync(clientDir, { recursive: true });
119
- }
120
126
  const clientSrcDir = resolveTemplateDir('client');
121
- const clientErr = copyFileSync(clientSrcDir, clientDir, 'encodeQueryParams.ts', {
127
+ const clientErr = copyFileSync(clientSrcDir, clientDir, 'encodeQueryParams.ts', importStyle, {
122
128
  required: true,
123
129
  importRewrites: [{ from: '../copy/misc', to: '../misc' }],
124
130
  });
125
131
  if (clientErr)
126
132
  errors.push(clientErr);
127
133
  if (errors.length > 0) {
128
- throw new Error(`Failed to copy ${errors.length} required file(s):\n` +
129
- errors.map((e) => ` - ${e}`).join('\n') +
130
- `\n copyBase: ${copyBase}` +
131
- `\n __dirname: ${__dirname}`);
134
+ throw new Error('Failed to copy ' + errors.length + ' required file(s):\n' +
135
+ errors.map((e) => ' - ' + e).join('\n') +
136
+ '\n copyBase: ' + copyBase + '\n __dirname: ' + __dirname);
132
137
  }
133
- console.log(` ✓ Utility files copied successfully`);
138
+ console.log(' ✓ Utility files copied successfully');
134
139
  }
135
140
  //# sourceMappingURL=copyFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ImportStyle } from './resolveImportStyle';
2
+ export declare function importExt(style: ImportStyle): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.importExt = importExt;
4
+ function importExt(style) {
5
+ if (style === 'js')
6
+ return '.js';
7
+ if (style === 'ts')
8
+ return '.ts';
9
+ return '';
10
+ }
11
+ //# sourceMappingURL=importExt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importExt.js","sourceRoot":"","sources":["../../src/utils/importExt.ts"],"names":[],"mappings":";;AAEA,8BAIC;AAJD,SAAgB,SAAS,CAAC,KAAkB;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAChC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAChC,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratorOptions } from '@prisma/generator-helper';
2
+ export type ImportStyle = 'none' | 'js' | 'ts';
3
+ export declare function resolveImportStyle(options: GeneratorOptions): ImportStyle;
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveImportStyle = resolveImportStyle;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const VALID_OVERRIDES = new Set(['auto', 'none', 'js', 'ts']);
40
+ const NODE_MODULE_KEYWORDS = new Set(['node16', 'node18', 'nodenext']);
41
+ function stripJsonComments(input) {
42
+ let out = '';
43
+ let i = 0;
44
+ let inString = false;
45
+ let stringChar = '';
46
+ while (i < input.length) {
47
+ const c = input[i];
48
+ const next = input[i + 1];
49
+ if (inString) {
50
+ out += c;
51
+ if (c === '\\' && i + 1 < input.length) {
52
+ out += input[i + 1];
53
+ i += 2;
54
+ continue;
55
+ }
56
+ if (c === stringChar)
57
+ inString = false;
58
+ i++;
59
+ continue;
60
+ }
61
+ if (c === '"' || c === "'") {
62
+ inString = true;
63
+ stringChar = c;
64
+ out += c;
65
+ i++;
66
+ continue;
67
+ }
68
+ if (c === '/' && next === '/') {
69
+ while (i < input.length && input[i] !== '\n')
70
+ i++;
71
+ continue;
72
+ }
73
+ if (c === '/' && next === '*') {
74
+ i += 2;
75
+ while (i < input.length && !(input[i] === '*' && input[i + 1] === '/'))
76
+ i++;
77
+ i += 2;
78
+ continue;
79
+ }
80
+ out += c;
81
+ i++;
82
+ }
83
+ return out.replace(/,\s*(?=[\]}])/g, '');
84
+ }
85
+ function findUpwards(startDir, filename) {
86
+ let dir = path.resolve(startDir);
87
+ const root = path.parse(dir).root;
88
+ let result = null;
89
+ let stop = false;
90
+ while (!stop) {
91
+ const candidate = path.join(dir, filename);
92
+ if (fs.existsSync(candidate)) {
93
+ result = candidate;
94
+ stop = true;
95
+ break;
96
+ }
97
+ if (dir === root) {
98
+ stop = true;
99
+ break;
100
+ }
101
+ const parent = path.dirname(dir);
102
+ if (parent === dir) {
103
+ stop = true;
104
+ break;
105
+ }
106
+ dir = parent;
107
+ }
108
+ return result;
109
+ }
110
+ function resolveExtendsTarget(extendsValue, fromFile) {
111
+ const fromDir = path.dirname(fromFile);
112
+ if (extendsValue.startsWith('.') || path.isAbsolute(extendsValue)) {
113
+ const direct = path.resolve(fromDir, extendsValue);
114
+ if (fs.existsSync(direct) && fs.statSync(direct).isFile())
115
+ return direct;
116
+ const withExt = direct + '.json';
117
+ if (fs.existsSync(withExt))
118
+ return withExt;
119
+ const asIndex = path.join(direct, 'tsconfig.json');
120
+ if (fs.existsSync(asIndex))
121
+ return asIndex;
122
+ return null;
123
+ }
124
+ try {
125
+ return require.resolve(extendsValue, { paths: [fromDir] });
126
+ }
127
+ catch {
128
+ try {
129
+ return require.resolve(extendsValue + '/tsconfig.json', { paths: [fromDir] });
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ }
136
+ function readTsConfig(filePath, seen = new Set()) {
137
+ const abs = path.resolve(filePath);
138
+ if (seen.has(abs))
139
+ return {};
140
+ seen.add(abs);
141
+ let parsed;
142
+ try {
143
+ const raw = fs.readFileSync(abs, 'utf-8');
144
+ parsed = JSON.parse(stripJsonComments(raw));
145
+ }
146
+ catch {
147
+ return {};
148
+ }
149
+ const extendsList = Array.isArray(parsed.extends)
150
+ ? parsed.extends
151
+ : parsed.extends
152
+ ? [parsed.extends]
153
+ : [];
154
+ let merged = {};
155
+ for (const ext of extendsList) {
156
+ const target = resolveExtendsTarget(ext, abs);
157
+ if (target)
158
+ merged = { ...merged, ...readTsConfig(target, seen) };
159
+ }
160
+ if (parsed.compilerOptions)
161
+ merged = { ...merged, ...parsed.compilerOptions };
162
+ return merged;
163
+ }
164
+ function readPackageType(startDir) {
165
+ const pkgPath = findUpwards(startDir, 'package.json');
166
+ if (!pkgPath)
167
+ return null;
168
+ try {
169
+ const json = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
170
+ return typeof json.type === 'string' ? json.type : null;
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
176
+ function resolveImportStyle(options) {
177
+ const config = (options.generator.config || {});
178
+ const raw = typeof config.importStyle === 'string'
179
+ ? config.importStyle.toLowerCase()
180
+ : 'auto';
181
+ if (!VALID_OVERRIDES.has(raw)) {
182
+ console.warn('[prisma-generator-express] Invalid importStyle "' + config.importStyle +
183
+ '". Expected one of: auto, none, js, ts. Falling back to auto.');
184
+ }
185
+ else if (raw !== 'auto') {
186
+ return raw;
187
+ }
188
+ const outputPath = options.generator.output?.value;
189
+ const schemaDir = options.schemaPath ? path.dirname(options.schemaPath) : process.cwd();
190
+ const startDir = outputPath ? path.dirname(outputPath) : schemaDir;
191
+ const tsconfigPath = findUpwards(startDir, 'tsconfig.json') ||
192
+ findUpwards(schemaDir, 'tsconfig.json');
193
+ const compilerOptions = tsconfigPath
194
+ ? readTsConfig(tsconfigPath)
195
+ : {};
196
+ if (compilerOptions.allowImportingTsExtensions === true)
197
+ return 'ts';
198
+ const moduleVal = String(compilerOptions.module ?? '').toLowerCase();
199
+ const moduleResolution = String(compilerOptions.moduleResolution ?? '').toLowerCase();
200
+ if (NODE_MODULE_KEYWORDS.has(moduleVal) || NODE_MODULE_KEYWORDS.has(moduleResolution)) {
201
+ return 'js';
202
+ }
203
+ if (moduleResolution === 'bundler' || moduleResolution === 'classic' || moduleResolution === 'node') {
204
+ return 'none';
205
+ }
206
+ const pkgType = readPackageType(startDir) || readPackageType(schemaDir);
207
+ if (pkgType === 'module')
208
+ return 'js';
209
+ return 'none';
210
+ }
211
+ //# sourceMappingURL=resolveImportStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveImportStyle.js","sourceRoot":"","sources":["../../src/utils/resolveImportStyle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IA,gDA2CC;AA1LD,uCAAwB;AACxB,2CAA4B;AAK5B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAC7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AAEtE,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,IAAI,CAAC,CAAA;YACR,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACnB,CAAC,IAAI,CAAC,CAAA;gBACN,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,UAAU;gBAAE,QAAQ,GAAG,KAAK,CAAA;YACtC,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAA;YACf,UAAU,GAAG,CAAC,CAAA;YACd,GAAG,IAAI,CAAC,CAAA;YACR,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAA;YACjD,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAA;YACN,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAA;YAC3E,CAAC,IAAI,CAAC,CAAA;YACN,SAAQ;QACV,CAAC;QACD,GAAG,IAAI,CAAC,CAAA;QACR,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,QAAgB;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IACjC,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,SAAS,CAAA;YAClB,IAAI,GAAG,IAAI,CAAA;YACX,MAAK;QACP,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAA;YACX,MAAK;QACP,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,IAAI,GAAG,IAAI,CAAA;YACX,MAAK;QACP,CAAC;QACD,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB,EAAE,QAAgB;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,MAAM,CAAA;QACxE,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAOD,SAAS,YAAY,CAAC,QAAgB,EAAE,OAAoB,IAAI,GAAG,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEb,IAAI,MAAmB,CAAA;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACzC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAgB,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,WAAW,GAAa,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzD,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,EAAE,CAAA;IAER,IAAI,MAAM,GAA4B,EAAE,CAAA;IACxC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,MAAM;YAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAA;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,eAAe;QAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;IAC7E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC1D,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAyB;IAC1D,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAA2B,CAAA;IACzE,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE;QAClC,CAAC,CAAC,MAAM,CAAA;IAEV,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CACV,kDAAkD,GAAG,MAAM,CAAC,WAAW;YACvE,+DAA+D,CAChE,CAAA;IACH,CAAC;SAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,GAAkB,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC;QACtC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAEzC,MAAM,eAAe,GAA4B,YAAY;QAC3D,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAA;IAEN,IAAI,eAAe,CAAC,0BAA0B,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAEpE,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAErF,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAA;IACvE,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAErC,OAAO,MAAM,CAAA;AACf,CAAC"}