@iebh/tera-fy 2.3.8 → 2.3.10

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.
@@ -0,0 +1,336 @@
1
+ import { DocumentReference, Firestore } from 'firebase/firestore';
2
+ import { FirebaseApp } from 'firebase/app';
3
+ import { BoundSupabaseyFunction } from '@iebh/supabasey';
4
+ interface ThrottleOptions<T = any> {
5
+ limit: number;
6
+ interval: number;
7
+ strict: boolean;
8
+ }
9
+ interface ReactiveWrapper<T = any> {
10
+ doc: T;
11
+ setState: (newState: T) => void;
12
+ getState: () => T;
13
+ watch: (cb: (newState: T) => void) => void;
14
+ throttle?: ThrottleOptions | true;
15
+ }
16
+ interface PathSplitResult {
17
+ fsCollection: string;
18
+ fsId: string;
19
+ entity: string;
20
+ id: string;
21
+ relation?: string;
22
+ }
23
+ /**
24
+ * @class Syncro
25
+ * TERA Isomorphic Syncro class
26
+ * Slurp an entity from Supabase and hold it in Firebase/Firestore as a "floating" entity which periodically gets flushed back to Supabase and eventually completely cleaned up
27
+ * This class tries to be as independent as possible to help with adapting it to various front-end TERA-fy plugin frameworks
28
+ */
29
+ export default class Syncro {
30
+ /**
31
+ * Firebase instance in use
32
+ *
33
+ * @type {FirebaseApp}
34
+ */
35
+ static firebase: FirebaseApp;
36
+ /**
37
+ * Firestore instance in use
38
+ *
39
+ * @type {Firestore}
40
+ */
41
+ static firestore: Firestore;
42
+ /**
43
+ * Supabasey instance in use
44
+ *
45
+ * @type {Supabasey}
46
+ */
47
+ static supabasey: BoundSupabaseyFunction;
48
+ /**
49
+ * The current user session, should be unique for the user + browser tab
50
+ * Used by the heartbeat system
51
+ *
52
+ * @type {String}
53
+ */
54
+ static session: string | undefined;
55
+ /**
56
+ * OPTIONAL SyncroEntries from './entities.ts' if its required
57
+ * This only gets populated if `config.forceLocalInit` is truthy and we've mounted at least one Syncro
58
+ *
59
+ * @type {Record<string, any>}
60
+ */
61
+ static SyncroEntities: Record<string, any>;
62
+ /**
63
+ * This instances fully formed string path
64
+ *
65
+ * @type {String}
66
+ */
67
+ path: string;
68
+ /**
69
+ * The Firestore docHandle when calling various Firestore functions
70
+ *
71
+ * @type {DocumentReference | undefined}
72
+ */
73
+ docRef: DocumentReference | undefined;
74
+ /**
75
+ * The reactive object managed by this Syncro instance
76
+ * The nature of this varies by framework and what `getReactive()` provides
77
+ *
78
+ * @type {any}
79
+ */
80
+ value: any;
81
+ /**
82
+ * Default throttle to apply for writes
83
+ *
84
+ * @type {Number} Throttle time in milliseconds
85
+ */
86
+ throttle: number;
87
+ /**
88
+ * Various Misc config for the Syncro instance
89
+ *
90
+ * @type {Object}
91
+ * @property {Number} heartbeatInterval Time in milliseconds between heartbeat beacons
92
+ * @property {String} syncroRegistryUrl The prefix Sync worker URL, used to populate Syncros and determine their active status
93
+ * @property {Object} context Additional named parameters to pass to callbacks like initState
94
+ */
95
+ config: {
96
+ heartbeatInterval: number;
97
+ syncroRegistryUrl: string;
98
+ context: Record<string, any>;
99
+ };
100
+ /**
101
+ * Whether the next heartbeat should be marked as 'dirty'
102
+ * This indicates that at least one change has occurred since the last heartbeat and the server should perform a flush (but not a clean)
103
+ * This flag is only transmitted once in the next heartbeat before being reset
104
+ *
105
+ * @see markDirty()
106
+ * @type {Boolean}
107
+ */
108
+ isDirty: boolean;
109
+ /**
110
+ * @interface
111
+ * Debugging printer for this instance
112
+ * Defaults to doing nothing
113
+ *
114
+ * @param {*...} [msg] The message to output
115
+ */
116
+ debug(...msg: any[]): void;
117
+ /**
118
+ * @interface
119
+ * Debugging printer specifically for error messages
120
+ * Defaults to using console.log()
121
+ *
122
+ * @param {*...} [msg] The message to output
123
+ */
124
+ debugError(...msg: any[]): void;
125
+ /**
126
+ * Instance constructor
127
+ *
128
+ * @param {String} path Mount path for the Syncro. Should be in the form `${ENTITY}::${ID}(::${RELATION})?`
129
+ * @param {Object} [options] Additional instance setters (mutates instance directly), note that the `config` subkey is merged with the existing config rather than assigned
130
+ */
131
+ constructor(path: string, options?: any);
132
+ /**
133
+ * Instance destruction trigger
134
+ * This will unsubscribe from various facilities and release the object for cleanup
135
+ *
136
+ * @returns {Promise} A promise which resolves when the operation has completed
137
+ */
138
+ destroy(): Promise<any[]>;
139
+ /**
140
+ * Actions to preform when we are destroying this instance
141
+ * This is an array of function callbacks to execute in parallel when `destroy()` is called
142
+ *
143
+ * @type {Array<Function<Promise>>}
144
+ */
145
+ _destroyActions: Array<() => void>;
146
+ /**
147
+ * Function to return whatever the local framework uses as a reactive object
148
+ * This should respond with an object of mandatory functions to watch for changes and re-merge them
149
+ *
150
+ * @param {Object} value Initial value of the reactive
151
+ *
152
+ * @returns {ReactiveWrapper} A reactive object prototype
153
+ * @property {Object} doc The reactive object
154
+ * @property {Function} setState Function used to overwrite the default state, called as `(newState:Object)`
155
+ * @property {Function} getState Function used to fetch the current snapshot state, called as `()`
156
+ * @property {Function} watch Function used to set up state watchers, should call its callback when a change is detected, called as `(cb:Function)`
157
+ */
158
+ getReactive(value: any): ReactiveWrapper;
159
+ /**
160
+ * Returns the split entity + ID relationship from a given session path
161
+ * This function checks for valid UUID format strings + that the entity is a known/supported entity (see `knownEntities`)
162
+ * NOTE: When used by itself (i.e. ignoring response) this function can also act as a guard that a path is valid
163
+ *
164
+ * INPUT: `widgets::UUID` -> `{entity:'widgets', id:UUID}`
165
+ * INPUT: `widgets::UUID::thing` -> `{entity:'widgets', id:UUID, relation:'thing'}`
166
+ *
167
+ * @param {String} path The input session path of the form `${ENTITY}::${ID}`
168
+ * @param {Object} [options] Additional options to mutate behaviour
169
+ * @param {Boolean} [options.allowAsterisk=false] Whether to allow the meta asterisk character when recognising paths, this is used by the SyncroKeyed class
170
+ *
171
+ * @returns {PathSplitResult} An object composed of the session path components
172
+ */
173
+ static pathSplit(path: string, options?: any): PathSplitResult;
174
+ /**
175
+ * Convert local POJO -> Firestore compatible object
176
+ * This applies the following mutations to the incoming object:
177
+ *
178
+ * 1. Arrays are converted to Objects (Firestore cannot store nested arrays)
179
+ * 2. All non-POJO objects (e.g. Dates) to a symmetric object
180
+ *
181
+ * @param {Object} snapshot The current state to convert
182
+ * @returns {Object} A Firebase compatible object
183
+ */
184
+ static toFirestore(snapshot?: any): any;
185
+ /**
186
+ * Convert local Firestore compatible object -> local POJO
187
+ * This reverses the mutations listed in `toFirestore()`
188
+ *
189
+ * @param {Object} snapshot The raw Firebase state to convert
190
+ * @returns {Object} A JavaScript POJO representing the converted state
191
+ */
192
+ static fromFirestore(snapshot?: any): any;
193
+ /**
194
+ * Convert a raw POJO into Firestore field layout
195
+ * Field structures are usually consumed by the Firestore ReST API and need converting before being used
196
+ * NOTE: This does not serialize the incoming data so you likely want to use this as `toFirestoreFields(toFirestore(data))`
197
+ *
198
+ * @see https://stackoverflow.com/a/62304377
199
+ * @param {Object} data The raw value to convert
200
+ * @returns {Object} A Firestore compatible, typed data structure
201
+ */
202
+ static toFirestoreFields(data: any): Record<string, any>;
203
+ /**
204
+ * Convert a Firestore field dump into a native POJO
205
+ * Field structures are usually provided by the Firestore ReST API and need de-typing back into a native document
206
+ * NOTE: This does not deserialize the result so you likely want to use this as `fromFirestore(fromFirestoreFields(response.fields))`
207
+ *
208
+ * @see https://stackoverflow.com/a/62304377
209
+ * @param {Object} fields The raw Snapshot to convert
210
+ * @returns {Object} A JavaScript POJO representing the converted state
211
+ */
212
+ static fromFirestoreFields(fields?: any): any;
213
+ /**
214
+ * Perform a one-off fetch of a given Syncro path
215
+ *
216
+ * @param {String} path The Syncro entity + ID path. Takes the form `ENTITY::ID`
217
+ *
218
+ * @returns {Promise<Object|Null>} An eventual snapshot of the given path, if the entity doesn't exist null is returned
219
+ */
220
+ static getSnapshot(path: string): Promise<object | null>;
221
+ /**
222
+ * Perform a one-off set/merge operation against
223
+ *
224
+ * @param {String} path The Syncro entity + ID path. Takes the form `ENTITY::ID`
225
+ * @param {Object} state The new state to set/merge
226
+ *
227
+ * @param {Object} [options] Additional options to mutate behaviour
228
+ * @param {'merge'|'set'} [options.method='merge'] How to apply the new state. 'merge' (merge in partial data to an existing Syncro), 'set' (overwrite the entire Syncro state)
229
+ *
230
+ * @returns {Promise<*>} The state object after it has been applied
231
+ */
232
+ static setSnapshot(path: string, state: any, options?: {
233
+ method?: 'merge' | 'set';
234
+ }): Promise<any>;
235
+ /**
236
+ * Mount the remote Firestore document against this Syncro instance
237
+ *
238
+ * @param {Object} [options] Additional options to mutate behaviour
239
+ * @param {Object} [options.initialState] State to use if no state is already loaded, overrides the entities own `initState` function fetcher
240
+ * @param {Number} [options.retries=3] Number of times to retry if a mounted Syncro fails its sanity checks
241
+ * @returns {Promise<Syncro>} A promise which resolves as this syncro instance when completed
242
+ */
243
+ mount(options?: any): Promise<Syncro>;
244
+ /**
245
+ * Merge a single or multiple values into a Syncro data object
246
+ * NOTE: Default behaviour is to flush (if any changes apply), use direct object mutation or disable with `flush:false` to disable
247
+ *
248
+ * @param {String|Object} key Either the single named key to set OR the object to merge
249
+ * @param {*} [value] The value to set if `key` is a string
250
+ *
251
+ * @param {Object} [options] Additional options to mutate behaviour
252
+ * @param {Boolean} [options.delta=true] Only merge keys that differ, skipping flush if no changes are made
253
+ * @param {Boolean} [options.flush=true] Send a flush signal that Firebase should sync to Supabase on changes
254
+ * @param {Boolean} [options.forceFlush=false] Flush even if no changes were made
255
+ * @param {Boolean} [options.flushDestroy=false] Destroy the Syncro after flushing
256
+ *
257
+ * @returns {Promise<Syncro>} A promise which resolves with this Syncro instance on completion
258
+ */
259
+ set(key: string | object, value: any, options: {
260
+ delta?: boolean;
261
+ flush?: boolean;
262
+ forceFlush?: boolean;
263
+ flushDestroy?: boolean;
264
+ }): Promise<this>;
265
+ /**
266
+ * Schedule Syncro heartbeats
267
+ * This populates the `sync` presence meta-information
268
+ *
269
+ * @param {Boolean} [enable=true] Whether to enable heartbeats
270
+ *
271
+ * @param {Object} [options] Additional options to mutate behaviour
272
+ * @param {Boolean} [options.immediate=false] Fire a heartbeat as soon as this function is called, this is only really useful on mount
273
+ * @returns {Promise|Void} A promise that resolves when completed (if `{immediate:true}`) or void
274
+ */
275
+ setHeartbeat(enable?: boolean, options?: any): Promise<void> | void;
276
+ /**
277
+ * Perform one heartbeat pulse to the server to indicate presence within this Syncro
278
+ * This function is automatically called by a timer if `setHeartbeat(true)` (the default behaviour)
279
+ *
280
+ * @returns {Promise} A promise which resolves when the operation has completed
281
+ */
282
+ heartbeat(): Promise<void>;
283
+ /**
284
+ * Utility function to directly set this documents firestore state
285
+ *
286
+ * @param {Object} state The state to set / merge
287
+ * @param {Object} [options] Additional options to mutate behaviour
288
+ * @param {'merge'|'set'} [options.method='merge'] How to apply the new state. 'merge' (merge in partial data to an existing Syncro), 'set' (overwrite the entire Syncro state)
289
+ *
290
+ * @param {number} retries How many tries to take before erroring
291
+ * @returns {Promise} A promise which resolves when the operation has completed
292
+ */
293
+ setFirestoreState(state: any, options?: {
294
+ method?: 'merge' | 'set';
295
+ }, retries?: number): Promise<void>;
296
+ /**
297
+ * Utility method to fetch the Firestore state for this Syncro
298
+ * NOTE: This directly extracts the state of the Firestore, not its wrapping doc object returned by `FirestoreGetDoc`
299
+ *
300
+ * @returns {Promise<Object>} A promise which resolves to the Firestore state
301
+ */
302
+ getFirestoreState(): Promise<any>;
303
+ /**
304
+ * Set the Syncro dirty flag which gets passed to the server on the next heartbeat
305
+ *
306
+ * @see isDirty
307
+ * @returns {Syncro} This chainable Syncro instance
308
+ */
309
+ markDirty(): this;
310
+ /**
311
+ * Force the server to flush state
312
+ * This is only really useful for debugging as this happens automatically anyway
313
+ *
314
+ * @param {Object} [options] Additional options to mutate behaviour
315
+ * @param {Boolean} [options.destroy=false] Instruct the server to also dispose of the Syncro state
316
+ *
317
+ * @returns {Promise} A promise which resolves when the operation has completed
318
+ */
319
+ flush(options?: any): Promise<void | null>;
320
+ /**
321
+ * Timer handle for heartbeats
322
+ *
323
+ * @type {any}
324
+ */
325
+ _heartbeatTimer: any;
326
+ }
327
+ /**
328
+ * Build a chaotic random tree structure based on dice rolls
329
+ * This function is mainly used for sync testing
330
+ *
331
+ * @param {Number} [depth=0] The current depth we are starting at, changes the nature of branches based on probability
332
+ *
333
+ * @returns {*} The current branch contents
334
+ */
335
+ export declare function randomBranch(depth?: number): any;
336
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { DocumentReference, Firestore } from 'firebase/firestore';
2
2
  import { FirebaseApp } from 'firebase/app';
