@prisma-idb/idb-client-generator 0.19.1 → 0.21.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 (105) hide show
  1. package/.release-it.json +3 -0
  2. package/LICENSE +661 -0
  3. package/dist/fileCreators/apply-pull/create.js +59 -0
  4. package/dist/fileCreators/apply-pull/create.js.map +1 -0
  5. package/dist/fileCreators/batch-processor/create.js +225 -0
  6. package/dist/fileCreators/batch-processor/create.js.map +1 -0
  7. package/dist/fileCreators/batch-processor/model-validator.js +31 -0
  8. package/dist/fileCreators/batch-processor/model-validator.js.map +1 -0
  9. package/dist/fileCreators/idb-interface/create.js +60 -18
  10. package/dist/fileCreators/idb-interface/create.js.map +1 -1
  11. package/dist/fileCreators/idb-utils/comparator/genericComparator.js +24 -26
  12. package/dist/fileCreators/idb-utils/comparator/genericComparator.js.map +1 -1
  13. package/dist/fileCreators/idb-utils/create.js +43 -60
  14. package/dist/fileCreators/idb-utils/create.js.map +1 -1
  15. package/dist/fileCreators/idb-utils/filters/BigIntFilter.js +26 -38
  16. package/dist/fileCreators/idb-utils/filters/BigIntFilter.js.map +1 -1
  17. package/dist/fileCreators/idb-utils/filters/BoolFilter.js +20 -32
  18. package/dist/fileCreators/idb-utils/filters/BoolFilter.js.map +1 -1
  19. package/dist/fileCreators/idb-utils/filters/BytesFilter.js +30 -42
  20. package/dist/fileCreators/idb-utils/filters/BytesFilter.js.map +1 -1
  21. package/dist/fileCreators/idb-utils/filters/DateTimeFilter.js +27 -39
  22. package/dist/fileCreators/idb-utils/filters/DateTimeFilter.js.map +1 -1
  23. package/dist/fileCreators/idb-utils/filters/NumberFilter.js +26 -38
  24. package/dist/fileCreators/idb-utils/filters/NumberFilter.js.map +1 -1
  25. package/dist/fileCreators/idb-utils/filters/StringFilter.js +29 -41
  26. package/dist/fileCreators/idb-utils/filters/StringFilter.js.map +1 -1
  27. package/dist/fileCreators/idb-utils/listFilters/BigIntListFilter.js +15 -24
  28. package/dist/fileCreators/idb-utils/listFilters/BigIntListFilter.js.map +1 -1
  29. package/dist/fileCreators/idb-utils/listFilters/BooleanListFilter.js +15 -24
  30. package/dist/fileCreators/idb-utils/listFilters/BooleanListFilter.js.map +1 -1
  31. package/dist/fileCreators/idb-utils/listFilters/BytesListFilter.js +15 -24
  32. package/dist/fileCreators/idb-utils/listFilters/BytesListFilter.js.map +1 -1
  33. package/dist/fileCreators/idb-utils/listFilters/DateTimeListFilter.js +15 -24
  34. package/dist/fileCreators/idb-utils/listFilters/DateTimeListFilter.js.map +1 -1
  35. package/dist/fileCreators/idb-utils/listFilters/NumberListFilter.js +15 -27
  36. package/dist/fileCreators/idb-utils/listFilters/NumberListFilter.js.map +1 -1
  37. package/dist/fileCreators/idb-utils/listFilters/StringListFilter.js +15 -24
  38. package/dist/fileCreators/idb-utils/listFilters/StringListFilter.js.map +1 -1
  39. package/dist/fileCreators/idb-utils/logicalFilters/applyLogicalFilters.js +8 -24
  40. package/dist/fileCreators/idb-utils/logicalFilters/applyLogicalFilters.js.map +1 -1
  41. package/dist/fileCreators/idb-utils/logicalFilters/intersectArraysByNestedKey.js +8 -16
  42. package/dist/fileCreators/idb-utils/logicalFilters/intersectArraysByNestedKey.js.map +1 -1
  43. package/dist/fileCreators/idb-utils/logicalFilters/removeDuplicatesByKeyPath.js +12 -22
  44. package/dist/fileCreators/idb-utils/logicalFilters/removeDuplicatesByKeyPath.js.map +1 -1
  45. package/dist/fileCreators/idb-utils/syncWorker/create.js +7 -0
  46. package/dist/fileCreators/idb-utils/syncWorker/create.js.map +1 -0
  47. package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js +40 -53
  48. package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js.map +1 -1
  49. package/dist/fileCreators/idb-utils/updateHandlers/BooleanHandler.js +13 -26
  50. package/dist/fileCreators/idb-utils/updateHandlers/BooleanHandler.js.map +1 -1
  51. package/dist/fileCreators/idb-utils/updateHandlers/BytesHandler.js +13 -26
  52. package/dist/fileCreators/idb-utils/updateHandlers/BytesHandler.js.map +1 -1
  53. package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js +23 -32
  54. package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js.map +1 -1
  55. package/dist/fileCreators/idb-utils/updateHandlers/EnumHandler.js +13 -26
  56. package/dist/fileCreators/idb-utils/updateHandlers/EnumHandler.js.map +1 -1
  57. package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js +30 -43
  58. package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js.map +1 -1
  59. package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js +30 -43
  60. package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js.map +1 -1
  61. package/dist/fileCreators/idb-utils/updateHandlers/ScalarListHandler.js +21 -32
  62. package/dist/fileCreators/idb-utils/updateHandlers/ScalarListHandler.js.map +1 -1
  63. package/dist/fileCreators/idb-utils/updateHandlers/StringHandler.js +13 -26
  64. package/dist/fileCreators/idb-utils/updateHandlers/StringHandler.js.map +1 -1
  65. package/dist/fileCreators/outbox/utils.js +17 -0
  66. package/dist/fileCreators/outbox/utils.js.map +1 -0
  67. package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js +36 -11
  68. package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js.map +1 -1
  69. package/dist/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.js +153 -0
  70. package/dist/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.js.map +1 -0
  71. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js +169 -4
  72. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js.map +1 -1
  73. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js +9 -0
  74. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js.map +1 -1
  75. package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js +3 -4
  76. package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js.map +1 -1
  77. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js +12 -11
  78. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js.map +1 -1
  79. package/dist/fileCreators/prisma-idb-client/classes/models/api/createMany.js +2 -1
  80. package/dist/fileCreators/prisma-idb-client/classes/models/api/createMany.js.map +1 -1
  81. package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js +2 -1
  82. package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js.map +1 -1
  83. package/dist/fileCreators/prisma-idb-client/classes/models/api/delete.js +2 -1
  84. package/dist/fileCreators/prisma-idb-client/classes/models/api/delete.js.map +1 -1
  85. package/dist/fileCreators/prisma-idb-client/classes/models/api/deleteMany.js +3 -2
  86. package/dist/fileCreators/prisma-idb-client/classes/models/api/deleteMany.js.map +1 -1
  87. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js +2 -1
  88. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js.map +1 -1
  89. package/dist/fileCreators/prisma-idb-client/classes/models/api/updateMany.js +3 -2
  90. package/dist/fileCreators/prisma-idb-client/classes/models/api/updateMany.js.map +1 -1
  91. package/dist/fileCreators/prisma-idb-client/classes/models/api/upsert.js +3 -2
  92. package/dist/fileCreators/prisma-idb-client/classes/models/api/upsert.js.map +1 -1
  93. package/dist/fileCreators/prisma-idb-client/create.js +19 -8
  94. package/dist/fileCreators/prisma-idb-client/create.js.map +1 -1
  95. package/dist/fileCreators/validators/create.js +35 -0
  96. package/dist/fileCreators/validators/create.js.map +1 -0
  97. package/dist/generator.js +25 -12
  98. package/dist/generator.js.map +1 -1
  99. package/dist/helpers/fileWriting.js +0 -8
  100. package/dist/helpers/fileWriting.js.map +1 -1
  101. package/dist/helpers/parseGeneratorConfig.js +103 -0
  102. package/dist/helpers/parseGeneratorConfig.js.map +1 -0
  103. package/dist/helpers/utils.js +21 -11
  104. package/dist/helpers/utils.js.map +1 -1
  105. package/package.json +22 -22
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUtilsFile = createUtilsFile;
4
- const ts_morph_1 = require("ts-morph");
5
4
  const genericComparator_1 = require("./comparator/genericComparator");
