@verdant-web/common 1.12.0 → 1.13.1

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 (82) hide show
  1. package/dist/cjs/indexes.d.ts +1 -0
  2. package/dist/cjs/indexes.js +5 -1
  3. package/dist/cjs/indexes.js.map +1 -1
  4. package/dist/cjs/migration.d.ts +7 -0
  5. package/dist/cjs/migration.js +53 -9
  6. package/dist/cjs/migration.js.map +1 -1
  7. package/dist/cjs/oids.d.ts +2 -0
  8. package/dist/cjs/oids.js +30 -4
  9. package/dist/cjs/oids.js.map +1 -1
  10. package/dist/cjs/oids.test.js +3 -0
  11. package/dist/cjs/oids.test.js.map +1 -1
  12. package/dist/cjs/operation.js +12 -3
  13. package/dist/cjs/operation.js.map +1 -1
  14. package/dist/cjs/operation.test.js +151 -1
  15. package/dist/cjs/operation.test.js.map +1 -1
  16. package/dist/cjs/schema/defaults.test.js +3 -3
  17. package/dist/cjs/schema/defaults.test.js.map +1 -1
  18. package/dist/cjs/schema/{defaults.d.ts → fields.d.ts} +3 -0
  19. package/dist/cjs/schema/{defaults.js → fields.js} +48 -3
  20. package/dist/cjs/schema/fields.js.map +1 -0
  21. package/dist/cjs/schema/index.d.ts +1 -1
  22. package/dist/cjs/schema/index.js +1 -1
  23. package/dist/cjs/schema/index.js.map +1 -1
  24. package/dist/cjs/schema/types/fields.d.ts +6 -0
  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/timestamp.test.js +11 -0
  29. package/dist/cjs/timestamp.test.js.map +1 -1
  30. package/dist/cjs/utils.d.ts +5 -1
  31. package/dist/cjs/utils.js +9 -5
  32. package/dist/cjs/utils.js.map +1 -1
  33. package/dist/esm/indexes.d.ts +1 -0
  34. package/dist/esm/indexes.js +4 -0
  35. package/dist/esm/indexes.js.map +1 -1
  36. package/dist/esm/migration.d.ts +7 -0
  37. package/dist/esm/migration.js +54 -10
  38. package/dist/esm/migration.js.map +1 -1
  39. package/dist/esm/oids.d.ts +2 -0
  40. package/dist/esm/oids.js +27 -3
  41. package/dist/esm/oids.js.map +1 -1
  42. package/dist/esm/oids.test.js +4 -1
  43. package/dist/esm/oids.test.js.map +1 -1
  44. package/dist/esm/operation.js +13 -4
  45. package/dist/esm/operation.js.map +1 -1
  46. package/dist/esm/operation.test.js +151 -1
  47. package/dist/esm/operation.test.js.map +1 -1
  48. package/dist/esm/schema/defaults.test.js +1 -1
  49. package/dist/esm/schema/defaults.test.js.map +1 -1
  50. package/dist/esm/schema/{defaults.d.ts → fields.d.ts} +3 -0
  51. package/dist/esm/schema/{defaults.js → fields.js} +44 -2
  52. package/dist/esm/schema/fields.js.map +1 -0
  53. package/dist/esm/schema/index.d.ts +1 -1
  54. package/dist/esm/schema/index.js +1 -1
  55. package/dist/esm/schema/index.js.map +1 -1
  56. package/dist/esm/schema/types/fields.d.ts +6 -0
  57. package/dist/esm/schema/validation.d.ts +3 -0
  58. package/dist/esm/schema/validation.js +82 -0
  59. package/dist/esm/schema/validation.js.map +1 -0
  60. package/dist/esm/timestamp.test.js +12 -1
  61. package/dist/esm/timestamp.test.js.map +1 -1
  62. package/dist/esm/utils.d.ts +5 -1
  63. package/dist/esm/utils.js +9 -5
  64. package/dist/esm/utils.js.map +1 -1
  65. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +1 -1
  68. package/src/indexes.ts +5 -0
  69. package/src/migration.ts +86 -20
  70. package/src/oids.test.ts +7 -0
  71. package/src/oids.ts +31 -3
  72. package/src/operation.test.ts +157 -1
  73. package/src/operation.ts +19 -3
  74. package/src/schema/defaults.test.ts +1 -1
  75. package/src/schema/{defaults.ts → fields.ts} +55 -1
  76. package/src/schema/index.ts +1 -1
  77. package/src/schema/types/fields.ts +6 -1
  78. package/src/schema/validation.ts +99 -0
  79. package/src/timestamp.test.ts +13 -0
  80. package/src/utils.ts +9 -5
  81. package/dist/cjs/schema/defaults.js.map +0 -1
  82. package/dist/esm/schema/defaults.js.map +0 -1
