@prisma/client-engine-runtime 6.9.0-dev.2 → 6.9.0-dev.4

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.
@@ -47,6 +47,7 @@ export type PrismaValueType = {
47
47
  export type ResultNode = {
48
48
  type: 'Object';
49
49
  fields: Record<string, ResultNode>;
50
+ flattened: boolean;
50
51
  } | {
51
52
  type: 'Value';
52
53
  dbName: string;
package/dist/index.d.mts CHANGED
@@ -238,6 +238,7 @@ export declare type QueryPlanNode = {
238
238
  export declare type ResultNode = {
239
239
  type: 'Object';
240
240
  fields: Record<string, ResultNode>;
241
+ flattened: boolean;
241
242
  } | {
242
243
  type: 'Value';
243
244
  dbName: string;
package/dist/index.d.ts CHANGED
@@ -238,6 +238,7 @@ export declare type QueryPlanNode = {
238
238
  export declare type ResultNode = {
239
239
  type: 'Object';
240
240
  fields: Record<string, ResultNode>;
241
+ flattened: boolean;
241
242
  } | {
242
243
  type: 'Value';
243
244
  dbName: string;
package/dist/index.js CHANGED
@@ -242,15 +242,16 @@ function mapObject(data, fields) {
242
242
  const result = {};
243
243
  for (const [name, node] of Object.entries(fields)) {
244
244
  switch (node.type) {
245
- case "Object":
246
- if (Object.hasOwn(data, name)) {
247
- result[name] = mapArrayOrObject(data[name], node.fields);
248
- } else {
245
+ case "Object": {
246
+ if (!node.flattened && !Object.hasOwn(data, name)) {
249
247
  throw new Error(
250
248
  `DataMapper: Missing data field (Object): '${name}'; node: ${JSON.stringify(node)}; data: ${JSON.stringify(data)}`
251
249
  );
252
250
  }
251
+ const target = node.flattened ? data : data[name];
252
+ result[name] = mapArrayOrObject(target, node.fields);
253
253
  break;
254
+ }
254
255
  case "Value":
255
256
  {
256
257
  const dbName = node.dbName;
package/dist/index.mjs CHANGED
@@ -199,15 +199,16 @@ function mapObject(data, fields) {
199
199
  const result = {};
200
200
  for (const [name, node] of Object.entries(fields)) {
201
201
  switch (node.type) {
202
- case "Object":
203
- if (Object.hasOwn(data, name)) {
204
- result[name] = mapArrayOrObject(data[name], node.fields);
205
- } else {
202
+ case "Object": {
203
+ if (!node.flattened && !Object.hasOwn(data, name)) {
206
204
  throw new Error(
207
205
  `DataMapper: Missing data field (Object): '${name}'; node: ${JSON.stringify(node)}; data: ${JSON.stringify(data)}`
208
206
  );
209
207
  }
208
+ const target = node.flattened ? data : data[name];
209
+ result[name] = mapArrayOrObject(target, node.fields);
210
210
  break;
211
+ }
211
212
  case "Value":
212
213
  {
213
214
  const dbName = node.dbName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/client-engine-runtime",
3
- "version": "6.9.0-dev.2",
3
+ "version": "6.9.0-dev.4",
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.9.0-dev.2",
35
- "@prisma/driver-adapter-utils": "6.9.0-dev.2"
34
+ "@prisma/debug": "6.9.0-dev.4",
35
+ "@prisma/driver-adapter-utils": "6.9.0-dev.4"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/jest": "29.5.14",