@verdant-web/common 1.11.1 → 1.13.0

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.
Files changed (76) hide show
  1. package/dist/cjs/migration.d.ts +7 -0
  2. package/dist/cjs/migration.js +46 -6
  3. package/dist/cjs/migration.js.map +1 -1
  4. package/dist/cjs/oids.d.ts +5 -5
  5. package/dist/cjs/oids.js +37 -22
  6. package/dist/cjs/oids.js.map +1 -1
  7. package/dist/cjs/oids.test.js +62 -44
  8. package/dist/cjs/oids.test.js.map +1 -1
  9. package/dist/cjs/operation.d.ts +2 -2
  10. package/dist/cjs/operation.js +16 -7
  11. package/dist/cjs/operation.js.map +1 -1
  12. package/dist/cjs/operation.test.js +180 -30
  13. package/dist/cjs/operation.test.js.map +1 -1
  14. package/dist/cjs/patch.d.ts +3 -3
  15. package/dist/cjs/patch.js +6 -6
  16. package/dist/cjs/patch.js.map +1 -1
  17. package/dist/cjs/schema/defaults.test.js +4 -4
  18. package/dist/cjs/schema/defaults.test.js.map +1 -1
  19. package/dist/cjs/schema/{defaults.d.ts → fields.d.ts} +3 -0
  20. package/dist/cjs/schema/{defaults.js → fields.js} +48 -3
  21. package/dist/cjs/schema/fields.js.map +1 -0
  22. package/dist/cjs/schema/index.d.ts +1 -1
  23. package/dist/cjs/schema/index.js +1 -1
  24. package/dist/cjs/schema/index.js.map +1 -1
  25. package/dist/cjs/schema/validation.d.ts +3 -0
  26. package/dist/cjs/schema/validation.js +87 -0
  27. package/dist/cjs/schema/validation.js.map +1 -0
  28. package/dist/cjs/utils.d.ts +5 -1
  29. package/dist/cjs/utils.js +9 -5
  30. package/dist/cjs/utils.js.map +1 -1
  31. package/dist/esm/migration.d.ts +7 -0
  32. package/dist/esm/migration.js +47 -7
  33. package/dist/esm/migration.js.map +1 -1
  34. package/dist/esm/oids.d.ts +5 -5
  35. package/dist/esm/oids.js +34 -21
  36. package/dist/esm/oids.js.map +1 -1
  37. package/dist/esm/oids.test.js +62 -44
  38. package/dist/esm/oids.test.js.map +1 -1
  39. package/dist/esm/operation.d.ts +2 -2
  40. package/dist/esm/operation.js +18 -9
  41. package/dist/esm/operation.js.map +1 -1
  42. package/dist/esm/operation.test.js +180 -30
  43. package/dist/esm/operation.test.js.map +1 -1
  44. package/dist/esm/patch.d.ts +3 -3
  45. package/dist/esm/patch.js +6 -6
  46. package/dist/esm/patch.js.map +1 -1
  47. package/dist/esm/schema/defaults.test.js +2 -2
  48. package/dist/esm/schema/defaults.test.js.map +1 -1
  49. package/dist/esm/schema/{defaults.d.ts → fields.d.ts} +3 -0
  50. package/dist/esm/schema/{defaults.js → fields.js} +44 -2
  51. package/dist/esm/schema/fields.js.map +1 -0
  52. package/dist/esm/schema/index.d.ts +1 -1
  53. package/dist/esm/schema/index.js +1 -1
  54. package/dist/esm/schema/index.js.map +1 -1
  55. package/dist/esm/schema/validation.d.ts +3 -0
  56. package/dist/esm/schema/validation.js +82 -0
  57. package/dist/esm/schema/validation.js.map +1 -0
  58. package/dist/esm/utils.d.ts +5 -1
  59. package/dist/esm/utils.js +9 -5
  60. package/dist/esm/utils.js.map +1 -1
  61. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +1 -1
  64. package/src/migration.ts +74 -15
  65. package/src/oids.test.ts +62 -51
  66. package/src/oids.ts +35 -26
  67. package/src/operation.test.ts +189 -41
  68. package/src/operation.ts +23 -19
  69. package/src/patch.ts +5 -15
  70. package/src/schema/defaults.test.ts +2 -2
  71. package/src/schema/{defaults.ts → fields.ts} +55 -1
  72. package/src/schema/index.ts +1 -1
  73. package/src/schema/validation.ts +99 -0
  74. package/src/utils.ts +9 -5
  75. package/dist/cjs/schema/defaults.js.map +0 -1
  76. package/dist/esm/schema/defaults.js.map +0 -1
