@verdant-web/common 1.15.3-next.0 → 1.15.4

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 (154) 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 +42 -42
  6. package/dist/cjs/batching.js +91 -91
  7. package/dist/cjs/files.d.ts +19 -19
  8. package/dist/cjs/files.js +18 -18
  9. package/dist/cjs/index.d.ts +19 -19
  10. package/dist/cjs/index.js +41 -41
  11. package/dist/cjs/indexes.d.ts +17 -17
  12. package/dist/cjs/indexes.js +142 -142
  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 +172 -172
  16. package/dist/cjs/migration.js +301 -301
  17. package/dist/cjs/oids.d.ts +100 -100
  18. package/dist/cjs/oids.js +461 -457
  19. package/dist/cjs/oids.js.map +1 -1
  20. package/dist/cjs/oids.test.d.ts +1 -1
  21. package/dist/cjs/oids.test.js +348 -348
  22. package/dist/cjs/operation.d.ts +139 -139
  23. package/dist/cjs/operation.js +545 -545
  24. package/dist/cjs/operation.test.d.ts +1 -1
  25. package/dist/cjs/operation.test.js +529 -529
  26. package/dist/cjs/patch.d.ts +26 -26
  27. package/dist/cjs/patch.js +226 -226
  28. package/dist/cjs/presence.d.ts +27 -27
  29. package/dist/cjs/presence.js +2 -2
  30. package/dist/cjs/protocol.d.ts +145 -145
  31. package/dist/cjs/protocol.js +3 -3
  32. package/dist/cjs/refs.d.ts +7 -7
  33. package/dist/cjs/refs.js +29 -29
  34. package/dist/cjs/replica.d.ts +28 -28
  35. package/dist/cjs/replica.js +28 -28
  36. package/dist/cjs/schema/defaults.test.d.ts +1 -1
  37. package/dist/cjs/schema/defaults.test.js +20 -20
  38. package/dist/cjs/schema/fields.d.ts +9 -9
  39. package/dist/cjs/schema/fields.js +144 -144
  40. package/dist/cjs/schema/index.d.ts +8 -8
  41. package/dist/cjs/schema/index.js +51 -51
  42. package/dist/cjs/schema/indexFilters.d.ts +6 -6
  43. package/dist/cjs/schema/indexFilters.js +30 -30
  44. package/dist/cjs/schema/types/collection.d.ts +23 -23
  45. package/dist/cjs/schema/types/collection.js +2 -2
  46. package/dist/cjs/schema/types/compounds.d.ts +11 -11
  47. package/dist/cjs/schema/types/compounds.js +2 -2
  48. package/dist/cjs/schema/types/fields.d.ts +75 -75
  49. package/dist/cjs/schema/types/fields.js +2 -2
  50. package/dist/cjs/schema/types/filters.d.ts +29 -29
  51. package/dist/cjs/schema/types/filters.js +2 -2
  52. package/dist/cjs/schema/types/shapes.d.ts +21 -21
  53. package/dist/cjs/schema/types/shapes.js +2 -2
  54. package/dist/cjs/schema/types/synthetics.d.ts +37 -37
  55. package/dist/cjs/schema/types/synthetics.js +2 -2
  56. package/dist/cjs/schema/types.d.ts +18 -18
  57. package/dist/cjs/schema/types.js +22 -22
  58. package/dist/cjs/schema/validation.d.ts +3 -3
  59. package/dist/cjs/schema/validation.js +86 -86
  60. package/dist/cjs/timestamp.d.ts +50 -50
  61. package/dist/cjs/timestamp.js +251 -251
  62. package/dist/cjs/timestamp.test.d.ts +1 -1
  63. package/dist/cjs/timestamp.test.js +104 -104
  64. package/dist/cjs/undo.d.ts +3 -3
  65. package/dist/cjs/undo.js +198 -198
  66. package/dist/cjs/utils.d.ts +20 -20
  67. package/dist/cjs/utils.js +145 -145
  68. package/dist/cjs/utils.test.d.ts +1 -1
  69. package/dist/cjs/utils.test.js +36 -36
  70. package/dist/esm/EventSubscriber.d.ts +17 -17
  71. package/dist/esm/EventSubscriber.js +62 -62
  72. package/dist/esm/baseline.d.ts +5 -5
  73. package/dist/esm/baseline.js +1 -1
  74. package/dist/esm/batching.d.ts +42 -42
  75. package/dist/esm/batching.js +86 -86
  76. package/dist/esm/files.d.ts +19 -19
  77. package/dist/esm/files.js +12 -12
  78. package/dist/esm/index.d.ts +19 -19
  79. package/dist/esm/index.js +16 -16
  80. package/dist/esm/indexes.d.ts +17 -17
  81. package/dist/esm/indexes.js +130 -130
  82. package/dist/esm/indexes.test.d.ts +1 -1
  83. package/dist/esm/indexes.test.js +125 -125
  84. package/dist/esm/migration.d.ts +172 -172
  85. package/dist/esm/migration.js +294 -294
  86. package/dist/esm/oids.d.ts +100 -100
  87. package/dist/esm/oids.js +426 -422
  88. package/dist/esm/oids.js.map +1 -1
  89. package/dist/esm/oids.test.d.ts +1 -1
  90. package/dist/esm/oids.test.js +346 -346
  91. package/dist/esm/operation.d.ts +139 -139
  92. package/dist/esm/operation.js +530 -530
  93. package/dist/esm/operation.test.d.ts +1 -1
  94. package/dist/esm/operation.test.js +527 -527
  95. package/dist/esm/patch.d.ts +26 -26
  96. package/dist/esm/patch.js +222 -222
  97. package/dist/esm/presence.d.ts +27 -27
  98. package/dist/esm/presence.js +1 -1
  99. package/dist/esm/protocol.d.ts +145 -145
  100. package/dist/esm/protocol.js +2 -2
  101. package/dist/esm/refs.d.ts +7 -7
  102. package/dist/esm/refs.js +22 -22
  103. package/dist/esm/replica.d.ts +28 -28
  104. package/dist/esm/replica.js +25 -25
  105. package/dist/esm/schema/defaults.test.d.ts +1 -1
  106. package/dist/esm/schema/defaults.test.js +18 -18
  107. package/dist/esm/schema/fields.d.ts +9 -9
  108. package/dist/esm/schema/fields.js +133 -133
  109. package/dist/esm/schema/index.d.ts +8 -8
  110. package/dist/esm/schema/index.js +32 -32
  111. package/dist/esm/schema/indexFilters.d.ts +6 -6
  112. package/dist/esm/schema/indexFilters.js +22 -22
  113. package/dist/esm/schema/types/collection.d.ts +23 -23
  114. package/dist/esm/schema/types/collection.js +1 -1
  115. package/dist/esm/schema/types/compounds.d.ts +11 -11
  116. package/dist/esm/schema/types/compounds.js +1 -1
  117. package/dist/esm/schema/types/fields.d.ts +75 -75
  118. package/dist/esm/schema/types/fields.js +1 -1
  119. package/dist/esm/schema/types/filters.d.ts +29 -29
  120. package/dist/esm/schema/types/filters.js +1 -1
  121. package/dist/esm/schema/types/shapes.d.ts +21 -21
  122. package/dist/esm/schema/types/shapes.js +1 -1
  123. package/dist/esm/schema/types/synthetics.d.ts +37 -37
  124. package/dist/esm/schema/types/synthetics.js +1 -1
  125. package/dist/esm/schema/types.d.ts +18 -18
  126. package/dist/esm/schema/types.js +6 -6
  127. package/dist/esm/schema/validation.d.ts +3 -3
  128. package/dist/esm/schema/validation.js +81 -81
  129. package/dist/esm/timestamp.d.ts +50 -50
  130. package/dist/esm/timestamp.js +234 -234
  131. package/dist/esm/timestamp.test.d.ts +1 -1
  132. package/dist/esm/timestamp.test.js +102 -102
  133. package/dist/esm/undo.d.ts +3 -3
  134. package/dist/esm/undo.js +194 -194
  135. package/dist/esm/utils.d.ts +20 -20
  136. package/dist/esm/utils.js +127 -127
  137. package/dist/esm/utils.test.d.ts +1 -1
  138. package/dist/esm/utils.test.js +34 -34
  139. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  140. package/dist/tsconfig.tsbuildinfo +1 -1
  141. package/package.json +1 -1
  142. package/src/oids.ts +5 -1
  143. package/dist/cjs/files.test.d.ts +0 -1
  144. package/dist/cjs/files.test.js +0 -81
  145. package/dist/cjs/files.test.js.map +0 -1
  146. package/dist/cjs/schema/defaults.d.ts +0 -4
  147. package/dist/cjs/schema/defaults.js +0 -72
  148. package/dist/cjs/schema/defaults.js.map +0 -1
  149. package/dist/esm/files.test.d.ts +0 -1
  150. package/dist/esm/files.test.js +0 -79
  151. package/dist/esm/files.test.js.map +0 -1
  152. package/dist/esm/schema/defaults.d.ts +0 -4
  153. package/dist/esm/schema/defaults.js +0 -66
  154. package/dist/esm/schema/defaults.js.map +0 -1
