@prisma-idb/idb-client-generator 0.13.0 → 0.14.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.
Files changed (29) hide show
  1. package/dist/fileCreators/idb-utils/comparator/genericComparator.js +36 -0
  2. package/dist/fileCreators/idb-utils/comparator/genericComparator.js.map +1 -1
  3. package/dist/fileCreators/idb-utils/create.js +11 -7
  4. package/dist/fileCreators/idb-utils/create.js.map +1 -1
  5. package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js +73 -0
  6. package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js.map +1 -0
  7. package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js +8 -2
  8. package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js.map +1 -1
  9. package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js +63 -0
  10. package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js.map +1 -0
  11. package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js +19 -2
  12. package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js.map +1 -1
  13. package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js +121 -22
  14. package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js.map +1 -1
  15. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js +22 -19
  16. package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js.map +1 -1
  17. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js +46 -16
  18. package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js.map +1 -1
  19. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js +13 -9
  20. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js.map +1 -1
  21. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js +18 -20
  22. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js.map +1 -1
  23. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js +2 -2
  24. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js.map +1 -1
  25. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js +4 -3
  26. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js.map +1 -1
  27. package/dist/helpers/utils.js +4 -0
  28. package/dist/helpers/utils.js.map +1 -1
  29. package/package.json +1 -1
@@ -20,6 +20,10 @@ function addGenericComparator(utilsFile) {
20
20
  handleMultiplierAndReturnValueInit(writer);
21
21
  handleStringComparison(writer);
22
22
  handleNumberComparison(writer);
23
+ handleBigIntComparison(writer);
24
+ handleDateTimeComparison(writer);
25
+ handleBytesComparison(writer);
26
+ handleBooleanComparison(writer);
23
27
  handleComparisonTypeErrorAndReturn(writer);
24
28
  },
25
29
  });
@@ -49,6 +53,38 @@ function handleNumberComparison(writer) {
49
53
  writer.writeLine(`returnValue = a - b;`);
50
54
  });
51
55
  }
