@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.
- package/dist/fileCreators/idb-utils/comparator/genericComparator.js +36 -0
- package/dist/fileCreators/idb-utils/comparator/genericComparator.js.map +1 -1
- package/dist/fileCreators/idb-utils/create.js +11 -7
- package/dist/fileCreators/idb-utils/create.js.map +1 -1
- package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js +73 -0
- package/dist/fileCreators/idb-utils/updateHandlers/BigIntHandler.js.map +1 -0
- package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js +8 -2
- package/dist/fileCreators/idb-utils/updateHandlers/DateTimeHandler.js.map +1 -1
- package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js +63 -0
- package/dist/fileCreators/idb-utils/updateHandlers/FloatHandler.js.map +1 -0
- package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js +19 -2
- package/dist/fileCreators/idb-utils/updateHandlers/IntHandler.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js +121 -22
- package/dist/fileCreators/prisma-idb-client/classes/models/api/aggregate.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js +22 -19
- package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js +46 -16
- package/dist/fileCreators/prisma-idb-client/classes/models/api/update.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js +13 -9
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyRelations.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js +18 -20
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyWhereClause.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js +2 -2
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js +4 -3
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js.map +1 -1
- package/dist/helpers/utils.js +4 -0
- package/dist/helpers/utils.js.map +1 -1
- 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,
|
|
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":";;
|
|
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
|
|
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
|
|
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,
|
|
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
|
-
|
|
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":";;
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
|
92
|
-
.writeLine(`
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
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
|
|
106
|
-
.writeLine(`
|
|
107
|
-
.
|
|
108
|
-
|
|
109
|
-
|
|
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":";;AAGA,
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/aggregate.ts"],"names":[],"mappings":";;AAGA,gDAmCC;AAnCD,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,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE;SACzE;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,4BAA4B;QAClF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM;iBAC7B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;iBAC/B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC/F,MAAM,SAAS,GACb,WAAW;gBACX,KAAK,CAAC,MAAM;qBACT,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;qBAC/B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAE3E,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC9B,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC9B,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,oDAAoD,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;QAC/G,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,KAAY;IAChE,MAAM;SACH,SAAS,CAAC,4CAA4C,KAAK,CAAC,IAAI,kBAAkB,CAAC;SACnF,SAAS,CAAC,mEAAmE,CAAC;SAC9E,SAAS,CAAC,8CAA8C,KAAK,CAAC,IAAI,kCAAkC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAChD,MAAM;aACH,SAAS,CAAC,4BAA4B,CAAC;aACvC,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAClE,CAAC,CAAC;aACD,SAAS,CAAC,MAAM,CAAC;aACjB,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1E,MAAM;qBACH,SAAS,CAAC,oDAAoD,CAAC;qBAC/D,SAAS,CAAC,0BAA0B,CAAC;qBACrC,KAAK,CAAC,GAAG,EAAE;oBACV,MAAM;yBACH,SAAS,CAAC,uEAAuE,CAAC;yBAClF,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC,CAAC;qBACD,SAAS,CAAC,yDAAyD,CAAC;qBACpE,SAAS,CAAC,wEAAwE,CAAC;qBACnF,SAAS,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,KAAY;IAC3D,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9C,MAAM;aACH,SAAS,CAAC,gDAAgD,KAAK,CAAC,IAAI,oCAAoC,CAAC;aACzG,SAAS,CAAC,qDAAqD,CAAC;aAChE,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,+DAA+D,CAAC;iBAC1E,SAAS,CAAC,kEAAkE,CAAC;iBAC7E,SAAS,CACR,6GAA6G,CAC9G,CAAC;QACN,CAAC,CAAC;aACD,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,KAAY;IAC3D,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9C,MAAM;aACH,SAAS,CAAC,gDAAgD,KAAK,CAAC,IAAI,oCAAoC,CAAC;aACzG,SAAS,CAAC,qDAAqD,CAAC;aAChE,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,+DAA+D,CAAC;iBAC1E,SAAS,CAAC,kEAAkE,CAAC;iBAC7E,SAAS,CAAC,6FAA6F,CAAC,CAAC;QAC9G,CAAC,CAAC;aACD,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,KAAY;IAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAG,aAAa;SAChC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;SAC7F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7G,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzG,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3G,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9C,MAAM,CAAC,SAAS,CAAC,gDAAgD,KAAK,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACjH,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;iBACH,SAAS,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;iBAC7E,SAAS,CAAC,oCAAoC,CAAC;iBAC/C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,yGAAyG,CAC1G;qBACA,SAAS,CAAC,+EAA+E,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM;iBACH,SAAS,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;iBAC/E,SAAS,CAAC,qCAAqC,CAAC;iBAChD,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,0GAA0G,CAC3G;qBACA,SAAS,CAAC,uFAAuF,CAAC,CAAC;YACxG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM;iBACH,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;iBAC3E,SAAS,CAAC,mCAAmC,CAAC;iBAC9C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,yGAAyG,CAC1G;qBACA,SAAS,CAAC,4EAA4E,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;iBACH,SAAS,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;iBAC7E,SAAS,CAAC,oCAAoC,CAAC;iBAC/C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,0GAA0G,CAC3G;qBACA,SAAS,CAAC,kFAAkF,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,KAAY;IAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAG,aAAa;SAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;SAC7F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7G,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzG,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3G,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9C,MAAM,CAAC,SAAS,CAAC,gDAAgD,KAAK,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACjH,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;iBACH,SAAS,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;iBAC7E,SAAS,CAAC,oCAAoC,CAAC;iBAC/C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,yGAAyG,CAC1G;qBACA,SAAS,CAAC,+EAA+E,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM;iBACH,SAAS,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;iBAC/E,SAAS,CAAC,qCAAqC,CAAC;iBAChD,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,0GAA0G,CAC3G;qBACA,SAAS,CAAC,uFAAuF,CAAC,CAAC;YACxG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM;iBACH,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;iBAC3E,SAAS,CAAC,mCAAmC,CAAC;iBAC9C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,yGAAyG,CAC1G;qBACA,SAAS,CAAC,sFAAsF,CAAC,CAAC;YACvG,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM;iBACH,SAAS,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;iBAC7E,SAAS,CAAC,oCAAoC,CAAC;iBAC/C,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM;qBACH,SAAS,CAAC,mCAAmC,CAAC;qBAC9C,SAAS,CACR,0GAA0G,CAC3G;qBACA,SAAS,CAAC,kFAAkF,CAAC,CAAC;YACnG,CAAC,CAAC;iBACD,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC"}
|