prisma-generator-express 1.25.0 → 1.25.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.
@@ -38,11 +38,11 @@ export interface CombinedDocsConfig {
38
38
 
39
39
  function escapeHtml(input: string) {
40
40
  return input
41
- .replaceAll('&', '&')
42
- .replaceAll('<', '&lt;')
43
- .replaceAll('>', '&gt;')
44
- .replaceAll('"', '&quot;')
45
- .replaceAll("'", '&#039;')
41
+ .replace(/&/g, '&amp;')
42
+ .replace(/</g, '&lt;')
43
+ .replace(/>/g, '&gt;')
44
+ .replace(/"/g, '&quot;')
45
+ .replace(/'/g, '&#039;')
46
46
  }
47
47
 
48
48
  function removeTrailingSlash(p: string): string {
@@ -279,11 +279,11 @@ export async function ${functionName}(
279
279
 
280
280
  let data
281
281
  if (shape) {
282
- assertGuard(extended.${modelNameLower})
282
+ assertGuard((extended as any).${modelNameLower})
283
283
  const caller = res.locals.guardCaller
284
- data = await extended.${modelNameLower}.guard(shape, caller).${op}(query)
284
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).${op}(query)
285
285
  } else {
286
- data = await extended.${modelNameLower}.${op}(query)
286
+ data = await (extended as any).${modelNameLower}.${op}(query)
287
287
  }
288
288
 
289
289
  res.locals.data = data
@@ -309,11 +309,11 @@ export async function ${modelName}FindMany(
309
309
 
310
310
  let data
311
311
  if (shape) {
312
- assertGuard(extended.${modelNameLower})
312
+ assertGuard((extended as any).${modelNameLower})
313
313
  const caller = res.locals.guardCaller
314
- data = await extended.${modelNameLower}.guard(shape, caller).findMany(query)
314
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
315
315
  } else {
316
- data = await extended.${modelNameLower}.findMany(query)
316
+ data = await (extended as any).${modelNameLower}.findMany(query)
317
317
  }
318
318
 
319
319
  res.locals.data = data
@@ -368,11 +368,11 @@ ${validationLines ? validationLines + '\n' : ''} const extended = await getEx
368
368
 
369
369
  let data
370
370
  if (shape) {
371
- assertGuard(extended.${modelNameLower})
371
+ assertGuard((extended as any).${modelNameLower})
372
372
  const caller = res.locals.guardCaller
373
- data = await extended.${modelNameLower}.guard(shape, caller).${op.method}(body)
373
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).${op.method}(body)
374
374
  } else {
375
- data = await extended.${modelNameLower}.${op.method}(body)
375
+ data = await (extended as any).${modelNameLower}.${op.method}(body)
376
376
  }
377
377
 
378
378
  res.locals.data = data
@@ -443,7 +443,7 @@ export async function ${modelName}FindManyPaginated(req: Request, res: Response,
443
443
  const caller = res.locals.guardCaller
444
444
 
445
445
  if (shape) {
446
- assertGuard(extended.${modelNameLower})
446
+ assertGuard((extended as any).${modelNameLower})
447
447
  }
448
448
 
449
449
  let items: any[]
@@ -467,18 +467,18 @@ export async function ${modelName}FindManyPaginated(req: Request, res: Response,
467
467
  ) {
468
468
  console.warn('[prisma-generator-express] Interactive transactions not available, pagination queries are non-atomic')
469
469
  items = shape
470
- ? await extended.${modelNameLower}.guard(shape, caller).findMany(query)
471
- : await extended.${modelNameLower}.findMany(query)
472
- total = await countForPagination(extended.${modelNameLower}, query, shape, caller)
470
+ ? await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
471
+ : await (extended as any).${modelNameLower}.findMany(query)
472
+ total = await countForPagination((extended as any).${modelNameLower}, query, shape, caller)
473
473
  } else {
474
474
  throw txError
475
475
  }
476
476
  }
477
477
  } else {
478
478
  items = shape
479
- ? await extended.${modelNameLower}.guard(shape, caller).findMany(query)
480
- : await extended.${modelNameLower}.findMany(query)
481
- total = await countForPagination(extended.${modelNameLower}, query, shape, caller)
479
+ ? await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
480
+ : await (extended as any).${modelNameLower}.findMany(query)
481
+ total = await countForPagination((extended as any).${modelNameLower}, query, shape, caller)
482
482
  }
483
483
 
484
484
  const skip = (query.skip as number) ?? 0
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ function generateScalarUIHandler(options) {
36
36
  isRequired: f.isRequired,
37
37
  hasDefaultValue: f.hasDefaultValue,
38
38
  isUpdatedAt: Boolean(f.isUpdatedAt),
39
- documentation: f.documentation,
39
+ documentation: f.documentation ?? null,
40
40
  isId: Boolean(f.isId),
41
41
  isUnique: Boolean(f.isUnique),
42
42
  relationFromFields: f.relationFromFields,
@@ -73,8 +73,27 @@ import { OPERATION_DEFS, isOperationEnabled } from '../operationDefinitions.js'
73
73
 
74
74
  const _env = typeof process !== 'undefined' && process.env ? process.env : {} as Record<string, string | undefined>
75
75
 
76
- export const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
77
- export const MODEL_ENUMS = ${JSON.stringify(enumsMeta, null, 2)} as const
76
+ interface FieldMeta {
77
+ name: string
78
+ kind: string
79
+ type: string
80
+ isList: boolean
81
+ isRequired: boolean
82
+ hasDefaultValue: boolean
83
+ isUpdatedAt: boolean
84
+ documentation: string | null
85
+ isId: boolean
86
+ isUnique: boolean
87
+ relationFromFields?: string[]
88
+ }
89
+
90
+ interface EnumMeta {
91
+ name: string
92
+ values: { name: string }[]
93
+ }
94
+
95
+ export const MODEL_FIELDS: FieldMeta[] = ${JSON.stringify(fieldsMeta, null, 2)}
96
+ export const MODEL_ENUMS: EnumMeta[] = ${JSON.stringify(enumsMeta, null, 2)}
78
97
 
79
98
  const COMPOUND_ID: { fields: string[] } | null = ${JSON.stringify(compoundIdMeta)}
80
99
 
@@ -94,8 +113,6 @@ type DocsConfig = RouteConfig & {
94
113
  docsUi?: DocsUI
95
114
  }
96
115
 
97
- type FieldMeta = typeof MODEL_FIELDS[number]
98
-
99
116
  interface OpDetail {
100
117
  transport: string
101
118
  required: string[]
@@ -345,11 +362,11 @@ function isPlaygroundAvailable(config: DocsConfig) {
345
362
 
346
363
  function escapeHtml(input: string) {
347
364
  return input
348
- .replaceAll('&', '&amp;')
349
- .replaceAll('<', '&lt;')
350
- .replaceAll('>', '&gt;')
351
- .replaceAll('"', '&quot;')
352
- .replaceAll("'", '&#039;')
365
+ .replace(/&/g, '&amp;')
366
+ .replace(/</g, '&lt;')
367
+ .replace(/>/g, '&gt;')
368
+ .replace(/"/g, '&quot;')
369
+ .replace(/'/g, '&#039;')
353
370
  }
354
371
 
355
372
  function safeJsonForHtml(obj: unknown): string {
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedScalarUI.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedScalarUI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateUnifiedScalarUI.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedScalarUI.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prisma-generator-express",
3
3
  "description": "Prisma generator for Hono CRUD API with OpenAPI documentation",
4
- "version": "1.25.0",
4
+ "version": "1.25.1",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",
@@ -37,11 +37,11 @@ export interface CombinedDocsConfig {
37
37
 
38
38
  function escapeHtml(input: string) {
39
39
  return input
40
- .replaceAll('&', '&amp;')
41
- .replaceAll('<', '&lt;')
42
- .replaceAll('>', '&gt;')
43
- .replaceAll('"', '&quot;')
44
- .replaceAll("'", '&#039;')
40
+ .replace(/&/g, '&amp;')
41
+ .replace(/</g, '&lt;')
42
+ .replace(/>/g, '&gt;')
43
+ .replace(/"/g, '&quot;')
44
+ .replace(/'/g, '&#039;')
45
45
  }
46
46
 
47
47
  function removeTrailingSlash(p: string): string {
@@ -291,11 +291,11 @@ export async function ${functionName}(
291
291
 
292
292
  let data
293
293
  if (shape) {
294
- assertGuard(extended.${modelNameLower})
294
+ assertGuard((extended as any).${modelNameLower})
295
295
  const caller = res.locals.guardCaller
296
- data = await extended.${modelNameLower}.guard(shape, caller).${op}(query)
296
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).${op}(query)
297
297
  } else {
298
- data = await extended.${modelNameLower}.${op}(query)
298
+ data = await (extended as any).${modelNameLower}.${op}(query)
299
299
  }
300
300
 
301
301
  res.locals.data = data
@@ -322,11 +322,11 @@ export async function ${modelName}FindMany(
322
322
 
323
323
  let data
324
324
  if (shape) {
325
- assertGuard(extended.${modelNameLower})
325
+ assertGuard((extended as any).${modelNameLower})
326
326
  const caller = res.locals.guardCaller
327
- data = await extended.${modelNameLower}.guard(shape, caller).findMany(query)
327
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
328
328
  } else {
329
- data = await extended.${modelNameLower}.findMany(query)
329
+ data = await (extended as any).${modelNameLower}.findMany(query)
330
330
  }
331
331
 
332
332
  res.locals.data = data
@@ -393,11 +393,11 @@ ${validationLines ? validationLines + '\n' : ''} const extended = await getEx
393
393
 
394
394
  let data
395
395
  if (shape) {
396
- assertGuard(extended.${modelNameLower})
396
+ assertGuard((extended as any).${modelNameLower})
397
397
  const caller = res.locals.guardCaller
398
- data = await extended.${modelNameLower}.guard(shape, caller).${op.method}(body)
398
+ data = await (extended as any).${modelNameLower}.guard(shape, caller).${op.method}(body)
399
399
  } else {
400
- data = await extended.${modelNameLower}.${op.method}(body)
400
+ data = await (extended as any).${modelNameLower}.${op.method}(body)
401
401
  }
402
402
 
403
403
  res.locals.data = data
@@ -468,7 +468,7 @@ export async function ${modelName}FindManyPaginated(req: Request, res: Response,
468
468
  const caller = res.locals.guardCaller
469
469
 
470
470
  if (shape) {
471
- assertGuard(extended.${modelNameLower})
471
+ assertGuard((extended as any).${modelNameLower})
472
472
  }
473
473
 
474
474
  let items: any[]
@@ -492,18 +492,18 @@ export async function ${modelName}FindManyPaginated(req: Request, res: Response,
492
492
  ) {
493
493
  console.warn('[prisma-generator-express] Interactive transactions not available, pagination queries are non-atomic')
494
494
  items = shape
495
- ? await extended.${modelNameLower}.guard(shape, caller).findMany(query)
496
- : await extended.${modelNameLower}.findMany(query)
497
- total = await countForPagination(extended.${modelNameLower}, query, shape, caller)
495
+ ? await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
496
+ : await (extended as any).${modelNameLower}.findMany(query)
497
+ total = await countForPagination((extended as any).${modelNameLower}, query, shape, caller)
498
498
  } else {
499
499
  throw txError
500
500
  }
501
501
  }
502
502
  } else {
503
503
  items = shape
504
- ? await extended.${modelNameLower}.guard(shape, caller).findMany(query)
505
- : await extended.${modelNameLower}.findMany(query)
506
- total = await countForPagination(extended.${modelNameLower}, query, shape, caller)
504
+ ? await (extended as any).${modelNameLower}.guard(shape, caller).findMany(query)
505
+ : await (extended as any).${modelNameLower}.findMany(query)
506
+ total = await countForPagination((extended as any).${modelNameLower}, query, shape, caller)
507
507
  }
508
508
 
509
509
  const skip = (query.skip as number) ?? 0
@@ -40,7 +40,7 @@ export function generateScalarUIHandler(options: {
40
40
  isRequired: f.isRequired,
41
41
  hasDefaultValue: f.hasDefaultValue,
42
42
  isUpdatedAt: Boolean(f.isUpdatedAt),
43
- documentation: f.documentation,
43
+ documentation: f.documentation ?? null,
44
44
  isId: Boolean(f.isId),
45
45
  isUnique: Boolean(f.isUnique),
46
46
  relationFromFields: f.relationFromFields,
@@ -93,8 +93,27 @@ import { OPERATION_DEFS, isOperationEnabled } from '../operationDefinitions.js'
93
93
 
94
94
  const _env = typeof process !== 'undefined' && process.env ? process.env : {} as Record<string, string | undefined>
95
95
 
96
- export const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
97
- export const MODEL_ENUMS = ${JSON.stringify(enumsMeta, null, 2)} as const
96
+ interface FieldMeta {
97
+ name: string
98
+ kind: string
99
+ type: string
100
+ isList: boolean
101
+ isRequired: boolean
102
+ hasDefaultValue: boolean
103
+ isUpdatedAt: boolean
104
+ documentation: string | null
105
+ isId: boolean
106
+ isUnique: boolean
107
+ relationFromFields?: string[]
108
+ }
109
+
110
+ interface EnumMeta {
111
+ name: string
112
+ values: { name: string }[]
113
+ }
114
+
115
+ export const MODEL_FIELDS: FieldMeta[] = ${JSON.stringify(fieldsMeta, null, 2)}
116
+ export const MODEL_ENUMS: EnumMeta[] = ${JSON.stringify(enumsMeta, null, 2)}
98
117
 
99
118
  const COMPOUND_ID: { fields: string[] } | null = ${JSON.stringify(compoundIdMeta)}
100
119
 
@@ -114,8 +133,6 @@ type DocsConfig = RouteConfig & {
114
133
  docsUi?: DocsUI
115
134
  }
116
135
 
117
- type FieldMeta = typeof MODEL_FIELDS[number]
118
-
119
136
  interface OpDetail {
120
137
  transport: string
121
138
  required: string[]
@@ -365,11 +382,11 @@ function isPlaygroundAvailable(config: DocsConfig) {
365
382
 
366
383
  function escapeHtml(input: string) {
367
384
  return input
368
- .replaceAll('&', '&amp;')
369
- .replaceAll('<', '&lt;')
370
- .replaceAll('>', '&gt;')
371
- .replaceAll('"', '&quot;')
372
- .replaceAll("'", '&#039;')
385
+ .replace(/&/g, '&amp;')
386
+ .replace(/</g, '&lt;')
387
+ .replace(/>/g, '&gt;')
388
+ .replace(/"/g, '&quot;')
389
+ .replace(/'/g, '&#039;')
373
390
  }
374
391
 
375
392
  function safeJsonForHtml(obj: unknown): string {
@@ -1406,4 +1423,4 @@ export function ${modelName}Docs(config: DocsConfig = {}) {
1406
1423
  }
1407
1424
  }
1408
1425
  `
1409
- }
1426
+ }