6
5
  const BigIntFilter_1 = require("./filters/BigIntFilter");
7
6
  const BoolFilter_1 = require("./filters/BoolFilter");
@@ -18,73 +17,57 @@ const StringListFilter_1 = require("./listFilters/StringListFilter");
18
17
  const applyLogicalFilters_1 = require("./logicalFilters/applyLogicalFilters");
19
18
  const intersectArraysByNestedKey_1 = require("./logicalFilters/intersectArraysByNestedKey");
20
19
  const removeDuplicatesByKeyPath_1 = require("./logicalFilters/removeDuplicatesByKeyPath");
20
+ const create_1 = require("./syncWorker/create");
21
21
  const BigIntHandler_1 = require("./updateHandlers/BigIntHandler");
22
22
  const BooleanHandler_1 = require("./updateHandlers/BooleanHandler");
23
23
  const BytesHandler_1 = require("./updateHandlers/BytesHandler");
24
24
  const DateTimeHandler_1 = require("./updateHandlers/DateTimeHandler");
25
+ const EnumHandler_1 = require("./updateHandlers/EnumHandler");
25
26
  const FloatHandler_1 = require("./updateHandlers/FloatHandler");
26
27
  const IntHandler_1 = require("./updateHandlers/IntHandler");
27
28
  const ScalarListHandler_1 = require("./updateHandlers/ScalarListHandler");
