@verdant-web/common 1.11.0 → 1.11.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 (141) hide show
  1. package/dist/cjs/EventSubscriber.d.ts +17 -17
  2. package/dist/cjs/EventSubscriber.js +66 -66
  3. package/dist/cjs/baseline.d.ts +5 -5
  4. package/dist/cjs/baseline.js +2 -2
  5. package/dist/cjs/batching.d.ts +41 -41
  6. package/dist/cjs/batching.js +88 -88
  7. package/dist/cjs/files.d.ts +19 -19
  8. package/dist/cjs/files.js +18 -18
  9. package/dist/cjs/index.d.ts +18 -18
  10. package/dist/cjs/index.js +35 -35
  11. package/dist/cjs/indexes.d.ts +14 -14
  12. package/dist/cjs/indexes.js +115 -115
  13. package/dist/cjs/indexes.test.d.ts +1 -1
  14. package/dist/cjs/indexes.test.js +127 -127
  15. package/dist/cjs/migration.d.ts +98 -98
  16. package/dist/cjs/migration.js +127 -127
  17. package/dist/cjs/oids.d.ts +87 -87
  18. package/dist/cjs/oids.js +374 -374
  19. package/dist/cjs/oids.test.d.ts +1 -1
  20. package/dist/cjs/oids.test.js +245 -245
  21. package/dist/cjs/operation.d.ts +139 -139
  22. package/dist/cjs/operation.js +532 -532
  23. package/dist/cjs/operation.test.d.ts +1 -1
  24. package/dist/cjs/operation.test.js +484 -484
  25. package/dist/cjs/patch.d.ts +26 -26
  26. package/dist/cjs/patch.js +226 -226
  27. package/dist/cjs/presence.d.ts +27 -27
  28. package/dist/cjs/presence.js +2 -2
  29. package/dist/cjs/protocol.d.ts +145 -145
  30. package/dist/cjs/protocol.js +3 -3
  31. package/dist/cjs/refs.d.ts +5 -5
  32. package/dist/cjs/refs.js +21 -21
  33. package/dist/cjs/replica.d.ts +28 -28
  34. package/dist/cjs/replica.js +28 -28
  35. package/dist/cjs/schema/defaults.d.ts +4 -4
  36. package/dist/cjs/schema/defaults.js +71 -71
  37. package/dist/cjs/schema/defaults.test.d.ts +1 -1
  38. package/dist/cjs/schema/defaults.test.js +20 -20
  39. package/dist/cjs/schema/index.d.ts +8 -8
  40. package/dist/cjs/schema/index.js +28 -28
  41. package/dist/cjs/schema/indexFilters.d.ts +6 -6
  42. package/dist/cjs/schema/indexFilters.js +30 -30
  43. package/dist/cjs/schema/types/collection.d.ts +51 -51
  44. package/dist/cjs/schema/types/collection.js +2 -2
  45. package/dist/cjs/schema/types/compounds.d.ts +12 -12
  46. package/dist/cjs/schema/types/compounds.js +2 -2
  47. package/dist/cjs/schema/types/fields.d.ts +59 -59
  48. package/dist/cjs/schema/types/fields.js +2 -2
  49. package/dist/cjs/schema/types/filters.d.ts +29 -29
  50. package/dist/cjs/schema/types/filters.js +2 -2
  51. package/dist/cjs/schema/types/shapes.d.ts +21 -21
  52. package/dist/cjs/schema/types/shapes.js +2 -2
  53. package/dist/cjs/schema/types/synthetics.d.ts +28 -28
  54. package/dist/cjs/schema/types/synthetics.js +2 -2
  55. package/dist/cjs/schema/types.d.ts +18 -18
  56. package/dist/cjs/schema/types.js +22 -22
  57. package/dist/cjs/timestamp.d.ts +48 -48
  58. package/dist/cjs/timestamp.js +243 -243
  59. package/dist/cjs/timestamp.test.d.ts +1 -1
  60. package/dist/cjs/timestamp.test.js +93 -93
  61. package/dist/cjs/undo.d.ts +3 -3
  62. package/dist/cjs/undo.js +198 -198
  63. package/dist/cjs/utils.d.ts +15 -15
  64. package/dist/cjs/utils.js +127 -127
  65. package/dist/cjs/utils.test.d.ts +1 -1
  66. package/dist/cjs/utils.test.js +36 -36
  67. package/dist/esm/EventSubscriber.d.ts +17 -17
  68. package/dist/esm/EventSubscriber.js +62 -62
  69. package/dist/esm/baseline.d.ts +5 -5
  70. package/dist/esm/baseline.js +1 -1
  71. package/dist/esm/batching.d.ts +41 -41
  72. package/dist/esm/batching.js +83 -83
  73. package/dist/esm/files.d.ts +19 -19
  74. package/dist/esm/files.js +12 -12
  75. package/dist/esm/index.d.ts +18 -18
  76. package/dist/esm/index.js +15 -15
  77. package/dist/esm/indexes.d.ts +14 -14
  78. package/dist/esm/indexes.js +105 -105
  79. package/dist/esm/indexes.test.d.ts +1 -1
  80. package/dist/esm/indexes.test.js +125 -125
  81. package/dist/esm/migration.d.ts +98 -98
  82. package/dist/esm/migration.js +121 -121
  83. package/dist/esm/oids.d.ts +87 -87
  84. package/dist/esm/oids.js +347 -347
  85. package/dist/esm/oids.test.d.ts +1 -1
  86. package/dist/esm/oids.test.js +243 -243
  87. package/dist/esm/operation.d.ts +139 -139
  88. package/dist/esm/operation.js +517 -517
  89. package/dist/esm/operation.test.d.ts +1 -1
  90. package/dist/esm/operation.test.js +482 -482
  91. package/dist/esm/patch.d.ts +26 -26
  92. package/dist/esm/patch.js +222 -222
  93. package/dist/esm/presence.d.ts +27 -27
  94. package/dist/esm/presence.js +1 -1
  95. package/dist/esm/protocol.d.ts +145 -145
  96. package/dist/esm/protocol.js +2 -2
  97. package/dist/esm/refs.d.ts +5 -5
  98. package/dist/esm/refs.js +16 -16
  99. package/dist/esm/replica.d.ts +28 -28
  100. package/dist/esm/replica.js +25 -25
  101. package/dist/esm/schema/defaults.d.ts +4 -4
  102. package/dist/esm/schema/defaults.js +65 -65
  103. package/dist/esm/schema/defaults.test.d.ts +1 -1
  104. package/dist/esm/schema/defaults.test.js +18 -18
  105. package/dist/esm/schema/index.d.ts +8 -8
  106. package/dist/esm/schema/index.js +9 -9
  107. package/dist/esm/schema/indexFilters.d.ts +6 -6
  108. package/dist/esm/schema/indexFilters.js +22 -22
  109. package/dist/esm/schema/types/collection.d.ts +51 -51
  110. package/dist/esm/schema/types/collection.js +1 -1
  111. package/dist/esm/schema/types/compounds.d.ts +12 -12
  112. package/dist/esm/schema/types/compounds.js +1 -1
  113. package/dist/esm/schema/types/fields.d.ts +59 -59
  114. package/dist/esm/schema/types/fields.js +1 -1
  115. package/dist/esm/schema/types/filters.d.ts +29 -29
  116. package/dist/esm/schema/types/filters.js +1 -1
  117. package/dist/esm/schema/types/shapes.d.ts +21 -21
  118. package/dist/esm/schema/types/shapes.js +1 -1
  119. package/dist/esm/schema/types/synthetics.d.ts +28 -28
  120. package/dist/esm/schema/types/synthetics.js +1 -1
  121. package/dist/esm/schema/types.d.ts +18 -18
  122. package/dist/esm/schema/types.js +6 -6
  123. package/dist/esm/timestamp.d.ts +48 -48
  124. package/dist/esm/timestamp.js +228 -228
  125. package/dist/esm/timestamp.test.d.ts +1 -1
  126. package/dist/esm/timestamp.test.js +91 -91
  127. package/dist/esm/undo.d.ts +3 -3
  128. package/dist/esm/undo.js +194 -194
  129. package/dist/esm/utils.d.ts +15 -15
  130. package/dist/esm/utils.js +113 -113
  131. package/dist/esm/utils.test.d.ts +1 -1
  132. package/dist/esm/utils.test.js +34 -34
  133. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +1 -1
  136. package/dist/cjs/files.test.d.ts +0 -1
  137. package/dist/cjs/files.test.js +0 -81
  138. package/dist/cjs/files.test.js.map +0 -1
  139. package/dist/esm/files.test.d.ts +0 -1
  140. package/dist/esm/files.test.js +0 -79
  141. package/dist/esm/files.test.js.map +0 -1
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,144 +1,144 @@
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.foo:0',
35
- },
36
- qux: {
37
- '@@type': 'ref',
38
- id: 'test/a.qux:2',
39
- },
40
- }, 'test/a'));
41
- (0, vitest_1.expect)(result.get('test/a.foo:0')).toEqual((0, oids_js_1.assignOid)({
42
- bar: 1,
43
- baz: {
44
- '@@type': 'ref',
45
- id: 'test/a.foo.baz:1',
46
- },
47
- }, 'test/a.foo:0'));
48
- (0, vitest_1.expect)(result.get('test/a.foo.baz:1')).toEqual((0, oids_js_1.assignOid)([2, 3], 'test/a.foo.baz:1'));
49
- (0, vitest_1.expect)(result.get('test/a.qux:2')).toEqual((0, oids_js_1.assignOid)([
50
- {
51
- '@@type': 'ref',
52
- id: 'test/a.qux.#:3',
53
- },
54
- {
55
- '@@type': 'ref',
56
- id: 'test/a.qux.#:4',
57
- },
58
- ], 'test/a.qux:2'));
59
- (0, vitest_1.expect)(result.get('test/a.qux.#:3')).toEqual((0, oids_js_1.assignOid)({
60
- corge: true,
61
- }, 'test/a.qux.#:3'));
62
- (0, vitest_1.expect)(result.get('test/a.qux.#:4')).toEqual((0, oids_js_1.assignOid)({
63
- grault: {
64
- '@@type': 'ref',
65
- id: 'test/a.qux.#.grault:5',
66
- },
67
- }, 'test/a.qux.#:4'));
68
- (0, vitest_1.expect)(result.get('test/a.qux.#.grault:5')).toEqual((0, oids_js_1.assignOid)({
69
- garply: 4,
70
- }, 'test/a.qux.#.grault: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.foo:0',
92
- },
93
- qux: {
94
- '@@type': 'ref',
95
- id: 'test/a.qux:1',
96
- },
97
- }, 'test/a'));
98
- (0, vitest_1.expect)(result.get('test/a.foo:0')).toEqual((0, oids_js_1.assignOid)({
99
- bar: 1,
100
- file: {
101
- '@@type': 'file',
102
- id: 'abcd123',
103
- },
104
- }, 'test/a.foo:0'));
105
- (0, vitest_1.expect)(result.get('test/a.qux: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.qux: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);
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.foo:0',
35
+ },
36
+ qux: {
37
+ '@@type': 'ref',
38
+ id: 'test/a.qux:2',
39
+ },
40
+ }, 'test/a'));
41
+ (0, vitest_1.expect)(result.get('test/a.foo:0')).toEqual((0, oids_js_1.assignOid)({
42
+ bar: 1,
43
+ baz: {
44
+ '@@type': 'ref',
45
+ id: 'test/a.foo.baz:1',
46
+ },
47
+ }, 'test/a.foo:0'));
48
+ (0, vitest_1.expect)(result.get('test/a.foo.baz:1')).toEqual((0, oids_js_1.assignOid)([2, 3], 'test/a.foo.baz:1'));
49
+ (0, vitest_1.expect)(result.get('test/a.qux:2')).toEqual((0, oids_js_1.assignOid)([
50
+ {
51
+ '@@type': 'ref',
52
+ id: 'test/a.qux.#:3',
53
+ },
54
+ {
55
+ '@@type': 'ref',
56
+ id: 'test/a.qux.#:4',
57
+ },
58
+ ], 'test/a.qux:2'));
59
+ (0, vitest_1.expect)(result.get('test/a.qux.#:3')).toEqual((0, oids_js_1.assignOid)({
60
+ corge: true,
61
+ }, 'test/a.qux.#:3'));
62
+ (0, vitest_1.expect)(result.get('test/a.qux.#:4')).toEqual((0, oids_js_1.assignOid)({
63
+ grault: {
64
+ '@@type': 'ref',
65
+ id: 'test/a.qux.#.grault:5',
66
+ },
67
+ }, 'test/a.qux.#:4'));
68
+ (0, vitest_1.expect)(result.get('test/a.qux.#.grault:5')).toEqual((0, oids_js_1.assignOid)({
69
+ garply: 4,
70
+ }, 'test/a.qux.#.grault: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.foo:0',
92
+ },
93
+ qux: {
94
+ '@@type': 'ref',
95
+ id: 'test/a.qux:1',
96
+ },
97
+ }, 'test/a'));
98
+ (0, vitest_1.expect)(result.get('test/a.foo:0')).toEqual((0, oids_js_1.assignOid)({
99
+ bar: 1,
100
+ file: {
101
+ '@@type': 'file',
102
+ id: 'abcd123',
103
+ },
104
+ }, 'test/a.foo:0'));
105
+ (0, vitest_1.expect)(result.get('test/a.qux: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.qux: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
142
  (0, vitest_1.expect)(result.get('test/a')).toMatchInlineSnapshot(`
143
143
  {
144
144
  "foo": {
@@ -150,59 +150,59 @@ const oids_js_1 = require("./oids.js");
150
150
  "id": "test/a.qux:2",
151
151
  },
152
152
  }
153
- `);
154
- (0, vitest_1.expect)(result.get('test/a:0')).toMatchInlineSnapshot('undefined');
155
- (0, vitest_1.expect)(result.get('test/a:1')).toBeUndefined();
156
- (0, vitest_1.expect)(result.get('test/a:2')).toMatchInlineSnapshot('undefined');
157
- (0, vitest_1.expect)(result.get('test/a:3')).toBeUndefined();
158
- (0, vitest_1.expect)(result.get('test/a:4')).toBeUndefined();
159
- (0, vitest_1.expect)(result.get('test/a:5')).toBeUndefined();
160
- });
161
- });
162
- (0, vitest_1.describe)('computing a range of oids for a whole object set', () => {
163
- function isWithin(oid, start, end) {
164
- return oid >= start && oid <= end;
165
- }
166
- (0, vitest_1.it)('should include the root object and any possible sub object oid', () => {
167
- const [start, end] = (0, oids_js_1.getOidRange)('test/a');
168
- (0, vitest_1.expect)(start).toEqual('test/a');
169
- (0, vitest_1.expect)(end).toEqual('test/a:\uffff');
170
- (0, vitest_1.expect)(start < end).toBe(true);
171
- (0, vitest_1.expect)(isWithin('test/a', start, end)).toBe(true);
172
- (0, vitest_1.expect)(isWithin('test/a:0', start, end)).toBe(true);
173
- (0, vitest_1.expect)(isWithin('test/a:1', start, end)).toBe(true);
174
- (0, vitest_1.expect)(isWithin('test/a:zzzzzzzzzzzzzzzzzzzzzzz', start, end)).toBe(true);
175
- (0, vitest_1.expect)(isWithin('test/a:\uffff', start, end)).toBe(true);
176
- (0, vitest_1.expect)(isWithin('test1/a', start, end)).toBe(false);
177
- (0, vitest_1.expect)(isWithin('test/b', start, end)).toBe(false);
178
- (0, vitest_1.expect)(isWithin('test/ ', start, end)).toBe(false);
179
- });
180
- });
181
- (0, vitest_1.describe)('assigning OIDs as properties', () => {
182
- (0, vitest_1.it)('should assign to all sub-objects', () => {
183
- let i = 0;
184
- function createSubId() {
185
- return (i++).toString();
186
- }
187
- const initial = {
188
- foo: {
189
- bar: 1,
190
- baz: [2, 3],
191
- },
192
- qux: [
193
- {
194
- corge: true,
195
- },
196
- {
197
- grault: {
198
- garply: 4,
199
- },
200
- },
201
- ],
202
- };
203
- (0, oids_js_1.assignOid)(initial, 'test/a');
204
- (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
205
- (0, oids_js_1.assignOidPropertiesToAllSubObjects)(initial);
153
+ `);
154
+ (0, vitest_1.expect)(result.get('test/a:0')).toMatchInlineSnapshot('undefined');
155
+ (0, vitest_1.expect)(result.get('test/a:1')).toBeUndefined();
156
+ (0, vitest_1.expect)(result.get('test/a:2')).toMatchInlineSnapshot('undefined');
157
+ (0, vitest_1.expect)(result.get('test/a:3')).toBeUndefined();
158
+ (0, vitest_1.expect)(result.get('test/a:4')).toBeUndefined();
159
+ (0, vitest_1.expect)(result.get('test/a:5')).toBeUndefined();
160
+ });
161
+ });
162
+ (0, vitest_1.describe)('computing a range of oids for a whole object set', () => {
163
+ function isWithin(oid, start, end) {
164
+ return oid >= start && oid <= end;
165
+ }
166
+ (0, vitest_1.it)('should include the root object and any possible sub object oid', () => {
167
+ const [start, end] = (0, oids_js_1.getOidRange)('test/a');
168
+ (0, vitest_1.expect)(start).toEqual('test/a');
169
+ (0, vitest_1.expect)(end).toEqual('test/a:\uffff');
170
+ (0, vitest_1.expect)(start < end).toBe(true);
171
+ (0, vitest_1.expect)(isWithin('test/a', start, end)).toBe(true);
172
+ (0, vitest_1.expect)(isWithin('test/a:0', start, end)).toBe(true);
173
+ (0, vitest_1.expect)(isWithin('test/a:1', start, end)).toBe(true);
174
+ (0, vitest_1.expect)(isWithin('test/a:zzzzzzzzzzzzzzzzzzzzzzz', start, end)).toBe(true);
175
+ (0, vitest_1.expect)(isWithin('test/a:\uffff', start, end)).toBe(true);
176
+ (0, vitest_1.expect)(isWithin('test1/a', start, end)).toBe(false);
177
+ (0, vitest_1.expect)(isWithin('test/b', start, end)).toBe(false);
178
+ (0, vitest_1.expect)(isWithin('test/ ', start, end)).toBe(false);
179
+ });
180
+ });
181
+ (0, vitest_1.describe)('assigning OIDs as properties', () => {
182
+ (0, vitest_1.it)('should assign to all sub-objects', () => {
183
+ let i = 0;
184
+ function createSubId() {
185
+ return (i++).toString();
186
+ }
187
+ const initial = {
188
+ foo: {
189
+ bar: 1,
190
+ baz: [2, 3],
191
+ },
192
+ qux: [
193
+ {
194
+ corge: true,
195
+ },
196
+ {
197
+ grault: {
198
+ garply: 4,
199
+ },
200
+ },
201
+ ],
202
+ };
203
+ (0, oids_js_1.assignOid)(initial, 'test/a');
204
+ (0, oids_js_1.assignOidsToAllSubObjects)(initial, createSubId);
205
+ (0, oids_js_1.assignOidPropertiesToAllSubObjects)(initial);
206
206
  (0, vitest_1.expect)(initial).toMatchInlineSnapshot(`
207
207
  {
208
208
  "@@id": "test/a",
@@ -228,55 +228,55 @@ const oids_js_1 = require("./oids.js");
228
228
  },
229
229
  ],
230
230
  }
231
- `);
232
- // extra check needed for array since it doesn't serialize in the snapshot
233
- (0, vitest_1.expect)((0, oids_js_1.maybeGetOidProperty)(initial.qux)).toBe('test/a.qux:2');
234
- });
235
- (0, vitest_1.it)('should transfer assigned OID properties to the memory system', () => {
236
- const initial = (0, oids_js_1.assignOidProperty)({
237
- foo: (0, oids_js_1.assignOidProperty)({
238
- bar: 1,
239
- }, 'test/a.foo:1'),
240
- qux: (0, oids_js_1.assignOidProperty)([
241
- (0, oids_js_1.assignOidProperty)({
242
- corge: true,
243
- }, 'test/a.qux.#:2'),
244
- (0, oids_js_1.assignOidProperty)({
245
- grault: (0, oids_js_1.assignOidProperty)({
246
- garply: 4,
247
- }, 'test/a.qux.#.grault:3'),
248
- }, 'test/a.qux.#:4'),
249
- ], 'test/a.qux:2'),
250
- }, 'test/a');
251
- (0, oids_js_1.removeOidPropertiesFromAllSubObjects)(initial);
252
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial)).toEqual('test/a');
253
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.foo)).toEqual('test/a.foo:1');
254
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux)).toEqual('test/a.qux:2');
255
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[0])).toEqual('test/a.qux.#:2');
256
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1])).toEqual('test/a.qux.#:4');
257
- (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1].grault)).toEqual('test/a.qux.#.grault:3');
258
- });
259
- });
260
- (0, vitest_1.it)('should handle special characters in document id or collection', () => {
261
- (0, vitest_1.expect)((0, oids_js_1.decomposeOid)((0, oids_js_1.createOid)('test.teesssst/asdf::', 'foo/bar (.) : huh:', ['baz?.quoo:/', 'qux'], 'corge'))).toEqual({
262
- collection: 'test.teesssst/asdf::',
263
- id: 'foo/bar (.) : huh:',
264
- keyPath: ['baz?.quoo:/', 'qux'],
265
- subId: 'corge',
266
- });
267
- });
268
- (0, vitest_1.describe)('assigning OIDs to sub-objects', () => {
269
- (0, vitest_1.it)('should not assign oids to refs', () => {
270
- const obj = {
271
- foo: {
272
- file: (0, files_js_1.createFileRef)('1a'),
273
- },
274
- bar: [(0, files_js_1.createFileRef)('2a')],
275
- };
276
- (0, oids_js_1.assignOid)(obj, 'test/a');
277
- (0, oids_js_1.assignOidsToAllSubObjects)(obj);
278
- (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.foo.file)).toBe(false);
279
- (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.bar[0])).toBe(false);
280
- });
281
- });
231
+ `);
232
+ // extra check needed for array since it doesn't serialize in the snapshot
233
+ (0, vitest_1.expect)((0, oids_js_1.maybeGetOidProperty)(initial.qux)).toBe('test/a.qux:2');
234
+ });
235
+ (0, vitest_1.it)('should transfer assigned OID properties to the memory system', () => {
236
+ const initial = (0, oids_js_1.assignOidProperty)({
237
+ foo: (0, oids_js_1.assignOidProperty)({
238
+ bar: 1,
239
+ }, 'test/a.foo:1'),
240
+ qux: (0, oids_js_1.assignOidProperty)([
241
+ (0, oids_js_1.assignOidProperty)({
242
+ corge: true,
243
+ }, 'test/a.qux.#:2'),
244
+ (0, oids_js_1.assignOidProperty)({
245
+ grault: (0, oids_js_1.assignOidProperty)({
246
+ garply: 4,
247
+ }, 'test/a.qux.#.grault:3'),
248
+ }, 'test/a.qux.#:4'),
249
+ ], 'test/a.qux:2'),
250
+ }, 'test/a');
251
+ (0, oids_js_1.removeOidPropertiesFromAllSubObjects)(initial);
252
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial)).toEqual('test/a');
253
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.foo)).toEqual('test/a.foo:1');
254
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux)).toEqual('test/a.qux:2');
255
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[0])).toEqual('test/a.qux.#:2');
256
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1])).toEqual('test/a.qux.#:4');
257
+ (0, vitest_1.expect)((0, oids_js_1.getOid)(initial.qux[1].grault)).toEqual('test/a.qux.#.grault:3');
258
+ });
259
+ });
260
+ (0, vitest_1.it)('should handle special characters in document id or collection', () => {
261
+ (0, vitest_1.expect)((0, oids_js_1.decomposeOid)((0, oids_js_1.createOid)('test.teesssst/asdf::', 'foo/bar (.) : huh:', ['baz?.quoo:/', 'qux'], 'corge'))).toEqual({
262
+ collection: 'test.teesssst/asdf::',
263
+ id: 'foo/bar (.) : huh:',
264
+ keyPath: ['baz?.quoo:/', 'qux'],
265
+ subId: 'corge',
266
+ });
267
+ });
268
+ (0, vitest_1.describe)('assigning OIDs to sub-objects', () => {
269
+ (0, vitest_1.it)('should not assign oids to refs', () => {
270
+ const obj = {
271
+ foo: {
272
+ file: (0, files_js_1.createFileRef)('1a'),
273
+ },
274
+ bar: [(0, files_js_1.createFileRef)('2a')],
275
+ };
276
+ (0, oids_js_1.assignOid)(obj, 'test/a');
277
+ (0, oids_js_1.assignOidsToAllSubObjects)(obj);
278
+ (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.foo.file)).toBe(false);
279
+ (0, vitest_1.expect)((0, oids_js_1.hasOid)(obj.bar[0])).toBe(false);
280
+ });
281
+ });
282
282
  //# sourceMappingURL=oids.test.js.map