@verdant-web/common 1.11.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 (241) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/EventSubscriber.d.ts +17 -0
  3. package/dist/cjs/EventSubscriber.js +67 -0
  4. package/dist/cjs/EventSubscriber.js.map +1 -0
  5. package/dist/cjs/baseline.d.ts +5 -0
  6. package/dist/cjs/baseline.js +3 -0
  7. package/dist/cjs/baseline.js.map +1 -0
  8. package/dist/cjs/batching.d.ts +41 -0
  9. package/dist/cjs/batching.js +89 -0
  10. package/dist/cjs/batching.js.map +1 -0
  11. package/dist/cjs/files.d.ts +19 -0
  12. package/dist/cjs/files.js +19 -0
  13. package/dist/cjs/files.js.map +1 -0
  14. package/dist/cjs/files.test.d.ts +1 -0
  15. package/dist/cjs/files.test.js +81 -0
  16. package/dist/cjs/files.test.js.map +1 -0
  17. package/dist/cjs/index.d.ts +18 -0
  18. package/dist/cjs/index.js +36 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/indexes.d.ts +14 -0
  21. package/dist/cjs/indexes.js +116 -0
  22. package/dist/cjs/indexes.js.map +1 -0
  23. package/dist/cjs/indexes.test.d.ts +1 -0
  24. package/dist/cjs/indexes.test.js +128 -0
  25. package/dist/cjs/indexes.test.js.map +1 -0
  26. package/dist/cjs/migration.d.ts +98 -0
  27. package/dist/cjs/migration.js +128 -0
  28. package/dist/cjs/migration.js.map +1 -0
  29. package/dist/cjs/oids.d.ts +87 -0
  30. package/dist/cjs/oids.js +375 -0
  31. package/dist/cjs/oids.js.map +1 -0
  32. package/dist/cjs/oids.test.d.ts +1 -0
  33. package/dist/cjs/oids.test.js +282 -0
  34. package/dist/cjs/oids.test.js.map +1 -0
  35. package/dist/cjs/operation.d.ts +139 -0
  36. package/dist/cjs/operation.js +533 -0
  37. package/dist/cjs/operation.js.map +1 -0
  38. package/dist/cjs/operation.test.d.ts +1 -0
  39. package/dist/cjs/operation.test.js +827 -0
  40. package/dist/cjs/operation.test.js.map +1 -0
  41. package/dist/cjs/patch.d.ts +26 -0
  42. package/dist/cjs/patch.js +227 -0
  43. package/dist/cjs/patch.js.map +1 -0
  44. package/dist/cjs/presence.d.ts +27 -0
  45. package/dist/cjs/presence.js +3 -0
  46. package/dist/cjs/presence.js.map +1 -0
  47. package/dist/cjs/protocol.d.ts +145 -0
  48. package/dist/cjs/protocol.js +4 -0
  49. package/dist/cjs/protocol.js.map +1 -0
  50. package/dist/cjs/refs.d.ts +5 -0
  51. package/dist/cjs/refs.js +22 -0
  52. package/dist/cjs/refs.js.map +1 -0
  53. package/dist/cjs/replica.d.ts +28 -0
  54. package/dist/cjs/replica.js +29 -0
  55. package/dist/cjs/replica.js.map +1 -0
  56. package/dist/cjs/schema/defaults.d.ts +4 -0
  57. package/dist/cjs/schema/defaults.js +72 -0
  58. package/dist/cjs/schema/defaults.js.map +1 -0
  59. package/dist/cjs/schema/defaults.test.d.ts +1 -0
  60. package/dist/cjs/schema/defaults.test.js +21 -0
  61. package/dist/cjs/schema/defaults.test.js.map +1 -0
  62. package/dist/cjs/schema/index.d.ts +8 -0
  63. package/dist/cjs/schema/index.js +29 -0
  64. package/dist/cjs/schema/index.js.map +1 -0
  65. package/dist/cjs/schema/indexFilters.d.ts +6 -0
  66. package/dist/cjs/schema/indexFilters.js +31 -0
  67. package/dist/cjs/schema/indexFilters.js.map +1 -0
  68. package/dist/cjs/schema/types/collection.d.ts +51 -0
  69. package/dist/cjs/schema/types/collection.js +3 -0
  70. package/dist/cjs/schema/types/collection.js.map +1 -0
  71. package/dist/cjs/schema/types/compounds.d.ts +12 -0
  72. package/dist/cjs/schema/types/compounds.js +3 -0
  73. package/dist/cjs/schema/types/compounds.js.map +1 -0
  74. package/dist/cjs/schema/types/fields.d.ts +59 -0
  75. package/dist/cjs/schema/types/fields.js +3 -0
  76. package/dist/cjs/schema/types/fields.js.map +1 -0
  77. package/dist/cjs/schema/types/filters.d.ts +29 -0
  78. package/dist/cjs/schema/types/filters.js +3 -0
  79. package/dist/cjs/schema/types/filters.js.map +1 -0
  80. package/dist/cjs/schema/types/shapes.d.ts +21 -0
  81. package/dist/cjs/schema/types/shapes.js +3 -0
  82. package/dist/cjs/schema/types/shapes.js.map +1 -0
  83. package/dist/cjs/schema/types/synthetics.d.ts +28 -0
  84. package/dist/cjs/schema/types/synthetics.js +3 -0
  85. package/dist/cjs/schema/types/synthetics.js.map +1 -0
  86. package/dist/cjs/schema/types.d.ts +18 -0
  87. package/dist/cjs/schema/types.js +23 -0
  88. package/dist/cjs/schema/types.js.map +1 -0
  89. package/dist/cjs/timestamp.d.ts +48 -0
  90. package/dist/cjs/timestamp.js +244 -0
  91. package/dist/cjs/timestamp.js.map +1 -0
  92. package/dist/cjs/timestamp.test.d.ts +1 -0
  93. package/dist/cjs/timestamp.test.js +94 -0
  94. package/dist/cjs/timestamp.test.js.map +1 -0
  95. package/dist/cjs/undo.d.ts +3 -0
  96. package/dist/cjs/undo.js +199 -0
  97. package/dist/cjs/undo.js.map +1 -0
  98. package/dist/cjs/utils.d.ts +15 -0
  99. package/dist/cjs/utils.js +128 -0
  100. package/dist/cjs/utils.js.map +1 -0
  101. package/dist/cjs/utils.test.d.ts +1 -0
  102. package/dist/cjs/utils.test.js +37 -0
  103. package/dist/cjs/utils.test.js.map +1 -0
  104. package/dist/esm/EventSubscriber.d.ts +17 -0
  105. package/dist/esm/EventSubscriber.js +63 -0
  106. package/dist/esm/EventSubscriber.js.map +1 -0
  107. package/dist/esm/baseline.d.ts +5 -0
  108. package/dist/esm/baseline.js +2 -0
  109. package/dist/esm/baseline.js.map +1 -0
  110. package/dist/esm/batching.d.ts +41 -0
  111. package/dist/esm/batching.js +84 -0
  112. package/dist/esm/batching.js.map +1 -0
  113. package/dist/esm/files.d.ts +19 -0
  114. package/dist/esm/files.js +13 -0
  115. package/dist/esm/files.js.map +1 -0
  116. package/dist/esm/files.test.d.ts +1 -0
  117. package/dist/esm/files.test.js +79 -0
  118. package/dist/esm/files.test.js.map +1 -0
  119. package/dist/esm/index.d.ts +18 -0
  120. package/dist/esm/index.js +16 -0
  121. package/dist/esm/index.js.map +1 -0
  122. package/dist/esm/indexes.d.ts +14 -0
  123. package/dist/esm/indexes.js +106 -0
  124. package/dist/esm/indexes.js.map +1 -0
  125. package/dist/esm/indexes.test.d.ts +1 -0
  126. package/dist/esm/indexes.test.js +126 -0
  127. package/dist/esm/indexes.test.js.map +1 -0
  128. package/dist/esm/migration.d.ts +98 -0
  129. package/dist/esm/migration.js +122 -0
  130. package/dist/esm/migration.js.map +1 -0
  131. package/dist/esm/oids.d.ts +87 -0
  132. package/dist/esm/oids.js +348 -0
  133. package/dist/esm/oids.js.map +1 -0
  134. package/dist/esm/oids.test.d.ts +1 -0
  135. package/dist/esm/oids.test.js +280 -0
  136. package/dist/esm/oids.test.js.map +1 -0
  137. package/dist/esm/operation.d.ts +139 -0
  138. package/dist/esm/operation.js +518 -0
  139. package/dist/esm/operation.js.map +1 -0
  140. package/dist/esm/operation.test.d.ts +1 -0
  141. package/dist/esm/operation.test.js +825 -0
  142. package/dist/esm/operation.test.js.map +1 -0
  143. package/dist/esm/patch.d.ts +26 -0
  144. package/dist/esm/patch.js +223 -0
  145. package/dist/esm/patch.js.map +1 -0
  146. package/dist/esm/presence.d.ts +27 -0
  147. package/dist/esm/presence.js +2 -0
  148. package/dist/esm/presence.js.map +1 -0
  149. package/dist/esm/protocol.d.ts +145 -0
  150. package/dist/esm/protocol.js +3 -0
  151. package/dist/esm/protocol.js.map +1 -0
  152. package/dist/esm/refs.d.ts +5 -0
  153. package/dist/esm/refs.js +17 -0
  154. package/dist/esm/refs.js.map +1 -0
  155. package/dist/esm/replica.d.ts +28 -0
  156. package/dist/esm/replica.js +26 -0
  157. package/dist/esm/replica.js.map +1 -0
  158. package/dist/esm/schema/defaults.d.ts +4 -0
  159. package/dist/esm/schema/defaults.js +66 -0
  160. package/dist/esm/schema/defaults.js.map +1 -0
  161. package/dist/esm/schema/defaults.test.d.ts +1 -0
  162. package/dist/esm/schema/defaults.test.js +19 -0
  163. package/dist/esm/schema/defaults.test.js.map +1 -0
  164. package/dist/esm/schema/index.d.ts +8 -0
  165. package/dist/esm/schema/index.js +10 -0
  166. package/dist/esm/schema/index.js.map +1 -0
  167. package/dist/esm/schema/indexFilters.d.ts +6 -0
  168. package/dist/esm/schema/indexFilters.js +23 -0
  169. package/dist/esm/schema/indexFilters.js.map +1 -0
  170. package/dist/esm/schema/types/collection.d.ts +51 -0
  171. package/dist/esm/schema/types/collection.js +2 -0
  172. package/dist/esm/schema/types/collection.js.map +1 -0
  173. package/dist/esm/schema/types/compounds.d.ts +12 -0
  174. package/dist/esm/schema/types/compounds.js +2 -0
  175. package/dist/esm/schema/types/compounds.js.map +1 -0
  176. package/dist/esm/schema/types/fields.d.ts +59 -0
  177. package/dist/esm/schema/types/fields.js +2 -0
  178. package/dist/esm/schema/types/fields.js.map +1 -0
  179. package/dist/esm/schema/types/filters.d.ts +29 -0
  180. package/dist/esm/schema/types/filters.js +2 -0
  181. package/dist/esm/schema/types/filters.js.map +1 -0
  182. package/dist/esm/schema/types/shapes.d.ts +21 -0
  183. package/dist/esm/schema/types/shapes.js +2 -0
  184. package/dist/esm/schema/types/shapes.js.map +1 -0
  185. package/dist/esm/schema/types/synthetics.d.ts +28 -0
  186. package/dist/esm/schema/types/synthetics.js +2 -0
  187. package/dist/esm/schema/types/synthetics.js.map +1 -0
  188. package/dist/esm/schema/types.d.ts +18 -0
  189. package/dist/esm/schema/types.js +7 -0
  190. package/dist/esm/schema/types.js.map +1 -0
  191. package/dist/esm/timestamp.d.ts +48 -0
  192. package/dist/esm/timestamp.js +229 -0
  193. package/dist/esm/timestamp.js.map +1 -0
  194. package/dist/esm/timestamp.test.d.ts +1 -0
  195. package/dist/esm/timestamp.test.js +92 -0
  196. package/dist/esm/timestamp.test.js.map +1 -0
  197. package/dist/esm/undo.d.ts +3 -0
  198. package/dist/esm/undo.js +195 -0
  199. package/dist/esm/undo.js.map +1 -0
  200. package/dist/esm/utils.d.ts +15 -0
  201. package/dist/esm/utils.js +114 -0
  202. package/dist/esm/utils.js.map +1 -0
  203. package/dist/esm/utils.test.d.ts +1 -0
  204. package/dist/esm/utils.test.js +35 -0
  205. package/dist/esm/utils.test.js.map +1 -0
  206. package/dist/tsconfig-cjs.tsbuildinfo +1 -0
  207. package/dist/tsconfig.tsbuildinfo +1 -0
  208. package/package.json +38 -0
  209. package/src/EventSubscriber.ts +81 -0
  210. package/src/baseline.ts +9 -0
  211. package/src/batching.ts +135 -0
  212. package/src/files.ts +34 -0
  213. package/src/index.ts +26 -0
  214. package/src/indexes.test.ts +158 -0
  215. package/src/indexes.ts +151 -0
  216. package/src/migration.ts +391 -0
  217. package/src/oids.test.ts +395 -0
  218. package/src/oids.ts +442 -0
  219. package/src/operation.test.ts +966 -0
  220. package/src/operation.ts +755 -0
  221. package/src/patch.ts +277 -0
  222. package/src/presence.ts +29 -0
  223. package/src/protocol.ts +184 -0
  224. package/src/refs.ts +16 -0
  225. package/src/replica.ts +29 -0
  226. package/src/schema/defaults.test.ts +19 -0
  227. package/src/schema/defaults.ts +72 -0
  228. package/src/schema/index.ts +28 -0
  229. package/src/schema/indexFilters.ts +49 -0
  230. package/src/schema/types/collection.ts +133 -0
  231. package/src/schema/types/compounds.ts +33 -0
  232. package/src/schema/types/fields.ts +85 -0
  233. package/src/schema/types/filters.ts +39 -0
  234. package/src/schema/types/shapes.ts +83 -0
  235. package/src/schema/types/synthetics.ts +45 -0
  236. package/src/schema/types.ts +28 -0
  237. package/src/timestamp.test.ts +113 -0
  238. package/src/timestamp.ts +284 -0
  239. package/src/undo.ts +205 -0
  240. package/src/utils.test.ts +38 -0
  241. package/src/utils.ts +137 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.test.js","sourceRoot":"","sources":["../../src/operation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * High-level patch creation for use with complex nested objects.