56
+ function handleBigIntComparison(writer) {
57
+ writer.writeLine(`if (typeof a === "bigint" && typeof b === "bigint")`).block(() => {
58
+ writer
59
+ .writeLine("if (a > b)")
60
+ .block(() => {
61
+ writer.writeLine("returnValue = 1;");
62
+ })
63
+ .writeLine("else if (a < b)")
64
+ .block(() => {
65
+ writer.writeLine("returnValue = -1;");
66
+ })
67
+ .writeLine("else")
68
+ .block(() => {
69
+ writer.writeLine("returnValue = 0;");
70
+ });
71
+ });
72
+ }
73
+ function handleDateTimeComparison(writer) {
74
+ writer.writeLine(`if (a instanceof Date && b instanceof Date)`).block(() => {
75
+ writer.writeLine(`returnValue = a.getTime() - b.getTime();`);
76
+ });
77
+ }
78
+ function handleBytesComparison(writer) {
79
+ writer.writeLine(`if (a instanceof Uint8Array && b instanceof Uint8Array)`).block(() => {
80
+ writer.writeLine(`returnValue = a.length - b.length;`);
81
+ });
82
+ }
83
+ function handleBooleanComparison(writer) {
84
+ writer.writeLine(`if (typeof a === "boolean" && typeof b === "boolean")`).block(() => {
85
+ writer.writeLine(`returnValue = a === b ? 0 : a ? 1 : -1;`);
86
+ });
87
+ }
52
88
  function handleComparisonTypeErrorAndReturn(writer) {
53
89
  writer
54
90
  .writeLine(`if (returnValue === undefined)`)
@@ -1 +1 @@
1
- {"version":3,"file":"genericComparator.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/comparator/genericComparator.ts"],"names":[],"mappings":";;AAEA,oDAyBC;AAzBD,SAAgB,oBAAoB,CAAC,SAAqB;IACxD,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,yEAAyE;gBAC/E,WAAW,EAAE,OAAO;aACrB;SACF;QACD,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3B,kCAAkC,CAAC,MAAM,CAAC,CAAC;YAE3C,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAG/B,kCAAkC,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAuB;IACjD,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACnF,MAAM;aACH,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,EAAE;aACX,SAAS,CAAC,yCAAyC,CAAC;aACpD,SAAS,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CAAC,MAAuB;IACjE,MAAM;SACH,SAAS,CACR,wHAAwH,CACzH;SACA,SAAS,CAAC,sCAAsC,CAAC;SACjD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAuB;IACrD,MAAM,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACjF,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAuB;IACrD,MAAM,CAAC,SAAS,CAAC,qDAAqD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACjF,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CAAC,MAAuB;IACjE,MAAM;SACH,SAAS,CAAC,gCAAgC,CAAC;SAC3C,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,uEAAuE,CAAC,CAAC;IAC5F,CAAC,CAAC;SACD,SAAS,CAAC,kCAAkC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"genericComparator.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/comparator/genericComparator.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUtilsFile = createUtilsFile;
4
4
  const ts_morph_1 = require("ts-morph");
5
+ const genericComparator_1 = require("./comparator/genericComparator");
5
6
  const BigIntFilter_1 = require("./filters/BigIntFilter");
6
7
  const BoolFilter_1 = require("./filters/BoolFilter");
7
8
  const BytesFilter_1 = require("./filters/BytesFilter");
8
9
  const DateTimeFilter_1 = require("./filters/DateTimeFilter");
9
10
  const NumberFilter_1 = require("./filters/NumberFilter");
10
11
  const StringFilter_1 = require("./filters/StringFilter");
12
+ const BigIntListFilter_1 = require("./listFilters/BigIntListFilter");
13
+ const BooleanListFilter_1 = require("./listFilters/BooleanListFilter");
14
+ const BytesListFilter_1 = require("./listFilters/BytesListFilter");
15
+ const DateTimeListFilter_1 = require("./listFilters/DateTimeListFilter");
16
+ const NumberListFilter_1 = require("./listFilters/NumberListFilter");
17
+ const StringListFilter_1 = require("./listFilters/StringListFilter");
11
18
  const applyLogicalFilters_1 = require("./logicalFilters/applyLogicalFilters");
12
19
  const intersectArraysByNestedKey_1 = require("./logicalFilters/intersectArraysByNestedKey");
13
20
  const removeDuplicatesByKeyPath_1 = require("./logicalFilters/removeDuplicatesByKeyPath");
21
+ const BigIntHandler_1 = require("./updateHandlers/BigIntHandler");
14
22
  const BooleanHandler_1 = require("./updateHandlers/BooleanHandler");
15
23
  const BytesHandler_1 = require("./updateHandlers/BytesHandler");
16
24
  const DateTimeHandler_1 = require("./updateHandlers/DateTimeHandler");
25
+ const FloatHandler_1 = require("./updateHandlers/FloatHandler");
17
26
  const IntHandler_1 = require("./updateHandlers/IntHandler");
18
27
  const ScalarListHandler_1 = require("./updateHandlers/ScalarListHandler");
19
28
  const StringHandler_1 = require("./updateHandlers/StringHandler");
20
- const genericComparator_1 = require("./comparator/genericComparator");
21
- const StringListFilter_1 = require("./listFilters/StringListFilter");
22
- const NumberListFilter_1 = require("./listFilters/NumberListFilter");
23
- const BigIntListFilter_1 = require("./listFilters/BigIntListFilter");
24
- const BooleanListFilter_1 = require("./listFilters/BooleanListFilter");
25
- const BytesListFilter_1 = require("./listFilters/BytesListFilter");
26
- const DateTimeListFilter_1 = require("./listFilters/DateTimeListFilter");
27
29
  function createUtilsFile(idbUtilsFile, models) {
28
30
  idbUtilsFile.addImportDeclarations([
29
31
  { moduleSpecifier: "idb", isTypeOnly: true, namedImports: ["IDBPTransaction", "StoreNames"] },
@@ -78,6 +80,8 @@ function createUtilsFile(idbUtilsFile, models) {
78
80
  (0, DateTimeHandler_1.addDateTimeUpdateHandler)(idbUtilsFile, models);
79
81
  (0, BytesHandler_1.addBytesUpdateHandler)(idbUtilsFile, models);
80
82
  (0, IntHandler_1.addIntUpdateHandler)(idbUtilsFile, models);
83
+ (0, BigIntHandler_1.addBigIntUpdateHandler)(idbUtilsFile, models);
84
+ (0, FloatHandler_1.addFloatUpdateHandler)(idbUtilsFile, models);
81
85
  (0, ScalarListHandler_1.addScalarListUpdateHandler)(idbUtilsFile, models);
82
86
  (0, genericComparator_1.addGenericComparator)(idbUtilsFile);
83
87
  }
@@ -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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"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addBigIntUpdateHandler = addBigIntUpdateHandler;
4
+ function addBigIntUpdateHandler(utilsFile, models) {
5
+ const bigIntFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "BigInt");
6
+ if (bigIntFields.length === 0)
7
+ return;
8
+ let updateOperationType = "undefined | bigint | number";
9
+ let fieldType = "bigint";
10
+ const nonNullableBigIntFieldPresent = bigIntFields.some(({ isRequired }) => isRequired);
11
+ const nullableBigIntFieldPresent = bigIntFields.some(({ isRequired }) => !isRequired);
12
+ if (nonNullableBigIntFieldPresent) {
13
+ updateOperationType += " | Prisma.BigIntFieldUpdateOperationsInput";
14
+ }
15
+ if (nullableBigIntFieldPresent) {
16
+ updateOperationType += " | null | Prisma.NullableBigIntFieldUpdateOperationsInput";
17
+ fieldType += " | null";
18
+ }
19
+ utilsFile.addFunction({
20
+ name: "handleBigIntUpdateField",
21
+ isExported: true,
22
+ typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
23
+ parameters: [
24
+ { name: "record", type: `R` },
25
+ { name: "fieldName", type: "keyof R" },
26
+ {
27
+ name: "bigIntUpdate",
28
+ type: updateOperationType,
29
+ },
30
+ ],
31
+ statements: (writer) => {
32
+ writer
33
+ .writeLine(`if (bigIntUpdate === undefined) return;`)
34
+ .write(`if (typeof bigIntUpdate === "bigint" || typeof bigIntUpdate === "number"`)
35
+ .conditionalWrite(nullableBigIntFieldPresent, ` || bigIntUpdate === null`)
36
+ .writeLine(`)`)
37
+ .block(() => {
38
+ if (nullableBigIntFieldPresent) {
39
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = bigIntUpdate === null ? null : BigInt(bigIntUpdate);`);
40
+ }
41
+ else {
42
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = BigInt(bigIntUpdate);`);
43
+ }
44
+ })
45
+ .writeLine(`else if (bigIntUpdate.set !== undefined)`)
46
+ .block(() => {
47
+ if (nullableBigIntFieldPresent) {
48
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = bigIntUpdate.set === null ? null : BigInt(bigIntUpdate.set);`);
49
+ }
50
+ else {
51
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = BigInt(bigIntUpdate.set);`);
52
+ }
53
+ })
54
+ .writeLine(`else if (bigIntUpdate.increment !== undefined && record[fieldName] !== null)`)
55
+ .block(() => {
56
+ writer.writeLine(`(record[fieldName] as bigint) += BigInt(bigIntUpdate.increment);`);
57
+ })
58
+ .writeLine(`else if (bigIntUpdate.decrement !== undefined && record[fieldName] !== null)`)
59
+ .block(() => {
60
+ writer.writeLine(`(record[fieldName] as bigint) -= BigInt(bigIntUpdate.decrement);`);
61
+ })
62
+ .writeLine(`else if (bigIntUpdate.multiply !== undefined && record[fieldName] !== null)`)
63
+ .block(() => {
64
+ writer.writeLine(`(record[fieldName] as bigint) *= BigInt(bigIntUpdate.multiply);`);
65
+ })
66
+ .writeLine(`else if (bigIntUpdate.divide !== undefined && record[fieldName] !== null)`)
67
+ .block(() => {
68
+ writer.writeLine(`(record[fieldName] as bigint) /= BigInt(bigIntUpdate.divide);`);
69
+ });
70
+ },
71
+ });
72
+ }
73
+ //# sourceMappingURL=BigIntHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigIntHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/BigIntHandler.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,16 @@ function addDateTimeUpdateHandler(utilsFile, models) {
35
35
  .conditionalWrite(nullableDateTimeFieldPresent, ` || dateTimeUpdate === null`)
36
36
  .writeLine(`)`)
37
37
  .block(() => {
38
- writer.writeLine(`(record[fieldName] as ${fieldType}) = new Date(dateTimeUpdate);`);
38
+ writer
39
+ .writeLine(`(record[fieldName] as ${fieldType}) = `)
40
+ .conditionalWrite(nullableDateTimeFieldPresent, () => `dateTimeUpdate === null ? null : `)
41
+ .write(`new Date(dateTimeUpdate);`);
39
42
  });
40
43
  writer.writeLine(`else if (dateTimeUpdate.set !== undefined)`).block(() => {
41
- writer.writeLine(`(record[fieldName] as ${fieldType}) = new Date(dateTimeUpdate.set);`);
44
+ writer
45
+ .writeLine(`(record[fieldName] as ${fieldType}) = `)
46
+ .conditionalWrite(nullableDateTimeFieldPresent, () => `dateTimeUpdate.set === null ? null : `)
47
+ .write(`new Date(dateTimeUpdate.set);`);
42
48
  });
43
49
  },
