@prisma-idb/idb-client-generator 0.4.0 → 0.6.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 +14 -0
- package/dist/fileCreators/idb-utils/create.js.map +1 -1
- package/dist/fileCreators/idb-utils/listFilters/BigIntListFilter.js +65 -0
- package/dist/fileCreators/idb-utils/listFilters/BigIntListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/listFilters/BooleanListFilter.js +65 -0
- package/dist/fileCreators/idb-utils/listFilters/BooleanListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/listFilters/BytesListFilter.js +65 -0
- package/dist/fileCreators/idb-utils/listFilters/BytesListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/listFilters/DateTimeListFilter.js +65 -0
- package/dist/fileCreators/idb-utils/listFilters/DateTimeListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/listFilters/NumberListFilter.js +74 -0
- package/dist/fileCreators/idb-utils/listFilters/NumberListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/listFilters/StringListFilter.js +65 -0
- package/dist/fileCreators/idb-utils/listFilters/StringListFilter.js.map +1 -0
- package/dist/fileCreators/idb-utils/updateHandlers/ScalarListHandler.js +11 -3
- package/dist/fileCreators/idb-utils/updateHandlers/ScalarListHandler.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js +8 -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/create.js +2 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/create.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js +2 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/createManyAndReturn.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js +5 -2
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.js +1 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.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/_applyWhereClause.js +115 -49
- 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 +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_fillDefaults.js.map +1 -1
- 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/_preprocessListFields.js +24 -0
- package/dist/fileCreators/prisma-idb-client/classes/models/utils/_preprocessListFields.js.map +1 -0
- 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,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"}
|