@@ -4,7 +4,13 @@ import { assignOid, assignOidsToAllSubObjects, createRef, getOid, } from './oids
4
4
  import { applyPatch, applyOperations, diffToPatches, initialToPatches, substituteRefsWithObjects, } from './operation.js';
5
5
  function createClock(init = 0) {
6
6
  let i = init;
7
- return () => (i++).toString();
7
+ const clock = () => (i++).toString();
8
+ Object.defineProperty(clock, 'current', {
9
+ get() {
10
+ return i;
11
+ },
12
+ });
13
+ return clock;
8
14
  }
9
15
  describe('creating diff patch operations', () => {
10
16
  describe('on flat objects', () => {
@@ -13,7 +19,7 @@ describe('creating diff patch operations', () => {
13
19
  assignOid(from, 'test/a');
14
20
  const to = { foo: 'bar', baz: 'pop' };
15
21
  assignOid(to, 'test/a');
16
- const ops = diffToPatches(from, to, createClock(), []);
22
+ const ops = diffToPatches(from, to, createClock());
17
23
  expect(ops).toMatchInlineSnapshot(`
18
24
  [
19
25
  {
@@ -49,7 +55,7 @@ describe('creating diff patch operations', () => {
49
55
  foo: 'bar',
50
56
  baz: assignOid({ qux: 'grault' }, 'test/a:1'),
51
57
  }, 'test/a');
52
- const patches = diffToPatches(from, to, createClock(), []);
58
+ const patches = diffToPatches(from, to, createClock());
53
59
  expect(patches).toMatchInlineSnapshot(`
54
60
  [
55
61
  {
@@ -97,7 +103,7 @@ describe('creating diff patch operations', () => {
97
103
  };
98
104
  assignOid(to, 'test/a');
99
105
  assignOid(to.baz, 'test/a:1');
100
- const patches = diffToPatches(from, to, createClock(), []);
106
+ const patches = diffToPatches(from, to, createClock());
101
107
  expect(patches).toMatchInlineSnapshot(`
102
108
  [
103
109
  {
@@ -145,7 +151,7 @@ describe('creating diff patch operations', () => {
145
151
  };
146
152
  assignOid(to, 'test/a');
147
153
  assignOid(to.baz, 'test/a:0');
148
- const patches = diffToPatches(from, to, createClock(), []);
154
+ const patches = diffToPatches(from, to, createClock());
149
155
  expect(patches).toEqual([]);
150
156
  });
151
157
  it('patches sub-objects with same identity', () => {
@@ -161,7 +167,7 @@ describe('creating diff patch operations', () => {
161
167
  };
162
168
  assignOid(to, 'test/a');
163
169
  assignOid(to.baz, 'test/a:0');
164
- const patches = diffToPatches(from, to, createClock(), []);
170
+ const patches = diffToPatches(from, to, createClock());
165
171
  expect(patches).toMatchInlineSnapshot(`
166
172
  [
167
173
  {
@@ -187,7 +193,7 @@ describe('creating diff patch operations', () => {
187
193
  foo: 'bip',
188
194
  };
189
195
  assignOid(to, 'test/a');
190
- const patches = diffToPatches(from, to, createClock(), [], undefined, [], {
196
+ const patches = diffToPatches(from, to, createClock(), undefined, [], {
191
197
  defaultUndefined: true,
192
198
  mergeUnknownObjects: true,
193
199
  });
@@ -271,7 +277,7 @@ describe('creating diff patch operations', () => {
271
277
  assignOid(to.baz, 'test/a:3');
272
278
  assignOid(to.baz[0], 'test/a:4');
273
279
  assignOid(to.baz[1], 'test/a:5');
274
- expect(diffToPatches(from, to, createClock(), [])).toMatchInlineSnapshot(`
280
+ expect(diffToPatches(from, to, createClock())).toMatchInlineSnapshot(`
275
281
  [
276
282
  {
277
283
  "data": {
@@ -365,7 +371,7 @@ describe('creating diff patch operations', () => {
365
371
  },
366
372
  ],
367
373
  };
368
- expect(diffToPatches(from, to, createClock(), [], createClock(5), [], {
374
+ expect(diffToPatches(from, to, createClock(), createClock(5), [], {
369
375
  mergeUnknownObjects: true,
370
376
  })).toMatchInlineSnapshot(`
371
377
  [
@@ -375,7 +381,7 @@ describe('creating diff patch operations', () => {
375
381
  "index": 2,
376
382
  "op": "list-delete",
377
383
  },
378
- "oid": "test/a.foo.bar:1",
384
+ "oid": "test/a:1",
379
385
  "timestamp": "0",
380
386
  },
381
387
  {
@@ -385,7 +391,7 @@ describe('creating diff patch operations', () => {
385
391
  0,
386
392
  ],
387
393
  },
388
- "oid": "test/a.foo.bop:5",
394
+ "oid": "test/a:5",
389
395
  "timestamp": "1",
390
396
  },
391
397
  {
@@ -394,10 +400,10 @@ describe('creating diff patch operations', () => {
394
400
  "op": "set",
395
401
  "value": {
396
402
  "@@type": "ref",
397
- "id": "test/a.foo.bop:5",
403
+ "id": "test/a:5",
398
404
  },
399
405
  },
400
- "oid": "test/a.foo:0",
406
+ "oid": "test/a:0",
401
407
  "timestamp": "2",
402
408
  },
403
409
  {
@@ -406,7 +412,7 @@ describe('creating diff patch operations', () => {
406
412
  "op": "set",
407
413
  "value": false,
408
414
  },
409
- "oid": "test/a.baz.#:3",
415
+ "oid": "test/a:3",
410
416
  "timestamp": "3",
411
417
  },
412
418
  {
@@ -416,7 +422,7 @@ describe('creating diff patch operations', () => {
416
422
  "corge": false,
417
423
  },
418
424
  },
419
- "oid": "test/a.baz.#:6",
425
+ "oid": "test/a:6",
420
426
  "timestamp": "4",
421
427
  },
422
428
  {
@@ -425,10 +431,10 @@ describe('creating diff patch operations', () => {
425
431
  "op": "set",
426
432
  "value": {
427
433
  "@@type": "ref",
428
- "id": "test/a.baz.#:6",
434
+ "id": "test/a:6",
429
435
  },
430
436
  },
431
- "oid": "test/a.baz:2",
437
+ "oid": "test/a:2",
432
438
  "timestamp": "5",
433
439
  },
434
440
  ]
@@ -449,7 +455,7 @@ describe('creating diff patch operations', () => {
449
455
  },
450
456
  bar: [createFileRef('def456')],
451
457
  };
452
- expect(diffToPatches(from, to, createClock(), [], createClock(5), [], {
458
+ expect(diffToPatches(from, to, createClock(), createClock(5), [], {
453
459
  mergeUnknownObjects: true,
454
460
  })).toMatchInlineSnapshot(`
455
461
  [
@@ -462,7 +468,7 @@ describe('creating diff patch operations', () => {
462
468
  "id": "abc456",
463
469
  },
464
470
  },
465
- "oid": "test/a.foo:0",
471
+ "oid": "test/a:0",
466
472
  "timestamp": "0",
467
473
  },
468
474
  {
@@ -471,9 +477,153 @@ describe('creating diff patch operations', () => {
471
477
  "index": 1,
472
478
  "op": "list-delete",
473
479
  },
474
- "oid": "test/a.bar:1",
480
+ "oid": "test/a:1",
481
+ "timestamp": "1",
482
+ },
483
+ ]
484
+ `);
485
+ });
486
+ it('should assign a new OID to objects which had an incompatible existing OID', () => {
487
+ const from = {
488
+ foo: {
489
+ bar: [1, 2, 3],
490
+ },
491
+ };
492
+ assignOid(from, 'test/a');
493
+ assignOidsToAllSubObjects(from, createClock());
494
+ const to = {
495
+ foo: {
496
+ bar: [1, 2],
497
+ },
498
+ };
499
+ assignOid(to, 'test/a');
500
+ assignOid(to.foo, 'uff/b');
501
+ assignOidsToAllSubObjects(to.foo, createClock());
502
+ expect(diffToPatches(from, to, createClock(), createClock(5), [], {
503
+ mergeUnknownObjects: true,
504
+ })).toMatchInlineSnapshot(`
505
+ [
506
+ {
507
+ "data": {
508
+ "op": "initialize",
509
+ "value": [
510
+ 1,
511
+ 2,
512
+ ],
513
+ },
514
+ "oid": "test/a:6",
515
+ "timestamp": "0",
516
+ },
517
+ {
518
+ "data": {
519
+ "op": "initialize",
520
+ "value": {
521
+ "bar": {
522
+ "@@type": "ref",
523
+ "id": "test/a:6",
524
+ },
525
+ },
526
+ },
527
+ "oid": "test/a:5",
475
528
  "timestamp": "1",
476
529
  },
530
+ {
531
+ "data": {
532
+ "name": "foo",
533
+ "op": "set",
534
+ "value": {
535
+ "@@type": "ref",
536
+ "id": "test/a:5",
537
+ },
538
+ },
539
+ "oid": "test/a",
540
+ "timestamp": "2",
541
+ },
542
+ {
543
+ "data": {
544
+ "op": "delete",
545
+ },
546
+ "oid": "test/a:0",
547
+ "timestamp": "3",
548
+ },
549
+ ]
550
+ `);
551
+ });
552
+ // an edge case - if a subobject which contains nested objects changes identity,
553
+ // this gets written as a new init patch tree - we want to ensure all init subobjects
554
+ // in that tree have compatible OIDs.
555
+ it('should assign a new OID to objects which have an incompatible OID when parent identity changes', () => {
556
+ const from = {
557
+ bar: [],
558
+ };
559
+ assignOid(from, 'test/a');
560
+ assignOid(from.bar, 'test/random');
561
+ const to = {
562
+ bar: [{ baz: 1 }, { baz: 2 }],
563
+ };
564
+ assignOid(to, 'test/a');
565
+ assignOidsToAllSubObjects(to, createClock());
566
+ assignOid(to.bar[0], 'uff/b');
567
+ expect(diffToPatches(from, to, createClock(), createClock(5), [], {
568
+ mergeUnknownObjects: true,
569
+ })).toMatchInlineSnapshot(`
570
+ [
571
+ {
572
+ "data": {
573
+ "op": "initialize",
574
+ "value": {
575
+ "baz": 1,
576
+ },
577
+ },
578
+ "oid": "test/a:5",
579
+ "timestamp": "0",
580
+ },
581
+ {
582
+ "data": {
583
+ "op": "initialize",
584
+ "value": {
585
+ "baz": 2,
586
+ },
587
+ },
588
+ "oid": "test/a:2",
589
+ "timestamp": "1",
590
+ },
591
+ {
592
+ "data": {
593
+ "op": "initialize",
594
+ "value": [
595
+ {
596
+ "@@type": "ref",
597
+ "id": "test/a:5",
598
+ },
599
+ {
600
+ "@@type": "ref",
601
+ "id": "test/a:2",
602
+ },
603
+ ],
604
+ },
605
+ "oid": "test/a:0",
606
+ "timestamp": "2",
607
+ },
608
+ {
609
+ "data": {
610
+ "name": "bar",
611
+ "op": "set",
612
+ "value": {
613
+ "@@type": "ref",
614
+ "id": "test/a:0",
615
+ },
616
+ },
617
+ "oid": "test/a",
618
+ "timestamp": "3",
619
+ },
620
+ {
621
+ "data": {
622
+ "op": "delete",
623
+ },
624
+ "oid": "test/random",
625
+ "timestamp": "4",
626
+ },
477
627
  ]
478
628
  `);
479
629
  });
@@ -635,7 +785,7 @@ describe('creating patches from initial state', () => {
635
785
  "bar": "baz",
636
786
  },
637
787
  },
638
- "oid": "test/a.foo:0",
788
+ "oid": "test/a:0",
639
789
  "timestamp": "0",
640
790
  },
641
791
  {
@@ -645,7 +795,7 @@ describe('creating patches from initial state', () => {
645
795
  "corge": "grault",
646
796
  },
647
797
  },
648
- "oid": "test/a.qux.#:2",
798
+ "oid": "test/a:2",
649
799
  "timestamp": "1",
650
800
  },
651
801
  {
@@ -655,7 +805,7 @@ describe('creating patches from initial state', () => {
655
805
  "oof": 1,
656
806
  },
657
807
  },
658
- "oid": "test/a.qux.#.bin:4",
808
+ "oid": "test/a:4",
659
809
  "timestamp": "2",
660
810
  },
661
811
  {
@@ -664,11 +814,11 @@ describe('creating patches from initial state', () => {
664
814
  "value": {
665
815
  "bin": {
666
816
  "@@type": "ref",
667
- "id": "test/a.qux.#.bin:4",
817
+ "id": "test/a:4",
668
818
  },
669
819
  },
670
820
  },
671
- "oid": "test/a.qux.#:3",
821
+ "oid": "test/a:3",
672
822
  "timestamp": "3",
673
823
  },
674
824
  {
@@ -677,15 +827,15 @@ describe('creating patches from initial state', () => {
677
827
  "value": [
678
828
  {
679
829
  "@@type": "ref",
680
- "id": "test/a.qux.#:2",
830
+ "id": "test/a:2",
681
831
  },
682
832
  {
683
833
  "@@type": "ref",
684
- "id": "test/a.qux.#:3",
834
+ "id": "test/a:3",
685
835
  },
686
836
  ],
687
837
  },
688
- "oid": "test/a.qux:1",
838
+ "oid": "test/a:1",
689
839
  "timestamp": "4",
690
840
  },
691
841
  {
@@ -694,11 +844,11 @@ describe('creating patches from initial state', () => {
694
844
  "value": {
695
845
  "foo": {
696
846
  "@@type": "ref",
697
- "id": "test/a.foo:0",
847
+ "id": "test/a:0",
698
848
  },
699
849
  "qux": {
700
850
  "@@type": "ref",
701
- "id": "test/a.qux:1",
851
+ "id": "test/a:1",
702
852
  },
703
853
  },
704
854
  },
@@ -1 +1 @@
1
- {"version":3,"file":"operation.test.js","sourceRoot":"","sources":["../../src/operation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.test.js","sourceRoot":"","sources":["../../src/operation.test.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * High-level patch creation for use with complex nested objects.
3
3
  */
4
- import { KeyPath, ObjectIdentifier } from './oids.js';
4
+ import { ObjectIdentifier } from './oids.js';
5
5
  import { ObjectRef, Operation, PropertyName } from './operation.js';
6
6
  export declare class PatchCreator {
7
7
  private getNow;
8
8
  private createSubId?;
9
9
  constructor(getNow: () => string, createSubId?: (() => string) | undefined);
10
- createDiff: (from: any, to: any, keyPath: KeyPath, options?: {
10
+ createDiff: (from: any, to: any, options?: {
11
11
  mergeUnknownObjects?: boolean;
12
12
  defaultUndefined?: boolean;
13
13
  }) => Operation[];
14
14
  createInitialize: (obj: any, oid: ObjectIdentifier) => Operation[];
15
- createSet: (oid: ObjectIdentifier, key: PropertyName, value: any, keyPath: KeyPath) => Operation[];
15
+ createSet: (oid: ObjectIdentifier, key: PropertyName, value: any) => Operation[];
16
16
  createRemove: (oid: ObjectIdentifier, key: PropertyName) => Operation[];
17
17
  createListPush: (oid: ObjectIdentifier, value: any) => Operation[];
18
18
  createListAdd: (oid: ObjectIdentifier, value: any) => Operation[];
package/dist/esm/patch.js CHANGED
@@ -9,13 +9,13 @@ export class PatchCreator {
9
9
  constructor(getNow, createSubId) {
10
10
  this.getNow = getNow;
11
11
  this.createSubId = createSubId;
12
- this.createDiff = (from, to, keyPath, options = {}) => {
13
- return diffToPatches(from, to, this.getNow, keyPath, this.createSubId, [], options);
12
+ this.createDiff = (from, to, options = {}) => {
13
+ return diffToPatches(from, to, this.getNow, this.createSubId, [], options);
14
14
  };
15
15
  this.createInitialize = (obj, oid) => {
16
16
  return initialToPatches(obj, oid, this.getNow, this.createSubId);
17
17
  };
18
- this.createSet = (oid, key, value, keyPath) => {
18
+ this.createSet = (oid, key, value) => {
19
19
  // incoming value must be normalized. if it's not a primitive, it and all sub-objects
20
20
  // must be created
21
21
  if (!isObject(value) || isRef(value)) {
@@ -32,7 +32,7 @@ export class PatchCreator {
32
32
  ];
33
33
  }
34
34
  else {
35
- const itemOid = createSubOid(oid, key, this.createSubId);
35
+ const itemOid = createSubOid(oid, this.createSubId);
36
36
  return [
37
37
  // since we're setting a complex nested object, we can initialize it wholesale.
38
38
  // no diffing to do.
@@ -76,7 +76,7 @@ export class PatchCreator {
76
76
  ];
77
77
  }
78
78
  else {
79
- const itemOid = createSubOid(oid, 0, this.createSubId);
79
+ const itemOid = createSubOid(oid, this.createSubId);
80
80
  return [
81
81
  ...initialToPatches(value, itemOid, this.getNow),
82
82
  {
@@ -131,7 +131,7 @@ export class PatchCreator {
131
131
  ];
132
132
  }
133
133
  else {
134
- const itemOid = createSubOid(oid, index, this.createSubId);
134
+ const itemOid = createSubOid(oid, this.createSubId);
135
135
  return [
136
136
  ...initialToPatches(value, itemOid, this.getNow),
137
137
  {
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { getFieldDefault } from './defaults.js';
2
+ import { getFieldDefault } from './fields.js';
3
3
  import { assignOid, createOid, maybeGetOid } from '../oids.js';
4
4
  describe('getting field defaults', () => {
5
5
  it('does not apply the same oid from the previous application', () => {
@@ -11,7 +11,7 @@ describe('getting field defaults', () => {
11
11
  },
12
12
  };
13
13
  const first = getFieldDefault(field);
14
- assignOid(first, createOid('test', '1', []));
14
+ assignOid(first, createOid('test', '1'));
15
15
  const second = getFieldDefault(field);
16
16
  expect(maybeGetOid(second)).toBe(undefined);
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.test.js","sourceRoot":"","sources":["../../../src/schema/defaults.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,MAAM;aACZ;SACQ,CAAC;QACX,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"defaults.test.js","sourceRoot":"","sources":["../../../src/schema/defaults.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,MAAM;aACZ;SACQ,CAAC;QACX,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { StorageFieldSchema, StorageCollectionSchema } from './types.js';
2
+ export declare function isNullable(field: StorageFieldSchema): boolean | undefined;
2
3
  export declare function addFieldDefaults(collection: StorageCollectionSchema, value: any): any;
3
4
  export declare function traverseCollectionFieldsAndApplyDefaults(value: any, field: StorageFieldSchema): any;
4
5
  export declare function getFieldDefault(field: StorageFieldSchema): any;
6
+ export declare function removeExtraProperties(collection: StorageCollectionSchema, value: any): any;
7
+ export declare function traverseCollectionFieldsAndRemoveExtraProperties(value: any, field: StorageFieldSchema): void;
@@ -1,8 +1,19 @@
1
1
  import { LEGACY_OID_KEY, OID_KEY } from '../oids.js';
2
+ import { isObject } from '../utils.js';
3
+ export function isNullable(field) {
4
+ if (field.type === 'any')
5
+ return true;
6
+ if (field.type === 'map')
7
+ return false;
8
+ return field.nullable;
9
+ }
2
10
  export function addFieldDefaults(collection, value) {
3
11
  for (const [key, field] of Object.entries(collection.fields)) {
4
12
  const defaultValue = getFieldDefault(field);
5
- if (defaultValue !== undefined && value[key] === undefined) {
13
+ if ((defaultValue !== undefined && value[key] === undefined) ||
14
+ // covers the case where a previously nullable field
15
+ // now has a default during a new migration
16
+ (!isNullable(field) && value[key] === null)) {
6
17
  value[key] = defaultValue;
7
18
  }
8
19
  if (value[key]) {
@@ -63,4 +74,35 @@ export function getFieldDefault(field) {
63
74
  }
64
75
  return undefined;
65
76
  }
66
- //# sourceMappingURL=defaults.js.map
77
+ export function removeExtraProperties(collection, value) {
78
+ for (const [key, fieldValue] of Object.entries(value)) {
79
+ // MUST NOT DELETE THESE!
80
+ if (key === OID_KEY || key === LEGACY_OID_KEY)
81
+ continue;
82
+ if (!collection.fields[key]) {
83
+ delete value[key];
84
+ }
85
+ else {
86
+ traverseCollectionFieldsAndRemoveExtraProperties(fieldValue, collection.fields[key]);
87
+ }
88
+ }
89
+ return value;
90
+ }
91
+ export function traverseCollectionFieldsAndRemoveExtraProperties(value, field) {
92
+ if (isObject(value) && field.type === 'object') {
93
+ for (const [key, fieldValue] of Object.entries(value)) {
94
+ if (!field.properties[key]) {
95
+ delete value[key];
96
+ }
97
+ else {
98
+ traverseCollectionFieldsAndRemoveExtraProperties(fieldValue, field.properties[key]);
99
+ }
100
+ }
101
+ }
102
+ else if (Array.isArray(value) && field.type === 'array') {
103
+ for (const item of value) {
104
+ traverseCollectionFieldsAndRemoveExtraProperties(item, field.items);
105
+ }
106
+ }
107
+ }
108
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/schema/fields.ts"],"names":[],"mappings":"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"}