44
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/DateTimeHandler.ts"],"names":[],"mappings":";;AAGA,4DA4CC;AA5CD,SAAgB,wBAAwB,CAAC,SAAqB,EAAE,MAAwB;IACtF,MAAM,cAAc,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,UAAU,CAAC,CAAC;IAC3G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,IAAI,mBAAmB,GAAG,2BAA2B,CAAC;IACtD,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,MAAM,+BAA+B,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5F,MAAM,4BAA4B,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAE1F,IAAI,+BAA+B,EAAE,CAAC;QACpC,mBAAmB,IAAI,8CAA8C,CAAC;IACxE,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QACjC,mBAAmB,IAAI,6DAA6D,CAAC;QACrF,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,8CAA8C,EAAE,CAAC;QAC1G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,mBAAmB;aAC1B;SACF;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CAAC,2CAA2C,CAAC;iBACtD,KAAK,CAAC,0EAA0E,CAAC;iBACjF,gBAAgB,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;iBAC7E,SAAS,CAAC,GAAG,CAAC;iBACd,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,+BAA+B,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxE,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,mCAAmC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"DateTimeHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/DateTimeHandler.ts"],"names":[],"mappings":";;AAGA,4DAkDC;AAlDD,SAAgB,wBAAwB,CAAC,SAAqB,EAAE,MAAwB;IACtF,MAAM,cAAc,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,UAAU,CAAC,CAAC;IAC3G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,IAAI,mBAAmB,GAAG,2BAA2B,CAAC;IACtD,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,MAAM,+BAA+B,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5F,MAAM,4BAA4B,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAE1F,IAAI,+BAA+B,EAAE,CAAC;QACpC,mBAAmB,IAAI,8CAA8C,CAAC;IACxE,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QACjC,mBAAmB,IAAI,6DAA6D,CAAC;QACrF,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,8CAA8C,EAAE,CAAC;QAC1G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,mBAAmB;aAC1B;SACF;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CAAC,2CAA2C,CAAC;iBACtD,KAAK,CAAC,0EAA0E,CAAC;iBACjF,gBAAgB,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;iBAC7E,SAAS,CAAC,GAAG,CAAC;iBACd,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,yBAAyB,SAAS,MAAM,CAAC;qBACnD,gBAAgB,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,mCAAmC,CAAC;qBACzF,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxE,MAAM;qBACH,SAAS,CAAC,yBAAyB,SAAS,MAAM,CAAC;qBACnD,gBAAgB,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,uCAAuC,CAAC;qBAC7F,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFloatUpdateHandler = addFloatUpdateHandler;
4
+ function addFloatUpdateHandler(utilsFile, models) {
5
+ const floatFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Float");
6
+ if (floatFields.length === 0)
7
+ return;
8
+ let updateOperationType = "undefined | number";
9
+ let fieldType = "number";
10
+ const nonNullableFloatFieldPresent = floatFields.some(({ isRequired }) => isRequired);
11
+ const nullableFloatFieldPresent = floatFields.some(({ isRequired }) => !isRequired);
12
+ if (nonNullableFloatFieldPresent) {
13
+ updateOperationType += " | Prisma.FloatFieldUpdateOperationsInput";
14
+ }
15
+ if (nullableFloatFieldPresent) {
16
+ updateOperationType += " | null | Prisma.NullableFloatFieldUpdateOperationsInput";
17
+ fieldType += " | null";
18
+ }
19
+ utilsFile.addFunction({
20
+ name: "handleFloatUpdateField",
21
+ isExported: true,
22
+ typeParameters: [{ name: "T" }, { name: "R", constraint: `Prisma.Result<T, object, "findFirstOrThrow">` }],
23
+ parameters: [
24
+ { name: "record", type: `R` },
25
+ { name: "fieldName", type: "keyof R" },
26
+ {
27
+ name: "floatUpdate",
28
+ type: updateOperationType,
29
+ },
30
+ ],
31
+ statements: (writer) => {
32
+ writer
33
+ .writeLine(`if (floatUpdate === undefined) return;`)
34
+ .write(`if (typeof floatUpdate === "number"`)
35
+ .conditionalWrite(nullableFloatFieldPresent, ` || floatUpdate === null`)
36
+ .writeLine(`)`)
37
+ .block(() => {
38
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = floatUpdate;`);
39
+ })
40
+ .writeLine(`else if (floatUpdate.set !== undefined)`)
41
+ .block(() => {
42
+ writer.writeLine(`(record[fieldName] as ${fieldType}) = floatUpdate.set;`);
43
+ })
44
+ .writeLine(`else if (floatUpdate.increment !== undefined && record[fieldName] !== null)`)
45
+ .block(() => {
46
+ writer.writeLine(`(record[fieldName] as number) += floatUpdate.increment;`);
47
+ })
48
+ .writeLine(`else if (floatUpdate.decrement !== undefined && record[fieldName] !== null)`)
49
+ .block(() => {
50
+ writer.writeLine(`(record[fieldName] as number) -= floatUpdate.decrement;`);
51
+ })
52
+ .writeLine(`else if (floatUpdate.multiply !== undefined && record[fieldName] !== null)`)
53
+ .block(() => {
54
+ writer.writeLine(`(record[fieldName] as number) *= floatUpdate.multiply;`);
55
+ })
56
+ .writeLine(`else if (floatUpdate.divide !== undefined && record[fieldName] !== null)`)
57
+ .block(() => {
58
+ writer.writeLine(`(record[fieldName] as number) /= floatUpdate.divide;`);
59
+ });
60
+ },
61
+ });
62
+ }
63
+ //# sourceMappingURL=FloatHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/FloatHandler.ts"],"names":[],"mappings":";;AAGA,sDA6DC;AA7DD,SAAgB,qBAAqB,CAAC,SAAqB,EAAE,MAAwB;IACnF,MAAM,WAAW,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,OAAO,CAAC,CAAC;IACrG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAErC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC;IAC/C,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,MAAM,4BAA4B,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,yBAAyB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpF,IAAI,4BAA4B,EAAE,CAAC;QACjC,mBAAmB,IAAI,2CAA2C,CAAC;IACrE,CAAC;IACD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,mBAAmB,IAAI,0DAA0D,CAAC;QAClF,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,8CAA8C,EAAE,CAAC;QAC1G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,mBAAmB;aAC1B;SACF;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CAAC,wCAAwC,CAAC;iBACnD,KAAK,CAAC,qCAAqC,CAAC;iBAC5C,gBAAgB,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;iBACvE,SAAS,CAAC,GAAG,CAAC;iBACd,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,kBAAkB,CAAC,CAAC;YACzE,CAAC,CAAC;iBACD,SAAS,CAAC,yCAAyC,CAAC;iBACpD,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,sBAAsB,CAAC,CAAC;YAC7E,CAAC,CAAC;iBACD,SAAS,CAAC,6EAA6E,CAAC;iBACxF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;YAC9E,CAAC,CAAC;iBACD,SAAS,CAAC,6EAA6E,CAAC;iBACxF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;YAC9E,CAAC,CAAC;iBACD,SAAS,CAAC,4EAA4E,CAAC;iBACvF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,wDAAwD,CAAC,CAAC;YAC7E,CAAC,CAAC;iBACD,SAAS,CAAC,0EAA0E,CAAC;iBACrF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACP,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -36,9 +36,26 @@ function addIntUpdateHandler(utilsFile, models) {
36
36
  .writeLine(`)`)
37
37
  .block(() => {
38
38
  writer.writeLine(`(record[fieldName] as ${fieldType}) = intUpdate;`);
39
- });
40
- writer.writeLine(`else if (intUpdate.set !== undefined)`).block(() => {
39
+ })
40
+ .writeLine(`else if (intUpdate.set !== undefined)`)
41
+ .block(() => {
41
42
  writer.writeLine(`(record[fieldName] as ${fieldType}) = intUpdate.set;`);
43
+ })
44
+ .writeLine(`else if (intUpdate.increment !== undefined && record[fieldName] !== null)`)
45
+ .block(() => {
46
+ writer.writeLine(`(record[fieldName] as number) += intUpdate.increment;`);
47
+ })
48
+ .writeLine(`else if (intUpdate.decrement !== undefined && record[fieldName] !== null)`)
49
+ .block(() => {
50
+ writer.writeLine(`(record[fieldName] as number) -= intUpdate.decrement;`);
51
+ })
52
+ .writeLine(`else if (intUpdate.multiply !== undefined && record[fieldName] !== null)`)
53
+ .block(() => {
54
+ writer.writeLine(`(record[fieldName] as number) *= intUpdate.multiply;`);
55
+ })
56
+ .writeLine(`else if (intUpdate.divide !== undefined && record[fieldName] !== null)`)
57
+ .block(() => {
58
+ writer.writeLine(`(record[fieldName] as number) /= intUpdate.divide;`);
42
59
  });
43
60
  },
44
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"IntHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/IntHandler.ts"],"names":[],"mappings":";;AAKA,kDA4CC;AA5CD,SAAgB,mBAAmB,CAAC,SAAqB,EAAE,MAAwB;IACjF,MAAM,SAAS,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,KAAK,CAAC,CAAC;IACjG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEnC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC;IAC/C,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,MAAM,0BAA0B,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEhF,IAAI,0BAA0B,EAAE,CAAC;QAC/B,mBAAmB,IAAI,yCAAyC,CAAC;IACnE,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,mBAAmB,IAAI,wDAAwD,CAAC;QAChF,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,8CAA8C,EAAE,CAAC;QAC1G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,mBAAmB;aAC1B;SACF;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CAAC,sCAAsC,CAAC;iBACjD,KAAK,CAAC,mCAAmC,CAAC;iBAC1C,gBAAgB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;iBACnE,SAAS,CAAC,GAAG,CAAC;iBACd,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,gBAAgB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnE,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,oBAAoB,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"IntHandler.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/updateHandlers/IntHandler.ts"],"names":[],"mappings":";;AAGA,kDA6DC;AA7DD,SAAgB,mBAAmB,CAAC,SAAqB,EAAE,MAAwB;IACjF,MAAM,SAAS,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,KAAK,CAAC,CAAC;IACjG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEnC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC;IAC/C,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,MAAM,0BAA0B,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEhF,IAAI,0BAA0B,EAAE,CAAC;QAC/B,mBAAmB,IAAI,yCAAyC,CAAC;IACnE,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,mBAAmB,IAAI,wDAAwD,CAAC;QAChF,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,8CAA8C,EAAE,CAAC;QAC1G,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,mBAAmB;aAC1B;SACF;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM;iBACH,SAAS,CAAC,sCAAsC,CAAC;iBACjD,KAAK,CAAC,mCAAmC,CAAC;iBAC1C,gBAAgB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;iBACnE,SAAS,CAAC,GAAG,CAAC;iBACd,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,gBAAgB,CAAC,CAAC;YACvE,CAAC,CAAC;iBACD,SAAS,CAAC,uCAAuC,CAAC;iBAClD,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,SAAS,oBAAoB,CAAC,CAAC;YAC3E,CAAC,CAAC;iBACD,SAAS,CAAC,2EAA2E,CAAC;iBACtF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAC;YAC5E,CAAC,CAAC;iBACD,SAAS,CAAC,2EAA2E,CAAC;iBACtF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAC;YAC5E,CAAC,CAAC;iBACD,SAAS,CAAC,0EAA0E,CAAC;iBACrF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;YAC3E,CAAC,CAAC;iBACD,SAAS,CAAC,wEAAwE,CAAC;iBACnF,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACP,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -14,10 +14,21 @@ function addAggregateMethod(modelClass, model) {
14
14
  statements: (writer) => {
15
15
  addTxAndRecordSetup(writer, model);
16
16
  addCountHandling(writer);
17
- addAvgHandling(writer, model);
18
- addSumHandling(writer, model);
19
- addMinHandling(writer, model);
20
- addMaxHandling(writer, model);
17
+ const hasAvgOrSum = model.fields
18
+ .filter(({ isList }) => !isList)
19
+ .some((field) => field.type === "Float" || field.type === "Int" || field.type === "Decimal");
20
+ const hasMinMax = hasAvgOrSum ||
21
+ model.fields
22
+ .filter(({ isList }) => !isList)
23
+ .some((field) => field.type === "DateTime" || field.type === "String");
24
+ if (hasMinMax) {
25
+ addMinHandling(writer, model);
26
+ addMaxHandling(writer, model);
27
+ }
28
+ if (hasAvgOrSum) {
29
+ addAvgHandling(writer, model);
30
+ addSumHandling(writer, model);
31
+ }
21
32
  writer.writeLine(`return result as unknown as Prisma.Result<Prisma.${model.name}Delegate, Q, "aggregate">;`);
22
33
  },
23
34
  });
@@ -82,31 +93,119 @@ function addSumHandling(writer, model) {
82
93
  });
83
94
  }
84
95
  function addMinHandling(writer, model) {
96
+ const nonListFields = model.fields.filter(({ isList }) => !isList);
97
+ const numericFields = nonListFields
98
+ .filter(({ isList }) => !isList)
99
+ .filter((field) => field.type === "Float" || field.type === "Int" || field.type === "Decimal")
100
+ .map((field) => field.name);
101
+ const dateTimeFields = nonListFields.filter((field) => field.type === "DateTime").map((field) => field.name);
102
+ const stringFields = nonListFields.filter((field) => field.type === "String").map((field) => field.name);
103
+ const booleanFields = nonListFields.filter((field) => field.type === "Boolean").map((field) => field.name);
85
104
  writer.writeLine(`if (query?._min)`).block(() => {
86
- writer
87
- .writeLine(`const minResult = {} as Prisma.Result<Prisma.${model.name}Delegate, Q, "aggregate">["_min"];`)
88
- .writeLine(`for (const untypedField of Object.keys(query._min))`)
89
- .block(() => {
105
+ writer.writeLine(`const minResult = {} as Prisma.Result<Prisma.${model.name}Delegate, Q, "aggregate">["_min"];`);
106
+ if (numericFields.length) {
90
107
  writer
91
- .writeLine(`const field = untypedField as keyof (typeof records)[number];`)
92
- .writeLine(`const values = records.map((record) => record[field] as number);`)
93
- .writeLine(`(minResult[field as keyof typeof minResult] as number) = Math.min(...values);`);
94
- })
95
- .writeLine(`result._min = minResult;`);
108
+ .writeLine(`const numericFields = ${JSON.stringify(numericFields)} as const;`)
109
+ .writeLine(`for (const field of numericFields)`)
110
+ .block(() => {
111
+ writer
112
+ .writeLine(`if (!query._min[field]) continue;`)
113
+ .writeLine(`const values = records.map((record) => record[field] as number).filter((value) => value !== undefined);`)
114
+ .writeLine(`(minResult[field as keyof typeof minResult] as number) = Math.min(...values);`);
115
+ });
116
+ }
117
+ if (dateTimeFields.length) {
118
+ writer
119
+ .writeLine(`const dateTimeFields = ${JSON.stringify(dateTimeFields)} as const;`)
120
+ .writeLine(`for (const field of dateTimeFields)`)
121
+ .block(() => {
122
+ writer
123
+ .writeLine(`if (!query._min[field]) continue;`)
124
+ .writeLine(`const values = records.map((record) => record[field]?.getTime()).filter((value) => value !== undefined);`)
125
+ .writeLine(`(minResult[field as keyof typeof minResult] as Date) = new Date(Math.min(...values));`);
126
+ });
127
+ }
128
+ if (stringFields.length) {
129
+ writer
130
+ .writeLine(`const stringFields = ${JSON.stringify(stringFields)} as const;`)
131
+ .writeLine(`for (const field of stringFields)`)
132
+ .block(() => {
133
+ writer
134
+ .writeLine(`if (!query._min[field]) continue;`)
135
+ .writeLine(`const values = records.map((record) => record[field] as string).filter((value) => value !== undefined);`)
136
+ .writeLine(`(minResult[field as keyof typeof minResult] as string) = values.sort()[0];`);
137
+ });
138
+ }
139
+ if (booleanFields.length) {
140
+ writer
141
+ .writeLine(`const booleanFields = ${JSON.stringify(booleanFields)} as const;`)
142
+ .writeLine(`for (const field of booleanFields)`)
143
+ .block(() => {
144
+ writer
145
+ .writeLine(`if (!query._min[field]) continue;`)
146
+ .writeLine(`const values = records.map((record) => record[field] as boolean).filter((value) => value !== undefined);`)
147
+ .writeLine(`(minResult[field as keyof typeof minResult] as boolean) = values.includes(true);`);
148
+ });
149
+ }
150
+ writer.writeLine(`result._min = minResult;`);
96
151
  });
97
152
  }
98
153
  function addMaxHandling(writer, model) {
154
+ const nonListFields = model.fields.filter(({ isList }) => !isList);
155
+ const numericFields = nonListFields
156
+ .filter((field) => field.type === "Float" || field.type === "Int" || field.type === "Decimal")
157
+ .map((field) => field.name);
158
+ const dateTimeFields = nonListFields.filter((field) => field.type === "DateTime").map((field) => field.name);
159
+ const stringFields = nonListFields.filter((field) => field.type === "String").map((field) => field.name);
160
+ const booleanFields = nonListFields.filter((field) => field.type === "Boolean").map((field) => field.name);
99
161
  writer.writeLine(`if (query?._max)`).block(() => {
100
- writer
101
- .writeLine(`const maxResult = {} as Prisma.Result<Prisma.${model.name}Delegate, Q, "aggregate">["_max"];`)
102
- .writeLine(`for (const untypedField of Object.keys(query._max))`)
103
- .block(() => {
162
+ writer.writeLine(`const maxResult = {} as Prisma.Result<Prisma.${model.name}Delegate, Q, "aggregate">["_max"];`);
163
+ if (numericFields.length) {
104
164
  writer
105
- .writeLine(`const field = untypedField as keyof (typeof records)[number];`)
106
- .writeLine(`const values = records.map((record) => record[field] as number);`)
107
- .writeLine(`(maxResult[field as keyof typeof maxResult] as number) = Math.max(...values);`);
108
- })
109
- .writeLine(`result._max = maxResult;`);
165
+ .writeLine(`const numericFields = ${JSON.stringify(numericFields)} as const;`)
166
+ .writeLine(`for (const field of numericFields)`)
167
+ .block(() => {
168
+ writer
169
+ .writeLine(`if (!query._max[field]) continue;`)
170
+ .writeLine(`const values = records.map((record) => record[field] as number).filter((value) => value !== undefined);`)
171
+ .writeLine(`(maxResult[field as keyof typeof maxResult] as number) = Math.max(...values);`);
172
+ });
173
+ }
174
+ if (dateTimeFields.length) {
175
+ writer
176
+ .writeLine(`const dateTimeFields = ${JSON.stringify(dateTimeFields)} as const;`)
177
+ .writeLine(`for (const field of dateTimeFields)`)
178
+ .block(() => {
179
+ writer
180
+ .writeLine(`if (!query._max[field]) continue;`)
181
+ .writeLine(`const values = records.map((record) => record[field]?.getTime()).filter((value) => value !== undefined);`)
182
+ .writeLine(`(maxResult[field as keyof typeof maxResult] as Date) = new Date(Math.max(...values));`);
183
+ });
184
+ }
185
+ if (stringFields.length) {
186
+ writer
187
+ .writeLine(`const stringFields = ${JSON.stringify(stringFields)} as const;`)
188
+ .writeLine(`for (const field of stringFields)`)
189
+ .block(() => {
190
+ writer
191
+ .writeLine(`if (!query._max[field]) continue;`)
192
+ .writeLine(`const values = records.map((record) => record[field] as string).filter((value) => value !== undefined);`)
193
+ .writeLine(`(maxResult[field as keyof typeof maxResult] as string) = values.sort().reverse()[0];`);
194
+ });
195
+ }
196
+ if (booleanFields.length) {
197
+ writer
198
+ .writeLine(`const booleanFields = ${JSON.stringify(booleanFields)} as const;`)
199
+ .writeLine(`for (const field of booleanFields)`)
200
+ .block(() => {
201
+ writer
202
+ .writeLine(`if (!query._max[field]) continue;`)
203
+ .writeLine(`const values = records.map((record) => record[field] as boolean).filter((value) => value !== undefined);`)
204
+ .writeLine(`(maxResult[field as keyof typeof maxResult] as boolean) = values.includes(true);`);
205
+ })
206
+ .writeLine(`result._max = maxResult;`);
207
+ }
208
+ writer.writeLine(`result._max = maxResult;`);
110
209
  });
111
210
  }
112
211
  //# sourceMappingURL=aggregate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/aggregate.ts"],"names":[],"mappings":"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"}