@prisma-idb/idb-client-generator 0.3.1 → 0.5.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.
- package/dist/fileCreators/idb-utils/comparator/genericComparator.js +56 -0
- package/dist/fileCreators/idb-utils/comparator/genericComparator.js.map +1 -0
- package/dist/fileCreators/idb-utils/create.js +2 -0
- package/dist/fileCreators/idb-utils/create.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js +10 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/count.js +2 -2
- package/dist/fileCreators/prisma-idb-client/classes/models/api/count.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/delete.js +57 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/api/delete.js.map +1 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/api/deleteMany.js +42 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/api/deleteMany.js.map +1 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js +2 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyOrderByClause.js +62 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_applyOrderByClause.js.map +1 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForFind.js +18 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForFind.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js +69 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.js.map +1 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveSortOrder.js +40 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_resolveSortOrder.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addGenericComparator = addGenericComparator;
|
|
4
|
+
function addGenericComparator(utilsFile) {
|
|
5
|
+
utilsFile.addFunction({
|
|
6
|
+
name: "genericComparator",
|
|
7
|
+
isExported: true,
|
|
8
|
+
parameters: [
|
|
9
|
+
{ name: "a", type: "unknown" },
|
|
10
|
+
{ name: "b", type: "unknown" },
|
|
11
|
+
{ name: "sortOrder", type: `Prisma.SortOrder | Prisma.SortOrderInput`, initializer: `"asc"` },
|
|
12
|
+
],
|
|
13
|
+
returnType: "number",
|
|
14
|
+
statements: (writer) => {
|
|
15
|
+
handleNullsSorting(writer);
|
|
16
|
+
handleMultiplierAndReturnValueInit(writer);
|
|
17
|
+
handleStringComparison(writer);
|
|
18
|
+
handleNumberComparison(writer);
|
|
19
|
+
handleComparisonTypeErrorAndReturn(writer);
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function handleNullsSorting(writer) {
|
|
24
|
+
writer.writeLine(`if (typeof sortOrder !== "string" && sortOrder.nulls)`).block(() => {
|
|
25
|
+
writer
|
|
26
|
+
.writeLine(`const nullMultiplier = sortOrder.nulls === "first" ? -1 : 1;`)
|
|
27
|
+
.blankLine()
|
|
28
|
+
.writeLine(`if (a === null && b === null) return 0;`)
|
|
29
|
+
.writeLine(`if (a === null || b === null) return (a === null ? 1 : -1) * nullMultiplier;`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function handleMultiplierAndReturnValueInit(writer) {
|
|
33
|
+
writer
|
|
34
|
+
.writeLine(`const multiplier = typeof sortOrder === "string" ? (sortOrder === "asc" ? 1 : -1) : sortOrder.sort === "asc" ? 1 : -1;`)
|
|
35
|
+
.writeLine(`let returnValue: number | undefined;`)
|
|
36
|
+
.blankLine();
|
|
37
|
+
}
|
|
38
|
+
function handleStringComparison(writer) {
|
|
39
|
+
writer.writeLine(`if (typeof a === "string" && typeof b === "string")`).block(() => {
|
|
40
|
+
writer.writeLine(`returnValue = a.localeCompare(b);`);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function handleNumberComparison(writer) {
|
|
44
|
+
writer.writeLine(`if (typeof a === "number" && typeof b === "number")`).block(() => {
|
|
45
|
+
writer.writeLine(`returnValue = a - b;`);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function handleComparisonTypeErrorAndReturn(writer) {
|
|
49
|
+
writer
|
|
50
|
+
.writeLine(`if (returnValue === undefined)`)
|
|
51
|
+
.block(() => {
|
|
52
|
+
writer.writeLine("throw new Error(`Comparison of type: ${typeof a} not yet supported`);");
|
|
53
|
+
})
|
|
54
|
+
.writeLine(`return returnValue * multiplier;`);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=genericComparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genericComparator.js","sourceRoot":"","sources":["../../../../src/fileCreators/idb-utils/comparator/genericComparator.ts"],"names":[],"mappings":";;AAEA,oDAqBC;AArBD,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,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,0CAA0C,EAAE,WAAW,EAAE,OAAO,EAAE;SAC9F;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"}
|
|
@@ -17,6 +17,7 @@ const DateTimeHandler_1 = require("./updateHandlers/DateTimeHandler");
|
|
|
17
17
|
const IntHandler_1 = require("./updateHandlers/IntHandler");
|
|
18
18
|
const ScalarListHandler_1 = require("./updateHandlers/ScalarListHandler");
|
|
19
19
|
const StringHandler_1 = require("./updateHandlers/StringHandler");
|
|
20
|
+
const genericComparator_1 = require("./comparator/genericComparator");
|
|
20
21
|
function createUtilsFile(idbUtilsFile, models) {
|
|
21
22
|
idbUtilsFile.addImportDeclarations([
|
|
22
23
|
{ moduleSpecifier: "idb", isTypeOnly: true, namedImports: ["IDBPTransaction", "StoreNames"] },
|
|
@@ -66,5 +67,6 @@ function createUtilsFile(idbUtilsFile, models) {
|
|
|
66
67
|
(0, BytesHandler_1.addBytesUpdateHandler)(idbUtilsFile, models);
|
|
67
68
|
(0, IntHandler_1.addIntUpdateHandler)(idbUtilsFile, models);
|
|
68
69
|
(0, ScalarListHandler_1.addScalarListUpdateHandler)(idbUtilsFile, models);
|
|
70
|
+
(0, genericComparator_1.addGenericComparator)(idbUtilsFile);
|
|
69
71
|
}
|
|
70
72
|
//# sourceMappingURL=create.js.map
|
|
@@ -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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"}
|
|
@@ -19,6 +19,11 @@ const _getNeededStoresForCreate_1 = require("./utils/_getNeededStoresForCreate")
|
|
|
19
19
|
const _getNeededStoresForFind_1 = require("./utils/_getNeededStoresForFind");
|
|
20
20
|
const _removeNestedCreateData_1 = require("./utils/_removeNestedCreateData");
|
|
21
21
|
const _getNeededStoresForWhere_1 = require("./utils/_getNeededStoresForWhere");
|
|
22
|
+
const delete_1 = require("./api/delete");
|
|
23
|
+
const deleteMany_1 = require("./api/deleteMany");
|
|
24
|
+
const _applyOrderByClause_1 = require("./utils/_applyOrderByClause");
|
|
25
|
+
const _resolveOrderByKey_1 = require("./utils/_resolveOrderByKey");
|
|
26
|
+
const _resolveSortOrder_1 = require("./utils/_resolveSortOrder");
|
|
22
27
|
function addIDBModelClass(file, model, models) {
|
|
23
28
|
const modelClass = file.addClass({
|
|
24
29
|
name: `${model.name}IDBClass`,
|
|
@@ -27,6 +32,9 @@ function addIDBModelClass(file, model, models) {
|
|
|
27
32
|
(0, _applyWhereClause_1.addApplyWhereClause)(modelClass, model, models);
|
|
28
33
|
(0, _applySelectClause_1.addApplySelectClause)(modelClass, model);
|
|
29
34
|
(0, _applyRelations_1.addApplyRelations)(modelClass, model, models);
|
|
35
|
+
(0, _applyOrderByClause_1.addApplyOrderByClause)(modelClass, model);
|
|
36
|
+
(0, _resolveOrderByKey_1.addResolveOrderByKey)(modelClass, model, models);
|
|
37
|
+
(0, _resolveSortOrder_1.addResolveSortOrder)(modelClass, model);
|
|
30
38
|
(0, _fillDefaults_1.addFillDefaultsFunction)(modelClass, model);
|
|
31
39
|
(0, _getNeededStoresForWhere_1.addGetNeededStoresForWhere)(modelClass, model);
|
|
32
40
|
(0, _getNeededStoresForFind_1.addGetNeededStoresForFind)(modelClass, model);
|
|
@@ -41,6 +49,8 @@ function addIDBModelClass(file, model, models) {
|
|
|
41
49
|
(0, create_1.addCreateMethod)(modelClass, model, models);
|
|
42
50
|
(0, createMany_1.addCreateManyMethod)(modelClass, model);
|
|
43
51
|
(0, createManyAndReturn_1.addCreateManyAndReturn)(modelClass, model);
|
|
52
|
+
(0, delete_1.addDeleteMethod)(modelClass, model, models);
|
|
53
|
+
(0, deleteMany_1.addDeleteManyMethod)(modelClass, model, models);
|
|
44
54
|
(0, update_1.addUpdateMethod)(modelClass, model);
|
|
45
55
|
}
|
|
46
56
|
//# sourceMappingURL=IDBModelClass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDBModelClass.js","sourceRoot":"","sources":["../../../../../src/fileCreators/prisma-idb-client/classes/models/IDBModelClass.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"IDBModelClass.js","sourceRoot":"","sources":["../../../../../src/fileCreators/prisma-idb-client/classes/models/IDBModelClass.ts"],"names":[],"mappings":";;AA0BA,4CAiCC;AAzDD,uCAA6C;AAC7C,yCAA+C;AAC/C,iDAAuD;AACvD,mEAAmE;AACnE,+CAAqD;AACrD,6DAA6D;AAC7D,6CAAmD;AACnD,iDAAuD;AACvD,+DAA+D;AAC/D,yCAA+C;AAC/C,6DAA4D;AAC5D,mEAAkE;AAClE,iEAAgE;AAChE,yDAAgE;AAChE,iFAAgF;AAChF,6EAA4E;AAC5E,6EAAkF;AAClF,+EAA8E;AAC9E,yCAA+C;AAC/C,iDAAuD;AACvD,qEAAoE;AACpE,mEAAkE;AAClE,iEAAgE;AAEhE,SAAgB,gBAAgB,CAAC,IAAgB,EAAE,KAAY,EAAE,MAAwB;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,UAAU;QAC7B,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAC;IAEH,IAAA,uCAAmB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAA,yCAAoB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,IAAA,mCAAiB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAA,2CAAqB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzC,IAAA,yCAAoB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,IAAA,uCAAmB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,IAAA,uCAAuB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAA,qDAA0B,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAA,mDAAyB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAA,uDAA2B,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAA,yDAA+B,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEnD,IAAA,4BAAiB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrC,IAAA,8BAAkB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtC,IAAA,sCAAmB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,IAAA,gCAAmB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,IAAA,wCAAoB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,IAAA,sBAAc,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElC,IAAA,wBAAe,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAA,gCAAmB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,IAAA,4CAAsB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAA,wBAAe,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAA,gCAAmB,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAA,wBAAe,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -21,8 +21,8 @@ function addCountMethod(modelClass, model) {
|
|
|
21
21
|
function handleWithoutSelect(writer, model) {
|
|
22
22
|
writer.writeLine(`if (!query?.select || query.select === true)`).block(() => {
|
|
23
23
|
writer
|
|
24
|
-
.writeLine(`const
|
|
25
|
-
.writeLine(`return
|
|
24
|
+
.writeLine(`const records = await this.findMany({ where: query?.where }, tx);`)
|
|
25
|
+
.writeLine(`return records.length as Prisma.Result<Prisma.${model.name}Delegate, Q, "count">;`);
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
function handleWithSelect(writer, model) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/count.ts"],"names":[],"mappings":";;AAGA,wCAgBC;AAhBD,SAAgB,cAAc,CAAC,UAA4B,EAAE,KAAY;IACvE,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACjG,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,wBAAwB;QAC9E,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,CAAC,SAAS,CAAC,4CAA4C,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC3F,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,KAAY;IAChE,MAAM,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC1E,MAAM;aACH,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/count.ts"],"names":[],"mappings":";;AAGA,wCAgBC;AAhBD,SAAgB,cAAc,CAAC,UAA4B,EAAE,KAAY;IACvE,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACjG,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,wBAAwB;QAC9E,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,CAAC,SAAS,CAAC,4CAA4C,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC3F,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,KAAY;IAChE,MAAM,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC1E,MAAM;aACH,SAAS,CAAC,mEAAmE,CAAC;aAC9E,SAAS,CAAC,iDAAiD,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB,EAAE,KAAY;IAC7D,MAAM;SACH,SAAS,CAAC,6CAA6C,KAAK,CAAC,IAAI,yCAAyC,CAAC;SAC3G,SAAS,CAAC,8CAA8C,CAAC;SACzD,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,oDAAoD,CAAC;aAC/D,SAAS,CAAC,0BAA0B,CAAC;aACrC,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,8EAA8E,CAAC;iBACzF,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC,CAAC;aACD,SAAS,CACR,qGAAqG,CACtG,CAAC;IACN,CAAC,CAAC;SACD,SAAS,CAAC,kEAAkE,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDeleteMethod = addDeleteMethod;
|
|
4
|
+
const utils_1 = require("../../../../../helpers/utils");
|
|
5
|
+
function addDeleteMethod(modelClass, model, models) {
|
|
6
|
+
modelClass.addMethod({
|
|
7
|
+
name: "delete",
|
|
8
|
+
isAsync: true,
|
|
9
|
+
typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'delete'>` }],
|
|
10
|
+
parameters: [
|
|
11
|
+
{ name: "query", type: "Q" },
|
|
12
|
+
{
|
|
13
|
+
name: "tx",
|
|
14
|
+
hasQuestionToken: true,
|
|
15
|
+
type: "IDBUtils.ReadwriteTransactionType",
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'delete'>>`,
|
|
19
|
+
statements: (writer) => {
|
|
20
|
+
createTxAndGetRecord(writer, model, models);
|
|
21
|
+
handleCascadeDeletes(writer, model, models);
|
|
22
|
+
deleteAndReturnRecord(writer, model);
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function createTxAndGetRecord(writer, model, models) {
|
|
27
|
+
writer.writeLine(`const storesNeeded = this._getNeededStoresForFind(query);`);
|
|
28
|
+
const cascadingModels = models.filter((_model) => _model.fields.some((field) => field.relationOnDelete === "Cascade" && field.type === model.name));
|
|
29
|
+
for (const cascadeModel of cascadingModels) {
|
|
30
|
+
writer.writeLine(`storesNeeded.add("${cascadeModel.name}")`);
|
|
31
|
+
}
|
|
32
|
+
writer
|
|
33
|
+
.writeLine(`tx = tx ?? this.client._db.transaction(Array.from(storesNeeded), "readwrite");`)
|
|
34
|
+
.writeLine(`const record = await this.findUnique(query, tx);`)
|
|
35
|
+
.writeLine(`if (!record) throw new Error("Record not found");`);
|
|
36
|
+
}
|
|
37
|
+
function handleCascadeDeletes(writer, model, models) {
|
|
38
|
+
const cascadingModels = models.filter((_model) => _model.fields.some((field) => field.relationOnDelete === "Cascade" && field.type === model.name));
|
|
39
|
+
for (const cascadeModel of cascadingModels) {
|
|
40
|
+
const cascadingFks = cascadeModel.fields.filter((field) => field.relationOnDelete === "Cascade" && field.type === model.name);
|
|
41
|
+
for (const cascadingFk of cascadingFks) {
|
|
42
|
+
writer
|
|
43
|
+
.write(`await this.client.${(0, utils_1.toCamelCase)(cascadeModel.name)}.deleteMany(`)
|
|
44
|
+
.block(() => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const fk = (_a = cascadingFk.relationFromFields) === null || _a === void 0 ? void 0 : _a.at(0);
|
|
47
|
+
const pk = (_b = cascadingFk.relationToFields) === null || _b === void 0 ? void 0 : _b.at(0);
|
|
48
|
+
writer.write(`where: { ${fk}: record.${pk} }`);
|
|
49
|
+
})
|
|
50
|
+
.writeLine(`, tx)`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function deleteAndReturnRecord(writer, model) {
|
|
55
|
+
writer.writeLine(`await tx.objectStore("${model.name}").delete([record.id]);`).writeLine(`return record;`);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDeleteManyMethod = addDeleteManyMethod;
|
|
4
|
+
const utils_1 = require("../../../../../helpers/utils");
|
|
5
|
+
function addDeleteManyMethod(modelClass, model, models) {
|
|
6
|
+
modelClass.addMethod({
|
|
7
|
+
name: "deleteMany",
|
|
8
|
+
isAsync: true,
|
|
9
|
+
typeParameters: [{ name: "Q", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'deleteMany'>` }],
|
|
10
|
+
parameters: [
|
|
11
|
+
{ name: "query", type: "Q" },
|
|
12
|
+
{
|
|
13
|
+
name: "tx",
|
|
14
|
+
hasQuestionToken: true,
|
|
15
|
+
type: "IDBUtils.ReadwriteTransactionType",
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
returnType: `Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, 'deleteMany'>>`,
|
|
19
|
+
statements: (writer) => {
|
|
20
|
+
createTxAndGetRecord(writer, model, models);
|
|
21
|
+
deleteRecords(writer, model);
|
|
22
|
+
writer.writeLine(`return { count: records.length };`);
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function createTxAndGetRecord(writer, model, models) {
|
|
27
|
+
writer.writeLine(`const storesNeeded = this._getNeededStoresForFind(query);`);
|
|
28
|
+
const cascadingModels = models.filter((_model) => _model.fields.some((field) => field.relationOnDelete === "Cascade" && field.type === model.name));
|
|
29
|
+
for (const cascadeModel of cascadingModels) {
|
|
30
|
+
writer.writeLine(`storesNeeded.add("${cascadeModel.name}")`);
|
|
31
|
+
}
|
|
32
|
+
writer
|
|
33
|
+
.writeLine(`tx = tx ?? this.client._db.transaction(Array.from(storesNeeded), "readwrite");`)
|
|
34
|
+
.writeLine(`const records = await this.findMany(query, tx);`);
|
|
35
|
+
}
|
|
36
|
+
function deleteRecords(writer, model) {
|
|
37
|
+
const pkOfModel = JSON.parse((0, utils_1.getUniqueIdentifiers)(model)[0].keyPath)[0];
|
|
38
|
+
writer.writeLine(`for (const record of records)`).block(() => {
|
|
39
|
+
writer.writeLine(`await this.delete({ where: { ${pkOfModel}: record.${pkOfModel} } }, tx);`);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=deleteMany.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/deleteMany.ts"],"names":[],"mappings":";;AAIA,kDAoBC;AAtBD,wDAAoE;AAEpE,SAAgB,mBAAmB,CAAC,UAA4B,EAAE,KAAY,EAAE,MAAwB;IACtG,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,yBAAyB,EAAE,CAAC;QACtG,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YAC5B;gBACE,IAAI,EAAE,IAAI;gBACV,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,mCAAmC;aAC1C;SACF;QACD,UAAU,EAAE,gCAAgC,KAAK,CAAC,IAAI,6BAA6B;QACnF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5C,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACxD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB,EAAE,KAAY,EAAE,MAAwB;IAC3F,MAAM,CAAC,SAAS,CAAC,2DAA2D,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CACjG,CAAC;IACF,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,qBAAqB,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM;SACH,SAAS,CAAC,gFAAgF,CAAC;SAC3F,SAAS,CAAC,iDAAiD,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB,EAAE,KAAY;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3D,MAAM,CAAC,SAAS,CAAC,gCAAgC,SAAS,YAAY,SAAS,YAAY,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -26,7 +26,8 @@ function addFindManyMethod(modelClass, model) {
|
|
|
26
26
|
function getRecords(writer, model) {
|
|
27
27
|
writer
|
|
28
28
|
.writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
|
|
29
|
-
.writeLine(`const records = await this._applyWhereClause(await tx.objectStore("${model.name}").getAll(), query?.where, tx);`)
|
|
29
|
+
.writeLine(`const records = await this._applyWhereClause(await tx.objectStore("${model.name}").getAll(), query?.where, tx);`)
|
|
30
|
+
.writeLine(`await this._applyOrderByClause(records, query?.orderBy, tx);`);
|
|
30
31
|
}
|
|
31
32
|
function applyRelationsToRecords(writer, model) {
|
|
32
33
|
writer
|
|
@@ -1 +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,0BAA0B;aACjC;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,CACR,sEAAsE,KAAK,CAAC,IAAI,iCAAiC,CAClH,CAAC;
|
|
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,0BAA0B;aACjC;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,CACR,sEAAsE,KAAK,CAAC,IAAI,iCAAiC,CAClH;SACA,SAAS,CAAC,8DAA8D,CAAC,CAAC;AAC/E,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,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addApplyOrderByClause = addApplyOrderByClause;
|
|
4
|
+
function addApplyOrderByClause(modelClass, model) {
|
|
5
|
+
modelClass.addMethod({
|
|
6
|
+
name: "_applyOrderByClause",
|
|
7
|
+
isAsync: true,
|
|
8
|
+
typeParameters: [
|
|
9
|
+
{ name: "O", constraint: `Prisma.Args<Prisma.${model.name}Delegate, 'findMany'>['orderBy']` },
|
|
10
|
+
{ name: "R", constraint: `Prisma.Result<Prisma.${model.name}Delegate, object, "findFirstOrThrow">` },
|
|
11
|
+
],
|
|
12
|
+
parameters: [
|
|
13
|
+
{ name: "records", type: `R[]` },
|
|
14
|
+
{ name: "orderByClause", type: "O" },
|
|
15
|
+
{ name: "tx", type: "IDBUtils.TransactionType" },
|
|
16
|
+
],
|
|
17
|
+
returnType: `Promise<void>`,
|
|
18
|
+
statements: (writer) => {
|
|
19
|
+
addEarlyExitAndArrayDeclaration(writer);
|
|
20
|
+
addKeyedRecordsCreation(writer);
|
|
21
|
+
addKeyedRecordsSorter(writer);
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function addEarlyExitAndArrayDeclaration(writer) {
|
|
26
|
+
writer
|
|
27
|
+
.writeLine(`if (orderByClause === undefined) return;`)
|
|
28
|
+
.writeLine(`const orderByClauses = IDBUtils.convertToArray(orderByClause);`);
|
|
29
|
+
}
|
|
30
|
+
function addKeyedRecordsCreation(writer) {
|
|
31
|
+
writer
|
|
32
|
+
.writeLine(`const indexedKeys = await Promise.all(`)
|
|
33
|
+
.writeLine(`records.map(async (record) => `)
|
|
34
|
+
.block(() => {
|
|
35
|
+
writer
|
|
36
|
+
.writeLine(`const keys = await Promise.all(`)
|
|
37
|
+
.writeLine(`orderByClauses.map(async (clause) => await this._resolveOrderByKey(record, clause, tx)),`)
|
|
38
|
+
.writeLine(`);`)
|
|
39
|
+
.writeLine(`return { keys, record };`);
|
|
40
|
+
})
|
|
41
|
+
.writeLine(`));`);
|
|
42
|
+
}
|
|
43
|
+
function addKeyedRecordsSorter(writer) {
|
|
44
|
+
writer
|
|
45
|
+
.writeLine(`indexedKeys.sort((a, b) => `)
|
|
46
|
+
.block(() => {
|
|
47
|
+
writer
|
|
48
|
+
.writeLine(`for (let i = 0; i < orderByClauses.length; i++)`)
|
|
49
|
+
.block(() => {
|
|
50
|
+
writer
|
|
51
|
+
.writeLine(`const clause = orderByClauses[i];`)
|
|
52
|
+
.writeLine(`const comparison = IDBUtils.genericComparator(a.keys[i], b.keys[i], this._resolveSortOrder(clause));`)
|
|
53
|
+
.writeLine(`if (comparison !== 0) return comparison;`);
|
|
54
|
+
})
|
|
55
|
+
.writeLine(`return 0;`);
|
|
56
|
+
})
|
|
57
|
+
.writeLine(`);`);
|
|
58
|
+
writer.writeLine(`for (let i = 0; i < records.length; i++)`).block(() => {
|
|
59
|
+
writer.writeLine(`records[i] = indexedKeys[i].record;`);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=_applyOrderByClause.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_applyOrderByClause.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_applyOrderByClause.ts"],"names":[],"mappings":";;AAGA,sDAoBC;AApBD,SAAgB,qBAAqB,CAAC,UAA4B,EAAE,KAAY;IAC9E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,IAAI;QACb,cAAc,EAAE;YACd,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,IAAI,kCAAkC,EAAE;YAC7F,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,wBAAwB,KAAK,CAAC,IAAI,uCAAuC,EAAE;SACrG;QACD,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAChC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE;SACjD;QACD,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,+BAA+B,CAAC,MAAM,CAAC,CAAC;YACxC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAChC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAuB;IAC9D,MAAM;SACH,SAAS,CAAC,0CAA0C,CAAC;SACrD,SAAS,CAAC,gEAAgE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAuB;IACtD,MAAM;SACH,SAAS,CAAC,wCAAwC,CAAC;SACnD,SAAS,CAAC,gCAAgC,CAAC;SAC3C,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,iCAAiC,CAAC;aAC5C,SAAS,CAAC,0FAA0F,CAAC;aACrG,SAAS,CAAC,IAAI,CAAC;aACf,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,SAAS,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAuB;IACpD,MAAM;SACH,SAAS,CAAC,6BAA6B,CAAC;SACxC,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,iDAAiD,CAAC;aAC5D,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,mCAAmC,CAAC;iBAC9C,SAAS,CACR,sGAAsG,CACvG;iBACA,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC3D,CAAC,CAAC;aACD,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;SACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACtE,MAAM,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -13,6 +13,7 @@ function addGetNeededStoresForFind(modelClass, model) {
|
|
|
13
13
|
.writeLine(`const neededStores: Set<StoreNames<PrismaIDBSchema>> = new Set();`)
|
|
14
14
|
.writeLine(`neededStores.add("${model.name}");`)
|
|
15
15
|
.writeLine(`this._getNeededStoresForWhere(query?.where, neededStores);`);
|
|
16
|
+
processOrderByInQuery(writer, model);
|
|
16
17
|
processRelationsInQuery(writer, model);
|
|
17
18
|
writer.writeLine("return neededStores;");
|
|
18
19
|
},
|
|
@@ -35,4 +36,21 @@ function processRelationsInQuery(writer, model) {
|
|
|
35
36
|
});
|
|
36
37
|
});
|
|
37
38
|
}
|
|
39
|
+
function processOrderByInQuery(writer, model) {
|
|
40
|
+
const relationFields = model.fields.filter(({ kind }) => kind === "object");
|
|
41
|
+
writer.writeLine(`if (query?.orderBy)`).block(() => {
|
|
42
|
+
writer.writeLine(`const orderBy = IDBUtils.convertToArray(query.orderBy);`);
|
|
43
|
+
for (const field of relationFields) {
|
|
44
|
+
writer
|
|
45
|
+
.writeLine(`const orderBy_${field.name} = orderBy.find((clause) => clause.${field.name});`)
|
|
46
|
+
.writeLine(`if (orderBy_${field.name})`)
|
|
47
|
+
.block(() => {
|
|
48
|
+
writer
|
|
49
|
+
.writeLine(`this.client.${(0, utils_1.toCamelCase)(field.type)}`)
|
|
50
|
+
.writeLine(`._getNeededStoresForFind({ orderBy: orderBy_${field.name} })`)
|
|
51
|
+
.writeLine(`.forEach((storeName) => neededStores.add(storeName));`);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
38
56
|
//# sourceMappingURL=_getNeededStoresForFind.js.map
|
package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForFind.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_getNeededStoresForFind.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForFind.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"_getNeededStoresForFind.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_getNeededStoresForFind.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addResolveOrderByKey = addResolveOrderByKey;
|
|
4
|
+
const utils_1 = require("../../../../../helpers/utils");
|
|
5
|
+
function addResolveOrderByKey(modelClass, model, models) {
|
|
6
|
+
modelClass.addMethod({
|
|
7
|
+
name: "_resolveOrderByKey",
|
|
8
|
+
isAsync: true,
|
|
9
|
+
parameters: [
|
|
10
|
+
{ name: "record", type: `Prisma.Result<Prisma.${model.name}Delegate, object, "findFirstOrThrow">` },
|
|
11
|
+
{ name: "orderByInput", type: `Prisma.${model.name}OrderByWithRelationInput` },
|
|
12
|
+
{ name: "tx", type: "IDBUtils.TransactionType" },
|
|
13
|
+
],
|
|
14
|
+
returnType: "Promise<unknown>",
|
|
15
|
+
statements: (writer) => {
|
|
16
|
+
addScalarResolution(writer, model);
|
|
17
|
+
addOneToOneResolution(writer, model, models);
|
|
18
|
+
addOneToManyResolution(writer, model, models);
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function addScalarResolution(writer, model) {
|
|
23
|
+
const scalarFields = model.fields.filter(({ kind }) => kind !== "object");
|
|
24
|
+
for (const field of scalarFields) {
|
|
25
|
+
writer.writeLine(`if (orderByInput.${field.name})`).block(() => {
|
|
26
|
+
writer.writeLine(`return record.${field.name};`);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function addOneToOneResolution(writer, model, models) {
|
|
31
|
+
var _a;
|
|
32
|
+
const oneToOneRelationFields = model.fields.filter(({ kind, isList }) => kind === "object" && !isList);
|
|
33
|
+
for (const field of oneToOneRelationFields) {
|
|
34
|
+
let otherRecordField, recordField;
|
|
35
|
+
if ((_a = field.relationFromFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
36
|
+
otherRecordField = field.relationToFields.at(0);
|
|
37
|
+
recordField = field.relationFromFields.at(0);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const otherField = models
|
|
41
|
+
.flatMap(({ fields }) => fields)
|
|
42
|
+
.find((_field) => _field !== field && _field.relationName === field.relationName);
|
|
43
|
+
otherRecordField = otherField.relationFromFields.at(0);
|
|
44
|
+
recordField = otherField.relationToFields.at(0);
|
|
45
|
+
}
|
|
46
|
+
const nestedRecordQuery = `await this.client.${(0, utils_1.toCamelCase)(field.type)}.findFirstOrThrow({ where: { ${otherRecordField}: record.${recordField} } })`;
|
|
47
|
+
let returnValue = `await this.client.${(0, utils_1.toCamelCase)(field.type)}._resolveOrderByKey(${nestedRecordQuery}, orderByInput.${field.name}, tx);`;
|
|
48
|
+
if (!field.isRequired) {
|
|
49
|
+
returnValue = `record.${recordField} === null ? null : ` + returnValue;
|
|
50
|
+
}
|
|
51
|
+
writer.writeLine(`if (orderByInput.${field.name})`).block(() => {
|
|
52
|
+
writer.writeLine(`return ${returnValue}`);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function addOneToManyResolution(writer, model, models) {
|
|
57
|
+
const oneToManyRelationFields = model.fields.filter(({ kind, isList }) => kind === "object" && isList);
|
|
58
|
+
for (const field of oneToManyRelationFields) {
|
|
59
|
+
const otherField = models
|
|
60
|
+
.flatMap(({ fields }) => fields)
|
|
61
|
+
.find((_field) => _field !== field && _field.relationName === field.relationName);
|
|
62
|
+
const pkOfOther = otherField.relationFromFields.at(0);
|
|
63
|
+
const fkToOther = otherField.relationToFields.at(0);
|
|
64
|
+
writer.writeLine(`if (orderByInput.${field.name})`).block(() => {
|
|
65
|
+
writer.writeLine(`return await this.client.${(0, utils_1.toCamelCase)(field.type)}.count({ where: { ${pkOfOther}: record.${fkToOther} } }, tx);`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=_resolveOrderByKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_resolveOrderByKey.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_resolveOrderByKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addResolveSortOrder = addResolveSortOrder;
|
|
4
|
+
const utils_1 = require("../../../../../helpers/utils");
|
|
5
|
+
function addResolveSortOrder(modelClass, model) {
|
|
6
|
+
modelClass.addMethod({
|
|
7
|
+
name: "_resolveSortOrder",
|
|
8
|
+
parameters: [{ name: "orderByInput", type: `Prisma.${model.name}OrderByWithRelationInput` }],
|
|
9
|
+
returnType: "Prisma.SortOrder | Prisma.SortOrderInput",
|
|
10
|
+
statements: (writer) => {
|
|
11
|
+
addScalarResolution(writer, model);
|
|
12
|
+
addOneToOneRelationResolution(writer, model);
|
|
13
|
+
addOneToManyRelationResolution(writer, model);
|
|
14
|
+
writer.writeLine(`throw new Error("No field in orderBy clause");`);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function addScalarResolution(writer, model) {
|
|
19
|
+
const scalarFields = model.fields.filter(({ kind }) => kind !== "object");
|
|
20
|
+
for (const field of scalarFields) {
|
|
21
|
+
writer.writeLine(`if (orderByInput.${field.name}) return orderByInput.${field.name}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function addOneToOneRelationResolution(writer, model) {
|
|
25
|
+
const relationFields = model.fields.filter(({ kind, isList }) => kind === "object" && !isList);
|
|
26
|
+
for (const field of relationFields) {
|
|
27
|
+
writer.writeLine(`if (orderByInput.${field.name})`).block(() => {
|
|
28
|
+
writer.writeLine(`return this.client.${(0, utils_1.toCamelCase)(field.type)}._resolveSortOrder(orderByInput.${field.name});`);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function addOneToManyRelationResolution(writer, model) {
|
|
33
|
+
const relationFields = model.fields.filter(({ kind, isList }) => kind === "object" && isList);
|
|
34
|
+
for (const field of relationFields) {
|
|
35
|
+
writer.writeLine(`if (orderByInput.${field.name}?._count)`).block(() => {
|
|
36
|
+
writer.writeLine(`return orderByInput.${field.name}._count;`);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=_resolveSortOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_resolveSortOrder.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_resolveSortOrder.ts"],"names":[],"mappings":";;AAIA,kDAYC;AAdD,wDAA2D;AAE3D,SAAgB,mBAAmB,CAAC,UAA4B,EAAE,KAAY;IAC5E,UAAU,CAAC,SAAS,CAAC;QACnB,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,KAAK,CAAC,IAAI,0BAA0B,EAAE,CAAC;QAC5F,UAAU,EAAE,0CAA0C;QACtD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACrE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,KAAY;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,oBAAoB,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,MAAuB,EAAE,KAAY;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7D,MAAM,CAAC,SAAS,CAAC,sBAAsB,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAuB,EAAE,KAAY;IAC3E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC;IAC9F,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,oBAAoB,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACrE,MAAM,CAAC,SAAS,CAAC,uBAAuB,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|