@prisma/client-engine-runtime 7.10.0-dev.20 → 7.10.0-dev.21

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 CHANGED
@@ -145,6 +145,16 @@ function safeJsonStringify(obj) {
145
145
  return val;
146
146
  });
147
147
  }
148
+ var MAX_PUSH_SPREAD_ARGS = 8192;
149
+ function appendToArray(target, source) {
150
+ if (source.length <= MAX_PUSH_SPREAD_ARGS) {
151
+ target.push(...source);
152
+ return;
153
+ }
154
+ for (let i = 0; i < source.length; i += MAX_PUSH_SPREAD_ARGS) {
155
+ target.push(...source.slice(i, i + MAX_PUSH_SPREAD_ARGS));
156
+ }
157
+ }
148
158
 
149
159
  // src/json-protocol.ts
150
160
  function normalizeJsonProtocolValues(result) {
@@ -1148,8 +1158,9 @@ function renderTemplateSql(fragments, placeholderFormat, params, argTypes) {
1148
1158
  if (fragment.type === "stringChunk") {
1149
1159
  continue;
1150
1160
  }
1151
- const length = flattenedParams.length;
1152
- const added = flattenedParams.push(...flattenedFragmentParams(fragment)) - length;
1161
+ const fragmentParams = Array.from(flattenedFragmentParams(fragment));
1162
+ const added = fragmentParams.length;
1163
+ appendToArray(flattenedParams, fragmentParams);
1153
1164
  if (fragment.argType.arity === "tuple") {
1154
1165
  if (added % fragment.argType.elements.length !== 0) {
1155
1166
  throw new Error(
@@ -1698,7 +1709,7 @@ var QueryInterpreter = class _QueryInterpreter {
1698
1709
  if (results === void 0) {
1699
1710
  results = result;
1700
1711
  } else {
1701
- results.rows.push(...result.rows);
1712
+ appendToArray(results.rows, result.rows);
1702
1713
  results.lastInsertId = result.lastInsertId;
1703
1714
  }
1704
1715
  }
package/dist/index.mjs CHANGED
@@ -92,6 +92,16 @@ function safeJsonStringify(obj) {
92
92
  return val;
93
93
  });
94
94
  }
95
+ var MAX_PUSH_SPREAD_ARGS = 8192;
96
+ function appendToArray(target, source) {
97
+ if (source.length <= MAX_PUSH_SPREAD_ARGS) {
98
+ target.push(...source);
99
+ return;
100
+ }
101
+ for (let i = 0; i < source.length; i += MAX_PUSH_SPREAD_ARGS) {
102
+ target.push(...source.slice(i, i + MAX_PUSH_SPREAD_ARGS));
103
+ }
104
+ }
95
105
 
96
106
  // src/json-protocol.ts
97
107
  function normalizeJsonProtocolValues(result) {
@@ -1095,8 +1105,9 @@ function renderTemplateSql(fragments, placeholderFormat, params, argTypes) {
1095
1105
  if (fragment.type === "stringChunk") {
1096
1106
  continue;
1097
1107
  }
1098
- const length = flattenedParams.length;
1099
- const added = flattenedParams.push(...flattenedFragmentParams(fragment)) - length;
1108
+ const fragmentParams = Array.from(flattenedFragmentParams(fragment));
1109
+ const added = fragmentParams.length;
1110
+ appendToArray(flattenedParams, fragmentParams);
1100
1111
  if (fragment.argType.arity === "tuple") {
1101
1112
  if (added % fragment.argType.elements.length !== 0) {
1102
1113
  throw new Error(
@@ -1645,7 +1656,7 @@ var QueryInterpreter = class _QueryInterpreter {
1645
1656
  if (results === void 0) {
1646
1657
  results = result;
1647
1658
  } else {
1648
- results.rows.push(...result.rows);
1659
+ appendToArray(results.rows, result.rows);
1649
1660
  results.lastInsertId = result.lastInsertId;
1650
1661
  }
1651
1662
  }
@@ -0,0 +1 @@
1
+ export {};
package/dist/utils.d.ts CHANGED
@@ -20,3 +20,8 @@ export declare function doKeysMatch(lhs: {}, rhs: {}): boolean;
20
20
  * BigInt and Uint8Array values.
21
21
  */
22
22
  export declare function safeJsonStringify(obj: unknown): string;
23
+ /**
24
+ * Appends all elements of `source` to `target` without spreading the whole
25
+ * array as call arguments, which overflows the stack for large arrays.
26
+ */
27
+ export declare function appendToArray<T>(target: T[], source: readonly T[]): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/client-engine-runtime",
3
- "version": "7.10.0-dev.20",
3
+ "version": "7.10.0-dev.21",
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,20 +31,20 @@
31
31
  "nanoid": "5.1.5",
32
32
  "ulid": "3.0.0",
33
33
  "uuid": "14.0.0",
34
- "@prisma/client-runtime-utils": "7.10.0-dev.20",
35
- "@prisma/debug": "7.10.0-dev.20",
36
- "@prisma/driver-adapter-utils": "7.10.0-dev.20",
37
- "@prisma/sqlcommenter": "7.10.0-dev.20",
38
- "@prisma/param-graph": "7.10.0-dev.20",
39
- "@prisma/json-protocol": "7.10.0-dev.20"
34
+ "@prisma/debug": "7.10.0-dev.21",
35
+ "@prisma/driver-adapter-utils": "7.10.0-dev.21",
36
+ "@prisma/sqlcommenter": "7.10.0-dev.21",
37
+ "@prisma/param-graph": "7.10.0-dev.21",
38
+ "@prisma/client-runtime-utils": "7.10.0-dev.21",
39
+ "@prisma/json-protocol": "7.10.0-dev.21"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@codspeed/benchmark.js-plugin": "4.0.0",
43
43
  "@types/benchmark": "2.1.5",
44
44
  "@types/node": "~20.19.24",
45
45
  "benchmark": "2.1.4",
46
- "@prisma/param-graph-builder": "7.10.0-dev.20",
47
- "@prisma/get-dmmf": "7.10.0-dev.20"
46
+ "@prisma/get-dmmf": "7.10.0-dev.21",
47
+ "@prisma/param-graph-builder": "7.10.0-dev.21"
48
48
  },
49
49
  "files": [
50
50
  "dist"