@verdant-web/common 2.1.1 → 2.3.0-next.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 (194) hide show
  1. package/dist/esm/EventSubscriber.js.map +1 -1
  2. package/dist/esm/batching.js.map +1 -1
  3. package/dist/esm/error.js +8 -2
  4. package/dist/esm/error.js.map +1 -1
  5. package/dist/esm/indexes.js +2 -2
  6. package/dist/esm/indexes.js.map +1 -1
  7. package/dist/esm/memo.js.map +1 -1
  8. package/dist/esm/migration.js.map +1 -1
  9. package/dist/esm/oids.js.map +1 -1
  10. package/dist/esm/operation.js.map +1 -1
  11. package/dist/esm/patch.js.map +1 -1
  12. package/dist/esm/replica.js +1 -1
  13. package/dist/esm/replica.js.map +1 -1
  14. package/dist/esm/schema/children.js.map +1 -1
  15. package/dist/esm/schema/fieldHelpers.js.map +1 -1
  16. package/dist/esm/schema/fields.js +0 -14
  17. package/dist/esm/schema/fields.js.map +1 -1
  18. package/dist/esm/schema/index.js +1 -2
  19. package/dist/esm/schema/index.js.map +1 -1
  20. package/dist/esm/schema/validation.js.map +1 -1
  21. package/dist/esm/timestamp.js.map +1 -1
  22. package/dist/esm/timestamp.test.js.map +1 -1
  23. package/dist/esm/undo.js.map +1 -1
  24. package/dist/esm/utils.js.map +1 -1
  25. package/package.json +5 -8
  26. package/src/error.ts +7 -1
  27. package/src/indexes.ts +2 -2
  28. package/src/protocol.ts +1 -1
  29. package/src/schema/fieldHelpers.ts +5 -5
  30. package/src/schema/fields.ts +3 -13
  31. package/src/schema/index.ts +1 -2
  32. package/src/schema/types/compounds.ts +6 -6
  33. package/src/schema/types/fields.ts +8 -47
  34. package/src/schema/types/shapes.ts +2 -7
  35. package/src/schema/types/synthetics.ts +0 -1
  36. package/src/schema/validation.ts +2 -6
  37. package/dist/cjs/EventSubscriber.d.ts +0 -18
  38. package/dist/cjs/EventSubscriber.js +0 -70
  39. package/dist/cjs/EventSubscriber.js.map +0 -1
  40. package/dist/cjs/baseline.d.ts +0 -5
  41. package/dist/cjs/baseline.js +0 -3
  42. package/dist/cjs/baseline.js.map +0 -1
  43. package/dist/cjs/batching.d.ts +0 -43
  44. package/dist/cjs/batching.js +0 -98
  45. package/dist/cjs/batching.js.map +0 -1
  46. package/dist/cjs/error.d.ts +0 -16
  47. package/dist/cjs/error.js +0 -37
  48. package/dist/cjs/error.js.map +0 -1
  49. package/dist/cjs/files.d.ts +0 -19
  50. package/dist/cjs/files.js +0 -19
  51. package/dist/cjs/files.js.map +0 -1
  52. package/dist/cjs/index.d.ts +0 -21
  53. package/dist/cjs/index.js +0 -44
  54. package/dist/cjs/index.js.map +0 -1
  55. package/dist/cjs/indexes.d.ts +0 -17
  56. package/dist/cjs/indexes.js +0 -146
  57. package/dist/cjs/indexes.js.map +0 -1
  58. package/dist/cjs/indexes.test.d.ts +0 -1
  59. package/dist/cjs/indexes.test.js +0 -156
  60. package/dist/cjs/indexes.test.js.map +0 -1
  61. package/dist/cjs/memo.d.ts +0 -6
  62. package/dist/cjs/memo.js +0 -25
  63. package/dist/cjs/memo.js.map +0 -1
  64. package/dist/cjs/memo.test.d.ts +0 -1
  65. package/dist/cjs/memo.test.js +0 -29
  66. package/dist/cjs/memo.test.js.map +0 -1
  67. package/dist/cjs/migration.d.ts +0 -174
  68. package/dist/cjs/migration.js +0 -310
  69. package/dist/cjs/migration.js.map +0 -1
  70. package/dist/cjs/oids.d.ts +0 -101
  71. package/dist/cjs/oids.js +0 -466
  72. package/dist/cjs/oids.js.map +0 -1
  73. package/dist/cjs/oids.test.d.ts +0 -1
  74. package/dist/cjs/oids.test.js +0 -409
  75. package/dist/cjs/oids.test.js.map +0 -1
  76. package/dist/cjs/operation.d.ts +0 -142
  77. package/dist/cjs/operation.js +0 -549
  78. package/dist/cjs/operation.js.map +0 -1
  79. package/dist/cjs/operation.test.d.ts +0 -1
  80. package/dist/cjs/operation.test.js +0 -977
  81. package/dist/cjs/operation.test.js.map +0 -1
  82. package/dist/cjs/patch.d.ts +0 -28
  83. package/dist/cjs/patch.js +0 -230
  84. package/dist/cjs/patch.js.map +0 -1
  85. package/dist/cjs/presence.d.ts +0 -29
  86. package/dist/cjs/presence.js +0 -3
  87. package/dist/cjs/presence.js.map +0 -1
  88. package/dist/cjs/protocol.d.ts +0 -145
  89. package/dist/cjs/protocol.js +0 -4
  90. package/dist/cjs/protocol.js.map +0 -1
  91. package/dist/cjs/refs.d.ts +0 -7
  92. package/dist/cjs/refs.js +0 -30
  93. package/dist/cjs/refs.js.map +0 -1
  94. package/dist/cjs/replica.d.ts +0 -28
  95. package/dist/cjs/replica.js +0 -29
  96. package/dist/cjs/replica.js.map +0 -1
  97. package/dist/cjs/schema/children.d.ts +0 -2
  98. package/dist/cjs/schema/children.js +0 -24
  99. package/dist/cjs/schema/children.js.map +0 -1
  100. package/dist/cjs/schema/defaults.test.d.ts +0 -1
  101. package/dist/cjs/schema/defaults.test.js +0 -34
  102. package/dist/cjs/schema/defaults.test.js.map +0 -1
  103. package/dist/cjs/schema/fieldHelpers.d.ts +0 -35
  104. package/dist/cjs/schema/fieldHelpers.js +0 -38
  105. package/dist/cjs/schema/fieldHelpers.js.map +0 -1
  106. package/dist/cjs/schema/fields.d.ts +0 -12
  107. package/dist/cjs/schema/fields.js +0 -187
  108. package/dist/cjs/schema/fields.js.map +0 -1
  109. package/dist/cjs/schema/index.d.ts +0 -54
  110. package/dist/cjs/schema/index.js +0 -64
  111. package/dist/cjs/schema/index.js.map +0 -1
  112. package/dist/cjs/schema/indexFilters.d.ts +0 -6
  113. package/dist/cjs/schema/indexFilters.js +0 -31
  114. package/dist/cjs/schema/indexFilters.js.map +0 -1
  115. package/dist/cjs/schema/types/collection.d.ts +0 -23
  116. package/dist/cjs/schema/types/collection.js +0 -3
  117. package/dist/cjs/schema/types/collection.js.map +0 -1
  118. package/dist/cjs/schema/types/compounds.d.ts +0 -11
  119. package/dist/cjs/schema/types/compounds.js +0 -3
  120. package/dist/cjs/schema/types/compounds.js.map +0 -1
  121. package/dist/cjs/schema/types/fields.d.ts +0 -78
  122. package/dist/cjs/schema/types/fields.js +0 -3
  123. package/dist/cjs/schema/types/fields.js.map +0 -1
  124. package/dist/cjs/schema/types/filters.d.ts +0 -29
  125. package/dist/cjs/schema/types/filters.js +0 -3
  126. package/dist/cjs/schema/types/filters.js.map +0 -1
  127. package/dist/cjs/schema/types/shapes.d.ts +0 -24
  128. package/dist/cjs/schema/types/shapes.js +0 -3
  129. package/dist/cjs/schema/types/shapes.js.map +0 -1
  130. package/dist/cjs/schema/types/synthetics.d.ts +0 -37
  131. package/dist/cjs/schema/types/synthetics.js +0 -3
  132. package/dist/cjs/schema/types/synthetics.js.map +0 -1
  133. package/dist/cjs/schema/types.d.ts +0 -18
  134. package/dist/cjs/schema/types.js +0 -23
  135. package/dist/cjs/schema/types.js.map +0 -1
  136. package/dist/cjs/schema/validation.d.ts +0 -14
  137. package/dist/cjs/schema/validation.js +0 -158
  138. package/dist/cjs/schema/validation.js.map +0 -1
  139. package/dist/cjs/timestamp.d.ts +0 -51
  140. package/dist/cjs/timestamp.js +0 -254
  141. package/dist/cjs/timestamp.js.map +0 -1
  142. package/dist/cjs/timestamp.test.d.ts +0 -1
  143. package/dist/cjs/timestamp.test.js +0 -105
  144. package/dist/cjs/timestamp.test.js.map +0 -1
  145. package/dist/cjs/undo.d.ts +0 -3
  146. package/dist/cjs/undo.js +0 -201
  147. package/dist/cjs/undo.js.map +0 -1
  148. package/dist/cjs/utils.d.ts +0 -20
  149. package/dist/cjs/utils.js +0 -146
  150. package/dist/cjs/utils.js.map +0 -1
  151. package/dist/cjs/utils.test.d.ts +0 -1
  152. package/dist/cjs/utils.test.js +0 -37
  153. package/dist/cjs/utils.test.js.map +0 -1
  154. package/dist/esm/EventSubscriber.d.ts +0 -18
  155. package/dist/esm/baseline.d.ts +0 -5
  156. package/dist/esm/batching.d.ts +0 -43
  157. package/dist/esm/error.d.ts +0 -16
  158. package/dist/esm/files.d.ts +0 -19
  159. package/dist/esm/index.d.ts +0 -21
  160. package/dist/esm/indexes.d.ts +0 -17
  161. package/dist/esm/indexes.test.d.ts +0 -1
  162. package/dist/esm/memo.d.ts +0 -6
  163. package/dist/esm/memo.test.d.ts +0 -1
  164. package/dist/esm/migration.d.ts +0 -174
  165. package/dist/esm/oids.d.ts +0 -101
  166. package/dist/esm/oids.test.d.ts +0 -1
  167. package/dist/esm/operation.d.ts +0 -142
  168. package/dist/esm/operation.test.d.ts +0 -1
  169. package/dist/esm/patch.d.ts +0 -28
  170. package/dist/esm/presence.d.ts +0 -29
  171. package/dist/esm/protocol.d.ts +0 -145
  172. package/dist/esm/refs.d.ts +0 -7
  173. package/dist/esm/replica.d.ts +0 -28
  174. package/dist/esm/schema/children.d.ts +0 -2
  175. package/dist/esm/schema/defaults.test.d.ts +0 -1
  176. package/dist/esm/schema/fieldHelpers.d.ts +0 -35
  177. package/dist/esm/schema/fields.d.ts +0 -12
  178. package/dist/esm/schema/index.d.ts +0 -54
  179. package/dist/esm/schema/indexFilters.d.ts +0 -6
  180. package/dist/esm/schema/types/collection.d.ts +0 -23
  181. package/dist/esm/schema/types/compounds.d.ts +0 -11
  182. package/dist/esm/schema/types/fields.d.ts +0 -78
  183. package/dist/esm/schema/types/filters.d.ts +0 -29
  184. package/dist/esm/schema/types/shapes.d.ts +0 -24
  185. package/dist/esm/schema/types/synthetics.d.ts +0 -37
  186. package/dist/esm/schema/types.d.ts +0 -18
  187. package/dist/esm/schema/validation.d.ts +0 -14
  188. package/dist/esm/timestamp.d.ts +0 -51
  189. package/dist/esm/timestamp.test.d.ts +0 -1
  190. package/dist/esm/undo.d.ts +0 -3
  191. package/dist/esm/utils.d.ts +0 -20
  192. package/dist/esm/utils.test.d.ts +0 -1
  193. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  194. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/cjs/oids.js DELETED
