@prisma/client-engine-runtime 6.12.0-dev.16 → 6.12.0-dev.17
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/index.js +71 -17
- package/dist/index.mjs +71 -17
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -62,20 +62,74 @@ function doKeysMatch(lhs, rhs) {
|
|
|
62
62
|
const rhsKeys = Object.keys(rhs);
|
|
63
63
|
const smallerKeyList = lhsKeys.length < rhsKeys.length ? lhsKeys : rhsKeys;
|
|
64
64
|
return smallerKeyList.every((key) => {
|
|
65
|
-
if (typeof lhs[key]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
if (typeof lhs[key] === typeof rhs[key] && typeof lhs[key] !== "object") {
|
|
66
|
+
return lhs[key] === rhs[key];
|
|
67
|
+
}
|
|
68
|
+
if (import_decimal.default.isDecimal(lhs[key]) || import_decimal.default.isDecimal(rhs[key])) {
|
|
69
|
+
const lhsDecimal = asDecimal(lhs[key]);
|
|
70
|
+
const rhsDecimal = asDecimal(rhs[key]);
|
|
71
|
+
return lhsDecimal && rhsDecimal && lhsDecimal.equals(rhsDecimal);
|
|
72
|
+
} else if (lhs[key] instanceof Uint8Array || rhs[key] instanceof Uint8Array) {
|
|
73
|
+
const lhsBuffer = asBuffer(lhs[key]);
|
|
74
|
+
const rhsBuffer = asBuffer(rhs[key]);
|
|
75
|
+
return lhsBuffer && rhsBuffer && lhsBuffer.equals(rhsBuffer);
|
|
76
|
+
} else if (lhs[key] instanceof Date || rhs[key] instanceof Date) {
|
|
77
|
+
return asDate(lhs[key])?.getTime() === asDate(rhs[key])?.getTime();
|
|
78
|
+
} else if (typeof lhs[key] === "bigint" || typeof rhs[key] === "bigint") {
|
|
79
|
+
return asBigInt(lhs[key]) === asBigInt(rhs[key]);
|
|
80
|
+
} else if (typeof lhs[key] === "number" || typeof rhs[key] === "number") {
|
|
81
|
+
return asNumber(lhs[key]) === asNumber(rhs[key]);
|
|
75
82
|
}
|
|
76
83
|
return isDeepStrictEqual(lhs[key], rhs[key]);
|
|
77
84
|
});
|
|
78
85
|
}
|
|
86
|
+
function asDecimal(value) {
|
|
87
|
+
if (import_decimal.default.isDecimal(value)) {
|
|
88
|
+
return value;
|
|
89
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
90
|
+
return new import_decimal.default(value);
|
|
91
|
+
} else {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function asBuffer(value) {
|
|
96
|
+
if (Buffer.isBuffer(value)) {
|
|
97
|
+
return value;
|
|
98
|
+
} else if (value instanceof Uint8Array) {
|
|
99
|
+
return Buffer.from(value.buffer, value.byteOffset, value.byteLength);
|
|
100
|
+
} else if (typeof value === "string") {
|
|
101
|
+
return Buffer.from(value, "base64");
|
|
102
|
+
} else {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function asDate(value) {
|
|
107
|
+
if (value instanceof Date) {
|
|
108
|
+
return value;
|
|
109
|
+
} else if (typeof value === "string" || typeof value === "number") {
|
|
110
|
+
return new Date(value);
|
|
111
|
+
} else {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function asBigInt(value) {
|
|
116
|
+
if (typeof value === "bigint") {
|
|
117
|
+
return value;
|
|
118
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
119
|
+
return BigInt(value);
|
|
120
|
+
} else {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function asNumber(value) {
|
|
125
|
+
if (typeof value === "number") {
|
|
126
|
+
return value;
|
|
127
|
+
} else if (typeof value === "string") {
|
|
128
|
+
return Number(value);
|
|
129
|
+
} else {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
79
133
|
function safeJsonStringify(obj) {
|
|
80
134
|
return JSON.stringify(obj, (_key, val) => {
|
|
81
135
|
if (typeof val === "bigint") {
|
|
@@ -1063,7 +1117,7 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
1063
1117
|
node.args.map((arg) => this.interpretNode(arg, queryable, scope, generators).then((res) => res.value))
|
|
1064
1118
|
);
|
|
1065
1119
|
return {
|
|
1066
|
-
value: parts.length > 0 ? parts.reduce((acc, part) =>
|
|
1120
|
+
value: parts.length > 0 ? parts.reduce((acc, part) => asNumber2(acc) + asNumber2(part)) : 0
|
|
1067
1121
|
};
|
|
1068
1122
|
}
|
|
1069
1123
|
case "execute": {
|
|
@@ -1237,7 +1291,7 @@ function isEmpty(value) {
|
|
|
1237
1291
|
function asList(value) {
|
|
1238
1292
|
return Array.isArray(value) ? value : [value];
|
|
1239
1293
|
}
|
|
1240
|
-
function
|
|
1294
|
+
function asNumber2(value) {
|
|
1241
1295
|
if (typeof value === "number") {
|
|
1242
1296
|
return value;
|
|
1243
1297
|
}
|
|
@@ -1322,14 +1376,14 @@ function evalFieldOperation(op, value, scope, generators) {
|
|
|
1322
1376
|
case "set":
|
|
1323
1377
|
return evaluateParam(op.value, scope, generators);
|
|
1324
1378
|
case "add":
|
|
1325
|
-
return
|
|
1379
|
+
return asNumber2(value) + asNumber2(evaluateParam(op.value, scope, generators));
|
|
1326
1380
|
case "subtract":
|
|
1327
|
-
return
|
|
1381
|
+
return asNumber2(value) - asNumber2(evaluateParam(op.value, scope, generators));
|
|
1328
1382
|
case "multiply":
|
|
1329
|
-
return
|
|
1383
|
+
return asNumber2(value) * asNumber2(evaluateParam(op.value, scope, generators));
|
|
1330
1384
|
case "divide": {
|
|
1331
|
-
const lhs =
|
|
1332
|
-
const rhs =
|
|
1385
|
+
const lhs = asNumber2(value);
|
|
1386
|
+
const rhs = asNumber2(evaluateParam(op.value, scope, generators));
|
|
1333
1387
|
if (rhs === 0) {
|
|
1334
1388
|
return null;
|
|
1335
1389
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -14,20 +14,74 @@ function doKeysMatch(lhs, rhs) {
|
|
|
14
14
|
const rhsKeys = Object.keys(rhs);
|
|
15
15
|
const smallerKeyList = lhsKeys.length < rhsKeys.length ? lhsKeys : rhsKeys;
|
|
16
16
|
return smallerKeyList.every((key) => {
|
|
17
|
-
if (typeof lhs[key]
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
if (typeof lhs[key] === typeof rhs[key] && typeof lhs[key] !== "object") {
|
|
18
|
+
return lhs[key] === rhs[key];
|
|
19
|
+
}
|
|
20
|
+
if (Decimal.isDecimal(lhs[key]) || Decimal.isDecimal(rhs[key])) {
|
|
21
|
+
const lhsDecimal = asDecimal(lhs[key]);
|
|
22
|
+
const rhsDecimal = asDecimal(rhs[key]);
|
|
23
|
+
return lhsDecimal && rhsDecimal && lhsDecimal.equals(rhsDecimal);
|
|
24
|
+
} else if (lhs[key] instanceof Uint8Array || rhs[key] instanceof Uint8Array) {
|
|
25
|
+
const lhsBuffer = asBuffer(lhs[key]);
|
|
26
|
+
const rhsBuffer = asBuffer(rhs[key]);
|
|
27
|
+
return lhsBuffer && rhsBuffer && lhsBuffer.equals(rhsBuffer);
|
|
28
|
+
} else if (lhs[key] instanceof Date || rhs[key] instanceof Date) {
|
|
29
|
+
return asDate(lhs[key])?.getTime() === asDate(rhs[key])?.getTime();
|
|
30
|
+
} else if (typeof lhs[key] === "bigint" || typeof rhs[key] === "bigint") {
|
|
31
|
+
return asBigInt(lhs[key]) === asBigInt(rhs[key]);
|
|
32
|
+
} else if (typeof lhs[key] === "number" || typeof rhs[key] === "number") {
|
|
33
|
+
return asNumber(lhs[key]) === asNumber(rhs[key]);
|
|
27
34
|
}
|
|
28
35
|
return isDeepStrictEqual(lhs[key], rhs[key]);
|
|
29
36
|
});
|
|
30
37
|
}
|
|
38
|
+
function asDecimal(value) {
|
|
39
|
+
if (Decimal.isDecimal(value)) {
|
|
40
|
+
return value;
|
|
41
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
42
|
+
return new Decimal(value);
|
|
43
|
+
} else {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function asBuffer(value) {
|
|
48
|
+
if (Buffer.isBuffer(value)) {
|
|
49
|
+
return value;
|
|
50
|
+
} else if (value instanceof Uint8Array) {
|
|
51
|
+
return Buffer.from(value.buffer, value.byteOffset, value.byteLength);
|
|
52
|
+
} else if (typeof value === "string") {
|
|
53
|
+
return Buffer.from(value, "base64");
|
|
54
|
+
} else {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function asDate(value) {
|
|
59
|
+
if (value instanceof Date) {
|
|
60
|
+
return value;
|
|
61
|
+
} else if (typeof value === "string" || typeof value === "number") {
|
|
62
|
+
return new Date(value);
|
|
63
|
+
} else {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function asBigInt(value) {
|
|
68
|
+
if (typeof value === "bigint") {
|
|
69
|
+
return value;
|
|
70
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
71
|
+
return BigInt(value);
|
|
72
|
+
} else {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function asNumber(value) {
|
|
77
|
+
if (typeof value === "number") {
|
|
78
|
+
return value;
|
|
79
|
+
} else if (typeof value === "string") {
|
|
80
|
+
return Number(value);
|
|
81
|
+
} else {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
31
85
|
function safeJsonStringify(obj) {
|
|
32
86
|
return JSON.stringify(obj, (_key, val) => {
|
|
33
87
|
if (typeof val === "bigint") {
|
|
@@ -1015,7 +1069,7 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
1015
1069
|
node.args.map((arg) => this.interpretNode(arg, queryable, scope, generators).then((res) => res.value))
|
|
1016
1070
|
);
|
|
1017
1071
|
return {
|
|
1018
|
-
value: parts.length > 0 ? parts.reduce((acc, part) =>
|
|
1072
|
+
value: parts.length > 0 ? parts.reduce((acc, part) => asNumber2(acc) + asNumber2(part)) : 0
|
|
1019
1073
|
};
|
|
1020
1074
|
}
|
|
1021
1075
|
case "execute": {
|
|
@@ -1189,7 +1243,7 @@ function isEmpty(value) {
|
|
|
1189
1243
|
function asList(value) {
|
|
1190
1244
|
return Array.isArray(value) ? value : [value];
|
|
1191
1245
|
}
|
|
1192
|
-
function
|
|
1246
|
+
function asNumber2(value) {
|
|
1193
1247
|
if (typeof value === "number") {
|
|
1194
1248
|
return value;
|
|
1195
1249
|
}
|
|
@@ -1274,14 +1328,14 @@ function evalFieldOperation(op, value, scope, generators) {
|
|
|
1274
1328
|
case "set":
|
|
1275
1329
|
return evaluateParam(op.value, scope, generators);
|
|
1276
1330
|
case "add":
|
|
1277
|
-
return
|
|
1331
|
+
return asNumber2(value) + asNumber2(evaluateParam(op.value, scope, generators));
|
|
1278
1332
|
case "subtract":
|
|
1279
|
-
return
|
|
1333
|
+
return asNumber2(value) - asNumber2(evaluateParam(op.value, scope, generators));
|
|
1280
1334
|
case "multiply":
|
|
1281
|
-
return
|
|
1335
|
+
return asNumber2(value) * asNumber2(evaluateParam(op.value, scope, generators));
|
|
1282
1336
|
case "divide": {
|
|
1283
|
-
const lhs =
|
|
1284
|
-
const rhs =
|
|
1337
|
+
const lhs = asNumber2(value);
|
|
1338
|
+
const rhs = asNumber2(evaluateParam(op.value, scope, generators));
|
|
1285
1339
|
if (rhs === 0) {
|
|
1286
1340
|
return null;
|
|
1287
1341
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/client-engine-runtime",
|
|
3
|
-
"version": "6.12.0-dev.
|
|
3
|
+
"version": "6.12.0-dev.17",
|
|
4
4
|
"description": "This package is intended for Prisma's internal use",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"nanoid": "5.1.5",
|
|
32
32
|
"ulid": "3.0.0",
|
|
33
33
|
"uuid": "11.1.0",
|
|
34
|
-
"@prisma/debug": "6.12.0-dev.
|
|
35
|
-
"@prisma/driver-adapter-utils": "6.12.0-dev.
|
|
34
|
+
"@prisma/debug": "6.12.0-dev.17",
|
|
35
|
+
"@prisma/driver-adapter-utils": "6.12.0-dev.17"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/jest": "29.5.14",
|