@verdant-web/common 2.2.0 → 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 (181) 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 +2 -1
  4. package/dist/esm/error.js.map +1 -1
  5. package/dist/esm/indexes.js.map +1 -1
  6. package/dist/esm/memo.js.map +1 -1
  7. package/dist/esm/migration.js.map +1 -1
  8. package/dist/esm/oids.js.map +1 -1
  9. package/dist/esm/operation.js.map +1 -1
  10. package/dist/esm/patch.js.map +1 -1
  11. package/dist/esm/replica.js +1 -1
  12. package/dist/esm/replica.js.map +1 -1
  13. package/dist/esm/schema/children.js.map +1 -1
  14. package/dist/esm/schema/fields.js.map +1 -1
  15. package/dist/esm/schema/index.js.map +1 -1
  16. package/dist/esm/schema/validation.js.map +1 -1
  17. package/dist/esm/timestamp.js.map +1 -1
  18. package/dist/esm/timestamp.test.js.map +1 -1
  19. package/dist/esm/undo.js.map +1 -1
  20. package/dist/esm/utils.js.map +1 -1
  21. package/package.json +5 -8
  22. package/src/error.ts +1 -0
  23. package/src/protocol.ts +1 -1
  24. package/dist/cjs/EventSubscriber.d.ts +0 -18
  25. package/dist/cjs/EventSubscriber.js +0 -70
  26. package/dist/cjs/EventSubscriber.js.map +0 -1
  27. package/dist/cjs/baseline.d.ts +0 -5
  28. package/dist/cjs/baseline.js +0 -3
  29. package/dist/cjs/baseline.js.map +0 -1
  30. package/dist/cjs/batching.d.ts +0 -43
  31. package/dist/cjs/batching.js +0 -98
  32. package/dist/cjs/batching.js.map +0 -1
  33. package/dist/cjs/error.d.ts +0 -21
  34. package/dist/cjs/error.js +0 -42
  35. package/dist/cjs/error.js.map +0 -1
  36. package/dist/cjs/files.d.ts +0 -19
  37. package/dist/cjs/files.js +0 -19
  38. package/dist/cjs/files.js.map +0 -1
  39. package/dist/cjs/index.d.ts +0 -21
  40. package/dist/cjs/index.js +0 -44
  41. package/dist/cjs/index.js.map +0 -1
  42. package/dist/cjs/indexes.d.ts +0 -17
  43. package/dist/cjs/indexes.js +0 -146
  44. package/dist/cjs/indexes.js.map +0 -1
  45. package/dist/cjs/indexes.test.d.ts +0 -1
  46. package/dist/cjs/indexes.test.js +0 -156
  47. package/dist/cjs/indexes.test.js.map +0 -1
  48. package/dist/cjs/memo.d.ts +0 -6
  49. package/dist/cjs/memo.js +0 -25
  50. package/dist/cjs/memo.js.map +0 -1
  51. package/dist/cjs/memo.test.d.ts +0 -1
  52. package/dist/cjs/memo.test.js +0 -29
  53. package/dist/cjs/memo.test.js.map +0 -1
  54. package/dist/cjs/migration.d.ts +0 -174
  55. package/dist/cjs/migration.js +0 -310
  56. package/dist/cjs/migration.js.map +0 -1
  57. package/dist/cjs/oids.d.ts +0 -101
  58. package/dist/cjs/oids.js +0 -466
  59. package/dist/cjs/oids.js.map +0 -1
  60. package/dist/cjs/oids.test.d.ts +0 -1
  61. package/dist/cjs/oids.test.js +0 -409
  62. package/dist/cjs/oids.test.js.map +0 -1
  63. package/dist/cjs/operation.d.ts +0 -142
  64. package/dist/cjs/operation.js +0 -549
  65. package/dist/cjs/operation.js.map +0 -1
  66. package/dist/cjs/operation.test.d.ts +0 -1
  67. package/dist/cjs/operation.test.js +0 -977
  68. package/dist/cjs/operation.test.js.map +0 -1
  69. package/dist/cjs/patch.d.ts +0 -28
  70. package/dist/cjs/patch.js +0 -230
  71. package/dist/cjs/patch.js.map +0 -1
  72. package/dist/cjs/presence.d.ts +0 -29
  73. package/dist/cjs/presence.js +0 -3
  74. package/dist/cjs/presence.js.map +0 -1
  75. package/dist/cjs/protocol.d.ts +0 -145
  76. package/dist/cjs/protocol.js +0 -4
  77. package/dist/cjs/protocol.js.map +0 -1
  78. package/dist/cjs/refs.d.ts +0 -7
  79. package/dist/cjs/refs.js +0 -30
  80. package/dist/cjs/refs.js.map +0 -1
  81. package/dist/cjs/replica.d.ts +0 -28
  82. package/dist/cjs/replica.js +0 -29
  83. package/dist/cjs/replica.js.map +0 -1
  84. package/dist/cjs/schema/children.d.ts +0 -2
  85. package/dist/cjs/schema/children.js +0 -24
  86. package/dist/cjs/schema/children.js.map +0 -1
  87. package/dist/cjs/schema/defaults.test.d.ts +0 -1
  88. package/dist/cjs/schema/defaults.test.js +0 -34
  89. package/dist/cjs/schema/defaults.test.js.map +0 -1
  90. package/dist/cjs/schema/fieldHelpers.d.ts +0 -35
  91. package/dist/cjs/schema/fieldHelpers.js +0 -38
  92. package/dist/cjs/schema/fieldHelpers.js.map +0 -1
  93. package/dist/cjs/schema/fields.d.ts +0 -10
  94. package/dist/cjs/schema/fields.js +0 -172
  95. package/dist/cjs/schema/fields.js.map +0 -1
  96. package/dist/cjs/schema/index.d.ts +0 -54
  97. package/dist/cjs/schema/index.js +0 -63
  98. package/dist/cjs/schema/index.js.map +0 -1
  99. package/dist/cjs/schema/indexFilters.d.ts +0 -6
  100. package/dist/cjs/schema/indexFilters.js +0 -31
  101. package/dist/cjs/schema/indexFilters.js.map +0 -1
  102. package/dist/cjs/schema/types/collection.d.ts +0 -23
  103. package/dist/cjs/schema/types/collection.js +0 -3
  104. package/dist/cjs/schema/types/collection.js.map +0 -1
  105. package/dist/cjs/schema/types/compounds.d.ts +0 -11
  106. package/dist/cjs/schema/types/compounds.js +0 -3
  107. package/dist/cjs/schema/types/compounds.js.map +0 -1
  108. package/dist/cjs/schema/types/fields.d.ts +0 -55
  109. package/dist/cjs/schema/types/fields.js +0 -3
  110. package/dist/cjs/schema/types/fields.js.map +0 -1
  111. package/dist/cjs/schema/types/filters.d.ts +0 -29
  112. package/dist/cjs/schema/types/filters.js +0 -3
  113. package/dist/cjs/schema/types/filters.js.map +0 -1
  114. package/dist/cjs/schema/types/shapes.d.ts +0 -24
  115. package/dist/cjs/schema/types/shapes.js +0 -3
  116. package/dist/cjs/schema/types/shapes.js.map +0 -1
  117. package/dist/cjs/schema/types/synthetics.d.ts +0 -37
  118. package/dist/cjs/schema/types/synthetics.js +0 -3
  119. package/dist/cjs/schema/types/synthetics.js.map +0 -1
  120. package/dist/cjs/schema/types.d.ts +0 -18
  121. package/dist/cjs/schema/types.js +0 -23
  122. package/dist/cjs/schema/types.js.map +0 -1
  123. package/dist/cjs/schema/validation.d.ts +0 -14
  124. package/dist/cjs/schema/validation.js +0 -158
  125. package/dist/cjs/schema/validation.js.map +0 -1
  126. package/dist/cjs/timestamp.d.ts +0 -51
  127. package/dist/cjs/timestamp.js +0 -254
  128. package/dist/cjs/timestamp.js.map +0 -1
  129. package/dist/cjs/timestamp.test.d.ts +0 -1
  130. package/dist/cjs/timestamp.test.js +0 -105
  131. package/dist/cjs/timestamp.test.js.map +0 -1
  132. package/dist/cjs/undo.d.ts +0 -3
  133. package/dist/cjs/undo.js +0 -201
  134. package/dist/cjs/undo.js.map +0 -1
  135. package/dist/cjs/utils.d.ts +0 -20
  136. package/dist/cjs/utils.js +0 -146
  137. package/dist/cjs/utils.js.map +0 -1
  138. package/dist/cjs/utils.test.d.ts +0 -1
  139. package/dist/cjs/utils.test.js +0 -37
  140. package/dist/cjs/utils.test.js.map +0 -1
  141. package/dist/esm/EventSubscriber.d.ts +0 -18
  142. package/dist/esm/baseline.d.ts +0 -5
  143. package/dist/esm/batching.d.ts +0 -43
  144. package/dist/esm/error.d.ts +0 -21
  145. package/dist/esm/files.d.ts +0 -19
  146. package/dist/esm/index.d.ts +0 -21
  147. package/dist/esm/indexes.d.ts +0 -17
  148. package/dist/esm/indexes.test.d.ts +0 -1
  149. package/dist/esm/memo.d.ts +0 -6
  150. package/dist/esm/memo.test.d.ts +0 -1
  151. package/dist/esm/migration.d.ts +0 -174
  152. package/dist/esm/oids.d.ts +0 -101
  153. package/dist/esm/oids.test.d.ts +0 -1
  154. package/dist/esm/operation.d.ts +0 -142
  155. package/dist/esm/operation.test.d.ts +0 -1
  156. package/dist/esm/patch.d.ts +0 -28
  157. package/dist/esm/presence.d.ts +0 -29
  158. package/dist/esm/protocol.d.ts +0 -145
  159. package/dist/esm/refs.d.ts +0 -7
  160. package/dist/esm/replica.d.ts +0 -28
  161. package/dist/esm/schema/children.d.ts +0 -2
  162. package/dist/esm/schema/defaults.test.d.ts +0 -1
  163. package/dist/esm/schema/fieldHelpers.d.ts +0 -35
  164. package/dist/esm/schema/fields.d.ts +0 -10
  165. package/dist/esm/schema/index.d.ts +0 -54
  166. package/dist/esm/schema/indexFilters.d.ts +0 -6
  167. package/dist/esm/schema/types/collection.d.ts +0 -23
  168. package/dist/esm/schema/types/compounds.d.ts +0 -11
  169. package/dist/esm/schema/types/fields.d.ts +0 -55
  170. package/dist/esm/schema/types/filters.d.ts +0 -29
  171. package/dist/esm/schema/types/shapes.d.ts +0 -24
  172. package/dist/esm/schema/types/synthetics.d.ts +0 -37
  173. package/dist/esm/schema/types.d.ts +0 -18
  174. package/dist/esm/schema/validation.d.ts +0 -14
  175. package/dist/esm/timestamp.d.ts +0 -51
  176. package/dist/esm/timestamp.test.d.ts +0 -1
  177. package/dist/esm/undo.d.ts +0 -3
  178. package/dist/esm/utils.d.ts +0 -20
  179. package/dist/esm/utils.test.d.ts +0 -1
  180. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  181. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,409 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const files_js_1 = require("./files.js");