3
3
  import { BoundSupabaseyFunction } from '@iebh/supabasey';
4
+ import type { PostgresSql } from './entities.js';
4
5
  interface ThrottleOptions<T = any> {
5
6
  limit: number;
6
7
  interval: number;
@@ -46,6 +47,12 @@ export default class Syncro {
46
47
  */
47
48
  static supabasey: BoundSupabaseyFunction;
48
49
  /**
50
+ * Postgres SQL instance in use (injected by the Cloudflare Worker runtime via Hyperdrive)
51
+ *
52
+ * @type {PostgresSql}
53
+ */
54
+ static db: PostgresSql;
55
+ /**
49
56
  * The current user session, should be unique for the user + browser tab
50
57
  * Used by the heartbeat system
51
58
  *
@@ -34,6 +34,12 @@ export default class Syncro {
34
34
  */
35
35
  static supabasey;
36
36
  /**
37
+ * Postgres SQL instance in use (injected by the Cloudflare Worker runtime via Hyperdrive)
38
+ *
39
+ * @type {PostgresSql}
40
+ */
41
+ static db;
42
+ /**
37
43
  * The current user session, should be unique for the user + browser tab
38
44
  * Used by the heartbeat system
39
45
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncro.js","sourceRoot":"","sources":["../../../lib/syncro/syncro.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncro.js","sourceRoot":"","sources":["../../../lib/syncro/syncro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncro.js","sourceRoot":"","sources":["../../../lib/syncro/syncro.ts"],"names":[],"mappings":"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"}