@prisma/client-engine-runtime 6.9.0-dev.29 → 6.9.0-dev.30
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 +9 -14
- package/dist/index.mjs +9 -14
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -173,24 +173,19 @@ function mapValue(value, columnName, resultType) {
|
|
|
173
173
|
case "Int": {
|
|
174
174
|
switch (typeof value) {
|
|
175
175
|
case "number": {
|
|
176
|
-
|
|
177
|
-
return value;
|
|
178
|
-
}
|
|
179
|
-
throw new DataMapperError(`Expected an integer in column '${columnName}', got float: ${value}`);
|
|
176
|
+
return Math.trunc(value);
|
|
180
177
|
}
|
|
181
178
|
case "string": {
|
|
182
|
-
const numberValue = Number(value);
|
|
183
|
-
if (Number.
|
|
184
|
-
return numberValue;
|
|
185
|
-
}
|
|
186
|
-
try {
|
|
187
|
-
BigInt(value);
|
|
188
|
-
} catch {
|
|
179
|
+
const numberValue = Math.trunc(Number(value));
|
|
180
|
+
if (Number.isNaN(numberValue) || !Number.isFinite(numberValue)) {
|
|
189
181
|
throw new DataMapperError(`Expected an integer in column '${columnName}', got string: ${value}`);
|
|
190
182
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
183
|
+
if (!Number.isSafeInteger(numberValue)) {
|
|
184
|
+
throw new DataMapperError(
|
|
185
|
+
`Integer value in column '${columnName}' is too large to represent as a JavaScript number without loss of precision, got: ${value}. Consider using BigInt type.`
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
return numberValue;
|
|
194
189
|
}
|
|
195
190
|
default:
|
|
196
191
|
throw new DataMapperError(`Expected an integer in column '${columnName}', got ${typeof value}: ${value}`);
|
package/dist/index.mjs
CHANGED
|
@@ -125,24 +125,19 @@ function mapValue(value, columnName, resultType) {
|
|
|
125
125
|
case "Int": {
|
|
126
126
|
switch (typeof value) {
|
|
127
127
|
case "number": {
|
|
128
|
-
|
|
129
|
-
return value;
|
|
130
|
-
}
|
|
131
|
-
throw new DataMapperError(`Expected an integer in column '${columnName}', got float: ${value}`);
|
|
128
|
+
return Math.trunc(value);
|
|
132
129
|
}
|
|
133
130
|
case "string": {
|
|
134
|
-
const numberValue = Number(value);
|
|
135
|
-
if (Number.
|
|
136
|
-
return numberValue;
|
|
137
|
-
}
|
|
138
|
-
try {
|
|
139
|
-
BigInt(value);
|
|
140
|
-
} catch {
|
|
131
|
+
const numberValue = Math.trunc(Number(value));
|
|
132
|
+
if (Number.isNaN(numberValue) || !Number.isFinite(numberValue)) {
|
|
141
133
|
throw new DataMapperError(`Expected an integer in column '${columnName}', got string: ${value}`);
|
|
142
134
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
if (!Number.isSafeInteger(numberValue)) {
|
|
136
|
+
throw new DataMapperError(
|
|
137
|
+
`Integer value in column '${columnName}' is too large to represent as a JavaScript number without loss of precision, got: ${value}. Consider using BigInt type.`
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
return numberValue;
|
|
146
141
|
}
|
|
147
142
|
default:
|
|
148
143
|
throw new DataMapperError(`Expected an integer in column '${columnName}', got ${typeof value}: ${value}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/client-engine-runtime",
|
|
3
|
-
"version": "6.9.0-dev.
|
|
3
|
+
"version": "6.9.0-dev.30",
|
|
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/
|
|
35
|
-
"@prisma/
|
|
34
|
+
"@prisma/debug": "6.9.0-dev.30",
|
|
35
|
+
"@prisma/driver-adapter-utils": "6.9.0-dev.30"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/jest": "29.5.14",
|