5
- const oids_js_1 = require("./oids.js");
6
- (0, vitest_1.describe)('normalizing an object', () => {
7
- (0, vitest_1.it)('should return a map of sub-objects with relationships replaced by refs', () => {
8
- let i = 0;
9
- function createSubId() {
10
- return (i++).toString();
11
- }
12
- const initial = {
13
- foo: {
14
- bar: 1,
15
- baz: [2, 3],
16
- },
17
- qux: [
18
- {
19
- corge: true,
20
- },
21
- {
22
- grault: {
23
- garply: 4,
24
- },
25
- },
26
- ],
27
- };
28
- (0, oids_js_1.assignOid)(initial, 'test/a');
29
- (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
30
- const result = (0, oids_js_1.normalize)(initial);
31
- (0, vitest_1.expect)(result.get('test/a')).toEqual((0, oids_js_1.assignOid)({
32
- foo: {
33
- '@@type': 'ref',
34
- id: 'test/a:0',
35
- },
36
- qux: {
37
- '@@type': 'ref',
38
- id: 'test/a:2',
39
- },
40
- }, 'test/a'));
41
- (0, vitest_1.expect)(result.get('test/a:0')).toEqual((0, oids_js_1.assignOid)({
42
- bar: 1,
43
- baz: {
44
- '@@type': 'ref',
45
- id: 'test/a:1',
46
- },
47
- }, 'test/a:0'));
48
- (0, vitest_1.expect)(result.get('test/a:1')).toEqual((0, oids_js_1.assignOid)([2, 3], 'test/a:1'));
49
- (0, vitest_1.expect)(result.get('test/a:2')).toEqual((0, oids_js_1.assignOid)([
50
- {
51
- '@@type': 'ref',
52
- id: 'test/a:3',
53
- },
54
- {
55
- '@@type': 'ref',
56
- id: 'test/a:4',
57
- },
58
- ], 'test/a:2'));
59
- (0, vitest_1.expect)(result.get('test/a:3')).toEqual((0, oids_js_1.assignOid)({
60
- corge: true,
61
- }, 'test/a:3'));
62
- (0, vitest_1.expect)(result.get('test/a:4')).toEqual((0, oids_js_1.assignOid)({
63
- grault: {
64
- '@@type': 'ref',
65
- id: 'test/a:5',
66
- },
67
- }, 'test/a:4'));
68
- (0, vitest_1.expect)(result.get('test/a:5')).toEqual((0, oids_js_1.assignOid)({
69
- garply: 4,
70
- }, 'test/a:5'));
71
- });
72
- (0, vitest_1.it)('should handle file references and not replace them with refs or attempt to normalize them', () => {
73
- let i = 0;
74
- function createSubId() {
75
- return (i++).toString();
76
- }
77
- const initial = {
78
- foo: {
79
- bar: 1,
80
- file: (0, files_js_1.createFileRef)('abcd123'),
81
- },
82
- qux: [(0, files_js_1.createFileRef)('efgh456'), (0, files_js_1.createFileRef)('ijkl789')],
83
- };
84
- (0, oids_js_1.assignOid)(initial, 'test/a');
85
- (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
86
- const result = (0, oids_js_1.normalize)(initial);
87
- (0, vitest_1.expect)(result.size).toBe(3);
88
- (0, vitest_1.expect)(result.get('test/a')).toEqual((0, oids_js_1.assignOid)({
89
- foo: {
90
- '@@type': 'ref',
91
- id: 'test/a:0',
92
- },
93
- qux: {
94
- '@@type': 'ref',
95
- id: 'test/a:1',
96
- },
97
- }, 'test/a'));
98
- (0, vitest_1.expect)(result.get('test/a:0')).toEqual((0, oids_js_1.assignOid)({
99
- bar: 1,
100
- file: {
101
- '@@type': 'file',
102
- id: 'abcd123',
103
- },
104
- }, 'test/a:0'));
105
- (0, vitest_1.expect)(result.get('test/a:1')).toEqual((0, oids_js_1.assignOid)([
106
- {
107
- '@@type': 'file',
108
- id: 'efgh456',
109
- },
110
- {
111
- '@@type': 'file',
112
- id: 'ijkl789',
113
- },
114
- ], 'test/a:2'));
115
- });
116
- });
117
- (0, vitest_1.describe)('normalizing the first level of an object', () => {
118
- (0, vitest_1.it)('collects all top-level sub-objects', () => {
119
- let i = 0;
120
- function createSubId() {
121
- return (i++).toString();
122
- }
123
- const initial = {
124
- foo: {
125
- bar: 1,
126
- baz: [2, 3],
127
- },
128
- qux: [
129
- {
130
- corge: true,
131
- },
132
- {
133
- grault: {
134
- garply: 4,
135
- },
136
- },
137
- ],
138
- };
139
- (0, oids_js_1.assignOid)(initial, 'test/a');
140
- (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
141
- const { refs: result } = (0, oids_js_1.normalizeFirstLevel)(initial);
142
- (0, vitest_1.expect)(result.get('test/a')).toMatchInlineSnapshot(`
143
- {
144
- "foo": {
145
- "@@type": "ref",
146
- "id": "test/a:0",
147
- },
148
- "qux": {
149
- "@@type": "ref",
150
- "id": "test/a:2",
151
- },
152
- }
153
- `);
154
- (0, vitest_1.expect)(result.get('test/a:0')).toMatchInlineSnapshot(`
155
- {
156
- "bar": 1,
157
- "baz": [
158
- 2,
159
- 3,
160
- ],
161
- }
162
- `);
163
- (0, vitest_1.expect)(result.get('test/a:1')).toBeUndefined();
164
- (0, vitest_1.expect)(result.get('test/a:2')).toMatchInlineSnapshot(`
165
- [
166
- {
167
- "corge": true,
168
- },
169
- {
170
- "grault": {
171
- "garply": 4,
172
- },
173
- },
174
- ]
175
- `);
176
- (0, vitest_1.expect)(result.get('test/a:3')).toBeUndefined();
177
- (0, vitest_1.expect)(result.get('test/a:4')).toBeUndefined();
178
- (0, vitest_1.expect)(result.get('test/a:5')).toBeUndefined();
179
- });
180
- });
181
- (0, vitest_1.describe)('computing a range of oids for a whole object set', () => {
182
- function isWithin(oid, start, end) {
183
- return oid >= start && oid <= end;
184
- }
185
- (0, vitest_1.it)('should include the root object and any possible sub object oid', () => {
186
- const [start, end] = (0, oids_js_1.getOidSubIdRange)('test/a');
187
- (0, vitest_1.expect)(start).toEqual('test/a:');
188
- (0, vitest_1.expect)(end).toEqual('test/a:\uffff');
189
- (0, vitest_1.expect)(start < end).toBe(true);
190
- (0, vitest_1.expect)(isWithin('test/a:0', start, end)).toBe(true);
191
- (0, vitest_1.expect)(isWithin('test/a:1', start, end)).toBe(true);
192
- (0, vitest_1.expect)(isWithin('test/a:zzzzzzzzzzzzzzzzzzzzzzz', start, end)).toBe(true);
193
- (0, vitest_1.expect)(isWithin('test/a:\uffff', start, end)).toBe(true);
194
- (0, vitest_1.expect)(isWithin('test1/a', start, end)).toBe(false);
195
- (0, vitest_1.expect)(isWithin('test/b', start, end)).toBe(false);
196
- (0, vitest_1.expect)(isWithin('test/ ', start, end)).toBe(false);
197
- (0, vitest_1.expect)(isWithin('test/a1', start, end)).toBe(false);
198
- (0, vitest_1.expect)(isWithin('test/a1:3', start, end)).toBe(false);
199
- });
200
- (0, vitest_1.it)('should accommodate legacy dot style oids', () => {
201
- const [start, end] = (0, oids_js_1.getLegacyDotOidSubIdRange)('test/a.foo:barrrr');
202
- (0, vitest_1.expect)(start).toEqual('test/a.');
203
- (0, vitest_1.expect)(end).toEqual('test/a.\uffff');
204
- (0, vitest_1.expect)(start < end).toBe(true);
205
- (0, vitest_1.expect)(isWithin('test/a.foo:0', start, end)).toBe(true);
206
- (0, vitest_1.expect)(isWithin('test/a.foo:1', start, end)).toBe(true);
207
- (0, vitest_1.expect)(isWithin('test/a.bar:zzzzzzzzzzzzzzzzzzzzzzz', start, end)).toBe(true);
208
- (0, vitest_1.expect)(isWithin('test/a.aff:\uffff', start, end)).toBe(true);
209
- (0, vitest_1.expect)(isWithin('test1/a', start, end)).toBe(false);
210
- (0, vitest_1.expect)(isWithin('test/b', start, end)).toBe(false);
211
- (0, vitest_1.expect)(isWithin('test/ ', start, end)).toBe(false);
212
- (0, vitest_1.expect)(isWithin('test/a1', start, end)).toBe(false);
213
- (0, vitest_1.expect)(isWithin('test/a1:3', start, end)).toBe(false);
214
- (0, vitest_1.expect)(isWithin('test/a.foo:barrrr', start, end)).toBe(true);
215
- });
216
- });
217
- (0, vitest_1.describe)('assigning OIDs as properties', () => {
218
- (0, vitest_1.it)('should assign to all sub-objects', () => {
219
- let i = 0;
220
- function createSubId() {
221
- return (i++).toString();
222
- }
223
- const initial = {
224
- foo: {
225
- bar: 1,
226
- baz: [2, 3],
227
- },
228
- qux: [
229
- {
230
- corge: true,
231
- },
232
- {
233
- grault: {
234
- garply: 4,
235
- },
236
- },
237
- ],
238
- };
239
- (0, oids_js_1.assignOid)(initial, 'test/a');
240
- (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
241
- (0, oids_js_1.assignOidPropertiesToAllSubObjects)(initial);
242
- (0, vitest_1.expect)(initial).toMatchInlineSnapshot(`
243
- {
244
- "@@id": "test/a",
245
- "foo": {
246
- "@@id": "test/a:0",
247
- "bar": 1,
248
- "baz": [
249
- 2,
250
- 3,
251
- ],
252
- },
253
- "qux": [
254
- {
255
- "@@id": "test/a:3",
256
- "corge": true,
257
- },
258
- {
259
- "@@id": "test/a:4",
260
- "grault": {
261
- "@@id": "test/a:5",
262
- "garply": 4,
263
- },
264
- },
265
- ],
266
- }
267
- `);
268
- // extra check needed for array since it doesn't serialize in the snapshot
269
- (0, vitest_1.expect)((0, oids_js_1.maybeGetOidProperty)(initial.qux)).toBe('test/a:2');
270
- });
271
- (0, vitest_1.it)('should transfer assigned OID properties to the memory system', () => {
272
- const initial = (0, oids_js_1.assignOidProperty)({
273
- foo: (0, oids_js_1.assignOidProperty)({
274
- bar: 1,
275
- }, 'test/a:1'),
276
- qux: (0, oids_js_1.assignOidProperty)([
277
- (0, oids_js_1.assignOidProperty)({
278
- corge: true,
279
- }, 'test/a:2'),
280
- (0, oids_js_1.assignOidProperty)({
281
- grault: (0, oids_js_1.assignOidProperty)({
282
- garply: 4,
283
- }, 'test/a:3'),
284
- }, 'test/a:4'),
285
- ], 'test/a:2'),
286
- }, 'test/a');
287
- (0, oids_js_1.removeOidPropertiesFromAllSubObjects)(initial);
288
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial)).toEqual('test/a');
289
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.foo)).toEqual('test/a:1');
290
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux)).toEqual('test/a:2');
291
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[0])).toEqual('test/a:2');
292
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1])).toEqual('test/a:4');
293
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1].grault)).toEqual('test/a:3');
294
- });
295
- });
296
- (0, vitest_1.it)('should handle special characters in document id or collection', () => {
297
- (0, vitest_1.expect)((0, oids_js_1.decomposeOid)((0, oids_js_1.createOid)('test.teesssst/asdf::', 'foo/bar (.) : huh:', 'corge'))).toEqual({
298
- collection: 'test.teesssst/asdf::',
299
- id: 'foo/bar (.) : huh:',
300
- subId: 'corge',
301
- });
302
- });
303
- (0, vitest_1.describe)('assigning OIDs to sub-objects', () => {
304
- (0, vitest_1.it)('should not assign oids to refs', () => {
305
- const obj = {
306
- foo: {
307
- file: (0, files_js_1.createFileRef)('1a'),
308
- },
309
- bar: [(0, files_js_1.createFileRef)('2a')],
310
- };
311
- (0, oids_js_1.assignOid)(obj, 'test/a');
312
- (0, oids_js_1.assignOidsToAllSubObjects)(obj);
313
- (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.foo.file)).toBe(false);
314
- (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.bar[0])).toBe(false);
315
- });
316
- });
317
- (0, vitest_1.describe)('handling legacy OIDs', () => {
318
- (0, vitest_1.it)('should get the root OID for a legacy OID', () => {
319
- (0, vitest_1.expect)((0, oids_js_1.getOidRoot)('items/clabgyjfh00003968qycsq3ld.inputs.#')).toEqual('items/clabgyjfh00003968qycsq3ld');
320
- });
321
- (0, vitest_1.it)('should create sub-ids for legacy OIDs in new format', () => {
322
- (0, vitest_1.expect)((0, oids_js_1.createSubOid)('items/clabgyjfh00003968qycsq3ld.inputs.#', () => 'pseudorandom')).toEqual('items/clabgyjfh00003968qycsq3ld:pseudorandom');
323
- });
324
- (0, vitest_1.it)('should identify new sub-OIDs as related to the legacy root OID', () => {
325
- (0, vitest_1.expect)((0, oids_js_1.areOidsRelated)('items/clabgyjfh00003968qycsq3ld.inputs.#', 'items/clabgyjfh00003968qycsq3ld:pseudorandom')).toBe(true);
326
- });
327
- vitest_1.it.each([
328
- ['items/clabgyjfh00003968qycsq3ld.inputs.#:baz', true],
329
- // include more unicode chars
330
- ['items/clabgyjfh00003968qycsq3ld\ufea3.inputs\u39fc.#:baz!!!', true],
331
- // not matching new oids
332
- ['items/clabgyjfh00003968qycsq3ld', false],
333
- ['items/clabgyjfh00003968qycsq3ld:baz', false],
334
- ['items/clabgyjfh00003968qycsq3ld:baz1111', false],
335
- // not matching anything else
336
- [
337
- 'PREPARE SOUS VIDE BATH: Fill container or pot with water. Set the temperature to 130F/54.4C – 132F/55.5C (for very moist and tender) and allow water to heat to that temperature.Tip: start with hot tap water instead of cold water to reduce heating time. Note 4 for other temperatures.',
338
- false,
339
- ],
340
- ])('matches legacy oids', (oid, match) => {
341
- (0, vitest_1.expect)(oids_js_1.MATCH_LEGACY_OID_JSON_STRING.test('"' + oid + '"'), oid).toBe(match);
342
- // regex are stateful 🙄
343
- oids_js_1.MATCH_LEGACY_OID_JSON_STRING.lastIndex = 0;
344
- });
345
- vitest_1.it.each([
346
- [
347
- { op: 'delete', oid: 'items/clabgyjfh00003968qycsq3ld.inputs.#:baz' },
348
- { op: 'delete', oid: 'items/clabgyjfh00003968qycsq3ld:baz' },
349
- ],
350
- [
351
- {
352
- op: 'list-push',
353
- oid: 'items/clabgyjfh00003968qycsq3ld.inputs.#:baz',
354
- value: {
355
- '@@type': 'ref',
356
- id: 'items/clabgyjfh00003968qycsq3ld.inputs.#:qux',
357
- },
358
- },
359
- {
360
- op: 'list-push',
361
- oid: 'items/clabgyjfh00003968qycsq3ld:baz',
362
- value: { '@@type': 'ref', id: 'items/clabgyjfh00003968qycsq3ld:qux' },
363
- },
364
- ],
365
- [
366
- {
367
- op: 'list-remove',
368
- oid: 'items/clabgyjfh00003968qycsq3ld.inputs.#:baz',
369
- value: {
370
- '@@type': 'ref',
371
- id: 'items/clabgyjfh00003968qycsq3ld.inputs.#:qux',
372
- },
373
- },
374
- {
375
- op: 'list-remove',
376
- oid: 'items/clabgyjfh00003968qycsq3ld:baz',
377
- value: { '@@type': 'ref', id: 'items/clabgyjfh00003968qycsq3ld:qux' },
378
- },
379
- ],
380
- [
381
- {
382
- oid: 'items/clabgyjfh00003968qycsq3ld.inputs.#:baz',
383
- timestamp: '2021-03-04T21:00:00.000Z',
384
- snapshot: {
385
- foo: 1,
386
- bar: {
387
- '@@type': 'ref',
388
- id: 'items/clabgyjfh00003968qycsq3ld.inputs.#:qux',
389
- },
390
- },
391
- },
392
- {
393
- oid: 'items/clabgyjfh00003968qycsq3ld:baz',
394
- timestamp: '2021-03-04T21:00:00.000Z',
395
- snapshot: {
396
- foo: 1,
397
- bar: { '@@type': 'ref', id: 'items/clabgyjfh00003968qycsq3ld:qux' },
398
- },
399
- },
400
- ],
401
- [
402
- { oid: 'test/what if.boo.blah so what:fajsdfj' },
403
- { oid: 'test/what if:fajsdfj' },
404
- ],
405
- ])('should replace legacy OIDs in a JSON string with new OIDs', (from, to) => {
406
- (0, vitest_1.expect)((0, oids_js_1.replaceLegacyOidsInObject)(from), JSON.stringify(from)).toEqual(to);
407
- });
408
- });
409
- //# sourceMappingURL=oids.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oids.test.js","sourceRoot":"","sources":["../../src/oids.test.ts"],"names":[],"mappings":"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"}
@@ -1,142 +0,0 @@
1
- import { DocumentBaseline } from './baseline.js';
2
- import { FileRef } from './files.js';
3
- import { ObjectIdentifier } from './oids.js';
4
- export declare type ObjectRef = {
5
- '@@type': 'ref';
6
- id: ObjectIdentifier;
7
- };
8
- export declare function isObjectRef(obj: any): obj is ObjectRef;
9
- export declare type Normalized<T> = {
10
- [key in keyof T]: T[key] extends Object ? ObjectRef : T[key];
11
- };
12
- export declare type PropertyName = string | number;
13
- /**
14
- * List patches can target a particular child list or
15
- * nested lists. The first path item is the property path
16
- * of the first child list, any subsequent values are nested
17
- * list indices.
18
- */
19
- export declare type PropertyValue = string | number | boolean | null | undefined | ObjectRef | FileRef;
20
- interface BaseOperationPatch {
21
- }
22
- export interface OperationPatchInitialize extends BaseOperationPatch {
23
- op: 'initialize';
24
- value: any;
25
- }
26
- export interface OperationPatchSet extends BaseOperationPatch {
27
- op: 'set';
28
- name: PropertyName;
29
- value: PropertyValue;
30
- }
31
- export interface OperationPatchRemove extends BaseOperationPatch {
32
- op: 'remove';
33
- name: PropertyName;
34
- }
35
- export interface OperationPatchListPush extends BaseOperationPatch {
36
- op: 'list-push';
37
- value: PropertyValue;
38
- }
39
- export interface OperationPatchListInsert extends BaseOperationPatch {
40
- op: 'list-insert';
41
- index: number;
42
- value?: PropertyValue;
43
- values?: PropertyValue[];
44
- }
45
- export interface OperationPatchListDelete extends BaseOperationPatch {
46
- op: 'list-delete';
47
- index: number;
48
- count: number;
49
- }
50
- /**
51
- * Optimal for lists of object references. Moves
52
- * the selected item to the target index even if it
53
- * is not at the original index anymore.
54
- */
55
- export interface OperationPatchListMoveByRef extends BaseOperationPatch {
56
- op: 'list-move-by-ref';
57
- value: ObjectRef | FileRef;
58
- index: number;
59
- }
60
- /**
61
- * Suitable for any list move, whether object lists
62
- * or primitive lists.
63
- */
64
- export interface OperationPatchListMoveByIndex extends BaseOperationPatch {
65
- op: 'list-move-by-index';
66
- from: number;
67
- to: number;
68
- }
69
- /**
70
- * Removes all instances of the value from
71
- * the list. Good for set behavior or removing
72
- * a specific item even if it changes index
73
- * from conflicts.
74
- */
75
- export interface OperationPatchListRemove extends BaseOperationPatch {
76
- op: 'list-remove';
77
- value: PropertyValue;
78
- only?: 'first' | 'last';
79
- }
80
- export interface OperationPatchListAdd extends BaseOperationPatch {
81
- op: 'list-add';
82
- value: PropertyValue;
83
- }
84
- export interface OperationPatchDelete extends BaseOperationPatch {
85
- op: 'delete';
86
- }
87
- export interface OperationPatchTouch extends BaseOperationPatch {
88
- op: 'touch';
89
- }
90
- export declare type OperationPatch = OperationPatchInitialize | OperationPatchSet | OperationPatchRemove | OperationPatchListPush | OperationPatchListInsert | OperationPatchListDelete | OperationPatchListMoveByRef | OperationPatchListMoveByIndex | OperationPatchListRemove | OperationPatchDelete | OperationPatchListAdd | OperationPatchTouch;
91
- export declare type Operation = {
92
- oid: ObjectIdentifier;
93
- timestamp: string;
94
- data: OperationPatch;
95
- };
96
- export declare function diffToPatches<T extends {
97
- [key: string]: any;
98
- } | any[]>(from: T, to: T, getNow: () => string, createSubId?: () => string, patches?: Operation[], options?: {
99
- /**
100
- * If an object is merged with another and the new one does not
101
- * have an OID assigned, assume it is the same identity as previous
102
- */
103
- mergeUnknownObjects?: boolean;
104
- /**
105
- * If an incoming value is not assigned on the new object, use the previous value.
106
- * If false, undefined properties will erase the previous value.
107
- */
108
- defaultUndefined?: boolean;
109
- }): Operation[];
110
- export declare function shallowDiffToPatches(from: any, to: any, getNow: () => string, patches?: Operation[]): Operation[];
111
- /**
112
- * Takes a basic object and constructs a patch list to create it and
113
- * all of its nested objects.
114
- */
115
- export declare function initialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, createSubId?: () => string, patches?: Operation[]): Operation[];
116
- export declare function shallowInitialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, patches?: Operation[]): Operation[];
117
- export declare function groupPatchesByOid(patches: Operation[]): Record<string, Operation[]>;
118
- export declare function groupPatchesByRootOid(patches: Operation[]): Record<string, Operation[]>;
119
- export declare function groupBaselinesByRootOid(baselines: DocumentBaseline[]): Record<string, DocumentBaseline<any>[]>;
120
- export declare type NormalizedObject = {
121
- [key: PropertyName]: PropertyValue;
122
- } | Array<PropertyValue>;
123
- /**
124
- * The incoming object should already be normalized!
125
- * This function will mutate the base object.
126
- */
127
- export declare function applyPatch<T extends NormalizedObject>(base: T | undefined, patch: OperationPatch,
128
- /**
129
- * Optionally supply a list to which any refs which
130
- * are removed during the patch will be appended.
131
- */
132
- deletedRefs?: (FileRef | ObjectRef)[]): T | undefined;
133
- export declare function applyOperations<T extends NormalizedObject>(base: T | undefined, operations: Operation[], deletedRefs?: (ObjectRef | FileRef)[]): T | undefined;
134
- /**
135
- * Mutates the original object in place. Returns all referenced
136
- * objects oids.
137
- */
138
- export declare function substituteRefsWithObjects(base: any, refs: Map<ObjectIdentifier, any>, used?: ObjectIdentifier[]): ObjectIdentifier[];
139
- export declare function substituteFirstLevelObjectsWithRefs<Base extends {
140
- [key: string]: any;
141
- } | any[]>(base: Base, refObjects?: Map<ObjectIdentifier, any>): Map<ObjectIdentifier, any>;
142
- export {};