@@ -1,139 +1,139 @@
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;
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;
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 declare type OperationPatch = OperationPatchInitialize | OperationPatchSet | OperationPatchRemove | OperationPatchListPush | OperationPatchListInsert | OperationPatchListDelete | OperationPatchListMoveByRef | OperationPatchListMoveByIndex | OperationPatchListRemove | OperationPatchDelete | OperationPatchListAdd;
88
- export declare type Operation = {
89
- oid: ObjectIdentifier;
90
- timestamp: string;
91
- data: OperationPatch;
92
- };
93
- export declare function diffToPatches<T extends {
94
- [key: string]: any;
95
- } | any[]>(from: T, to: T, getNow: () => string, createSubId?: () => string, patches?: Operation[], options?: {
96
- /**
97
- * If an object is merged with another and the new one does not
98
- * have an OID assigned, assume it is the same identity as previous
99
- */
100
- mergeUnknownObjects?: boolean;
101
- /**
102
- * If an incoming value is not assigned on the new object, use the previous value.
103
- * If false, undefined properties will erase the previous value.
104
- */
105
- defaultUndefined?: boolean;
106
- }): Operation[];
107
- export declare function shallowDiffToPatches(from: any, to: any, getNow: () => string, patches?: Operation[]): Operation[];
108
- /**
109
- * Takes a basic object and constructs a patch list to create it and
110
- * all of its nested objects.
111
- */
112
- export declare function initialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, createSubId?: () => string, patches?: Operation[]): Operation[];
113
- export declare function shallowInitialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, patches?: Operation[]): Operation[];
114
- export declare function groupPatchesByIdentifier(patches: Operation[]): Record<string, Operation[]>;
115
- export declare function groupPatchesByRootOid(patches: Operation[]): Record<string, Operation[]>;
116
- export declare function groupBaselinesByRootOid(baselines: DocumentBaseline[]): Record<string, DocumentBaseline<any>[]>;
117
- export declare type NormalizedObject = {
118
- [key: PropertyName]: PropertyValue;
119
- } | Array<PropertyValue>;
120
- /**
121
- * The incoming object should already be normalized!
122
- * This function will mutate the base object.
123
- */
124
- export declare function applyPatch<T extends NormalizedObject>(base: T | undefined, patch: OperationPatch,
125
- /**
126
- * Optionally supply a list to which any refs which
127
- * are removed during the patch will be appended.
128
- */
129
- deletedRefs?: (FileRef | ObjectRef)[]): T | undefined;
130
- export declare function applyOperations<T extends NormalizedObject>(base: T | undefined, operations: Operation[], deletedRefs?: (ObjectRef | FileRef)[]): T | undefined;
131
- /**
132
- * Mutates the original object in place. Returns all referenced
133
- * objects oids.
134
- */
135
- export declare function substituteRefsWithObjects(base: any, refs: Map<ObjectIdentifier, any>, used?: ObjectIdentifier[]): ObjectIdentifier[];
136
- export declare function substituteFirstLevelObjectsWithRefs<Base extends {
137
- [key: string]: any;
138
- } | any[]>(base: Base, refObjects?: Map<ObjectIdentifier, any>): Map<ObjectIdentifier, any>;
139
- export {};
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;
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;
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 declare type OperationPatch = OperationPatchInitialize | OperationPatchSet | OperationPatchRemove | OperationPatchListPush | OperationPatchListInsert | OperationPatchListDelete | OperationPatchListMoveByRef | OperationPatchListMoveByIndex | OperationPatchListRemove | OperationPatchDelete | OperationPatchListAdd;
88
+ export declare type Operation = {
89
+ oid: ObjectIdentifier;
90
+ timestamp: string;
91
+ data: OperationPatch;
92
+ };
93
+ export declare function diffToPatches<T extends {
94
+ [key: string]: any;
95
+ } | any[]>(from: T, to: T, getNow: () => string, createSubId?: () => string, patches?: Operation[], options?: {
96
+ /**
97
+ * If an object is merged with another and the new one does not
98
+ * have an OID assigned, assume it is the same identity as previous
99
+ */
100
+ mergeUnknownObjects?: boolean;
101
+ /**
102
+ * If an incoming value is not assigned on the new object, use the previous value.
103
+ * If false, undefined properties will erase the previous value.
104
+ */
105
+ defaultUndefined?: boolean;
106
+ }): Operation[];
107
+ export declare function shallowDiffToPatches(from: any, to: any, getNow: () => string, patches?: Operation[]): Operation[];
108
+ /**
109
+ * Takes a basic object and constructs a patch list to create it and
110
+ * all of its nested objects.
111
+ */
112
+ export declare function initialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, createSubId?: () => string, patches?: Operation[]): Operation[];
113
+ export declare function shallowInitialToPatches(initial: any, rootOid: ObjectIdentifier, getNow: () => string, patches?: Operation[]): Operation[];
114
+ export declare function groupPatchesByIdentifier(patches: Operation[]): Record<string, Operation[]>;
115
+ export declare function groupPatchesByRootOid(patches: Operation[]): Record<string, Operation[]>;
116
+ export declare function groupBaselinesByRootOid(baselines: DocumentBaseline[]): Record<string, DocumentBaseline<any>[]>;
117
+ export declare type NormalizedObject = {
118
+ [key: PropertyName]: PropertyValue;
119
+ } | Array<PropertyValue>;
120
+ /**
121
+ * The incoming object should already be normalized!
122
+ * This function will mutate the base object.
123
+ */
124
+ export declare function applyPatch<T extends NormalizedObject>(base: T | undefined, patch: OperationPatch,
125
+ /**
126
+ * Optionally supply a list to which any refs which
127
+ * are removed during the patch will be appended.
128
+ */
129
+ deletedRefs?: (FileRef | ObjectRef)[]): T | undefined;
130
+ export declare function applyOperations<T extends NormalizedObject>(base: T | undefined, operations: Operation[], deletedRefs?: (ObjectRef | FileRef)[]): T | undefined;
131
+ /**
132
+ * Mutates the original object in place. Returns all referenced
133
+ * objects oids.
134
+ */
135
+ export declare function substituteRefsWithObjects(base: any, refs: Map<ObjectIdentifier, any>, used?: ObjectIdentifier[]): ObjectIdentifier[];
136
+ export declare function substituteFirstLevelObjectsWithRefs<Base extends {
137
+ [key: string]: any;
138
+ } | any[]>(base: Base, refObjects?: Map<ObjectIdentifier, any>): Map<ObjectIdentifier, any>;
139
+ export {};