@@ -1,466 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRootOid = exports.replaceLegacyOidsInObject = exports.replaceLegacyOidsInJsonString = exports.MATCH_LEGACY_OID_JSON_STRING = exports.convertLegacyOid = exports.isLegacyDotOid = exports.fixForeignOids = exports.areOidsRelated = exports.getRoots = exports.getLegacyDotOidSubIdRange = exports.getOidSubIdRange = 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
- const uuid_1 = require("uuid");
5
- const files_js_1 = require("./files.js");
6
- const operation_js_1 = require("./operation.js");
7
- const refs_js_1 = require("./refs.js");
8
- const utils_js_1 = require("./utils.js");
9
- exports.LEGACY_OID_KEY = '__@@oid_do_not_use';
10
- exports.OID_KEY = '@@id';
11
- const COLLECTION_SEPARATOR = '/';
12
- const RANDOM_SEPARATOR = ':';
13
- /**
14
- * This is the global, in-memory storage for all OIDs. It is used to
15
- * associate JS objects with OIDs without modifying the objects themselves.
16
- */
17
- const oidMap = new WeakMap();
18
- function getOid(obj) {
19
- const oid = maybeGetOid(obj);
20
- (0, utils_js_1.assert)(!!oid, `Object ${JSON.stringify(obj)} does not have an OID assigned to it`);
21
- return oid;
22
- }
23
- exports.getOid = getOid;
24
- function maybeGetOid(obj) {
25
- var _a, _b;
26
- if (!(0, utils_js_1.isObject)(obj)) {
27
- return undefined;
28
- }
29
- return (_b = (_a = oidMap.get(obj)) !== null && _a !== void 0 ? _a : obj[exports.OID_KEY]) !== null && _b !== void 0 ? _b : obj[exports.LEGACY_OID_KEY];
30
- }
31
- exports.maybeGetOid = maybeGetOid;
32
- function assignOid(obj, oid) {
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
- }
37
- oidMap.set(obj, oid);
38
- return obj;
39
- }
40
- exports.assignOid = assignOid;
41
- function hasOid(obj) {
42
- return !!maybeGetOid(obj);
43
- }
44
- exports.hasOid = hasOid;
45
- function removeOid(obj) {
46
- oidMap.delete(obj);
47
- return obj;
48
- }
49
- exports.removeOid = removeOid;
50
- function isOidKey(key) {
51
- return key === exports.OID_KEY || key === exports.LEGACY_OID_KEY;
52
- }
53
- exports.isOidKey = isOidKey;
54
- /**
55
- * For sub-objects, assign a random sub-OID if no OID
56
- * is already assigned.
57
- */
58
- function ensureOid(obj, rootOid, createSubId) {
59
- if (!hasOid(obj)) {
60
- const oid = createSubOid(rootOid, createSubId);
61
- assignOid(obj, oid);
62
- return oid;
63
- }
64
- else {
65
- return getOid(obj);
66
- }
67
- }
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;
88
- const SANTIIZE_PLACEHOLDERS = {
89
- '.': '˙',
90
- '/': '&slash;',
91
- ':': ':',
92
- };
93
- function sanitizeFragment(id) {
94
- // replaces separator characters with placeholders
95
- return id
96
- .replace(/[/]/g, SANTIIZE_PLACEHOLDERS['/'])
97
- .replace(/[:]/g, SANTIIZE_PLACEHOLDERS[':'])
98
- .replace(/[.]/g, SANTIIZE_PLACEHOLDERS['.']);
99
- }
100
- function unsanitizeFragment(id) {
101
- // replaces placeholders with separator characters
102
- return id
103
- .replace(/&slash;/g, '/')
104
- .replace(/:/g, ':')
105
- .replace(/˙/g, '.');
106
- }
107
- function createOid(collection, documentId, subId) {
108
- let oid = sanitizeFragment(collection) +
109
- COLLECTION_SEPARATOR +
110
- sanitizeFragment(documentId);
111
- if (subId) {
112
- oid += RANDOM_SEPARATOR + subId;
113
- }
114
- return oid;
115
- }
116
- exports.createOid = createOid;
117
- function createSubOid(root, createSubId = createOidSubId) {
118
- const { collection, id } = decomposeOid(root);
119
- return createOid(collection, id, createSubId());
120
- }
121
- exports.createSubOid = createSubOid;
122
- function decomposeOid(oid) {
123
- const [core, random] = oid.split(RANDOM_SEPARATOR);
124
- let [collection, idOrLegacyPathId, ...others] = core.split('/');
125
- // if there's more than one slash... something went wrong, but we can just bolt the rest on.
126
- if (others.length) {
127
- idOrLegacyPathId += '/' + others.join('/');
128
- }
129
- let id;
130
- if (idOrLegacyPathId.includes('.')) {
131
- id = idOrLegacyPathId.slice(0, idOrLegacyPathId.indexOf('.'));
132
- }
133
- else {
134
- id = idOrLegacyPathId;
135
- }
136
- return {
137
- collection: unsanitizeFragment(collection),
138
- id: unsanitizeFragment(id),
139
- subId: random,
140
- };
141
- }
142
- exports.decomposeOid = decomposeOid;
143
- function assertAllLevelsHaveOids(obj, root) {
144
- (0, utils_js_1.assert)(getOid(obj), `Object ${JSON.stringify(obj)} must have an oid (child of ${JSON.stringify(root)})`);
145
- if (Array.isArray(obj)) {
146
- for (const item of obj) {
147
- assertAllLevelsHaveOids(item, root || obj);
148
- }
149
- }
150
- else if ((0, utils_js_1.isObject)(obj)) {
151
- for (const key of Object.keys(obj)) {
152
- assertAllLevelsHaveOids(obj[key], root || obj);
153
- }
154
- }
155
- }
156
- exports.assertAllLevelsHaveOids = assertAllLevelsHaveOids;
157
- function assignOidsToAllSubObjects(obj, createSubId) {
158
- const rootOid = getOid(obj);
159
- if (Array.isArray(obj)) {
160
- let item;
161
- for (let i = 0; i < obj.length; i++) {
162
- item = obj[i];
163
- if ((0, utils_js_1.isObject)(item) && !(0, refs_js_1.isRef)(item)) {
164
- ensureCompatibleOid(item, rootOid, createSubId);
165
- assignOidsToAllSubObjects(item, createSubId);
166
- }
167
- }
168
- }
169
- else if ((0, utils_js_1.isObject)(obj) && !(0, refs_js_1.isRef)(obj)) {
170
- for (const key of Object.keys(obj)) {
171
- if ((0, utils_js_1.isObject)(obj[key]) && !(0, refs_js_1.isRef)(obj[key])) {
172
- ensureCompatibleOid(obj[key], rootOid, createSubId);
173
- assignOidsToAllSubObjects(obj[key], createSubId);
174
- }
175
- }
176
- }
177
- }
178
- exports.assignOidsToAllSubObjects = assignOidsToAllSubObjects;
179
- function assignOidProperty(obj, oid) {
180
- (0, utils_js_1.assert)((0, utils_js_1.isObject)(obj), `Only objects can be assigned OIDs, received ${JSON.stringify(obj)}`);
181
- obj[exports.OID_KEY] = oid;
182
- return obj;
183
- }
184
- exports.assignOidProperty = assignOidProperty;
185
- function maybeGetOidProperty(obj) {
186
- if (!(0, utils_js_1.isObject)(obj)) {
187
- return undefined;
188
- }
189
- return obj[exports.OID_KEY] || obj[exports.LEGACY_OID_KEY];
190
- }
191
- exports.maybeGetOidProperty = maybeGetOidProperty;
192
- function removeOidProperty(obj) {
193
- if (!(0, utils_js_1.isObject)(obj)) {
194
- return obj;
195
- }
196
- delete obj[exports.LEGACY_OID_KEY];
197
- delete obj[exports.OID_KEY];
198
- return obj;
199
- }
200
- function transferOidFromSystemToProperty(obj) {
201
- const oid = maybeGetOid(obj);
202
- if (oid) {
203
- assignOidProperty(obj, oid);
204
- }
205
- }
206
- /**
207
- * Assigns a special property to all objects in the given object
208
- * which have an OID
209
- */
210
- function assignOidPropertiesToAllSubObjects(obj) {
211
- transferOidFromSystemToProperty(obj);
212
- if (Array.isArray(obj)) {
213
- for (let i = 0; i < obj.length; i++) {
214
- assignOidPropertiesToAllSubObjects(obj[i]);
215
- }
216
- }
217
- else if ((0, utils_js_1.isObject)(obj)) {
218
- for (const key of Object.keys(obj)) {
219
- assignOidPropertiesToAllSubObjects(obj[key]);
220
- }
221
- }
222
- }
223
- exports.assignOidPropertiesToAllSubObjects = assignOidPropertiesToAllSubObjects;
224
- function copyOidFromPropertyToSystem(obj) {
225
- const oid = maybeGetOidProperty(obj);
226
- if (oid) {
227
- assignOid(obj, oid);
228
- }
229
- }
230
- /**
231
- *
232
- * Removes the special property from all objects in the given object
233
- * which have an OID, transferring the OID from the property to the OID
234
- * system in-memory.
235
- */
236
- function removeOidPropertiesFromAllSubObjects(obj) {
237
- copyOidFromPropertyToSystem(obj);
238
- removeOidProperty(obj);
239
- if (Array.isArray(obj)) {
240
- for (let i = 0; i < obj.length; i++) {
241
- removeOidPropertiesFromAllSubObjects(obj[i]);
242
- }
243
- }
244
- else if ((0, utils_js_1.isObject)(obj)) {
245
- for (const key of Object.keys(obj)) {
246
- removeOidPropertiesFromAllSubObjects(obj[key]);
247
- }
248
- }
249
- }
250
- exports.removeOidPropertiesFromAllSubObjects = removeOidPropertiesFromAllSubObjects;
251
- function removeOidsFromAllSubObjects(obj) {
252
- removeOid(obj);
253
- if (Array.isArray(obj)) {
254
- for (let i = 0; i < obj.length; i++) {
255
- removeOidsFromAllSubObjects(obj[i]);
256
- }
257
- }
258
- else if ((0, utils_js_1.isObject)(obj)) {
259
- for (const key of Object.keys(obj)) {
260
- removeOidsFromAllSubObjects(obj[key]);
261
- }
262
- }
263
- }
264
- exports.removeOidsFromAllSubObjects = removeOidsFromAllSubObjects;
265
- function createOidSubId() {
266
- return (0, uuid_1.v4)().slice(0, 8);
267
- }
268
- exports.createOidSubId = createOidSubId;
269
- function createRef(oid) {
270
- return {
271
- '@@type': 'ref',
272
- id: oid,
273
- };
274
- }
275
- exports.createRef = createRef;
276
- function normalize(obj, refs = new Map()) {
277
- if (Array.isArray(obj)) {
278
- const oid = getOid(obj);
279
- const copy = assignOid([], oid);
280
- for (let i = 0; i < obj.length; i++) {
281
- const value = obj[i];
282
- if ((0, utils_js_1.isObject)(value)) {
283
- if ((0, operation_js_1.isObjectRef)(value)) {
284
- throw new Error('An attempt was made to normalize an already normalized object! This is an error in verdant itself.');
285
- }
286
- else if ((0, files_js_1.isFileRef)(value)) {
287
- copy[i] = value;
288
- continue;
289
- }
290
- else {
291
- const itemOid = getOid(value);
292
- copy[i] = createRef(itemOid);
293
- normalize(value, refs);
294
- }
295
- }
296
- else {
297
- copy[i] = value;
298
- }
299
- }
300
- refs.set(oid, copy);
301
- }
302
- else if ((0, utils_js_1.isObject)(obj) && !(0, refs_js_1.isRef)(obj)) {
303
- const oid = getOid(obj);
304
- const copy = assignOid({}, oid);
305
- for (const key of Object.keys(obj)) {
306
- const value = obj[key];
307
- if ((0, utils_js_1.isObject)(value)) {
308
- if ((0, operation_js_1.isObjectRef)(value)) {
309
- throw new Error('An attempt was made to normalize an already normalized object! This is an error in verdant itself.');
310
- }
311
- else if ((0, files_js_1.isFileRef)(value)) {
312
- // stop here
313
- copy[key] = value;
314
- }
315
- else {
316
- const itemOid = getOid(value);
317
- copy[key] = createRef(itemOid);
318
- normalize(value, refs);
319
- }
320
- }
321
- else {
322
- copy[key] = value;
323
- }
324
- }
325
- refs.set(oid, copy);
326
- }
327
- else if ((0, refs_js_1.isRef)(obj)) {
328
- }
329
- return refs;
330
- }
331
- exports.normalize = normalize;
332
- /**
333
- * Only normalizes direct children. The created map
334
- * of objects will still have nested objects.
335
- */
336
- function normalizeFirstLevel(obj) {
337
- const refs = new Map();
338
- const oidKeyPairs = new Map();
339
- if (Array.isArray(obj)) {
340
- const oid = getOid(obj);
341
- const copy = assignOid([], oid);
342
- for (let i = 0; i < obj.length; i++) {
343
- const value = obj[i];
344
- if ((0, utils_js_1.isObject)(value)) {
345
- const itemOid = getOid(value);
346
- copy[i] = createRef(itemOid);
347
- refs.set(itemOid, value);
348
- oidKeyPairs.set(itemOid, i);
349
- }
350
- else {
351
- copy[i] = value;
352
- }
353
- }
354
- refs.set(oid, copy);
355
- }
356
- else if ((0, utils_js_1.isObject)(obj)) {
357
- const oid = getOid(obj);
358
- const copy = assignOid({}, oid);
359
- for (const key of Object.keys(obj)) {
360
- const value = obj[key];
361
- if ((0, utils_js_1.isObject)(value)) {
362
- const itemOid = getOid(value);
363
- copy[key] = createRef(itemOid);
364
- refs.set(itemOid, value);
365
- oidKeyPairs.set(itemOid, key);
366
- }
367
- else {
368
- copy[key] = value;
369
- }
370
- }
371
- refs.set(oid, copy);
372
- }
373
- return { refs, oidKeyPairs };
374
- }
375
- exports.normalizeFirstLevel = normalizeFirstLevel;
376
- function getOidRoot(oid) {
377
- return oid.split('.')[0].split(RANDOM_SEPARATOR)[0];
378
- }
379
- exports.getOidRoot = getOidRoot;
380
- /**
381
- * Returns an inclusive range of OIDs that represent
382
- * all of an OID's possible sub-objects.
383
- */
384
- function getOidSubIdRange(oid) {
385
- const root = getOidRoot(oid);
386
- const lastSubId = createSubOid(root, () => '\uffff');
387
- return [`${root}${RANDOM_SEPARATOR}`, lastSubId];
388
- }
389
- exports.getOidSubIdRange = getOidSubIdRange;
390
- function getLegacyDotOidSubIdRange(oid) {
391
- const root = getOidRoot(oid);
392
- return [`${root}.`, `${root}.\uffff`];
393
- }
394
- exports.getLegacyDotOidSubIdRange = getLegacyDotOidSubIdRange;
395
- function getRoots(oids) {
396
- const set = new Set();
397
- for (const oid of oids) {
398
- set.add(getOidRoot(oid));
399
- }
400
- return Array.from(set);
401
- }
402
- exports.getRoots = getRoots;
403
- function areOidsRelated(oidA, oidB) {
404
- return getOidRoot(oidA) === getOidRoot(oidB);
405
- }
406
- exports.areOidsRelated = areOidsRelated;
407
- /**
408
- * Recursively rewrites any OIDs in an object which are 'foreign' -
409
- * i.e. relate to some other object/entity - to be local to the
410
- * current object. This is deterministic, so it can be done
411
- * on multiple clients independently with predictable results.
412
- */
413
- function fixForeignOids(obj) {
414
- const oid = maybeGetOid(obj);
415
- if (!oid)
416
- return;
417
- if (Array.isArray(obj)) {
418
- for (let i = 0; i < obj.length; i++) {
419
- migrateForeignOid(oid, obj[i]);
420
- fixForeignOids(obj[i]);
421
- }
422
- }
423
- else if ((0, utils_js_1.isObject)(obj)) {
424
- for (const key of Object.keys(obj)) {
425
- migrateForeignOid(oid, obj[key]);
426
- fixForeignOids(obj[key]);
427
- }
428
- }
429
- }
430
- exports.fixForeignOids = fixForeignOids;
431
- function migrateForeignOid(parentOid, child) {
432
- const childOid = maybeGetOid(child);
433
- if (childOid && !areOidsRelated(parentOid, childOid)) {
434
- const { subId, id } = decomposeOid(childOid);
435
- // reuse existing subId. if child is a foreign root, use its id as subId
436
- assignOid(child, createSubOid(parentOid, () => subId || id));
437
- }
438
- }
439
- function isLegacyDotOid(oid) {
440
- const partBeforeRandomSep = oid.split(RANDOM_SEPARATOR)[0];
441
- return partBeforeRandomSep.includes('.');
442
- }
443
- exports.isLegacyDotOid = isLegacyDotOid;
444
- function convertLegacyOid(oid) {
445
- const { collection, id, subId } = decomposeOid(oid);
446
- return createOid(collection, id, subId);
447
- }
448
- exports.convertLegacyOid = convertLegacyOid;
449
- exports.MATCH_LEGACY_OID_JSON_STRING = /"\w+\/[^"]+?(\.[^"]+)+\:[\S]+?"/g;
450
- function replaceLegacyOidsInJsonString(string) {
451
- // replace every match of a legacy OID, converting to a new OID
452
- return string.replaceAll(exports.MATCH_LEGACY_OID_JSON_STRING, (match) => {
453
- const legacyOid = match.slice(1, match.length - 1);
454
- return `"${convertLegacyOid(legacyOid)}"`;
455
- });
456
- }
457
- exports.replaceLegacyOidsInJsonString = replaceLegacyOidsInJsonString;
458
- function replaceLegacyOidsInObject(obj) {
459
- return JSON.parse(replaceLegacyOidsInJsonString(JSON.stringify(obj)));
460
- }
461
- exports.replaceLegacyOidsInObject = replaceLegacyOidsInObject;
462
- function isRootOid(oid) {
463
- return !oid.includes(RANDOM_SEPARATOR);
464
- }
465
- exports.isRootOid = isRootOid;
466
- //# sourceMappingURL=oids.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oids.js","sourceRoot":"","sources":["../../src/oids.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};