@@ -10,5 +10,6 @@ export declare function createLowerBoundIndexValue(...fields: IndexableFieldValu
10
10
  export declare function computeSynthetics(schema: StorageCollectionSchema, obj: any): Record<string, any>;
11
11
  export declare function computeCompoundIndices(schema: StorageCollectionSchema<any, any, any>, doc: any): any;
12
12
  export declare function assignIndexValues(schema: StorageCollectionSchema<any, any, any>, doc: any): any;
13
+ export declare const NULL_INDEX_VALUE = "null";
13
14
  export declare function sanitizeIndexValue(value: unknown): string | number | (string | number)[];
14
15
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sanitizeIndexValue = exports.assignIndexValues = exports.computeCompoundIndices = exports.computeSynthetics = exports.createLowerBoundIndexValue = exports.createUpperBoundIndexValue = exports.createCompoundIndexValue = exports.COMPOUND_INDEX_UPPER_BOUND_SEPARATOR = exports.COMPOUND_INDEX_LOWER_BOUND_SEPARATOR = exports.COMPOUND_INDEX_SEPARATOR = void 0;
3
+ exports.sanitizeIndexValue = exports.NULL_INDEX_VALUE = exports.assignIndexValues = exports.computeCompoundIndices = exports.computeSynthetics = exports.createLowerBoundIndexValue = exports.createUpperBoundIndexValue = exports.createCompoundIndexValue = exports.COMPOUND_INDEX_UPPER_BOUND_SEPARATOR = exports.COMPOUND_INDEX_LOWER_BOUND_SEPARATOR = exports.COMPOUND_INDEX_SEPARATOR = void 0;
4
4
  // unlikely to be used unicode character
5
5
  exports.COMPOUND_INDEX_SEPARATOR = '\uFFFFFE';
6
6
  // 1 lower than separator
@@ -96,7 +96,11 @@ function assignIndexValues(schema, doc) {
96
96
  return doc;
97
97
  }
98
98
  exports.assignIndexValues = assignIndexValues;
99
+ exports.NULL_INDEX_VALUE = 'null';
99
100
  function sanitizeIndexValue(value) {
101
+ if (value === null) {
102
+ return exports.NULL_INDEX_VALUE;
103
+ }
100
104
  if (typeof value === 'string' || typeof value === 'number') {
101
105
  return value;
102
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,12 @@ declare type MigrationMutations<New extends StorageSchema> = {
40
40
  export interface MigrationTools<Old extends StorageSchema<any>, New extends StorageSchema<any>> {
41
41
  migrate: MigrationRunner<Old, New>;
42
42
  identity: <T>(val: T) => T;
43
+ /**
44
+ * @deprecated - default field values are automatically
45
+ * applied during migration, you don't need to use this.
46
+ * Please remove it from your migrations - even old ones
47
+ * (old migrations can be updated!)
48
+ */
43
49
  withDefaults: (collectionName: string, value: any) => any;
44
50
  queries: MigrationQueries<Old>;
45
51
  mutations: MigrationMutations<New>;
@@ -57,6 +63,7 @@ export interface MigrationEngine<Old extends StorageSchema, New extends StorageS
57
63
  newOids: string[];
58
64
  /** Promises that should be resolved before completing the migration */
59
65
  awaitables: Promise<any>[];
66
+ log: (...messages: any[]) => void;
60
67
  }
61
68
  declare type MigrationProcedure<Old extends StorageSchema, New extends StorageSchema> = (tools: MigrationTools<Old, New>) => Promise<void>;
62
69
  declare type EmptySchema = {
@@ -23,6 +23,20 @@ function migrate(oldSchemaOrNewSchema, newSchemaOrProcedure, procedureIfTwoSchem
23
23
  (0, index_js_1.stableStringify)(newSchema.collections[key]));
24
24
  const removedCollections = Object.keys(oldSchema.collections).filter((key) => !newSchema.collections[key]);
25
25
  const addedCollections = Object.keys(newSchema.collections).filter((key) => !oldSchema.collections[key]);
26
+ // collections which added one or more field defaults
27
+ const autoMigratedCollections = new Set();
28
+ for (const collection of changedCollections) {
29
+ const oldFields = oldSchema.collections[collection].fields;
30
+ const newFields = newSchema.collections[collection].fields;
31
+ // a new default was added - we can auto-migrate it
32
+ if (Object.keys(newFields).some((key) => { var _a, _b; return !((_a = oldFields[key]) === null || _a === void 0 ? void 0 : _a.default) && ((_b = newFields[key]) === null || _b === void 0 ? void 0 : _b.default); })) {
33
+ autoMigratedCollections.add(collection);
34
+ }
35
+ // a field was removed - we can auto-migrate it
36
+ if (Object.keys(oldFields).some((key) => !newFields[key])) {
37
+ autoMigratedCollections.add(collection);
38
+ }
39
+ }
26
40
  const addedIndexes = {};
27
41
  const removedIndexes = {};
28
42
  for (const changed of [...changedCollections, ...addedCollections]) {
@@ -32,25 +46,45 @@ function migrate(oldSchemaOrNewSchema, newSchemaOrProcedure, procedureIfTwoSchem
32
46
  const removed = oldIndexes.filter((index) => !newIndexes.find((i) => i.name === index.name));
33
47
  if (added.length > 0) {
34
48
  addedIndexes[changed] = added;
49
+ autoMigratedCollections.add(changed);
35
50
  }
36
51
  if (removed.length > 0) {
37
52
  removedIndexes[changed] = removed;
53
+ autoMigratedCollections.add(changed);
38
54
  }
39
55
  }
56
+ const withDefaults = (collectionName, val) => {
57
+ return (0, index_js_1.addFieldDefaults)(newSchema.collections[collectionName], val);
58
+ };
59
+ const autoMigration = (collectionName) => (val) => {
60
+ const collection = newSchema.collections[collectionName];
61
+ return (0, index_js_1.addFieldDefaults)(collection, (0, index_js_1.removeExtraProperties)(collection, val));
62
+ };
40
63
  return {
41
64
  version: newSchema.version,
42
65
  migrate: async (engine) => {
43
66
  const migratedCollections = [];
44
67
  await procedure({
45
68
  migrate: async (collection, strategy) => {
69
+ const auto = autoMigration(collection);
70
+ const wrapped = async (val) => {
71
+ const baseValue = await strategy(val);
72
+ // assign OID from original value in case user's strategy
73
+ // involves cloning
74
+ (0, index_js_1.assignOid)(baseValue, (0, index_js_1.getOid)(val));
75
+ const result = auto(baseValue);
76
+ return result;
77
+ };
46
78
  // @ts-ignore
47
- await engine.migrate(collection, strategy);
79
+ await engine.migrate(collection, wrapped);
48
80
  migratedCollections.push(collection);
81
+ // since the user migrated this one and we wrap their
82
+ // strategy with auto-migration, we can remove it from
83
+ // the auto-migration list
84
+ autoMigratedCollections.delete(collection);
49
85
  },
50
86
  identity: (val) => val,
51
- withDefaults: (collectionName, val) => {
52
- return (0, index_js_1.addFieldDefaults)(newSchema.collections[collectionName], val);
53
- },
87
+ withDefaults,
54
88
  info: {
55
89
  changedCollections,
56
90
  addedCollections,
@@ -59,9 +93,19 @@ function migrate(oldSchemaOrNewSchema, newSchemaOrProcedure, procedureIfTwoSchem
59
93
  queries: engine.queries,
60
94
  mutations: engine.mutations,
61
95
  });
62
- const unmigrated = changedCollections.filter((collection) => !migratedCollections.includes(collection));
63
- if (unmigrated.length > 0) {
64
- console.error('Unmigrated changed collections:', unmigrated);
96
+ // mandatory migration of fields which had defaults added or
97
+ // fields removed but weren't migrated by the user
98
+ if (newSchema.version > 1) {
99
+ engine.log('debug', 'auto-migrating collections with new defaults', autoMigratedCollections);
100
+ for (const name of autoMigratedCollections) {
101
+ await engine.migrate(name, autoMigration(name));
102
+ migratedCollections.push(name);
103
+ }
104
+ const unmigrated = changedCollections.filter((collection) => !migratedCollections.includes(collection));
105
+ if (unmigrated.length > 0) {
106
+ // TODO: does this deserve a full-on error?
107
+ console.error(`Unmigrated changed collections from version ${oldSchema.version} to version ${newSchema.version}:`, unmigrated);
108
+ }
65
109
  }
66
110
  },
67
111
  removedCollections,
@@ -115,12 +159,12 @@ function createDefaultMigration(schema, newSchema) {
115
159
  version: 0,
116
160
  collections: {},
117
161
  };
118
- return migrate(oldSchema, newSchema || schema, async ({ migrate, withDefaults, info }) => {
162
+ return migrate(oldSchema, newSchema || schema, async ({ migrate, info }) => {
119
163
  if ((newSchema || schema).version === 1)
120
164
  return;
121
165
  for (const collection of info.changedCollections) {
122
166
  // @ts-ignore indefinite type resolution
123
- await migrate(collection, (old) => withDefaults(collection, old));
167
+ await migrate(collection, (old) => old);
124
168
  }
125
169
  });
126
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/migration.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare function isOidKey(key: string): boolean;
41
41
  * is already assigned.
42
42
  */
43
43
  export declare function ensureOid(obj: any, rootOid: ObjectIdentifier, createSubId?: () => string): string;
44
+ export declare function ensureCompatibleOid(obj: any, rootOid: ObjectIdentifier, createSubId?: () => string): string;
44
45
  export declare function createOid(collection: string, documentId: string, subId?: string): string;
45
46
  export declare function createSubOid(root: ObjectIdentifier, createSubId?: () => string): string;
46
47
  export declare function decomposeOid(oid: ObjectIdentifier): {
@@ -83,3 +84,4 @@ export declare function getOidRoot(oid: ObjectIdentifier): string;
83
84
  */
84
85
  export declare function getOidRange(oid: ObjectIdentifier): string[];
85
86
  export declare function getRoots(oids: ObjectIdentifier[]): string[];
87
+ export declare function areOidsRelated(oidA: ObjectIdentifier, oidB: ObjectIdentifier): boolean;
package/dist/cjs/oids.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRoots = exports.getOidRange = exports.getOidRoot = exports.normalizeFirstLevel = exports.normalize = exports.createRef = exports.createOidSubId = exports.removeOidsFromAllSubObjects = exports.removeOidPropertiesFromAllSubObjects = exports.assignOidPropertiesToAllSubObjects = exports.maybeGetOidProperty = exports.assignOidProperty = exports.assignOidsToAllSubObjects = exports.assertAllLevelsHaveOids = exports.decomposeOid = exports.createSubOid = exports.createOid = exports.ensureOid = exports.isOidKey = exports.removeOid = exports.hasOid = exports.assignOid = exports.maybeGetOid = exports.getOid = exports.OID_KEY = exports.LEGACY_OID_KEY = void 0;
3
+ exports.areOidsRelated = exports.getRoots = exports.getOidRange = exports.getOidRoot = exports.normalizeFirstLevel = exports.normalize = exports.createRef = exports.createOidSubId = exports.removeOidsFromAllSubObjects = exports.removeOidPropertiesFromAllSubObjects = exports.assignOidPropertiesToAllSubObjects = exports.maybeGetOidProperty = exports.assignOidProperty = exports.assignOidsToAllSubObjects = exports.assertAllLevelsHaveOids = exports.decomposeOid = exports.createSubOid = exports.createOid = exports.ensureCompatibleOid = exports.ensureOid = exports.isOidKey = exports.removeOid = exports.hasOid = exports.assignOid = exports.maybeGetOid = exports.getOid = exports.OID_KEY = exports.LEGACY_OID_KEY = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  const files_js_1 = require("./files.js");
6
6
  const operation_js_1 = require("./operation.js");
@@ -31,6 +31,9 @@ function maybeGetOid(obj) {
31
31
  exports.maybeGetOid = maybeGetOid;
32
32
  function assignOid(obj, oid) {
33
33
  (0, utils_js_1.assert)((0, utils_js_1.isObject)(obj), `Only objects can be assigned OIDs, received ${JSON.stringify(obj)}`);
34
+ if (hasOid(obj)) {
35
+ removeOid(obj);
36
+ }
34
37
  oidMap.set(obj, oid);
35
38
  return obj;
36
39
  }
@@ -63,6 +66,25 @@ function ensureOid(obj, rootOid, createSubId) {
63
66
  }
64
67
  }
65
68
  exports.ensureOid = ensureOid;
69
+ function ensureCompatibleOid(obj, rootOid, createSubId) {
70
+ if (!hasOid(obj)) {
71
+ const oid = createSubOid(rootOid, createSubId);
72
+ assignOid(obj, oid);
73
+ return oid;
74
+ }
75
+ else {
76
+ const existingOid = getOid(obj);
77
+ if (!areOidsRelated(existingOid, rootOid)) {
78
+ const oid = createSubOid(rootOid, createSubId);
79
+ assignOid(obj, oid);
80
+ return oid;
81
+ }
82
+ else {
83
+ return getOid(obj);
84
+ }
85
+ }
86
+ }
87
+ exports.ensureCompatibleOid = ensureCompatibleOid;
66
88
  const SANTIIZE_PLACEHOLDERS = {
67
89
  '.': '&dot;',
68
90
  '/': '&slash;',
@@ -128,7 +150,7 @@ function assignOidsToAllSubObjects(obj, createSubId) {
128
150
  for (let i = 0; i < obj.length; i++) {
129
151
  item = obj[i];
130
152
  if ((0, utils_js_1.isObject)(item) && !(0, refs_js_1.isRef)(item)) {
131
- ensureOid(item, rootOid, createSubId);
153
+ ensureCompatibleOid(item, rootOid, createSubId);
132
154
  assignOidsToAllSubObjects(item, createSubId);
133
155
  }
134
156
  }
@@ -136,7 +158,7 @@ function assignOidsToAllSubObjects(obj, createSubId) {
136
158
  else if ((0, utils_js_1.isObject)(obj) && !(0, refs_js_1.isRef)(obj)) {
137
159
  for (const key of Object.keys(obj)) {
138
160
  if ((0, utils_js_1.isObject)(obj[key]) && !(0, refs_js_1.isRef)(obj[key])) {
139
- ensureOid(obj[key], rootOid, createSubId);
161
+ ensureCompatibleOid(obj[key], rootOid, createSubId);
140
162
  assignOidsToAllSubObjects(obj[key], createSubId);
141
163
  }
142
164
  }
@@ -341,7 +363,7 @@ function normalizeFirstLevel(obj) {
341
363
  }
342
364
  exports.normalizeFirstLevel = normalizeFirstLevel;
343
365
  function getOidRoot(oid) {
344
- return oid.split(RANDOM_SEPARATOR)[0];
366
+ return oid.split('.')[0].split(RANDOM_SEPARATOR)[0];
345
367
  }
346
368
  exports.getOidRoot = getOidRoot;
347
369
  /**
@@ -361,4 +383,8 @@ function getRoots(oids) {
361
383
  return Array.from(set);
362
384
  }
363
385
  exports.getRoots = getRoots;
386
+ function areOidsRelated(oidA, oidB) {
387
+ return getOidRoot(oidA) === getOidRoot(oidB);
388
+ }
389
+ exports.areOidsRelated = areOidsRelated;
364
390
  //# sourceMappingURL=oids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oids.js","sourceRoot":"","sources":["../../src/oids.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAC1B,yCAAuC;AACvC,iDAAwD;AACxD,uCAAkC;AAClC,yCAA8C;AAiCjC,QAAA,cAAc,GAAG,oBAAoB,CAAC;AACtC,QAAA,OAAO,GAAG,MAAM,CAAC;AAE9B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,GAAG,IAAI,OAAO,EAAyB,CAAC;AAEpD,SAAgB,MAAM,CAAC,GAAQ;IAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAA,iBAAM,EACL,CAAC,CAAC,GAAG,EACL,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sCAAsC,CACnE,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AAPD,wBAOC;AAED,SAAgB,WAAW,CAAC,GAAQ;;IACnC,IAAI,CAAC,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACnB,OAAO,SAAS,CAAC;KACjB;IACD,OAAO,MAAA,MAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,GAAG,CAAC,eAAO,CAAC,mCAAI,GAAG,CAAC,sBAAc,CAAC,CAAC;AAC/D,CAAC;AALD,kCAKC;AAED,SAAgB,SAAS,CAAC,GAAQ,EAAE,GAAqB;IACxD,IAAA,iBAAM,EACL,IAAA,mBAAQ,EAAC,GAAG,CAAC,EACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACZ,CAAC;AAPD,8BAOC;AAED,SAAgB,MAAM,CAAC,GAAQ;IAC9B,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAFD,wBAEC;AAED,SAAgB,SAAS,CAAC,GAAQ;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACZ,CAAC;AAHD,8BAGC;AAED,SAAgB,QAAQ,CAAC,GAAW;IACnC,OAAO,GAAG,KAAK,eAAO,IAAI,GAAG,KAAK,sBAAc,CAAC;AAClD,CAAC;AAFD,4BAEC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACxB,GAAQ,EACR,OAAyB,EACzB,WAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC;KACX;SAAM;QACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KACnB;AACF,CAAC;AAZD,8BAYC;AAED,MAAM,qBAAqB,GAAG;IAC7B,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACd,CAAC;AACF,SAAS,gBAAgB,CAAC,EAAU;IACnC,kDAAkD;IAClD,OAAO,EAAE;SACP,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;SAC3C,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;SAC3C,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AACD,SAAS,kBAAkB,CAAC,EAAU;IACrC,kDAAkD;IAClD,OAAO,EAAE;SACP,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,SAAS,CACxB,UAAkB,EAClB,UAAkB,EAClB,KAAc;IAEd,IAAI,GAAG,GACN,gBAAgB,CAAC,UAAU,CAAC;QAC5B,oBAAoB;QACpB,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9B,IAAI,KAAK,EAAE;QACV,GAAG,IAAI,gBAAgB,GAAG,KAAK,CAAC;KAChC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAbD,8BAaC;AAED,SAAgB,YAAY,CAC3B,IAAsB,EACtB,cAA4B,cAAc;IAE1C,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AACjD,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,GAAqB;IAKjD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO;QACN,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;QAC1C,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC1B,KAAK,EAAE,MAAM;KACb,CAAC;AACH,CAAC;AAZD,oCAYC;AAED,SAAgB,uBAAuB,CAAC,GAAQ,EAAE,IAAU;IAC3D,IAAA,iBAAM,EACL,MAAM,CAAC,GAAG,CAAC,EACX,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,CACzE,IAAI,CACJ,GAAG,CACJ,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACvB,uBAAuB,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;SAC3C;KACD;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;SAC/C;KACD;AACF,CAAC;AAhBD,0DAgBC;AAED,SAAgB,yBAAyB,CACxC,GAAQ,EACR,WAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,IAAI,IAAI,CAAC;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,EAAE;gBACnC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBACtC,yBAAyB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC7C;SACD;KACD;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,GAAG,CAAC,EAAE;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC3C,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC1C,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;aACjD;SACD;KACD;AACF,CAAC;AAtBD,8DAsBC;AAED,SAAgB,iBAAiB,CAAC,GAAQ,EAAE,GAAqB;IAChE,IAAA,iBAAM,EACL,IAAA,mBAAQ,EAAC,GAAG,CAAC,EACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;IACF,GAAG,CAAC,eAAO,CAAC,GAAG,GAAG,CAAC;IACnB,OAAO,GAAG,CAAC;AACZ,CAAC;AAPD,8CAOC;AAED,SAAgB,mBAAmB,CAAC,GAAQ;IAC3C,IAAI,CAAC,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACnB,OAAO,SAAS,CAAC;KACjB;IACD,OAAO,GAAG,CAAC,eAAO,CAAC,IAAI,GAAG,CAAC,sBAAc,CAAC,CAAC;AAC5C,CAAC;AALD,kDAKC;AAED,SAAS,iBAAiB,CAAC,GAAQ;IAClC,IAAI,CAAC,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACnB,OAAO,GAAG,CAAC;KACX;IACD,OAAO,GAAG,CAAC,sBAAc,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,eAAO,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAQ;IAChD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,EAAE;QACR,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC5B;AACF,CAAC;AAED;;;GAGG;AACH,SAAgB,kCAAkC,CAAC,GAAQ;IAC1D,+BAA+B,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3C;KACD;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,kCAAkC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7C;KACD;AACF,CAAC;AAZD,gFAYC;AAED,SAAS,2BAA2B,CAAC,GAAQ;IAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,GAAG,EAAE;QACR,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACpB;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oCAAoC,CAAC,GAAQ;IAC5D,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,oCAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;KACD;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,oCAAoC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;KACD;AACF,CAAC;AAbD,oFAaC;AAED,SAAgB,2BAA2B,CAAC,GAAQ;IACnD,SAAS,CAAC,GAAG,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;KACD;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;KACD;AACF,CAAC;AAZD,kEAYC;AAED,SAAgB,cAAc;IAC7B,OAAO,IAAA,SAAE,GAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAFD,wCAEC;AAED,SAAgB,SAAS,CAAC,GAAqB;IAC9C,OAAO;QACN,QAAQ,EAAE,KAAK;QACf,EAAE,EAAE,GAAG;KACP,CAAC;AACH,CAAC;AALD,8BAKC;AAED,SAAgB,SAAS,CACxB,GAAQ,EACR,OAAmC,IAAI,GAAG,EAAE;IAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,IAAA,0BAAW,EAAC,KAAK,CAAC,EAAE;oBACvB,MAAM,IAAI,KAAK,CACd,oGAAoG,CACpG,CAAC;iBACF;qBAAM,IAAI,IAAA,oBAAS,EAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBAChB,SAAS;iBACT;qBAAM;oBACN,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC7B,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACvB;aACD;iBAAM;gBACN,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aAChB;SACD;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACpB;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,GAAG,CAAC,EAAE;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAyB,EAAE,GAAG,CAAC,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,IAAA,0BAAW,EAAC,KAAK,CAAC,EAAE;oBACvB,MAAM,IAAI,KAAK,CACd,oGAAoG,CACpG,CAAC;iBACF;qBAAM,IAAI,IAAA,oBAAS,EAAC,KAAK,CAAC,EAAE;oBAC5B,YAAY;oBACZ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBAClB;qBAAM;oBACN,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC/B,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACvB;aACD;iBAAM;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClB;SACD;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACpB;SAAM,IAAI,IAAA,eAAK,EAAC,GAAG,CAAC,EAAE;KACtB;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AArDD,8BAqDC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAQ;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqC,CAAC;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzB,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aAC5B;iBAAM;gBACN,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aAChB;SACD;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACpB;SAAM,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAyB,EAAE,GAAG,CAAC,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzB,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC9B;iBAAM;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClB;SACD;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACpB;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC9B,CAAC;AAnCD,kDAmCC;AAED,SAAgB,UAAU,CAAC,GAAqB;IAC/C,OAAO,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAFD,gCAEC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,GAAqB;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,gBAAgB,QAAQ,CAAC,CAAC;AACnD,CAAC;AAHD,kCAGC;AAED,SAAgB,QAAQ,CAAC,IAAwB;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACvB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KACzB;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAND,4BAMC"}
1
+ {"version":3,"file":"oids.js","sourceRoot":"","sources":["../../src/oids.ts"],"names":[],"mappings":"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"}
@@ -297,4 +297,7 @@ const oids_js_1 = require("./oids.js");
297
297
  (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.bar[0])).toBe(false);
298
298
  });
299
299
  });
300
+ (0, vitest_1.it)('should get the root OID for a legacy OID', () => [
301
+ (0, vitest_1.expect)((0, oids_js_1.getOidRoot)('items/clabgyjfh00003968qycsq3ld.inputs.#')).toEqual('items/clabgyjfh00003968qycsq3ld'),
302
+ ]);
300
303
  //# sourceMappingURL=oids.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oids.test.js","sourceRoot":"","sources":["../../src/oids.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oids.test.js","sourceRoot":"","sources":["../../src/oids.test.ts"],"names":[],"mappings":"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"}
@@ -38,14 +38,21 @@ function diffToPatches(from, to, getNow, createSubId, patches = [], options = {}
38
38
  }
39
39
  else {
40
40
  const oldValueOid = (0, oids_js_1.maybeGetOid)(oldValue);
41
- let valueOid;
42
- if (!options.mergeUnknownObjects) {
41
+ let valueOid = (0, oids_js_1.maybeGetOid)(value);
42
+ // the user supplied an object which was already assigned an OID,
43
+ // but that OID is from a separate entity: this object must
44
+ // be cloned to a new identity.
45
+ if (valueOid && !(0, oids_js_1.areOidsRelated)(oid, valueOid)) {
46
+ value = (0, utils_js_1.cloneDeep)(value, false);
47
+ valueOid = (0, oids_js_1.createSubOid)(oid, createSubId);
48
+ (0, oids_js_1.assignOid)(value, valueOid);
49
+ }
50
+ else if (!options.mergeUnknownObjects) {
43
51
  valueOid = (0, oids_js_1.ensureOid)(value, oid, createSubId);
44
52
  }
45
53
  else {
46
54
  // if merge unknown objects is requested, we copy the previous value's oid
47
55
  // to any mirrored new value if it doesn't have one assigned already.
48
- valueOid = (0, oids_js_1.maybeGetOid)(value);
49
56
  if (!valueOid && oldValueOid) {
50
57
  (0, oids_js_1.assignOid)(value, oldValueOid);
51
58
  valueOid = oldValueOid;
@@ -54,6 +61,8 @@ function diffToPatches(from, to, getNow, createSubId, patches = [], options = {}
54
61
  valueOid = (0, oids_js_1.ensureOid)(value, oid, createSubId);
55
62
  }
56
63
  }
64
+ (0, utils_js_1.assert)(!!valueOid, 'Error: no value OID was resolved during diff. This is a bug in Verdant.');
65
+ (0, utils_js_1.assert)((0, oids_js_1.areOidsRelated)(oid, valueOid), `Error: value OID ${valueOid} is not related to parent OID ${oid}. This is a bug in Verdant.`);
57
66
  if (oldValue === undefined || valueOid !== oldValueOid) {
58
67
  // first case: previous value exists but the OIDs are different,
59
68
  // meaning the object identity has changed
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"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"}