prostgles-client 4.0.264 → 4.0.265
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.
- package/dist/FunctionQueuer.d.ts +2 -1
- package/dist/FunctionQueuer.d.ts.map +1 -1
- package/dist/FunctionQueuer.js +34 -30
- package/dist/SyncedTable/SyncedTable.d.ts +6 -11
- package/dist/SyncedTable/SyncedTable.d.ts.map +1 -1
- package/dist/SyncedTable/SyncedTable.js +44 -79
- package/dist/getDbHandler.d.ts.map +1 -1
- package/dist/getDbHandler.js +2 -2
- package/dist/getSyncHandler.d.ts +1 -1
- package/dist/getSyncHandler.d.ts.map +1 -1
- package/dist/getSyncHandler.js +1 -1
- package/dist/{react-hooks.d.ts → hooks/react-hooks.d.ts} +3 -7
- package/dist/hooks/react-hooks.d.ts.map +1 -0
- package/dist/{react-hooks.js → hooks/react-hooks.js} +15 -77
- package/dist/hooks/reactImports.d.ts +7 -0
- package/dist/hooks/reactImports.d.ts.map +1 -0
- package/dist/hooks/reactImports.js +31 -0
- package/dist/{useProstglesClient.d.ts → hooks/useProstglesClient.d.ts} +2 -2
- package/dist/hooks/useProstglesClient.d.ts.map +1 -0
- package/dist/{useProstglesClient.js → hooks/useProstglesClient.js} +7 -3
- package/dist/hooks/useSubscribe.d.ts +5 -0
- package/dist/hooks/useSubscribe.d.ts.map +1 -0
- package/dist/hooks/useSubscribe.js +45 -0
- package/dist/index.js +1 -1
- package/dist/index.no-sync.js +1 -1
- package/dist/prostgles.d.ts +2 -2
- package/dist/prostgles.d.ts.map +1 -1
- package/dist/prostgles.js +2 -2
- package/package.json +2 -2
- package/dist/ProstglesLoginProvider.d.ts +0 -11
- package/dist/ProstglesLoginProvider.d.ts.map +0 -1
- package/dist/ProstglesLoginProvider.js +0 -26
- package/dist/react-hooks.d.ts.map +0 -1
- package/dist/useProstglesClient.d.ts.map +0 -1
package/dist/FunctionQueuer.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ export declare class FunctionQueuer<F extends Func> {
|
|
|
3
3
|
private queue;
|
|
4
4
|
private func;
|
|
5
5
|
private groupBy?;
|
|
6
|
-
constructor(func: F, groupBy?: (
|
|
6
|
+
constructor(func: F, groupBy?: (args: Parameters<F>) => string);
|
|
7
7
|
private isRunning;
|
|
8
8
|
run(args: Parameters<F>): Promise<ReturnType<F>>;
|
|
9
|
+
startQueueJob: () => Promise<void>;
|
|
9
10
|
}
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=FunctionQueuer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionQueuer.d.ts","sourceRoot":"","sources":["../lib/FunctionQueuer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FunctionQueuer.d.ts","sourceRoot":"","sources":["../lib/FunctionQueuer.ts"],"names":[],"mappings":"AAAA,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAMpC,qBAAa,cAAc,CAAC,CAAC,SAAS,IAAI;IACxC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,OAAO,CAAC,CAAkC;gBACtC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM;IAI9D,OAAO,CAAC,SAAS,CAAS;IACpB,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAWtD,aAAa,sBAkDX;CACH"}
|
package/dist/FunctionQueuer.js
CHANGED
|
@@ -5,58 +5,62 @@ class FunctionQueuer {
|
|
|
5
5
|
constructor(func, groupBy) {
|
|
6
6
|
this.queue = [];
|
|
7
7
|
this.isRunning = false;
|
|
8
|
-
this.
|
|
9
|
-
this.groupBy = groupBy;
|
|
10
|
-
}
|
|
11
|
-
async run(args) {
|
|
12
|
-
const result = new Promise((resolve, reject) => {
|
|
13
|
-
const item = { arguments: args, onResult: resolve, onFail: reject };
|
|
14
|
-
this.queue.push(item);
|
|
15
|
-
});
|
|
16
|
-
const startQueueJob = async () => {
|
|
8
|
+
this.startQueueJob = async () => {
|
|
17
9
|
if (this.isRunning) {
|
|
18
10
|
return;
|
|
19
11
|
}
|
|
20
12
|
this.isRunning = true;
|
|
21
|
-
const
|
|
22
|
-
if (item) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
const executeItem = async (item) => {
|
|
14
|
+
if (!item) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const result = await this.func(...item.arguments);
|
|
19
|
+
item.onResult(result);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
item.onFail(error);
|
|
30
23
|
}
|
|
31
24
|
};
|
|
32
25
|
if (!this.groupBy) {
|
|
33
26
|
const item = this.queue.shift();
|
|
34
|
-
await
|
|
27
|
+
await executeItem(item);
|
|
35
28
|
/** Run items in parallel for each group */
|
|
36
29
|
}
|
|
37
30
|
else {
|
|
38
|
-
const groups =
|
|
31
|
+
const groups = new Set();
|
|
39
32
|
const items = [];
|
|
40
|
-
this.queue.forEach(
|
|
33
|
+
this.queue.forEach((item) => {
|
|
41
34
|
const group = this.groupBy(item.arguments);
|
|
42
|
-
if (!groups.
|
|
43
|
-
groups.
|
|
44
|
-
items.push(
|
|
35
|
+
if (!groups.has(group)) {
|
|
36
|
+
groups.add(group);
|
|
37
|
+
items.push(item);
|
|
45
38
|
}
|
|
46
39
|
});
|
|
47
|
-
items
|
|
48
|
-
|
|
40
|
+
items
|
|
41
|
+
.slice(0)
|
|
42
|
+
.reverse()
|
|
43
|
+
.forEach((item) => {
|
|
44
|
+
this.queue.splice(this.queue.indexOf(item), 1);
|
|
49
45
|
});
|
|
50
|
-
await Promise.all(items.map(item => {
|
|
51
|
-
return
|
|
46
|
+
await Promise.all(items.map((item) => {
|
|
47
|
+
return executeItem(item);
|
|
52
48
|
}));
|
|
53
49
|
}
|
|
54
50
|
this.isRunning = false;
|
|
55
51
|
if (this.queue.length) {
|
|
56
|
-
startQueueJob();
|
|
52
|
+
this.startQueueJob();
|
|
57
53
|
}
|
|
58
54
|
};
|
|
59
|
-
|
|
55
|
+
this.func = func;
|
|
56
|
+
this.groupBy = groupBy;
|
|
57
|
+
}
|
|
58
|
+
async run(args) {
|
|
59
|
+
const result = new Promise((resolve, reject) => {
|
|
60
|
+
const item = { arguments: args, onResult: resolve, onFail: reject };
|
|
61
|
+
this.queue.push(item);
|
|
62
|
+
});
|
|
63
|
+
this.startQueueJob();
|
|
60
64
|
return result;
|
|
61
65
|
}
|
|
62
66
|
}
|
|
@@ -92,9 +92,8 @@ export type SubscriptionMulti<T extends AnyObject = AnyObject> = {
|
|
|
92
92
|
handles?: MultiSyncHandles<T>;
|
|
93
93
|
};
|
|
94
94
|
declare const STORAGE_TYPES: {
|
|
95
|
-
readonly
|
|
95
|
+
readonly map: "map";
|
|
96
96
|
readonly localStorage: "localStorage";
|
|
97
|
-
readonly object: "object";
|
|
98
97
|
};
|
|
99
98
|
export type MultiChangeListener<T extends AnyObject = AnyObject> = (items: SyncDataItem<T>[], delta: DeepPartial<T>[]) => any;
|
|
100
99
|
export type SingleChangeListener<T extends AnyObject = AnyObject, Full extends boolean = false> = (item: SyncDataItem<T, Full>, delta?: DeepPartial<T>) => any;
|
|
@@ -165,9 +164,8 @@ export declare class SyncedTable {
|
|
|
165
164
|
set singleSubscriptions(sSubs: SubscriptionSingle[]);
|
|
166
165
|
get singleSubscriptions(): SubscriptionSingle[];
|
|
167
166
|
dbSync?: DbTableSync;
|
|
168
|
-
items: AnyObject[];
|
|
169
167
|
storageType?: StorageType;
|
|
170
|
-
|
|
168
|
+
itemsMap: Map<string, AnyObject>;
|
|
171
169
|
patchText: boolean;
|
|
172
170
|
patchJSON: boolean;
|
|
173
171
|
isSynced: boolean;
|
|
@@ -242,7 +240,6 @@ export declare class SyncedTable {
|
|
|
242
240
|
setItem(_item: AnyObject, index: number | undefined, isFullData?: boolean, deleteItem?: boolean): void;
|
|
243
241
|
/**
|
|
244
242
|
* Sets the current data
|
|
245
|
-
* @param items data
|
|
246
243
|
*/
|
|
247
244
|
setItems: (_items: AnyObject[]) => void;
|
|
248
245
|
/**
|
|
@@ -251,16 +248,14 @@ export declare class SyncedTable {
|
|
|
251
248
|
getItems: <T extends AnyObject = AnyObject>() => T[];
|
|
252
249
|
/**
|
|
253
250
|
* Sync data request
|
|
254
|
-
* @param param0: SyncBatchRequest
|
|
255
251
|
*/
|
|
256
252
|
getBatch: ({ from_synced, to_synced, offset, limit }?: SyncBatchParams) => {
|
|
257
253
|
[x: string]: any;
|
|
258
254
|
}[];
|
|
259
255
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
export
|
|
264
|
-
export declare function quickClone<T>(obj: T): T;
|
|
256
|
+
export declare const mergeDeep: (_target: Record<string, unknown> | undefined, _source: Record<string, unknown> | undefined) => {
|
|
257
|
+
[x: string]: unknown;
|
|
258
|
+
};
|
|
259
|
+
export declare const quickClone: <T>(obj: T) => T;
|
|
265
260
|
export {};
|
|
266
261
|
//# sourceMappingURL=SyncedTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncedTable.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/SyncedTable.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SyncedTable.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/SyncedTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.quickClone = exports.SyncedTable = exports.debug = void 0;
|
|
3
|
+
exports.quickClone = exports.mergeDeep = exports.SyncedTable = exports.debug = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const getMultiSyncSubscription_1 = require("./getMultiSyncSubscription");
|
|
6
6
|
const DEBUG_KEY = "DEBUG_SYNCEDTABLE";
|
|
@@ -12,9 +12,9 @@ const debug = function (...args) {
|
|
|
12
12
|
};
|
|
13
13
|
exports.debug = debug;
|
|
14
14
|
const STORAGE_TYPES = {
|
|
15
|
-
|
|
15
|
+
map: "map",
|
|
16
16
|
localStorage: "localStorage",
|
|
17
|
-
object: "object",
|
|
17
|
+
// object: "object",
|
|
18
18
|
};
|
|
19
19
|
class SyncedTable {
|
|
20
20
|
/**
|
|
@@ -34,15 +34,14 @@ class SyncedTable {
|
|
|
34
34
|
get singleSubscriptions() {
|
|
35
35
|
return this._singleSubscriptions;
|
|
36
36
|
}
|
|
37
|
-
constructor({ name, filter, onChange, onReady, onDebug, db, skipFirstTrigger = false, select = "*", storageType = "
|
|
37
|
+
constructor({ name, filter, onChange, onReady, onDebug, db, skipFirstTrigger = false, select = "*", storageType = "map", patchText = false, patchJSON = false, onError, }) {
|
|
38
38
|
this.throttle = 100;
|
|
39
39
|
this.batch_size = 50;
|
|
40
40
|
this.skipFirstTrigger = false;
|
|
41
41
|
this.columns = [];
|
|
42
42
|
this._multiSubscriptions = [];
|
|
43
43
|
this._singleSubscriptions = [];
|
|
44
|
-
this.
|
|
45
|
-
this.itemsObj = {};
|
|
44
|
+
this.itemsMap = new Map();
|
|
46
45
|
this.isSynced = false;
|
|
47
46
|
/**
|
|
48
47
|
* Will update text/json fields through patching method
|
|
@@ -168,8 +167,7 @@ class SyncedTable {
|
|
|
168
167
|
this.unsync();
|
|
169
168
|
this.multiSubscriptions = [];
|
|
170
169
|
this.singleSubscriptions = [];
|
|
171
|
-
this.
|
|
172
|
-
this.items = [];
|
|
170
|
+
this.itemsMap.clear();
|
|
173
171
|
this.onChange = undefined;
|
|
174
172
|
};
|
|
175
173
|
this.delete = async (item, from_server = false) => {
|
|
@@ -243,7 +241,7 @@ class SyncedTable {
|
|
|
243
241
|
* Merge deep
|
|
244
242
|
*/
|
|
245
243
|
if ((_a = item.opts) === null || _a === void 0 ? void 0 : _a.deepMerge) {
|
|
246
|
-
newItem = mergeDeep({ ...oldItem, ...idObj }, { ...delta });
|
|
244
|
+
newItem = (0, exports.mergeDeep)({ ...oldItem, ...idObj }, { ...delta });
|
|
247
245
|
}
|
|
248
246
|
}
|
|
249
247
|
/* Update existing -> Expecting delta */
|
|
@@ -311,23 +309,19 @@ class SyncedTable {
|
|
|
311
309
|
};
|
|
312
310
|
/**
|
|
313
311
|
* Sets the current data
|
|
314
|
-
* @param items data
|
|
315
312
|
*/
|
|
316
313
|
this.setItems = (_items) => {
|
|
317
|
-
const items = quickClone(_items);
|
|
314
|
+
const items = (0, exports.quickClone)(_items);
|
|
318
315
|
if (this.storageType === STORAGE_TYPES.localStorage) {
|
|
319
316
|
if (!hasWnd)
|
|
320
317
|
throw "Cannot access window object. Choose another storage method (array OR object)";
|
|
321
318
|
window.localStorage.setItem(this.name, JSON.stringify(items));
|
|
322
319
|
}
|
|
323
|
-
else if (this.storageType === STORAGE_TYPES.
|
|
324
|
-
this.
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
...a,
|
|
329
|
-
[this.getIdStr(v)]: { ...v },
|
|
330
|
-
}), {});
|
|
320
|
+
else if (this.storageType === STORAGE_TYPES.map) {
|
|
321
|
+
this.itemsMap = new Map(items.map((item) => {
|
|
322
|
+
const id = this.getIdStr(item);
|
|
323
|
+
return [id, { ...item }];
|
|
324
|
+
}));
|
|
331
325
|
}
|
|
332
326
|
};
|
|
333
327
|
/**
|
|
@@ -348,18 +342,14 @@ class SyncedTable {
|
|
|
348
342
|
}
|
|
349
343
|
}
|
|
350
344
|
}
|
|
351
|
-
else if (this.storageType === STORAGE_TYPES.
|
|
352
|
-
items = this.
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
items = Object.values({ ...this.itemsObj });
|
|
345
|
+
else if (this.storageType === STORAGE_TYPES.map) {
|
|
346
|
+
items = Array.from(this.itemsMap.values()).map((d) => ({ ...d }));
|
|
356
347
|
}
|
|
357
348
|
if (this.id_fields.length && this.synced_field) {
|
|
358
349
|
const s_fields = [this.synced_field, ...this.id_fields.sort()];
|
|
359
350
|
items = items
|
|
360
351
|
.filter((d) => {
|
|
361
|
-
return
|
|
362
|
-
!(0, prostgles_types_1.getKeys)(this.filter).find((key) => d[key] !== this.filter[key]));
|
|
352
|
+
return !this.filter || !(0, prostgles_types_1.getKeys)(this.filter).find((key) => d[key] !== this.filter[key]);
|
|
363
353
|
})
|
|
364
354
|
.sort((a, b) => s_fields
|
|
365
355
|
.map((key) => (a[key] < b[key] ? -1
|
|
@@ -369,17 +359,13 @@ class SyncedTable {
|
|
|
369
359
|
}
|
|
370
360
|
else
|
|
371
361
|
throw "id_fields AND/OR synced_field missing";
|
|
372
|
-
|
|
373
|
-
return quickClone(items);
|
|
362
|
+
return (0, exports.quickClone)(items);
|
|
374
363
|
};
|
|
375
364
|
/**
|
|
376
365
|
* Sync data request
|
|
377
|
-
* @param param0: SyncBatchRequest
|
|
378
366
|
*/
|
|
379
367
|
this.getBatch = ({ from_synced, to_synced, offset, limit } = { offset: 0, limit: undefined }) => {
|
|
380
368
|
const items = this.getItems();
|
|
381
|
-
// params = params || {};
|
|
382
|
-
// const { from_synced, to_synced, offset = 0, limit = null } = params;
|
|
383
369
|
let res = items
|
|
384
370
|
.map((c) => ({ ...c }))
|
|
385
371
|
.filter((c) => (!Number.isFinite(from_synced) || +c[this.synced_field] >= +from_synced) &&
|
|
@@ -399,8 +385,8 @@ class SyncedTable {
|
|
|
399
385
|
if (!STORAGE_TYPES[storageType])
|
|
400
386
|
throw "Invalid storage type. Expecting one of: " + Object.keys(STORAGE_TYPES).join(", ");
|
|
401
387
|
if (!hasWnd && storageType === STORAGE_TYPES.localStorage) {
|
|
402
|
-
console.warn("Could not set storageType to localStorage: window object missing\nStorage changed to
|
|
403
|
-
storageType = "
|
|
388
|
+
console.warn("Could not set storageType to localStorage: window object missing\nStorage changed to map");
|
|
389
|
+
storageType = "map";
|
|
404
390
|
}
|
|
405
391
|
this.storageType = storageType;
|
|
406
392
|
this.patchText = patchText;
|
|
@@ -743,14 +729,10 @@ class SyncedTable {
|
|
|
743
729
|
const items = this.getItems();
|
|
744
730
|
d = items.find((d) => this.matchesIdObj(d, idObj));
|
|
745
731
|
}
|
|
746
|
-
else if (this.storageType === STORAGE_TYPES.array) {
|
|
747
|
-
d = this.items.find((d) => this.matchesIdObj(d, idObj));
|
|
748
|
-
}
|
|
749
732
|
else {
|
|
750
|
-
|
|
751
|
-
d = { ...this.itemsObj }[this.getIdStr(idObj)];
|
|
733
|
+
d = { ...this.itemsMap.get(this.getIdStr(idObj)) };
|
|
752
734
|
}
|
|
753
|
-
return { data: quickClone(d), index };
|
|
735
|
+
return { data: (0, exports.quickClone)(d), index };
|
|
754
736
|
}
|
|
755
737
|
/**
|
|
756
738
|
*
|
|
@@ -760,7 +742,8 @@ class SyncedTable {
|
|
|
760
742
|
* @param deleteItem
|
|
761
743
|
*/
|
|
762
744
|
setItem(_item, index, isFullData = false, deleteItem = false) {
|
|
763
|
-
|
|
745
|
+
var _a;
|
|
746
|
+
const item = (0, exports.quickClone)(_item);
|
|
764
747
|
if (this.storageType === STORAGE_TYPES.localStorage) {
|
|
765
748
|
let items = this.getItems();
|
|
766
749
|
if (!deleteItem) {
|
|
@@ -774,72 +757,54 @@ class SyncedTable {
|
|
|
774
757
|
if (hasWnd)
|
|
775
758
|
window.localStorage.setItem(this.name, JSON.stringify(items));
|
|
776
759
|
}
|
|
777
|
-
else if (this.storageType === STORAGE_TYPES.array) {
|
|
778
|
-
if (!deleteItem) {
|
|
779
|
-
if (index !== undefined && !this.items[index]) {
|
|
780
|
-
this.items.push(item);
|
|
781
|
-
}
|
|
782
|
-
else if (index !== undefined) {
|
|
783
|
-
this.items[index] = isFullData ? { ...item } : { ...this.items[index], ...item };
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
else
|
|
787
|
-
this.items = this.items.filter((d) => !this.matchesIdObj(d, item));
|
|
788
|
-
}
|
|
789
760
|
else {
|
|
790
|
-
|
|
791
|
-
if (
|
|
792
|
-
|
|
793
|
-
this.itemsObj[this.getIdStr(item)] = isFullData ? { ...item } : { ...existing, ...item };
|
|
761
|
+
const id = this.getIdStr(item);
|
|
762
|
+
if (deleteItem) {
|
|
763
|
+
this.itemsMap.delete(id);
|
|
794
764
|
}
|
|
795
765
|
else {
|
|
796
|
-
|
|
766
|
+
const existing = (_a = this.itemsMap.get(id)) !== null && _a !== void 0 ? _a : {};
|
|
767
|
+
this.itemsMap.set(id, isFullData ? { ...item } : { ...existing, ...item });
|
|
797
768
|
}
|
|
798
769
|
}
|
|
799
770
|
}
|
|
800
771
|
}
|
|
801
772
|
exports.SyncedTable = SyncedTable;
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
const target = _target ? quickClone(_target) : _target;
|
|
807
|
-
const source = _source ? quickClone(_source) : _source;
|
|
808
|
-
const output = Object.assign({}, target);
|
|
773
|
+
const mergeDeep = (_target, _source) => {
|
|
774
|
+
const target = _target ? (0, exports.quickClone)(_target) : _target;
|
|
775
|
+
const source = _source ? (0, exports.quickClone)(_source) : _source;
|
|
776
|
+
const output = (0, prostgles_types_1.isObject)(target) ? { ...target } : {};
|
|
809
777
|
if ((0, prostgles_types_1.isObject)(target) && (0, prostgles_types_1.isObject)(source)) {
|
|
810
|
-
Object.keys(source).forEach((
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
else {
|
|
816
|
-
output[key] = mergeDeep(target[key], source[key]);
|
|
817
|
-
}
|
|
778
|
+
Object.keys(source).forEach((sourceKey) => {
|
|
779
|
+
const sourceValue = source[sourceKey];
|
|
780
|
+
const targetValue = target[sourceKey];
|
|
781
|
+
if ((0, prostgles_types_1.isObject)(sourceValue) && (0, prostgles_types_1.isObject)(targetValue)) {
|
|
782
|
+
output[sourceKey] = (0, exports.mergeDeep)(targetValue, sourceValue);
|
|
818
783
|
}
|
|
819
784
|
else {
|
|
820
|
-
|
|
785
|
+
output[sourceKey] = (0, exports.quickClone)(sourceValue);
|
|
821
786
|
}
|
|
822
787
|
});
|
|
823
788
|
}
|
|
824
789
|
return output;
|
|
825
|
-
}
|
|
826
|
-
exports.
|
|
827
|
-
|
|
790
|
+
};
|
|
791
|
+
exports.mergeDeep = mergeDeep;
|
|
792
|
+
const quickClone = (obj) => {
|
|
828
793
|
if (hasWnd && "structuredClone" in window && typeof window.structuredClone === "function") {
|
|
829
794
|
return window.structuredClone(obj);
|
|
830
795
|
}
|
|
831
796
|
if (Array.isArray(obj)) {
|
|
832
|
-
return obj.slice(0).map((v) => quickClone(v));
|
|
797
|
+
return obj.slice(0).map((v) => (0, exports.quickClone)(v));
|
|
833
798
|
}
|
|
834
799
|
else if ((0, prostgles_types_1.isObject)(obj)) {
|
|
835
800
|
const result = {};
|
|
836
801
|
(0, prostgles_types_1.getKeys)(obj).map((k) => {
|
|
837
|
-
result[k] = quickClone(obj[k]);
|
|
802
|
+
result[k] = (0, exports.quickClone)(obj[k]);
|
|
838
803
|
});
|
|
839
804
|
return result;
|
|
840
805
|
}
|
|
841
806
|
return obj;
|
|
842
|
-
}
|
|
807
|
+
};
|
|
843
808
|
exports.quickClone = quickClone;
|
|
844
809
|
/**
|
|
845
810
|
* Type tests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDbHandler.d.ts","sourceRoot":"","sources":["../lib/getDbHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAMlB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"getDbHandler.d.ts","sourceRoot":"","sources":["../lib/getDbHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAMlB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,EAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,2BAA2B,CAAC;AAGnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,WAAW,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC/C,mBAAmB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CAChE,CAAC;AAIF,eAAO,MAAM,MAAM,6FAQhB,IAAI;;CAwNN,CAAC"}
|
package/dist/getDbHandler.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.getDBO = void 0;
|
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const prostgles_1 = require("./prostgles");
|
|
6
6
|
const SyncedTable_1 = require("./SyncedTable/SyncedTable");
|
|
7
|
+
const useSubscribe_1 = require("./hooks/useSubscribe");
|
|
7
8
|
const preffix = prostgles_types_1.CHANNELS._preffix;
|
|
8
9
|
const getDBO = ({ schema, tableSchema, onDebug, syncedTable, syncHandler, subscriptionHandler, socket, }) => {
|
|
9
10
|
/* Building DBO object */
|
|
@@ -119,9 +120,8 @@ const getDBO = ({ schema, tableSchema, onDebug, syncedTable, syncHandler, subscr
|
|
|
119
120
|
: undefined;
|
|
120
121
|
if (handlerName) {
|
|
121
122
|
dboTable[handlerName] = (filter, options, hookOptions) =>
|
|
122
|
-
//@ts-ignore
|
|
123
123
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
124
|
-
(0,
|
|
124
|
+
(0, useSubscribe_1.useSubscribe)(subFunc, command === SUBONE, filter, options, hookOptions);
|
|
125
125
|
}
|
|
126
126
|
if (command === SUBONE || !subscribeCommands.includes(SUBONE)) {
|
|
127
127
|
dboTable[SUBONE] = async function (param1, param2, onChange, onError) {
|
package/dist/getSyncHandler.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ClientSyncHandles } from "prostgles-types";
|
|
2
2
|
import type { CoreParams, InitOptions } from "./prostgles";
|
|
3
3
|
import type { SyncedTable } from "./SyncedTable/SyncedTable";
|
|
4
|
-
export declare const getSyncHandler: ({ socket
|
|
4
|
+
export declare const getSyncHandler: ({ socket }: Pick<InitOptions, "socket">) => {
|
|
5
5
|
destroySyncs: () => Promise<void>;
|
|
6
6
|
syncedTables: Record<string, SyncedTable>;
|
|
7
7
|
addSync: (params: CoreParams, triggers: ClientSyncHandles) => Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSyncHandler.d.ts","sourceRoot":"","sources":["../lib/getSyncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAe,UAAU,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAElF,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAa1E,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"getSyncHandler.d.ts","sourceRoot":"","sources":["../lib/getSyncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAe,UAAU,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAElF,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAa1E,eAAO,MAAM,cAAc,eAAgB,KAAK,WAAW,EAAE,QAAQ,CAAC;;;sBAyDrC,UAAU,YAAY,iBAAiB,KAAG,QAAQ,GAAG,CAAC;;CAoItF,CAAC"}
|
package/dist/getSyncHandler.js
CHANGED
|
@@ -5,7 +5,7 @@ const prostgles_types_1 = require("prostgles-types");
|
|
|
5
5
|
const FunctionQueuer_1 = require("./FunctionQueuer");
|
|
6
6
|
const prostgles_1 = require("./prostgles");
|
|
7
7
|
const preffix = prostgles_types_1.CHANNELS._preffix;
|
|
8
|
-
const getSyncHandler = ({ socket
|
|
8
|
+
const getSyncHandler = ({ socket }) => {
|
|
9
9
|
let syncedTables = {};
|
|
10
10
|
let syncs = {};
|
|
11
11
|
const destroySyncs = async () => {
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
3
|
-
import type { HookOptions, TableHandlerClient } from "./prostgles";
|
|
4
|
-
type ReactT = typeof import("react");
|
|
5
|
-
export declare const getReact: (throwError?: boolean) => ReactT;
|
|
2
|
+
import type { HookOptions, TableHandlerClient } from "../prostgles";
|
|
6
3
|
export declare const getIO: (throwError?: boolean) => typeof import("socket.io-client").io;
|
|
7
|
-
export declare const useDeepCompareMemoize: (value:
|
|
4
|
+
export declare const useDeepCompareMemoize: (value: unknown) => unknown;
|
|
8
5
|
export declare const useMemoDeep: typeof import("react").useMemo;
|
|
9
6
|
export declare const useEffectDeep: typeof import("react").useEffect;
|
|
10
7
|
type EffectFunc = () => Promise<void | (() => void)>;
|
|
@@ -18,7 +15,7 @@ export declare const useIsMounted: () => () => boolean;
|
|
|
18
15
|
type PromiseFunc = () => Promise<any>;
|
|
19
16
|
type NamedResult = Record<string, PromiseFunc>;
|
|
20
17
|
export declare const usePromise: <F extends PromiseFunc | NamedResult>(f: F, deps?: any[]) => F extends NamedResult ? { [key in keyof F]: Awaited<ReturnType<F[key]>>; } : F extends PromiseFunc ? Awaited<ReturnType<F>> | undefined : undefined;
|
|
21
|
-
type
|
|
18
|
+
export type DataFetchHookResult = {
|
|
22
19
|
data: any;
|
|
23
20
|
error?: undefined;
|
|
24
21
|
isLoading: false;
|
|
@@ -31,7 +28,6 @@ type HookResult = {
|
|
|
31
28
|
error?: undefined;
|
|
32
29
|
isLoading: true;
|
|
33
30
|
};
|
|
34
|
-
export declare const useSubscribe: (subFunc: (filter: any, options: any, onData: any, onError: any) => Promise<SubscriptionHandler>, expectsOne: boolean, filter: any, options: any, hookOptions?: HookOptions) => HookResult;
|
|
35
31
|
export declare const useSync: (syncFunc: Required<TableHandlerClient>["sync"] | Required<TableHandlerClient>["syncOne"], basicFilter: Parameters<Required<TableHandlerClient>["sync"]>[0], syncOptions: Parameters<Required<TableHandlerClient>["sync"]>[1], hookOptions?: HookOptions) => {
|
|
36
32
|
data: any;
|
|
37
33
|
error: any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks/react-hooks.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIpE,eAAO,MAAM,KAAK,gEAQjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAW,OAAO,YAQnD,CAAC;AAEF,eAAO,MAAM,WAAW,gCAGD,CAAC;AAExB,eAAO,MAAM,aAAa,kCAGD,CAAC;AAI1B,KAAK,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAOrD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,WAAY,UAAU,QAAQ,GAAG,EAAE,SAgDlE,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,GAAG,EAAE,SAsBvF,CAAC;AAEF,eAAO,MAAM,YAAY,qBAaxB,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;AACtC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE/C,eAAO,MAAM,UAAU,qDAEf,GAAG,EAAE,wJA2DZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GAClD;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GAClD;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC;AAE7D,eAAO,MAAM,OAAO,aACR,SAAS,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAC3E,WAAW,SAAS,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eACnD,WAAW,SAAS,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,gBAClD,WAAW;;;;CA6B1B,CAAC;AAEF,eAAO,MAAM,QAAQ,wBACE,GAAG,KAAK,QAAQ,GAAG,CAAC,SACnC,GAAG,EAAE,gBACG,WAAW;;;;CAoB1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAA0C,CAAC"}
|