@contember/bindx 0.1.47 → 0.1.48

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.
@@ -57,7 +57,10 @@ export declare class MockAdapter implements BackendAdapter {
57
57
  */
58
58
  private resolveRelatedEntity;
59
59
  /**
60
- * Creates a related entity with a generated ID.
60
+ * Creates a related entity with a generated ID, materializing its own nested
61
+ * operations. The persister reconciles a create by reading server IDs out of
62
+ * the echoed node, so a nested create left as a raw `{ create: … }` operation
63
+ * reads as an unresolved ID and fails the whole persist.
61
64
  */
62
65
  private createRelatedEntity;
63
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MockAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/MockAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAmC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9J;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,CAAC,UAAU,EAAE,MAAM,GAAG;QACrB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAA;CACD,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,cAAc;IAMhD,OAAO,CAAC,KAAK;IALd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;gBAGpC,KAAK,EAAE,aAAa,EAC5B,OAAO,GAAE,kBAAuB;IAOjC;;OAEG;YACW,aAAa;IA0B3B;;OAEG;IACH,OAAO,CAAC,GAAG;IAML,KAAK,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAetF,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,YAAY;IAed,OAAO,CACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,aAAa,CAAC;IA2BzB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAuDpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0D9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IASrB,MAAM,CACX,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,YAAY,CAAC;IAmBlB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAYnE;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"MockAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/MockAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAmC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9J;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,CAAC,UAAU,EAAE,MAAM,GAAG;QACrB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAA;CACD,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,cAAc;IAMhD,OAAO,CAAC,KAAK;IALd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;gBAGpC,KAAK,EAAE,aAAa,EAC5B,OAAO,GAAE,kBAAuB;IAOjC;;OAEG;YACW,aAAa;IA0B3B;;OAEG;IACH,OAAO,CAAC,GAAG;IAML,KAAK,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAetF,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,YAAY;IAed,OAAO,CACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,aAAa,CAAC;IA6BzB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAuDpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0D9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IASrB,MAAM,CACX,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,YAAY,CAAC;IAuBlB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAYnE;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAGzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/bindx",
3
- "version": "0.1.47",
3
+ "version": "0.1.48",
4
4
  "description": "Type-safe data binding framework (core)",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@contember/bindx-client": "0.1.47",
20
+ "@contember/bindx-client": "0.1.48",
21
21
  "@contember/graphql-client": "^2.1.0-beta.1"
22
22
  },
23
23
  "repository": {
@@ -194,7 +194,9 @@ export class MockAdapter implements BackendAdapter {
194
194
  this.applyChanges(entity, changes)
195
195
  this.log('persist result', entity)
196
196
 
197
- return { ok: true }
197
+ // Echo the mutated node — PersistResult.data is what the persister reads
198
+ // nested create IDs out of.
199
+ return { ok: true, data: entity }
198
200
  }
199
201
 
200
202
  /**
@@ -335,11 +337,15 @@ export class MockAdapter implements BackendAdapter {
335
337
  }
336
338
 
337
339
  /**
338
- * Creates a related entity with a generated ID.
340
+ * Creates a related entity with a generated ID, materializing its own nested
341
+ * operations. The persister reconciles a create by reading server IDs out of
342
+ * the echoed node, so a nested create left as a raw `{ create: … }` operation
343
+ * reads as an unresolved ID and fails the whole persist.
339
344
  */
340
345
  private createRelatedEntity(data: Record<string, unknown>): Record<string, unknown> {
341
- const id = this.generateId()
342
- return { id, ...data }
346
+ const entity: Record<string, unknown> = { id: this.generateId() }
347
+ this.applyChanges(entity, data)
348
+ return entity
343
349
  }
344
350
 
345
351
  /**
@@ -368,7 +374,11 @@ export class MockAdapter implements BackendAdapter {
368
374
 
369
375
  // Generate ID if not provided
370
376
  const id = (data['id'] as string) ?? this.generateId()
371
- const entity = { ...data, id }
377
+ // Materialize relation operations so the echoed node carries the server IDs
378
+ // of every nested create — the persister reconciles against exactly that.
379
+ const entity: Record<string, unknown> = { id }
380
+ this.applyChanges(entity, data)
381
+ entity['id'] = id
372
382
 
373
383
  this.store[entityType]![id] = entity
374
384
  this.log('create result', entity)