@prisma-idb/idb-client-generator 0.1.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 (86) hide show
  1. package/.prettierignore +2 -0
  2. package/.prettierrc +3 -0
  3. package/.release-it.json +11 -0
  4. package/README.md +8 -0
  5. package/dist/bin.js +5 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/fileCreators/idb-interface/create.js +35 -0
  8. package/dist/fileCreators/idb-interface/create.js.map +1 -0
  9. package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js +72 -0
  10. package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js.map +1 -0
  11. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js +75 -0
  12. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js.map +1 -0
  13. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js +44 -0
  14. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js.map +1 -0
  15. package/dist/fileCreators/prisma-idb-client/classes/models/api/count.js +41 -0
  16. package/dist/fileCreators/prisma-idb-client/classes/models/api/count.js.map +1 -0
  17. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js +196 -0
  18. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js.map +1 -0
  19. package/dist/fileCreators/prisma-idb-client/classes/models/api/createMany.js +36 -0
  20. package/dist/fileCreators/prisma-idb-client/classes/models/api/createMany.js.map +1 -0
  21. package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js +30 -0
  22. package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js.map +1 -0
  23. package/dist/fileCreators/prisma-idb-client/classes/models/api/findFirst.js +25 -0
  24. package/dist/fileCreators/prisma-idb-client/classes/models/api/findFirst.js.map +1 -0
  25. package/dist/fileCreators/prisma-idb-client/classes/models/api/findFirstOrThrow.js +30 -0
  26. package/dist/fileCreators/prisma-idb-client/classes/models/api/findFirstOrThrow.js.map +1 -0
  27. package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js +44 -0
  28. package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js.map +1 -0
  29. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.js +66 -0
  30. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.js.map +1 -0
  31. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUniqueOrThrow.js +30 -0
  32. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUniqueOrThrow.js.map +1 -0
  33. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js +117 -0
  34. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js.map +1 -0
  35. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js +106 -0
  36. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js.map +1 -0
  37. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applySelectClause.js +42 -0
  38. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applySelectClause.js.map +1 -0
  39. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js +107 -0
  40. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js.map +1 -0
  41. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js +145 -0
  42. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js.map +1 -0
  43. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForCreate.js +58 -0
  44. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForCreate.js.map +1 -0
  45. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getStoresNeededForFind.js +37 -0
  46. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getStoresNeededForFind.js.map +1 -0
  47. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_removeNestedCreateData.js +25 -0
  48. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_removeNestedCreateData.js.map +1 -0
  49. package/dist/fileCreators/prisma-idb-client/create.js +49 -0
  50. package/dist/fileCreators/prisma-idb-client/create.js.map +1 -0
  51. package/dist/fileCreators/types.js +3 -0
  52. package/dist/fileCreators/types.js.map +1 -0
  53. package/dist/fileCreators/utils/create.js +53 -0
  54. package/dist/fileCreators/utils/create.js.map +1 -0
  55. package/dist/fileCreators/utils/filters/BigIntFilter.js +108 -0
  56. package/dist/fileCreators/utils/filters/BigIntFilter.js.map +1 -0
  57. package/dist/fileCreators/utils/filters/BoolFilter.js +68 -0
  58. package/dist/fileCreators/utils/filters/BoolFilter.js.map +1 -0
  59. package/dist/fileCreators/utils/filters/BytesFilter.js +90 -0
  60. package/dist/fileCreators/utils/filters/BytesFilter.js.map +1 -0
  61. package/dist/fileCreators/utils/filters/DateTimeFilter.js +122 -0
  62. package/dist/fileCreators/utils/filters/DateTimeFilter.js.map +1 -0
  63. package/dist/fileCreators/utils/filters/NumberFilter.js +117 -0
  64. package/dist/fileCreators/utils/filters/NumberFilter.js.map +1 -0
  65. package/dist/fileCreators/utils/filters/StringFilter.js +189 -0
  66. package/dist/fileCreators/utils/filters/StringFilter.js.map +1 -0
  67. package/dist/fileCreators/utils/updateHandlers/BooleanHandler.js +42 -0
  68. package/dist/fileCreators/utils/updateHandlers/BooleanHandler.js.map +1 -0
  69. package/dist/fileCreators/utils/updateHandlers/BytesHandler.js +42 -0
  70. package/dist/fileCreators/utils/updateHandlers/BytesHandler.js.map +1 -0
  71. package/dist/fileCreators/utils/updateHandlers/DateTimeHandler.js +42 -0
  72. package/dist/fileCreators/utils/updateHandlers/DateTimeHandler.js.map +1 -0
  73. package/dist/fileCreators/utils/updateHandlers/IntHandler.js +42 -0
  74. package/dist/fileCreators/utils/updateHandlers/IntHandler.js.map +1 -0
  75. package/dist/fileCreators/utils/updateHandlers/ScalarListHandler.js +40 -0
  76. package/dist/fileCreators/utils/updateHandlers/ScalarListHandler.js.map +1 -0
  77. package/dist/fileCreators/utils/updateHandlers/StringHandler.js +42 -0
  78. package/dist/fileCreators/utils/updateHandlers/StringHandler.js.map +1 -0
  79. package/dist/generator.js +33 -0
  80. package/dist/generator.js.map +1 -0
  81. package/dist/helpers/fileWriting.js +39 -0
  82. package/dist/helpers/fileWriting.js.map +1 -0
  83. package/dist/helpers/utils.js +66 -0
  84. package/dist/helpers/utils.js.map +1 -0
  85. package/eslint.config.mjs +9 -0
  86. package/package.json +54 -0
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFindFirstMethod = addFindFirstMethod;
4
+ function addFindFirstMethod(modelClass, model) {
5
+ modelClass.addMethod({
6
+ name: "findFirst",
7
+ isAsync: true,
8
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findFirst'>` }],
9
+ parameters: [
10
+ { name: "query", hasQuestionToken: true, type: "Q" },
11
+ {
12
+ name: "tx",
13
+ hasQuestionToken: true,
14
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
15
+ },
16
+ ],
17
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'findFirst'>>`,
18
+ statements: (writer) => {
19
+ writer
20
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
21
+ .writeLine(`return (await this.findMany(query))[0] ?? null;`);
22
+ },
23
+ });
24
+ }
25
+ //# sourceMappingURL=findFirst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findFirst.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findFirst.ts"],"names":[],"mappings":";;AAGA,gDAsBC;AAtBD,SAAgB,kBAAkB,CAAC,UAA4B,EAAE,KAAY;IAC3E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACrG,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACpD;gBACE,IAAI,EAAE,IAAI;gBACV,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,sEAAsE;aAC7E;SACF;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,4BAA4B;QAClF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CACR,sGAAsG,CACvG;iBACA,SAAS,CAAC,iDAAiD,CAAC,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFindFirstOrThrow = addFindFirstOrThrow;
4
+ function addFindFirstOrThrow(modelClass, model) {
5
+ modelClass.addMethod({
6
+ name: "findFirstOrThrow",
7
+ isAsync: true,
8
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, "findFirstOrThrow">` }],
9
+ parameters: [
10
+ { name: "query", hasQuestionToken: true, type: "Q" },
11
+ {
12
+ name: "tx",
13
+ hasQuestionToken: true,
14
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
15
+ },
16
+ ],
17
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, "findFirstOrThrow">>`,
18
+ statements: (writer) => {
19
+ writer
20
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
21
+ .writeLine(`const record = await this.findFirst(query, tx);`)
22
+ .writeLine(`if (!record)`)
23
+ .block(() => {
24
+ writer.writeLine(`tx.abort();`).writeLine(`throw new Error("Record not found");`);
25
+ })
26
+ .writeLine(`return record;`);
27
+ },
28
+ });
29
+ }
30
+ //# sourceMappingURL=findFirstOrThrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findFirstOrThrow.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findFirstOrThrow.ts"],"names":[],"mappings":";;AAGA,kDA2BC;AA3BD,SAAgB,mBAAmB,CAAC,UAA4B,EAAE,KAAY;IAC5E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,+BAA+B,EAAE,CAAC;QAC5G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACpD;gBACE,IAAI,EAAE,IAAI;gBACV,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,sEAAsE;aAC7E;SACF;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,mCAAmC;QACzF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CACR,sGAAsG,CACvG;iBACA,SAAS,CAAC,iDAAiD,CAAC;iBAC5D,SAAS,CAAC,cAAc,CAAC;iBACzB,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;YACpF,CAAC,CAAC;iBACD,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFindManyMethod = addFindManyMethod;
4
+ function addFindManyMethod(modelClass, model) {
5
+ modelClass.addMethod({
6
+ name: "findMany",
7
+ isAsync: true,
8
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findMany'>` }],
9
+ parameters: [
10
+ { name: "query", hasQuestionToken: true, type: "Q" },
11
+ {
12
+ name: "tx",
13
+ hasQuestionToken: true,
14
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
15
+ },
16
+ ],
17
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'findMany'>>`,
18
+ statements: (writer) => {
19
+ getRecords(writer, model);
20
+ applyRelationsToRecords(writer, model);
21
+ applySelectClauseToRecords(writer);
22
+ returnRecords(writer, model);
23
+ },
24
+ });
25
+ }
26
+ function getRecords(writer, model) {
27
+ writer
28
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
29
+ .writeLine(`const records = this._applyWhereClause(await tx.objectStore("${model.name}").getAll(), query?.where);`);
30
+ }
31
+ function applyRelationsToRecords(writer, model) {
32
+ writer
33
+ .write(`const relationAppliedRecords = (await this._applyRelations(records, tx, query)) `)
34
+ .write(`as Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>[];`);
35
+ }
36
+ function applySelectClauseToRecords(writer) {
37
+ writer
38
+ .writeLine("const selectClause = query?.select;")
39
+ .writeLine("const selectAppliedRecords = this._applySelectClause(relationAppliedRecords, selectClause);");
40
+ }
41
+ function returnRecords(writer, model) {
42
+ writer.writeLine(`return selectAppliedRecords as Prisma.Result<Prisma.${model.name}Delegate, Q, 'findMany'>;`);
43
+ }
44
+ //# sourceMappingURL=findMany.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findMany.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findMany.ts"],"names":[],"mappings":";;AAGA,8CAqBC;AArBD,SAAgB,iBAAiB,CAAC,UAA4B,EAAE,KAAY;IAC1E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACpG,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACpD;gBACE,IAAI,EAAE,IAAI;gBACV,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,sEAAsE;aAC7E;SACF;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,2BAA2B;QACjF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1B,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACvC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACnC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB,EAAE,KAAY;IACvD,MAAM;SACH,SAAS,CAAC,sGAAsG,CAAC;SACjH,SAAS,CAAC,gEAAgE,KAAK,CAAC,IAAI,6BAA6B,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAuB,EAAE,KAAY;IACpE,MAAM;SACH,KAAK,CAAC,kFAAkF,CAAC;SACzF,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,0CAA0C,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAuB;IACzD,MAAM;SACH,SAAS,CAAC,qCAAqC,CAAC;SAChD,SAAS,CAAC,6FAA6F,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB,EAAE,KAAY;IAC1D,MAAM,CAAC,SAAS,CAAC,uDAAuD,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC;AACjH,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFindUniqueMethod = addFindUniqueMethod;
4
+ const utils_1 = require("../../../../../helpers/utils");
5
+ function addFindUniqueMethod(modelClass, model) {
6
+ modelClass.addMethod({
7
+ name: "findUnique",
8
+ isAsync: true,
9
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findUnique'>` }],
10
+ parameters: [
11
+ { name: "query", type: "Q" },
12
+ {
13
+ name: "tx",
14
+ hasQuestionToken: true,
15
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
16
+ },
17
+ ],
18
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'findUnique'>>`,
19
+ statements: (writer) => {
20
+ writer
21
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
22
+ .writeLine("let record;");
23
+ getFromKeyIdentifier(writer, model);
24
+ getFromNonKeyIdentifier(writer, model);
25
+ writer
26
+ .writeLine("if (!record) return null;")
27
+ .blankLine()
28
+ .write(`const recordWithRelations = `)
29
+ .write(`this._applySelectClause(await this._applyRelations(this._applyWhereClause([record], query.where), tx, query), query.select)[0];`)
30
+ .writeLine(`return recordWithRelations as Prisma.Result<Prisma.${model.name}Delegate, Q, "findUnique">;`);
31
+ },
32
+ });
33
+ }
34
+ function getFromKeyIdentifier(writer, model) {
35
+ const keyUniqueIdentifier = (0, utils_1.getUniqueIdentifiers)(model)[0];
36
+ const fieldNames = JSON.parse(keyUniqueIdentifier.keyPath);
37
+ let fields;
38
+ if (fieldNames.length === 1) {
39
+ fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${fieldName}`));
40
+ }
41
+ else {
42
+ fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${keyUniqueIdentifier.name}.${fieldName}`));
43
+ }
44
+ fields = fields.replaceAll('"', "");
45
+ writer.writeLine(`if (query.where.${keyUniqueIdentifier.name})`).block(() => {
46
+ writer.writeLine(`record = await tx.objectStore("${model.name}").get(${fields});`);
47
+ });
48
+ }
49
+ function getFromNonKeyIdentifier(writer, model) {
50
+ const nonKeyUniqueIdentifiers = (0, utils_1.getUniqueIdentifiers)(model).slice(1);
51
+ nonKeyUniqueIdentifiers.forEach(({ name, keyPath }) => {
52
+ const fieldNames = JSON.parse(keyPath);
53
+ let fields;
54
+ if (fieldNames.length === 1) {
55
+ fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${fieldName}`));
56
+ }
57
+ else {
58
+ fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${name}.${fieldName}`));
59
+ }
60
+ fields = fields.replaceAll('"', "");
61
+ writer.writeLine(`else if (query.where.${name})`).block(() => {
62
+ writer.writeLine(`record = await tx.objectStore("${model.name}").index("${name}Index").get(${fields});`);
63
+ });
64
+ });
65
+ }
66
+ //# sourceMappingURL=findUnique.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findUnique.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findUnique.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFindUniqueOrThrow = addFindUniqueOrThrow;
4
+ function addFindUniqueOrThrow(modelClass, model) {
5
+ modelClass.addMethod({
6
+ name: "findUniqueOrThrow",
7
+ isAsync: true,
8
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, "findUniqueOrThrow">` }],
9
+ parameters: [
10
+ { name: "query", type: "Q" },
11
+ {
12
+ name: "tx",
13
+ hasQuestionToken: true,
14
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
15
+ },
16
+ ],
17
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, "findUniqueOrThrow">>`,
18
+ statements: (writer) => {
19
+ writer
20
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
21
+ .writeLine(`const record = await this.findUnique(query, tx);`)
22
+ .writeLine(`if (!record)`)
23
+ .block(() => {
24
+ writer.writeLine(`tx.abort();`).writeLine(`throw new Error("Record not found");`);
25
+ })
26
+ .writeLine(`return record;`);
27
+ },
28
+ });
29
+ }
30
+ //# sourceMappingURL=findUniqueOrThrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findUniqueOrThrow.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findUniqueOrThrow.ts"],"names":[],"mappings":";;AAGA,oDA2BC;AA3BD,SAAgB,oBAAoB,CAAC,UAA4B,EAAE,KAAY;IAC7E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,gCAAgC,EAAE,CAAC;QAC7G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YAC5B;gBACE,IAAI,EAAE,IAAI;gBACV,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,sEAAsE;aAC7E;SACF;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,oCAAoC;QAC1F,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CACR,sGAAsG,CACvG;iBACA,SAAS,CAAC,kDAAkD,CAAC;iBAC7D,SAAS,CAAC,cAAc,CAAC;iBACzB,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;YACpF,CAAC,CAAC;iBACD,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addUpdateMethod = addUpdateMethod;
4
+ const utils_1 = require("../../../../../helpers/utils");
5
+ function addUpdateMethod(modelClass, model) {
6
+ modelClass.addMethod({
7
+ name: "update",
8
+ isAsync: true,
9
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'update'>` }],
10
+ parameters: [
11
+ { name: "query", type: "Q" },
12
+ { name: "tx", hasQuestionToken: true, type: "IDBUtils.ReadwriteTransactionType" },
13
+ ],
14
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'update'>>`,
15
+ statements: (writer) => {
16
+ addGetRecord(writer);
17
+ addStringUpdateHandling(writer, model);
18
+ addDateTimeUpdateHandling(writer, model);
19
+ addBooleanUpdateHandling(writer, model);
20
+ addBytesUpdateHandling(writer, model);
21
+ addIntUpdateHandling(writer, model);
22
+ addScalarListUpdateHandling(writer, model);
23
+ addPutAndReturn(writer, model);
24
+ },
25
+ });
26
+ }
27
+ function addGetRecord(writer) {
28
+ writer
29
+ .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readwrite");`)
30
+ .writeLine(`const record = await this.findUnique({ where: query.where }, tx);`)
31
+ .writeLine(`if (record === null)`)
32
+ .block(() => {
33
+ writer.writeLine(`tx.abort();`).writeLine(`throw new Error("Record not found");`);
34
+ });
35
+ }
36
+ function addPutAndReturn(writer, model) {
37
+ const pk = (0, utils_1.getUniqueIdentifiers)(model)[0];
38
+ writer
39
+ .writeLine(`const keyPath = await tx.objectStore("${model.name}").put(record);`)
40
+ .writeLine(`const recordWithRelations = (await this.findUnique(`)
41
+ .block(() => {
42
+ writer.writeLine(`...query, where: { ${JSON.parse(pk.keyPath)[0]}: keyPath[0] },`);
43
+ })
44
+ .writeLine(`, tx))!;`)
45
+ .writeLine(`return recordWithRelations as Prisma.Result<Prisma.${model.name}Delegate, Q, "update">;`);
46
+ }
47
+ function addStringUpdateHandling(writer, model) {
48
+ const stringFields = model.fields.filter((field) => field.type === "String" && !field.isList).map(({ name }) => name);
49
+ if (stringFields.length === 0)
50
+ return;
51
+ writer
52
+ .writeLine(`const stringFields = ${JSON.stringify(stringFields)} as const;`)
53
+ .writeLine(`for (const field of stringFields)`)
54
+ .block(() => {
55
+ writer.writeLine(`IDBUtils.handleStringUpdateField(record, field, query.data[field]);`);
56
+ });
57
+ }
58
+ function addIntUpdateHandling(writer, model) {
59
+ const intFields = model.fields.filter((field) => field.type === "Int" && !field.isList).map(({ name }) => name);
60
+ if (intFields.length === 0)
61
+ return;
62
+ writer
63
+ .writeLine(`const intFields = ${JSON.stringify(intFields)} as const;`)
64
+ .writeLine(`for (const field of intFields)`)
65
+ .block(() => {
66
+ writer.writeLine(`IDBUtils.handleIntUpdateField(record, field, query.data[field]);`);
67
+ });
68
+ }
69
+ function addDateTimeUpdateHandling(writer, model) {
70
+ const dateTimeFields = model.fields
71
+ .filter((field) => field.type === "DateTime" && !field.isList)
72
+ .map(({ name }) => name);
73
+ if (dateTimeFields.length === 0)
74
+ return;
75
+ writer
76
+ .writeLine(`const dateTimeFields = ${JSON.stringify(dateTimeFields)} as const;`)
77
+ .writeLine(`for (const field of dateTimeFields)`)
78
+ .block(() => {
79
+ writer.writeLine(`IDBUtils.handleDateTimeUpdateField(record, field, query.data[field]);`);
80
+ });
81
+ }
82
+ function addBooleanUpdateHandling(writer, model) {
83
+ const booleanFields = model.fields
84
+ .filter((field) => field.type === "Boolean" && !field.isList)
85
+ .map(({ name }) => name);
86
+ if (booleanFields.length === 0)
87
+ return;
88
+ writer
89
+ .writeLine(`const booleanFields = ${JSON.stringify(booleanFields)} as const;`)
90
+ .writeLine(`for (const field of booleanFields)`)
91
+ .block(() => {
92
+ writer.writeLine(`IDBUtils.handleBooleanUpdateField(record, field, query.data[field]);`);
93
+ });
94
+ }
95
+ function addBytesUpdateHandling(writer, model) {
96
+ const bytesFields = model.fields.filter((field) => field.type === "Bytes" && !field.isList).map(({ name }) => name);
97
+ if (bytesFields.length === 0)
98
+ return;
99
+ writer
100
+ .writeLine(`const bytesFields = ${JSON.stringify(bytesFields)} as const;`)
101
+ .writeLine(`for (const field of bytesFields)`)
102
+ .block(() => {
103
+ writer.writeLine(`IDBUtils.handleBytesUpdateField(record, field, query.data[field]);`);
104
+ });
105
+ }
106
+ function addScalarListUpdateHandling(writer, model) {
107
+ const listFields = model.fields.filter((field) => field.isList && field.kind !== "object").map(({ name }) => name);
108
+ if (listFields.length === 0)
109
+ return;
110
+ writer
111
+ .writeLine(`const listFields = ${JSON.stringify(listFields)} as const;`)
112
+ .writeLine(`for (const field of listFields)`)
113
+ .block(() => {
114
+ writer.writeLine(`IDBUtils.handleScalarListUpdateField(record, field, query.data[field]);`);
115
+ });
116
+ }
117
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addApplyRelations = addApplyRelations;
4
+ const utils_1 = require("../../../../../helpers/utils");
5
+ const ts_morph_1 = require("ts-morph");
6
+ function addApplyRelations(modelClass, model, models) {
7
+ modelClass.addMethod({
8
+ name: "_applyRelations",
9
+ isAsync: true,
10
+ scope: ts_morph_1.Scope.Private,
11
+ typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findMany'>` }],
12
+ parameters: [
13
+ { name: "records", type: `Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>[]` },
14
+ {
15
+ name: "tx",
16
+ type: "IDBUtils.ReadonlyTransactionType | IDBUtils.ReadwriteTransactionType",
17
+ },
18
+ { name: "query", type: "Q", hasQuestionToken: true },
19
+ ],
20
+ returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'findFirstOrThrow'>[]>`,
21
+ statements: (writer) => {
22
+ addEarlyExit(writer, model);
23
+ addRelationProcessing(writer, model, models);
24
+ addReturn(writer, model);
25
+ },
26
+ });
27
+ }
28
+ function addEarlyExit(writer, model) {
29
+ writer.writeLine(`if (!query) return records as Prisma.Result<Prisma.${model.name}Delegate, Q, 'findFirstOrThrow'>[];`);
30
+ }
31
+ function addRelationProcessing(writer, model, models) {
32
+ const relationFields = model.fields.filter(({ kind }) => kind === "object");
33
+ const allFields = models.flatMap(({ fields }) => fields);
34
+ writer
35
+ .writeLine("const recordsWithRelations = records.map(async (record) => ")
36
+ .block(() => {
37
+ writer.writeLine("const unsafeRecord = record as Record<string, unknown>;");
38
+ relationFields.forEach((field) => {
39
+ writer
40
+ .write(`const attach_${field.name} = `)
41
+ .write(`query.select?.${field.name} || query.include?.${field.name};`)
42
+ .writeLine(`if (attach_${field.name})`)
43
+ .block(() => {
44
+ const otherFieldOfRelation = allFields.find((_field) => _field.relationName === field.relationName && field !== _field);
45
+ handleVariousRelationships(writer, field, otherFieldOfRelation);
46
+ });
47
+ });
48
+ writer.writeLine("return unsafeRecord;");
49
+ })
50
+ .writeLine(");");
51
+ }
52
+ function handleVariousRelationships(writer, field, otherField) {
53
+ var _a;
54
+ if (!field.isList) {
55
+ if ((_a = field.relationFromFields) === null || _a === void 0 ? void 0 : _a.length) {
56
+ addOneToOneMetaOnFieldRelation(writer, field);
57
+ }
58
+ else {
59
+ addOneToOneMetaOnOtherFieldRelation(writer, field, otherField);
60
+ }
61
+ }
62
+ else {
63
+ addOneToManyRelation(writer, field, otherField);
64
+ }
65
+ }
66
+ function addOneToOneMetaOnFieldRelation(writer, field) {
67
+ writer
68
+ .write(`unsafeRecord['${field.name}'] = `)
69
+ .conditionalWrite(!field.isRequired, () => { var _a; return `record.${(_a = field.relationFromFields) === null || _a === void 0 ? void 0 : _a.at(0)} === null ? null :`; })
70
+ .writeLine(`await this.client.${(0, utils_1.toCamelCase)(field.type)}.findUnique(`)
71
+ .block(() => {
72
+ var _a, _b;
73
+ writer
74
+ .writeLine(`...(attach_${field.name} === true ? {} : attach_${field.name}),`)
75
+ .writeLine(`where: { ${(_a = field.relationToFields) === null || _a === void 0 ? void 0 : _a.at(0)}: record.${(_b = field.relationFromFields) === null || _b === void 0 ? void 0 : _b.at(0)} }`);
76
+ })
77
+ .writeLine(`, tx)`);
78
+ }
79
+ function addOneToOneMetaOnOtherFieldRelation(writer, field, otherField) {
80
+ writer
81
+ .writeLine(`unsafeRecord['${field.name}'] = await this.client.${(0, utils_1.toCamelCase)(field.type)}.findUnique(`)
82
+ .block(() => {
83
+ var _a, _b;
84
+ writer
85
+ .writeLine(`...(attach_${field.name} === true ? {} : attach_${field.name}),`)
86
+ .writeLine(`where: { ${(_a = otherField.relationFromFields) === null || _a === void 0 ? void 0 : _a.at(0)}: record.${(_b = otherField.relationToFields) === null || _b === void 0 ? void 0 : _b.at(0)} }`);
87
+ })
88
+ .writeLine(`, tx)`);
89
+ }
90
+ function addOneToManyRelation(writer, field, otherField) {
91
+ writer
92
+ .writeLine(`unsafeRecord['${field.name}'] = await this.client.${(0, utils_1.toCamelCase)(field.type)}.findMany(`)
93
+ .block(() => {
94
+ var _a, _b;
95
+ writer
96
+ .writeLine(`...(attach_${field.name} === true ? {} : attach_${field.name}),`)
97
+ .writeLine(`where: { ${(_a = otherField.relationFromFields) === null || _a === void 0 ? void 0 : _a.at(0)}: record.${(_b = otherField.relationToFields) === null || _b === void 0 ? void 0 : _b.at(0)} }`);
98
+ })
99
+ .writeLine(`, tx)`);
100
+ }
101
+ function addReturn(writer, model) {
102
+ writer
103
+ .write(`return (await Promise.all(recordsWithRelations)) as `)
104
+ .write(`Prisma.Result<Prisma.${model.name}Delegate, Q, 'findFirstOrThrow'>[];`);
105
+ }
106
+ //# sourceMappingURL=_applyRelations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_applyRelations.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addApplySelectClause = addApplySelectClause;
4
+ const ts_morph_1 = require("ts-morph");
5
+ function addApplySelectClause(modelClass, model) {
6
+ modelClass.addMethod({
7
+ name: "_applySelectClause",
8
+ scope: ts_morph_1.Scope.Private,
9
+ typeParameters: [{ name: "S", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findMany'>['select']` }],
10
+ parameters: [
11
+ { name: "records", type: `Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>[]` },
12
+ { name: "selectClause", type: "S" },
13
+ ],
14
+ returnType: `Prisma.Result<Prisma.${model.name}Delegate, { select: S }, 'findFirstOrThrow'>[]`,
15
+ statements: (writer) => {
16
+ addEarlyExit(writer, model);
17
+ addSelectProcessing(writer, model);
18
+ },
19
+ });
20
+ }
21
+ function addEarlyExit(writer, model) {
22
+ writer.writeLine("if (!selectClause)").block(() => {
23
+ writer.writeLine(`return records as Prisma.Result<Prisma.${model.name}Delegate, { select: S }, 'findFirstOrThrow'>[];`);
24
+ });
25
+ }
26
+ function addSelectProcessing(writer, model) {
27
+ writer
28
+ .writeLine("return records.map((record) => ")
29
+ .block(() => {
30
+ writer
31
+ .writeLine("const partialRecord: Partial<typeof record> = record;")
32
+ .writeLine(`for (const untypedKey of ${JSON.stringify(model.fields.map(({ name }) => name))}) `)
33
+ .block(() => {
34
+ writer
35
+ .writeLine("const key = untypedKey as keyof typeof record & keyof S;")
36
+ .writeLine("if (!selectClause[key]) delete partialRecord[key];");
37
+ })
38
+ .writeLine("return partialRecord;");
39
+ })
40
+ .writeLine(`) as Prisma.Result<Prisma.${model.name}Delegate, { select: S }, 'findFirstOrThrow'>[];`);
41
+ }
42
+ //# sourceMappingURL=_applySelectClause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_applySelectClause.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_applySelectClause.ts"],"names":[],"mappings":";;AAGA,oDAeC;AAjBD,uCAAoE;AAEpE,SAAgB,oBAAoB,CAAC,UAA4B,EAAE,KAAY;IAC7E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,iCAAiC,EAAE,CAAC;QAC9G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,KAAK,CAAC,IAAI,yCAAyC,EAAE;YACtG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE;SACpC;QACD,UAAU,EAAE,wBAAwB,KAAK,CAAC,IAAI,gDAAgD;QAC9F,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5B,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB,EAAE,KAAY;IACzD,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAChD,MAAM,CAAC,SAAS,CACd,0CAA0C,KAAK,CAAC,IAAI,iDAAiD,CACtG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,KAAY;IAChE,MAAM;SACH,SAAS,CAAC,iCAAiC,CAAC;SAC5C,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,uDAAuD,CAAC;aAClE,SAAS,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;aAC/F,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,0DAA0D,CAAC;iBACrE,SAAS,CAAC,oDAAoD,CAAC,CAAC;QACrE,CAAC,CAAC;aACD,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,SAAS,CAAC,6BAA6B,KAAK,CAAC,IAAI,iDAAiD,CAAC,CAAC;AACzG,CAAC"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addApplyWhereClause = addApplyWhereClause;
4
+ const ts_morph_1 = require("ts-morph");
5
+ function addApplyWhereClause(modelClass, model) {
6
+ modelClass.addMethod({
7
+ name: "_applyWhereClause",
8
+ scope: ts_morph_1.Scope.Private,
9
+ typeParameters: [
10
+ { name: "W", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findFirstOrThrow'>['where']` },
11
+ { name: "R", constraint: `Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>` },
12
+ ],
13
+ parameters: [
14
+ { name: "records", type: `R[]` },
15
+ { name: "whereClause", type: "W" },
16
+ ],
17
+ returnType: `R[]`,
18
+ statements: (writer) => {
19
+ writer.writeLine(`if (!whereClause) return records;`);
20
+ writer
21
+ .writeLine(`return records.filter((record) => `)
22
+ .block(() => {
23
+ addStringFiltering(writer, model);
24
+ addNumberFiltering(writer, model);
25
+ addBigIntFiltering(writer, model);
26
+ addBoolFiltering(writer, model);
27
+ addBytesFiltering(writer, model);
28
+ addDateTimeFiltering(writer, model);
29
+ writer.writeLine(`return true;`);
30
+ })
31
+ .writeLine(`);`);
32
+ },
33
+ });
34
+ }
35
+ function addStringFiltering(writer, model) {
36
+ const stringFields = model.fields.filter((field) => field.type === "String" && !field.isList).map(({ name }) => name);
37
+ if (stringFields.length === 0)
38
+ return;
39
+ writer
40
+ .writeLine(`const stringFields = ${JSON.stringify(stringFields)} as const;`)
41
+ .writeLine(`for (const field of stringFields)`)
42
+ .block(() => {
43
+ writer.writeLine(`if (!IDBUtils.whereStringFilter(record, field, whereClause[field])) return false;`);
44
+ });
45
+ }
46
+ function addNumberFiltering(writer, model) {
47
+ const numberFields = model.fields
48
+ .filter((field) => (field.type === "Int" || field.type === "Float") && !field.isList)
49
+ .map(({ name }) => name);
50
+ if (numberFields.length === 0)
51
+ return;
52
+ writer
53
+ .writeLine(`const numberFields = ${JSON.stringify(numberFields)} as const;`)
54
+ .writeLine(`for (const field of numberFields)`)
55
+ .block(() => {
56
+ writer.writeLine(`if (!IDBUtils.whereNumberFilter(record, field, whereClause[field])) return false;`);
57
+ });
58
+ }
59
+ function addBigIntFiltering(writer, model) {
60
+ const numberFields = model.fields.filter((field) => field.type === "BigInt" && !field.isList).map(({ name }) => name);
61
+ if (numberFields.length === 0)
62
+ return;
63
+ writer
64
+ .writeLine(`const bigIntFields = ${JSON.stringify(numberFields)} as const;`)
65
+ .writeLine(`for (const field of bigIntFields)`)
66
+ .block(() => {
67
+ writer.writeLine(`if (!IDBUtils.whereBigIntFilter(record, field, whereClause[field])) return false;`);
68
+ });
69
+ }
70
+ function addBoolFiltering(writer, model) {
71
+ const booleanFields = model.fields
72
+ .filter((field) => field.type === "Boolean" && !field.isList)
73
+ .map(({ name }) => name);
74
+ if (booleanFields.length === 0)
75
+ return;
76
+ writer
77
+ .writeLine(`const booleanFields = ${JSON.stringify(booleanFields)} as const;`)
78
+ .writeLine(`for (const field of booleanFields)`)
79
+ .block(() => {
80
+ writer.writeLine(`if (!IDBUtils.whereBoolFilter(record, field, whereClause[field])) return false;`);
81
+ });
82
+ }
83
+ function addBytesFiltering(writer, model) {
84
+ const bytesFields = model.fields.filter((field) => field.type === "Bytes" && !field.isList).map(({ name }) => name);
85
+ if (bytesFields.length === 0)
86
+ return;
87
+ writer
88
+ .writeLine(`const bytesFields = ${JSON.stringify(bytesFields)} as const;`)
89
+ .writeLine(`for (const field of bytesFields)`)
90
+ .block(() => {
91
+ writer.writeLine(`if (!IDBUtils.whereBytesFilter(record, field, whereClause[field])) return false;`);
92
+ });
93
+ }
94
+ function addDateTimeFiltering(writer, model) {
95
+ const dateTimeFields = model.fields
96
+ .filter((field) => field.type === "DateTime" && !field.isList)
97
+ .map(({ name }) => name);
98
+ if (dateTimeFields.length === 0)
99
+ return;
100
+ writer
101
+ .writeLine(`const dateTimeFields = ${JSON.stringify(dateTimeFields)} as const;`)
102
+ .writeLine(`for (const field of dateTimeFields)`)
103
+ .block(() => {
104
+ writer.writeLine(`if (!IDBUtils.whereDateTimeFilter(record, field, whereClause[field])) return false;`);
105
+ });
106
+ }
107
+ //# sourceMappingURL=_applyWhereClause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_applyWhereClause.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.ts"],"names":[],"mappings":"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"}