3
+ */
4
+ import { KeyPath, ObjectIdentifier } from './oids.js';
5
+ import { ObjectRef, Operation, PropertyName } from './operation.js';
6
+ export declare class PatchCreator {
7
+ private getNow;
8
+ private createSubId?;
9
+ constructor(getNow: () => string, createSubId?: (() => string) | undefined);
10
+ createDiff: (from: any, to: any, keyPath: KeyPath, options?: {
11
+ mergeUnknownObjects?: boolean;
12
+ defaultUndefined?: boolean;
13
+ }) => Operation[];
14
+ createInitialize: (obj: any, oid: ObjectIdentifier) => Operation[];
15
+ createSet: (oid: ObjectIdentifier, key: PropertyName, value: any, keyPath: KeyPath) => Operation[];
16
+ createRemove: (oid: ObjectIdentifier, key: PropertyName) => Operation[];
17
+ createListPush: (oid: ObjectIdentifier, value: any) => Operation[];
18
+ createListAdd: (oid: ObjectIdentifier, value: any) => Operation[];
19
+ createListInsert: (oid: ObjectIdentifier, index: number, value: any) => Operation[];
20
+ createListRemove: (oid: ObjectIdentifier, value: any, only?: 'first' | 'last') => Operation[];
21
+ createListDelete: (oid: ObjectIdentifier, index: number, count?: number) => Operation[];
22
+ createListMoveByRef: (oid: ObjectIdentifier, value: ObjectRef, index: number) => Operation[];
23
+ createListMoveByIndex: (oid: ObjectIdentifier, fromIndex: number, toIndex: number) => Operation[];
24
+ createDelete: (oid: ObjectIdentifier) => Operation[];
25
+ createDeleteAll: (oids: ObjectIdentifier[]) => Operation[];
26
+ }
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ /**
3
+ * High-level patch creation for use with complex nested objects.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PatchCreator = void 0;
7
+ const oids_js_1 = require("./oids.js");
8
+ const operation_js_1 = require("./operation.js");
9
+ const refs_js_1 = require("./refs.js");
10
+ const utils_js_1 = require("./utils.js");
11
+ class PatchCreator {
12
+ constructor(getNow, createSubId) {
13
+ this.getNow = getNow;
14
+ this.createSubId = createSubId;
15
+ this.createDiff = (from, to, keyPath, options = {}) => {
16
+ return (0, operation_js_1.diffToPatches)(from, to, this.getNow, keyPath, this.createSubId, [], options);
17
+ };
18
+ this.createInitialize = (obj, oid) => {
19
+ return (0, operation_js_1.initialToPatches)(obj, oid, this.getNow, this.createSubId);
20
+ };
21
+ this.createSet = (oid, key, value, keyPath) => {
22
+ // incoming value must be normalized. if it's not a primitive, it and all sub-objects
23
+ // must be created
24
+ if (!(0, utils_js_1.isObject)(value) || (0, refs_js_1.isRef)(value)) {
25
+ return [
26
+ {
27
+ oid,
28
+ timestamp: this.getNow(),
29
+ data: {
30
+ op: 'set',
31
+ name: key,
32
+ value,
33
+ },
34
+ },
35
+ ];
36
+ }
37
+ else {
38
+ const itemOid = (0, oids_js_1.createSubOid)(oid, key, this.createSubId);
39
+ return [
40
+ // since we're setting a complex nested object, we can initialize it wholesale.
41
+ // no diffing to do.
42
+ ...(0, operation_js_1.initialToPatches)(value, itemOid, this.getNow),
43
+ // then set the reference to the object
44
+ {
45
+ oid,
46
+ timestamp: this.getNow(),
47
+ data: {
48
+ op: 'set',
49
+ value: (0, oids_js_1.createRef)(itemOid),
50
+ name: key,
51
+ },
52
+ },
53
+ ];
54
+ }
55
+ };
56
+ this.createRemove = (oid, key) => {
57
+ return [
58
+ {
59
+ oid,
60
+ timestamp: this.getNow(),
61
+ data: {
62
+ op: 'remove',
63
+ name: key,
64
+ },
65
+ },
66
+ ];
67
+ };
68
+ this.createListPush = (oid, value) => {
69
+ if (!(0, utils_js_1.isObject)(value)) {
70
+ return [
71
+ {
72
+ oid,
73
+ timestamp: this.getNow(),
74
+ data: {
75
+ op: 'list-push',
76
+ value,
77
+ },
78
+ },
79
+ ];
80
+ }
81
+ else {
82
+ const itemOid = (0, oids_js_1.createSubOid)(oid, 0, this.createSubId);
83
+ return [
84
+ ...(0, operation_js_1.initialToPatches)(value, itemOid, this.getNow),
85
+ {
86
+ oid,
87
+ timestamp: this.getNow(),
88
+ data: {
89
+ op: 'list-push',
90
+ value: (0, oids_js_1.createRef)(itemOid),
91
+ },
92
+ },
93
+ ];
94
+ }
95
+ };
96
+ this.createListAdd = (oid, value) => {
97
+ if ((0, utils_js_1.isObject)(value)) {
98
+ return [
99
+ {
100
+ oid,
101
+ timestamp: this.getNow(),
102
+ data: {
103
+ op: 'list-add',
104
+ value: (0, oids_js_1.createRef)(value),
105
+ },
106
+ },
107
+ ];
108
+ }
109
+ else {
110
+ return [
111
+ {
112
+ oid,
113
+ timestamp: this.getNow(),
114
+ data: {
115
+ op: 'list-add',
116
+ value,
117
+ },
118
+ },
119
+ ];
120
+ }
121
+ };
122
+ this.createListInsert = (oid, index, value) => {
123
+ if (!(0, utils_js_1.isObject)(value)) {
124
+ return [
125
+ {
126
+ oid,
127
+ timestamp: this.getNow(),
128
+ data: {
129
+ op: 'list-insert',
130
+ value,
131
+ index,
132
+ },
133
+ },
134
+ ];
135
+ }
136
+ else {
137
+ const itemOid = (0, oids_js_1.createSubOid)(oid, index, this.createSubId);
138
+ return [
139
+ ...(0, operation_js_1.initialToPatches)(value, itemOid, this.getNow),
140
+ {
141
+ oid,
142
+ timestamp: this.getNow(),
143
+ data: {
144
+ op: 'list-insert',
145
+ value: (0, oids_js_1.createRef)(itemOid),
146
+ index,
147
+ },
148
+ },
149
+ ];
150
+ }
151
+ };
152
+ this.createListRemove = (oid, value, only) => {
153
+ return [
154
+ {
155
+ oid,
156
+ timestamp: this.getNow(),
157
+ data: {
158
+ op: 'list-remove',
159
+ value,
160
+ only,
161
+ },
162
+ },
163
+ ];
164
+ };
165
+ this.createListDelete = (oid, index, count = 1) => {
166
+ return [
167
+ {
168
+ oid,
169
+ timestamp: this.getNow(),
170
+ data: {
171
+ op: 'list-delete',
172
+ index,
173
+ count,
174
+ },
175
+ },
176
+ ];
177
+ };
178
+ this.createListMoveByRef = (oid, value, index) => {
179
+ return [
180
+ {
181
+ oid,
182
+ timestamp: this.getNow(),
183
+ data: {
184
+ op: 'list-move-by-ref',
185
+ value,
186
+ index,
187
+ },
188
+ },
189
+ ];
190
+ };
191
+ this.createListMoveByIndex = (oid, fromIndex, toIndex) => {
192
+ return [
193
+ {
194
+ oid,
195
+ timestamp: this.getNow(),
196
+ data: {
197
+ op: 'list-move-by-index',
198
+ from: fromIndex,
199
+ to: toIndex,
200
+ },
201
+ },
202
+ ];
203
+ };
204
+ this.createDelete = (oid) => {
205
+ return [
206
+ {
207
+ oid,
208
+ timestamp: this.getNow(),
209
+ data: {
210
+ op: 'delete',
211
+ },
212
+ },
213
+ ];
214
+ };
215
+ this.createDeleteAll = (oids) => {
216
+ return oids.map((oid) => ({
217
+ oid,
218
+ timestamp: this.getNow(),
219
+ data: {
220
+ op: 'delete',
221
+ },
222
+ }));
223
+ };
224
+ }
225
+ }
226
+ exports.PatchCreator = PatchCreator;
227
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface UserInfo<Profile, Presence> {
2
+ /**
3
+ * This is the ID representing the user who is utilizing a
4
+ * replica client to connect to the storage network.
5
+ * One user may have multiple replica clients active at once,
6
+ * but their presence will only reflect the most recent
7
+ * replica used.
8
+ */
9
+ id: string;
10
+ /**
11
+ * This is the ID representing the replica client that is
12
+ * connected to the storage network. This is used to
13
+ * identify the client when sending messages to it.
14
+ */
15
+ replicaId: string;
16
+ /**
17
+ * This is the user's server profile. This data is associated
18
+ * with the logged in user of the app and cannot be modified
19
+ * by the local replica directly.
20
+ */
21
+ profile: Profile;
22
+ /**
23
+ * Presence info which can update frequently as a replica
24
+ * makes changes. The shape of presence is up to you.
25
+ */
26
+ presence: Presence;
27
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","sourceRoot":"","sources":["../../src/presence.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ import { DocumentBaseline } from './baseline.js';
2
+ import { Operation } from './operation.js';
3
+ import { UserInfo } from './presence.js';
4
+ export declare type HeartbeatMessage = {
5
+ type: 'heartbeat';
6
+ timestamp: string;
7
+ replicaId: string;
8
+ };
9
+ export declare type HeartbeatResponseMessage = {
10
+ type: 'heartbeat-response';
11
+ };
12
+ /**
13
+ * Used by clients to indicate they have
14
+ * successfully applied all operations from the
15
+ * server up to this one. Uses the nonce from the
16
+ * operation rebroadcast message as the ack.
17
+ */
18
+ export declare type AckMessage = {
19
+ type: 'ack';
20
+ replicaId: string;
21
+ timestamp?: string;
22
+ nonce?: string;
23
+ };
24
+ export declare type OperationMessage = {
25
+ type: 'op';
26
+ replicaId: string;
27
+ operations: Operation[];
28
+ timestamp: string;
29
+ };
30
+ export declare type OperationRebroadcastMessage = {
31
+ type: 'op-re';
32
+ operations: Operation[];
33
+ baselines: DocumentBaseline[];
34
+ replicaId: string;
35
+ globalAckTimestamp: string | undefined;
36
+ ackThisNonce?: string;
37
+ };
38
+ export declare type SyncMessage = {
39
+ type: 'sync';
40
+ /** This client's replica ID */
41
+ replicaId: string;
42
+ /** the logical time this message was sent */
43
+ timestamp: string;
44
+ /** Any new operations created since the requested time */
45
+ operations: Operation[];
46
+ /** Any new baselines created since the requested time */
47
+ baselines: DocumentBaseline[];
48
+ /** the schema version known by this client */
49
+ schemaVersion: number;
50
+ /**
51
+ * the client may have lost its local data, in which
52
+ * case it may set this flag to be treated as a new client
53
+ * and receive a full baseline
54
+ */
55
+ resyncAll?: boolean;
56
+ /**
57
+ * timestamp of when the replica changes began. null means
58
+ * full changeset from start of time
59
+ */
60
+ since: string | null;
61
+ };
62
+ export declare type SyncResponseMessage = {
63
+ type: 'sync-resp';
64
+ operations: Operation[];
65
+ baselines: DocumentBaseline[];
66
+ /**
67
+ * If this flag is set, the client should discard local data
68
+ * and reset to incoming data only. Used when a client requested
69
+ * resyncAll in its sync message, or for clients which have been
70
+ * offline for too long. When specified true, provideChangesSince
71
+ * should be ignored.
72
+ */
73
+ overwriteLocalData: boolean;
74
+ /**
75
+ * Update client on the global ack
76
+ */
77
+ globalAckTimestamp: string | undefined;
78
+ /**
79
+ * A map of connected clients' presences values
80
+ */
81
+ peerPresence: Record<string, UserInfo<any, any>>;
82
+ /**
83
+ * The timestamp sent in the original sync message -
84
+ * this confirms the server has received the client's
85
+ * state up to this point. Subsequent syncs should not
86
+ * include operations or baselines older than this timestamp.
87
+ */
88
+ ackedTimestamp: string;
89
+ /**
90
+ * The client should respond with a sync-ack containing
91
+ * this nonce to confirm it has received this message if
92
+ * it is not undefined
93
+ */
94
+ ackThisNonce?: string;
95
+ };
96
+ /** @deprecated use ack */
97
+ export declare type SyncAckMessage = {
98
+ type: 'sync-ack';
99
+ /** The client's replica ID */
100
+ replicaId: string;
101
+ /** the logical time this message was sent */
102
+ timestamp: string;
103
+ /** the nonce sent in the sync-resp message */
104
+ nonce: string;
105
+ };
106
+ export declare type PresenceUpdateMessage = {
107
+ type: 'presence-update';
108
+ /** The client's replica ID */
109
+ replicaId: string;
110
+ /** new presence value */
111
+ presence: any;
112
+ };
113
+ export declare type PresenceChangedMessage = {
114
+ type: 'presence-changed';
115
+ /** The client's replica ID */
116
+ replicaId: string;
117
+ userInfo: UserInfo<any, any>;
118
+ };
119
+ /**
120
+ * This is only emitted when all of a user's replicas
121
+ * go offline.
122
+ */
123
+ export declare type PresenceOfflineMessage = {
124
+ type: 'presence-offline';
125
+ userId: string;
126
+ /** The last replicaID seen by the server before the user was offline */
127
+ replicaId: string;
128
+ };
129
+ export declare type GlobalAckMessage = {
130
+ type: 'global-ack';
131
+ timestamp: string;
132
+ };
133
+ export declare type ForbiddenMessage = {
134
+ type: 'forbidden';
135
+ };
136
+ export declare type ServerAckMessage = {
137
+ type: 'server-ack';
138
+ timestamp: string;
139
+ };
140
+ export declare type ServerNeedSinceMessage = {
141
+ type: 'need-since';
142
+ since: string | null;
143
+ };
144
+ export declare type ClientMessage = HeartbeatMessage | SyncMessage | OperationMessage | AckMessage | SyncAckMessage | PresenceUpdateMessage;
145
+ export declare type ServerMessage = HeartbeatResponseMessage | SyncResponseMessage | OperationRebroadcastMessage | PresenceChangedMessage | PresenceOfflineMessage | GlobalAckMessage | ForbiddenMessage | ServerAckMessage | ServerNeedSinceMessage;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // client ID, and therefore library ID, is inferred
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":";AAAA,mDAAmD"}
@@ -0,0 +1,5 @@
1
+ import { FileRef } from './files.js';
2
+ import { ObjectRef } from './operation.js';
3
+ export declare function isRef(obj: any): boolean;
4
+ export declare function compareRefs(a: any, b: any): boolean;
5
+ export declare type Ref = ObjectRef | FileRef;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareRefs = exports.isRef = void 0;
4
+ const files_js_1 = require("./files.js");
5
+ const operation_js_1 = require("./operation.js");
6
+ function isRef(obj) {
7
+ return (0, operation_js_1.isObjectRef)(obj) || (0, files_js_1.isFileRef)(obj);
8
+ }
9
+ exports.isRef = isRef;
10
+ function compareRefs(a, b) {
11
+ if (a === b)
12
+ return true;
13
+ if (!isRef(a) || !isRef(b))
14
+ return false;
15
+ if (a['@@type'] !== b['@@type'])
16
+ return false;
17
+ if (a.id !== b.id)
18
+ return false;
19
+ return true;
20
+ }
21
+ exports.compareRefs = compareRefs;
22
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/refs.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAChD,iDAAwD;AAExD,SAAgB,KAAK,CAAC,GAAQ;IAC7B,OAAO,IAAA,0BAAW,EAAC,GAAG,CAAC,IAAI,IAAA,oBAAS,EAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAFD,sBAEC;AAED,SAAgB,WAAW,CAAC,CAAM,EAAE,CAAM;IACzC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC;AACb,CAAC;AAND,kCAMC"}
@@ -0,0 +1,28 @@
1
+ export interface ReplicaInfo {
2
+ id: string;
3
+ ackedLogicalTime: string | null;
4
+ }
5
+ /**
6
+ * Different token types allow different replica client behaviors.
7
+ * - Realtime: allows the client to subscribe to realtime events.
8
+ * - Push: allows the client to push and pull data with HTTP, but not use realtime.
9
+ * - PassivePush: allows the client to push and pull data with HTTP, but offline changes
10
+ * will be discarded on reconnect.
11
+ * - PassiveRealtime: allows the client to subscribe to realtime events, but offline changes
12
+ * will be discarded on reconnect.
13
+ * - ReadOnlyPull: the client may only pull changes using HTTP. It may not subscribe
14
+ * to realtime events or push changes.
15
+ * - ReadOnlyRealtime: the client may only subscribe to realtime events or pull from HTTP.
16
+ * It may not push changes.
17
+ *
18
+ * Choosing the right token type can optimize client storage metrics significantly when
19
+ * many replicas are connecting to a library.
20
+ */
21
+ export declare enum ReplicaType {
22
+ Realtime = 0,
23
+ Push = 1,
24
+ PassiveRealtime = 2,
25
+ PassivePush = 3,
26
+ ReadOnlyPull = 4,
27
+ ReadOnlyRealtime = 5
28
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReplicaType = void 0;
4
+ /**
5
+ * Different token types allow different replica client behaviors.
6
+ * - Realtime: allows the client to subscribe to realtime events.
7
+ * - Push: allows the client to push and pull data with HTTP, but not use realtime.
8
+ * - PassivePush: allows the client to push and pull data with HTTP, but offline changes
9
+ * will be discarded on reconnect.
10
+ * - PassiveRealtime: allows the client to subscribe to realtime events, but offline changes
11
+ * will be discarded on reconnect.
12
+ * - ReadOnlyPull: the client may only pull changes using HTTP. It may not subscribe
13
+ * to realtime events or push changes.
14
+ * - ReadOnlyRealtime: the client may only subscribe to realtime events or pull from HTTP.
15
+ * It may not push changes.
16
+ *
17
+ * Choosing the right token type can optimize client storage metrics significantly when
18
+ * many replicas are connecting to a library.
19
+ */
20
+ var ReplicaType;
21
+ (function (ReplicaType) {
22
+ ReplicaType[ReplicaType["Realtime"] = 0] = "Realtime";
23
+ ReplicaType[ReplicaType["Push"] = 1] = "Push";
24
+ ReplicaType[ReplicaType["PassiveRealtime"] = 2] = "PassiveRealtime";
25
+ ReplicaType[ReplicaType["PassivePush"] = 3] = "PassivePush";
26
+ ReplicaType[ReplicaType["ReadOnlyPull"] = 4] = "ReadOnlyPull";
27
+ ReplicaType[ReplicaType["ReadOnlyRealtime"] = 5] = "ReadOnlyRealtime";
28
+ })(ReplicaType = exports.ReplicaType || (exports.ReplicaType = {}));
29
+ //# sourceMappingURL=replica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replica.js","sourceRoot":"","sources":["../../src/replica.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;;;;;;GAeG;AACH,IAAY,WAOX;AAPD,WAAY,WAAW;IACtB,qDAAQ,CAAA;IACR,6CAAI,CAAA;IACJ,mEAAe,CAAA;IACf,2DAAW,CAAA;IACX,6DAAY,CAAA;IACZ,qEAAgB,CAAA;AACjB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB"}
@@ -0,0 +1,4 @@
1
+ import type { StorageFieldSchema, StorageCollectionSchema } from './types.js';
2
+ export declare function addFieldDefaults(collection: StorageCollectionSchema, value: any): any;
3
+ export declare function traverseCollectionFieldsAndApplyDefaults(value: any, field: StorageFieldSchema): any;
4
+ export declare function getFieldDefault(field: StorageFieldSchema): any;