28
29
  const StringHandler_1 = require("./updateHandlers/StringHandler");
29
- const EnumHandler_1 = require("./updateHandlers/EnumHandler");
30
- function createUtilsFile(idbUtilsFile, models) {
31
- idbUtilsFile.addImportDeclarations([
32
- { moduleSpecifier: "idb", isTypeOnly: true, namedImports: ["IDBPTransaction", "StoreNames"] },
33
- { moduleSpecifier: "./idb-interface", isTypeOnly: true, namedImports: ["PrismaIDBSchema"] },
34
- { moduleSpecifier: "@prisma/client", isTypeOnly: true, namedImports: ["Prisma"] },
35
- ]);
36
- idbUtilsFile.addFunction({
37
- name: "convertToArray",
38
- typeParameters: [{ name: "T" }],
39
- parameters: [{ name: "arg", type: "T | T[]" }],
40
- returnType: "T[]",
41
- isExported: true,
42
- statements: (writer) => writer.writeLine("return Array.isArray(arg) ? arg : [arg];"),
43
- });
44
- idbUtilsFile.addTypeAlias({
45
- isExported: true,
46
- name: "ReadwriteTransactionType",
47
- type: `IDBPTransaction<PrismaIDBSchema, StoreNames<PrismaIDBSchema>[], "readwrite">;`,
48
- });
49
- idbUtilsFile.addTypeAlias({
50
- isExported: true,
51
- name: "ReadonlyTransactionType",
52
- type: `IDBPTransaction<PrismaIDBSchema, StoreNames<PrismaIDBSchema>[], "readonly">;`,
53
- });
54
- idbUtilsFile.addTypeAlias({
55
- isExported: true,
56
- name: "TransactionType",
57
- type: `ReadonlyTransactionType | ReadwriteTransactionType;`,
58
- });
59
- idbUtilsFile.addVariableStatement({
60
- declarations: [{ name: "LogicalParams", initializer: `["AND", "OR", "NOT"] as const` }],
61
- declarationKind: ts_morph_1.VariableDeclarationKind.Const,
62
- isExported: true,
30
+ function createUtilsFile(writer, models, prismaClientImport, outboxSync = false) {
31
+ writer.writeLine(`import type { IDBPTransaction, StoreNames } from "idb";`);
32
+ writer.writeLine(`import type { PrismaIDBSchema } from "./idb-interface";`);
33
+ writer.writeLine(`import type { Prisma } from "${prismaClientImport}";`);
34
+ writer.blankLine();
35
+ writer.writeLine("export function convertToArray<T>(arg: T | T[]): T[]").block(() => {
36
+ writer.writeLine("return Array.isArray(arg) ? arg : [arg];");
63
37
  });
64
- (0, intersectArraysByNestedKey_1.addIntersectArraysByNestedKeyFunction)(idbUtilsFile);
65
- (0, removeDuplicatesByKeyPath_1.addRemoveDuplicatesByKeyPath)(idbUtilsFile);
66
- (0, applyLogicalFilters_1.addApplyLogicalFilters)(idbUtilsFile);
67
- (0, StringFilter_1.addStringFilter)(idbUtilsFile, models);
68
- (0, NumberFilter_1.addNumberFilter)(idbUtilsFile, models);
69
- (0, BigIntFilter_1.addBigIntFilter)(idbUtilsFile, models);
70
- (0, BoolFilter_1.addBoolFilter)(idbUtilsFile, models);
71
- (0, BytesFilter_1.addBytesFilter)(idbUtilsFile, models);
72
- (0, DateTimeFilter_1.addDateTimeFilter)(idbUtilsFile, models);
73
- (0, StringListFilter_1.addStringListFilter)(idbUtilsFile, models);
74
- (0, NumberListFilter_1.addNumberListFilter)(idbUtilsFile, models);
75
- (0, BigIntListFilter_1.addBigIntListFilter)(idbUtilsFile, models);
76
- (0, BooleanListFilter_1.addBooleanListFilter)(idbUtilsFile, models);
77
- (0, BytesListFilter_1.addBytesListFilter)(idbUtilsFile, models);
78
- (0, DateTimeListFilter_1.addDateTimeListFilter)(idbUtilsFile, models);
79
- (0, StringHandler_1.addStringUpdateHandler)(idbUtilsFile, models);
80
- (0, BooleanHandler_1.addBooleanUpdateHandler)(idbUtilsFile, models);
81
- (0, DateTimeHandler_1.addDateTimeUpdateHandler)(idbUtilsFile, models);
82
- (0, BytesHandler_1.addBytesUpdateHandler)(idbUtilsFile, models);
83
- (0, IntHandler_1.addIntUpdateHandler)(idbUtilsFile, models);
84
- (0, BigIntHandler_1.addBigIntUpdateHandler)(idbUtilsFile, models);
85
- (0, FloatHandler_1.addFloatUpdateHandler)(idbUtilsFile, models);
86
- (0, EnumHandler_1.addEnumUpdateHandler)(idbUtilsFile, models);
87
- (0, ScalarListHandler_1.addScalarListUpdateHandler)(idbUtilsFile, models);
88
- (0, genericComparator_1.addGenericComparator)(idbUtilsFile);
38
+ writer.writeLine(`export type ReadwriteTransactionType = IDBPTransaction<PrismaIDBSchema, StoreNames<PrismaIDBSchema>[], "readwrite">;`);
39
+ writer.writeLine(`export type ReadonlyTransactionType = IDBPTransaction<PrismaIDBSchema, StoreNames<PrismaIDBSchema>[], "readonly">;`);
40
+ writer.writeLine(`export type TransactionType = ReadonlyTransactionType | ReadwriteTransactionType;`);
41
+ writer.blankLine();
42
+ writer.writeLine(`export const LogicalParams = ["AND", "OR", "NOT"] as const;`);
43
+ writer.blankLine();
44
+ (0, intersectArraysByNestedKey_1.addIntersectArraysByNestedKeyFunction)(writer);
45
+ (0, removeDuplicatesByKeyPath_1.addRemoveDuplicatesByKeyPath)(writer);
46
+ (0, applyLogicalFilters_1.addApplyLogicalFilters)(writer);
47
+ (0, StringFilter_1.addStringFilter)(writer, models);
48
+ (0, NumberFilter_1.addNumberFilter)(writer, models);
49
+ (0, BigIntFilter_1.addBigIntFilter)(writer, models);
50
+ (0, BoolFilter_1.addBoolFilter)(writer, models);
51
+ (0, BytesFilter_1.addBytesFilter)(writer, models);
52
+ (0, DateTimeFilter_1.addDateTimeFilter)(writer, models);
53
+ (0, StringListFilter_1.addStringListFilter)(writer, models);
54
+ (0, NumberListFilter_1.addNumberListFilter)(writer, models);
55
+ (0, BigIntListFilter_1.addBigIntListFilter)(writer, models);
56
+ (0, BooleanListFilter_1.addBooleanListFilter)(writer, models);
57
+ (0, BytesListFilter_1.addBytesListFilter)(writer, models);
58
+ (0, DateTimeListFilter_1.addDateTimeListFilter)(writer, models);
59
+ (0, StringHandler_1.addStringUpdateHandler)(writer, models);
60
+ (0, BooleanHandler_1.addBooleanUpdateHandler)(writer, models);
61
+ (0, DateTimeHandler_1.addDateTimeUpdateHandler)(writer, models);
62
+ (0, BytesHandler_1.addBytesUpdateHandler)(writer, models);
63
+ (0, IntHandler_1.addIntUpdateHandler)(writer, models);
64
+ (0, BigIntHandler_1.addBigIntUpdateHandler)(writer, models);
65
+ (0, FloatHandler_1.addFloatUpdateHandler)(writer, models);
66
+ (0, EnumHandler_1.addEnumUpdateHandler)(writer, models);
67
+ (0, ScalarListHandler_1.addScalarListUpdateHandler)(writer, models);
68
+ (0, genericComparator_1.addGenericComparator)(writer);
69
+ if (outboxSync) {
70
+ (0, create_1.addSyncWorkerCode)(writer);
71
+ }
89
72
  }
90
73
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-utils/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-utils/create.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addBigIntFilter = addBigIntFilter;
4
- function addBigIntFilter(utilsFile, models) {
4
+ function addBigIntFilter(writer, models) {
5
5
  const bigIntFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "BigInt");
6
6
  if (bigIntFields.length === 0)
7
7
  return;
@@ -14,43 +14,31 @@ function addBigIntFilter(utilsFile, models) {
14
14
  if (nullableBigIntFieldPresent) {
15
15
  filterType += " | null | Prisma.BigIntNullableFilter<unknown>";
16
16
  }
17
- utilsFile.addFunction({
18
- name: "whereBigIntFilter",
19
- isExported: true,
20
- typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
21
- parameters: [
22
- { name: "record", type: `R` },
23
- { name: "fieldName", type: "keyof R" },
24
- {
25
- name: "bigIntFilter",
26
- type: filterType,
27
- },
28
- ],
29
- returnType: "boolean",
30
- statements: (writer) => {
31
- writer
32
- .writeLine(`if (bigIntFilter === undefined) return true;`)
33
- .blankLine()
34
- .writeLine(`const value = record[fieldName] as number | null;`)
35
- .writeLine(`if (bigIntFilter === null) return value === null;`)
36
- .blankLine()
37
- .writeLine(`if (typeof bigIntFilter === 'number' || typeof bigIntFilter === 'bigint')`)
38
- .block(() => {
39
- writer.writeLine(`if (value !== bigIntFilter) return false;`);
40
- })
41
- .writeLine(`else`)
42
- .block(() => {
43
- addEqualsHandler(writer);
44
- addNotHandler(writer);
45
- addInHandler(writer);
46
- addNotInHandler(writer);
47
- addLtHandler(writer);
48
- addLteHandler(writer);
49
- addGtHandler(writer);
50
- addGteHandler(writer);
51
- })
52
- .writeLine(`return true;`);
53
- },
17
+ writer
18
+ .writeLine(`export function whereBigIntFilter<T, R extends Prisma.Result<T, object, "findFirstOrThrow">>(record: R, fieldName: keyof R, bigIntFilter: ${filterType}): boolean`)
19
+ .block(() => {
20
+ writer
21
+ .writeLine(`if (bigIntFilter === undefined) return true;`)
22
+ .blankLine()
23
+ .writeLine(`const value = record[fieldName] as number | null;`)
24
+ .writeLine(`if (bigIntFilter === null) return value === null;`)
25
+ .blankLine()
26
+ .writeLine(`if (typeof bigIntFilter === 'number' || typeof bigIntFilter === 'bigint')`)
27
+ .block(() => {
28
+ writer.writeLine(`if (value !== bigIntFilter) return false;`);
29
+ })
30
+ .writeLine(`else`)
31
+ .block(() => {
32
+ addEqualsHandler(writer);
33
+ addNotHandler(writer);
34
+ addInHandler(writer);
35
+ addNotInHandler(writer);
36
+ addLtHandler(writer);
37
+ addLteHandler(writer);
38
+ addGtHandler(writer);
39
+ addGteHandler(writer);
40
+ })
41
+ .writeLine(`return true;`);
54
42
  });
55
43
  }
56
44
  function addEqualsHandler(writer) {
@@ -1 +1 @@
1
- {"version":3,"file":"BigIntFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BigIntFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigIntFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BigIntFilter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addBoolFilter = addBoolFilter;
4
- function addBoolFilter(utilsFile, models) {
4
+ function addBoolFilter(writer, models) {
5
5
  const booleanFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Boolean");
6
6
  if (booleanFields.length === 0)
7
7
  return;
@@ -14,37 +14,25 @@ function addBoolFilter(utilsFile, models) {
14
14
  if (nullableBooleanFieldPresent) {
15
15
  filterType += " | null | Prisma.BoolNullableFilter<unknown>";
16
16
  }
17
- utilsFile.addFunction({
18
- name: "whereBoolFilter",
19
- isExported: true,
20
- typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
21
- parameters: [
22
- { name: "record", type: `R` },
23
- { name: "fieldName", type: "keyof R" },
24
- {
25
- name: "boolFilter",
26
- type: filterType,
27
- },
28
- ],
29
- returnType: "boolean",
30
- statements: (writer) => {
31
- writer
32
- .writeLine(`if (boolFilter === undefined) return true;`)
33
- .blankLine()
34
- .writeLine(`const value = record[fieldName] as boolean | null;`)
35
- .writeLine(`if (boolFilter === null) return value === null;`)
36
- .blankLine()
37
- .writeLine(`if (typeof boolFilter === 'boolean')`)
38
- .block(() => {
39
- writer.writeLine(`if (value !== boolFilter) return false;`);
40
- })
41
- .writeLine(`else`)
42
- .block(() => {
43
- addEqualsHandler(writer);
44
- addNotHandler(writer);
45
- })
46
- .writeLine(`return true;`);
47
- },
17
+ writer
18
+ .writeLine(`export function whereBoolFilter<T, R extends Prisma.Result<T, object, "findFirstOrThrow">>(record: R, fieldName: keyof R, boolFilter: ${filterType}): boolean`)
19
+ .block(() => {
20
+ writer
21
+ .writeLine(`if (boolFilter === undefined) return true;`)
22
+ .blankLine()
23
+ .writeLine(`const value = record[fieldName] as boolean | null;`)
24
+ .writeLine(`if (boolFilter === null) return value === null;`)
25
+ .blankLine()
26
+ .writeLine(`if (typeof boolFilter === 'boolean')`)
27
+ .block(() => {
28
+ writer.writeLine(`if (value !== boolFilter) return false;`);
29
+ })
30
+ .writeLine(`else`)
31
+ .block(() => {
32
+ addEqualsHandler(writer);
33
+ addNotHandler(writer);
34
+ })
35
+ .writeLine(`return true;`);
48
36
  });
49
37
  }
50
38
  function addEqualsHandler(writer) {
@@ -1 +1 @@
1
- {"version":3,"file":"BoolFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BoolFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoolFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BoolFilter.ts"],"names":[],"mappings":";;AAGA,sCAqCC;AArCD,SAAgB,aAAa,CAAC,MAAuB,EAAE,MAAwB;IAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACzG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,MAAM,8BAA8B,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1F,MAAM,2BAA2B,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAExF,IAAI,UAAU,GAAG,qBAAqB,CAAC;IACvC,IAAI,8BAA8B,EAAE,CAAC;QACnC,UAAU,IAAI,+BAA+B,CAAC;IAChD,CAAC;IACD,IAAI,2BAA2B,EAAE,CAAC;QAChC,UAAU,IAAI,8CAA8C,CAAC;IAC/D,CAAC;IAED,MAAM;SACH,SAAS,CACR,yIAAyI,UAAU,YAAY,CAChK;SACA,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,4CAA4C,CAAC;aACvD,SAAS,EAAE;aACX,SAAS,CAAC,oDAAoD,CAAC;aAC/D,SAAS,CAAC,iDAAiD,CAAC;aAC5D,SAAS,EAAE;aACX,SAAS,CAAC,sCAAsC,CAAC;aACjD,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;QAC9D,CAAC,CAAC;aACD,SAAS,CAAC,MAAM,CAAC;aACjB,KAAK,CAAC,GAAG,EAAE;YACV,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,aAAa,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,SAAS,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,MAAM;SACH,SAAS,CAAC,iCAAiC,CAAC;SAC5C,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC,CAAC;SACD,SAAS,CAAC,6CAA6C,CAAC;SACxD,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,MAAM;SACH,SAAS,CAAC,8BAA8B,CAAC;SACzC,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC,CAAC;SACD,SAAS,CAAC,0CAA0C,CAAC;SACrD,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addBytesFilter = addBytesFilter;
4
- function addBytesFilter(utilsFile, models) {
4
+ function addBytesFilter(writer, models) {
5
5
  const bytesFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Bytes");
6
6
  if (bytesFields.length === 0)
7
7
  return;
@@ -14,49 +14,37 @@ function addBytesFilter(utilsFile, models) {
14
14
  if (nullableBytesFieldPresent) {
15
15
  filterType += " | null | Prisma.BytesNullableFilter<unknown>";
16
16
  }
17
- utilsFile.addFunction({
18
- name: "whereBytesFilter",
19
- isExported: true,
20
- typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
21
- parameters: [
22
- { name: "record", type: `R` },
23
- { name: "fieldName", type: "keyof R" },
24
- {
25
- name: "bytesFilter",
26
- type: filterType,
27
- },
28
- ],
29
- returnType: "boolean",
30
- statements: (writer) => {
17
+ writer
18
+ .writeLine(`export function whereBytesFilter<T, R extends Prisma.Result<T, object, "findFirstOrThrow">>(record: R, fieldName: keyof R, bytesFilter: ${filterType}): boolean`)
19
+ .block(() => {
20
+ writer
21
+ .writeLine(`if (bytesFilter === undefined) return true;`)
22
+ .blankLine()
23
+ .writeLine(`function areUint8ArraysEqual(arr1: Uint8Array, arr2: Uint8Array)`)
24
+ .block(() => {
31
25
  writer
32
- .writeLine(`if (bytesFilter === undefined) return true;`)
33
- .blankLine()
34
- .writeLine(`function areUint8ArraysEqual(arr1: Uint8Array, arr2: Uint8Array)`)
35
- .block(() => {
36
- writer
37
- .writeLine(`if (arr1.length !== arr2.length) return false;`)
38
- .writeLine(`for (let i = 0; i < arr1.length; i++) if (arr1[i] !== arr2[i]) return false;`)
39
- .writeLine(`return true;`);
40
- })
41
- .blankLine()
42
- .writeLine(`const value = record[fieldName] as Uint8Array | null;`)
43
- .writeLine(`if (bytesFilter === null) return value === null;`)
44
- .blankLine()
45
- .writeLine(`if (bytesFilter instanceof Uint8Array)`)
46
- .block(() => {
47
- writer
48
- .writeLine(`if (value === null) return false;`)
49
- .writeLine(`if (!areUint8ArraysEqual(bytesFilter, value)) return false;`);
50
- })
51
- .writeLine(`else`)
52
- .block(() => {
53
- addEqualsHandler(writer);
54
- addNotHandler(writer);
55
- addInHandler(writer);
56
- addNotInHandler(writer);
57
- })
26
+ .writeLine(`if (arr1.length !== arr2.length) return false;`)
27
+ .writeLine(`for (let i = 0; i < arr1.length; i++) if (arr1[i] !== arr2[i]) return false;`)
58
28
  .writeLine(`return true;`);
59
- },
29
+ })
30
+ .blankLine()
31
+ .writeLine(`const value = record[fieldName] as Uint8Array | null;`)
32
+ .writeLine(`if (bytesFilter === null) return value === null;`)
33
+ .blankLine()
34
+ .writeLine(`if (bytesFilter instanceof Uint8Array)`)
35
+ .block(() => {
36
+ writer
37
+ .writeLine(`if (value === null) return false;`)
38
+ .writeLine(`if (!areUint8ArraysEqual(bytesFilter, value)) return false;`);
39
+ })
40
+ .writeLine(`else`)
41
+ .block(() => {
42
+ addEqualsHandler(writer);
43
+ addNotHandler(writer);
44
+ addInHandler(writer);
45
+ addNotInHandler(writer);
46
+ })
47
+ .writeLine(`return true;`);
60
48
  });
61
49
  }
62
50
  function addEqualsHandler(writer) {
@@ -1 +1 @@
1
- {"version":3,"file":"BytesFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BytesFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BytesFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/BytesFilter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addDateTimeFilter = addDateTimeFilter;
4
- function addDateTimeFilter(utilsFile, models) {
4
+ function addDateTimeFilter(writer, models) {
5
5
  const dateTimeFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "DateTime");
6
6
  if (dateTimeFields.length === 0)
7
7
  return;
@@ -14,45 +14,33 @@ function addDateTimeFilter(utilsFile, models) {
14
14
  if (nullableDateTimeFieldPresent) {
15
15
  filterType += " | null | Prisma.DateTimeNullableFilter<unknown>";
16
16
  }
17
- utilsFile.addFunction({
18
- name: "whereDateTimeFilter",
19
- isExported: true,
20
- typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
21
- parameters: [
22
- { name: "record", type: `R` },
23
- { name: "fieldName", type: "keyof R" },
24
- {
25
- name: "dateTimeFilter",
26
- type: filterType,
27
- },
28
- ],
29
- returnType: "boolean",
30
- statements: (writer) => {
17
+ writer
18
+ .writeLine(`export function whereDateTimeFilter<T, R extends Prisma.Result<T, object, "findFirstOrThrow">>(record: R, fieldName: keyof R, dateTimeFilter: ${filterType}): boolean`)
19
+ .block(() => {
20
+ writer
21
+ .writeLine(`if (dateTimeFilter === undefined) return true;`)
22
+ .blankLine()
23
+ .writeLine(`const value = record[fieldName] as Date | null;`)
24
+ .writeLine(`if (dateTimeFilter === null) return value === null;`)
25
+ .blankLine()
26
+ .writeLine(`if (typeof dateTimeFilter === "string" || dateTimeFilter instanceof Date)`)
27
+ .block(() => {
31
28
  writer
32
- .writeLine(`if (dateTimeFilter === undefined) return true;`)
33
- .blankLine()
34
- .writeLine(`const value = record[fieldName] as Date | null;`)
35
- .writeLine(`if (dateTimeFilter === null) return value === null;`)
36
- .blankLine()
37
- .writeLine(`if (typeof dateTimeFilter === "string" || dateTimeFilter instanceof Date)`)
38
- .block(() => {
39
- writer
40
- .writeLine(`if (value === null) return false;`)
41
- .writeLine(`if (new Date(dateTimeFilter).getTime() !== value.getTime()) return false;`);
42
- })
43
- .writeLine(`else`)
44
- .block(() => {
45
- addEqualsHandler(writer);
46
- addNotHandler(writer);
47
- addInHandler(writer);
48
- addNotInHandler(writer);
49
- addLtHandler(writer);
50
- addLteHandler(writer);
51
- addGtHandler(writer);
52
- addGteHandler(writer);
53
- })
54
- .writeLine(`return true;`);
55
- },
29
+ .writeLine(`if (value === null) return false;`)
30
+ .writeLine(`if (new Date(dateTimeFilter).getTime() !== value.getTime()) return false;`);
31
+ })
32
+ .writeLine(`else`)
33
+ .block(() => {
34
+ addEqualsHandler(writer);
35
+ addNotHandler(writer);
36
+ addInHandler(writer);
37
+ addNotInHandler(writer);
38
+ addLtHandler(writer);
39
+ addLteHandler(writer);
40
+ addGtHandler(writer);
41
+ addGteHandler(writer);
42
+ })
43
+ .writeLine(`return true;`);
56
44
  });
57
45
  }
58
46
  function addEqualsHandler(writer) {
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/DateTimeFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeFilter.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/filters/DateTimeFilter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addNumberFilter = addNumberFilter;
4
- function addNumberFilter(utilsFile, models) {
4
+ function addNumberFilter(writer, models) {
5
5
  const allFields = models.flatMap(({ fields }) => fields);
6
6
  const intFields = allFields.filter((field) => field.type === "Int");
7
7
  const floatFields = allFields.filter((field) => field.type === "Float");
@@ -19,43 +19,31 @@ function addNumberFilter(utilsFile, models) {
19
19
  if (intFields.some(({ isRequired }) => !isRequired) || floatFields.some(({ isRequired }) => !isRequired)) {
20
20
  filterType += " | null";
21
21
  }
22
- utilsFile.addFunction({
23
- name: "whereNumberFilter",
24
- isExported: true,
25
- typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
26
- parameters: [
27
- { name: "record", type: `R` },
28
- { name: "fieldName", type: "keyof R" },
29
- {
30
- name: "numberFilter",
31
- type: filterType,
32
- },
33
- ],
34
- returnType: "boolean",
35
- statements: (writer) => {
36
- writer
37
- .writeLine(`if (numberFilter === undefined) return true;`)
38
- .blankLine()
39
- .writeLine(`const value = record[fieldName] as number | null;`)
40
- .writeLine(`if (numberFilter === null) return value === null;`)
41
- .blankLine()
42
- .writeLine(`if (typeof numberFilter === 'number')`)
43
- .block(() => {
44
- writer.writeLine(`if (value !== numberFilter) return false;`);
45
- })
46
- .writeLine(`else`)
47
- .block(() => {
48
- addEqualsHandler(writer);
49
- addNotHandler(writer);
50
- addInHandler(writer);
51
- addNotInHandler(writer);
52
- addLtHandler(writer);
53
- addLteHandler(writer);
54
- addGtHandler(writer);
55
- addGteHandler(writer);
56
- })
57
- .writeLine(`return true;`);
58
- },
22
+ writer
23
+ .writeLine(`export function whereNumberFilter<T, R extends Prisma.Result<T, object, "findFirstOrThrow">>(record: R, fieldName: keyof R, numberFilter: ${filterType}): boolean`)
24
+ .block(() => {
25
+ writer
26
+ .writeLine(`if (numberFilter === undefined) return true;`)
27
+ .blankLine()
28
+ .writeLine(`const value = record[fieldName] as number | null;`)
29
+ .writeLine(`if (numberFilter === null) return value === null;`)
30
+ .blankLine()
31
+ .writeLine(`if (typeof numberFilter === 'number')`)
32
+ .block(() => {
33
+ writer.writeLine(`if (value !== numberFilter) return false;`);
34
+ })
35
+ .writeLine(`else`)
36
+ .block(() => {
37
+ addEqualsHandler(writer);
38
+ addNotHandler(writer);
39
+ addInHandler(writer);
40
+ addNotInHandler(writer);
41
+ addLtHandler(writer);
42
+ addLteHandler(writer);
43
+ addGtHandler(writer);
44
+ addGteHandler(writer);
45
+ })
46
+ .writeLine(`return true;`);
59
47
  });
60
48
  }
61
49
  function addEqualsHandler(writer) {