prostgles-client 4.0.356 → 4.0.357
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/getAuthHandler.js +4 -4
- package/dist/getDbHandler.js +2 -2
- package/dist/getSyncHandler.d.ts +2 -2
- package/dist/getSyncHandler.d.ts.map +1 -1
- package/dist/getSyncHandler.js +41 -31
- package/dist/index.js +1 -1
- package/dist/index.no-sync.js +1 -1
- package/dist/prostgles.d.ts +1 -1
- package/dist/prostgles.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/getAuthHandler.js
CHANGED
|
@@ -18,18 +18,18 @@ const getAuthHandler = ({ authData: authConfig, socket, onReload, endpoint, ...a
|
|
|
18
18
|
if (onReload)
|
|
19
19
|
onReload();
|
|
20
20
|
else if (prostgles_1.isClientSide) {
|
|
21
|
-
console.log("prostgles page reload due to
|
|
21
|
+
console.log("prostgles page reload due to auth guard", res);
|
|
22
22
|
setTimeout(() => {
|
|
23
23
|
window.location.reload();
|
|
24
24
|
}, 200);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
socket.emit(prostgles_types_1.CHANNELS.
|
|
28
|
+
socket.emit(prostgles_types_1.CHANNELS.AUTH_GUARD, JSON.stringify(window.location), (_err, res) => {
|
|
29
29
|
doReload(res);
|
|
30
30
|
});
|
|
31
|
-
socket.removeAllListeners(prostgles_types_1.CHANNELS.
|
|
32
|
-
socket.on(prostgles_types_1.CHANNELS.
|
|
31
|
+
socket.removeAllListeners(prostgles_types_1.CHANNELS.AUTH_GUARD);
|
|
32
|
+
socket.on(prostgles_types_1.CHANNELS.AUTH_GUARD, (res) => {
|
|
33
33
|
doReload(res);
|
|
34
34
|
});
|
|
35
35
|
}
|
package/dist/getDbHandler.js
CHANGED
|
@@ -54,7 +54,7 @@ const getDB = ({ tableSchema, onDebug, syncedTable, syncHandler, subscriptionHan
|
|
|
54
54
|
const upsertSyncTable = async (basicFilter = {}, options = {}, onError) => {
|
|
55
55
|
var _a;
|
|
56
56
|
const syncName = `${tableName}.${JSON.stringify(basicFilter)}.${JSON.stringify((0, prostgles_types_1.omitKeys)(options, ["handlesOnData"]))}`;
|
|
57
|
-
const syncedTableHandler = (_a = syncHandler.syncedTables
|
|
57
|
+
const syncedTableHandler = (_a = syncHandler.syncedTables.get(syncName)) !== null && _a !== void 0 ? _a : syncedTable.create({
|
|
58
58
|
...options,
|
|
59
59
|
onDebug,
|
|
60
60
|
name: tableName,
|
|
@@ -62,7 +62,7 @@ const getDB = ({ tableSchema, onDebug, syncedTable, syncHandler, subscriptionHan
|
|
|
62
62
|
db: db,
|
|
63
63
|
onError,
|
|
64
64
|
});
|
|
65
|
-
syncHandler.syncedTables
|
|
65
|
+
syncHandler.syncedTables.set(syncName, syncedTableHandler);
|
|
66
66
|
return syncedTableHandler;
|
|
67
67
|
};
|
|
68
68
|
const syncOne = (async (basicFilter, options = { handlesOnData: true }, onChange, onError) => {
|
package/dist/getSyncHandler.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
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 }: Pick<InitOptions, "socket">) => {
|
|
4
|
+
export declare const getSyncHandler: ({ socket, onDebug }: Pick<InitOptions, "socket" | "onDebug">) => {
|
|
5
5
|
destroySyncs: () => Promise<void>;
|
|
6
|
-
syncedTables:
|
|
6
|
+
syncedTables: Map<string, Promise<SyncedTable>>;
|
|
7
7
|
addSync: (params: CoreParams, triggers: ClientSyncHandles) => Promise<any>;
|
|
8
8
|
reAttachAll: () => Promise<void>;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSyncHandler.d.ts","sourceRoot":"","sources":["../lib/getSyncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getSyncHandler.d.ts","sourceRoot":"","sources":["../lib/getSyncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,EAAe,UAAU,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAElF,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQ1E,eAAO,MAAM,cAAc,GAAI,qBAAqB,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;;;sBA8D1D,UAAU,YAAY,iBAAiB,KAAG,OAAO,CAAC,GAAG,CAAC;;CA+ItF,CAAC"}
|
package/dist/getSyncHandler.js
CHANGED
|
@@ -4,47 +4,47 @@ exports.getSyncHandler = void 0;
|
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const FunctionQueuer_1 = require("./FunctionQueuer");
|
|
6
6
|
const prostgles_1 = require("./prostgles");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
let syncs = {};
|
|
7
|
+
const getSyncHandler = ({ socket, onDebug }) => {
|
|
8
|
+
const syncedTables = new Map();
|
|
9
|
+
const syncs = new Map();
|
|
11
10
|
const destroySyncs = async () => {
|
|
12
11
|
(0, prostgles_1.debug)("destroySyncs", { syncedTables });
|
|
13
|
-
syncs
|
|
14
|
-
|
|
12
|
+
syncs.clear();
|
|
13
|
+
Array.from(syncedTables.values()).forEach((s) => {
|
|
15
14
|
s.then((s) => s.destroy());
|
|
16
15
|
});
|
|
17
|
-
syncedTables
|
|
16
|
+
syncedTables.clear();
|
|
18
17
|
};
|
|
19
18
|
function _unsync(channelName, triggers) {
|
|
20
19
|
(0, prostgles_1.debug)("_unsync", { channelName, triggers });
|
|
21
20
|
return new Promise((resolve, reject) => {
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const sync = syncs.get(channelName);
|
|
22
|
+
if (sync) {
|
|
23
|
+
sync.clientSyncHandles = sync.clientSyncHandles.filter((tr) => tr.onPullRequest !== triggers.onPullRequest &&
|
|
24
24
|
tr.onSyncRequest !== triggers.onSyncRequest &&
|
|
25
25
|
tr.onUpdates !== triggers.onUpdates);
|
|
26
|
-
if (!
|
|
26
|
+
if (!sync.clientSyncHandles.length) {
|
|
27
27
|
socket.emit(channelName + "unsync", {}, (err, res) => {
|
|
28
28
|
if (err)
|
|
29
29
|
reject(err);
|
|
30
30
|
else
|
|
31
31
|
resolve(res);
|
|
32
32
|
});
|
|
33
|
-
socket.removeListener(channelName,
|
|
34
|
-
delete
|
|
33
|
+
socket.removeListener(channelName, sync.onCall);
|
|
34
|
+
syncs.delete(channelName);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
function addServerSync({ tableName, command, param1, param2 }, onSyncRequest) {
|
|
40
40
|
return new Promise((resolve, reject) => {
|
|
41
|
-
socket.emit(
|
|
41
|
+
socket.emit(prostgles_types_1.CHANNEL_PREFIX, { tableName, command, param1, param2 }, (err, syncInfo) => {
|
|
42
42
|
if (err) {
|
|
43
43
|
console.error(err);
|
|
44
44
|
reject(err);
|
|
45
45
|
}
|
|
46
|
-
else if (
|
|
47
|
-
const { id_fields, synced_field, channelName } =
|
|
46
|
+
else if (syncInfo) {
|
|
47
|
+
const { id_fields, synced_field, channelName } = syncInfo;
|
|
48
48
|
socket.emit(channelName, { onSyncRequest: onSyncRequest({}) }, (response) => {
|
|
49
49
|
console.log(response);
|
|
50
50
|
});
|
|
@@ -57,11 +57,11 @@ const getSyncHandler = ({ socket }) => {
|
|
|
57
57
|
async function addSync(params, triggers) {
|
|
58
58
|
return addSyncQueuer.run([params, triggers]);
|
|
59
59
|
}
|
|
60
|
-
async function _addSync({ tableName, command, param1, param2 },
|
|
61
|
-
const { onSyncRequest } =
|
|
60
|
+
async function _addSync({ tableName, command, param1, param2 }, clientSyncHandlers) {
|
|
61
|
+
const { onSyncRequest } = clientSyncHandlers;
|
|
62
62
|
function makeHandler(channelName) {
|
|
63
63
|
const unsync = function () {
|
|
64
|
-
_unsync(channelName,
|
|
64
|
+
_unsync(channelName, clientSyncHandlers);
|
|
65
65
|
};
|
|
66
66
|
const syncData = function (data, deleted, cb) {
|
|
67
67
|
socket.emit(channelName, {
|
|
@@ -76,16 +76,15 @@ const getSyncHandler = ({ socket }) => {
|
|
|
76
76
|
};
|
|
77
77
|
return Object.freeze({ unsync, syncData });
|
|
78
78
|
}
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
return (s &&
|
|
82
|
-
s.tableName === tableName &&
|
|
79
|
+
const matchingSync = Array.from(syncs.entries()).find(([ch, s]) => {
|
|
80
|
+
return (s.tableName === tableName &&
|
|
83
81
|
s.command === command &&
|
|
84
82
|
(0, prostgles_types_1.isEqual)(s.param1, param1) &&
|
|
85
83
|
(0, prostgles_types_1.isEqual)(s.param2, param2));
|
|
86
84
|
});
|
|
87
|
-
if (
|
|
88
|
-
|
|
85
|
+
if (matchingSync) {
|
|
86
|
+
const [existingChannel, existingSync] = matchingSync;
|
|
87
|
+
existingSync.clientSyncHandles.push(clientSyncHandlers);
|
|
89
88
|
return makeHandler(existingChannel);
|
|
90
89
|
}
|
|
91
90
|
else {
|
|
@@ -101,9 +100,20 @@ const getSyncHandler = ({ socket }) => {
|
|
|
101
100
|
*/
|
|
102
101
|
if (!data)
|
|
103
102
|
return;
|
|
104
|
-
|
|
103
|
+
const matchingSync = syncs.get(channelName);
|
|
104
|
+
if (!matchingSync)
|
|
105
105
|
return;
|
|
106
|
-
|
|
106
|
+
matchingSync.clientSyncHandles.map(({ onUpdates, onSyncRequest, onPullRequest }) => {
|
|
107
|
+
onDebug === null || onDebug === void 0 ? void 0 : onDebug({
|
|
108
|
+
type: "sync",
|
|
109
|
+
command: data.data ? "onUpdates"
|
|
110
|
+
: data.onSyncRequest ? "onSyncRequest"
|
|
111
|
+
: "onPullRequest",
|
|
112
|
+
tableName,
|
|
113
|
+
channelName,
|
|
114
|
+
data,
|
|
115
|
+
syncedTable: syncedTables.get(channelName),
|
|
116
|
+
});
|
|
107
117
|
if (data.data) {
|
|
108
118
|
Promise.resolve(onUpdates(data))
|
|
109
119
|
.then(() => {
|
|
@@ -134,23 +144,23 @@ const getSyncHandler = ({ socket }) => {
|
|
|
134
144
|
}
|
|
135
145
|
});
|
|
136
146
|
};
|
|
137
|
-
syncs
|
|
147
|
+
syncs.set(channelName, {
|
|
138
148
|
tableName,
|
|
139
149
|
command,
|
|
140
150
|
param1,
|
|
141
151
|
param2,
|
|
142
|
-
|
|
152
|
+
clientSyncHandles: [clientSyncHandlers],
|
|
143
153
|
syncInfo: sync_info,
|
|
144
154
|
onCall,
|
|
145
|
-
};
|
|
155
|
+
});
|
|
146
156
|
socket.on(channelName, onCall);
|
|
147
157
|
return makeHandler(channelName);
|
|
148
158
|
}
|
|
149
159
|
}
|
|
150
160
|
const reAttachAll = async () => {
|
|
151
161
|
let reAttached = 0;
|
|
152
|
-
|
|
153
|
-
const firstTrigger = s.
|
|
162
|
+
Array.from(syncs.entries()).forEach(async ([ch, s]) => {
|
|
163
|
+
const firstTrigger = s.clientSyncHandles[0];
|
|
154
164
|
if (firstTrigger) {
|
|
155
165
|
try {
|
|
156
166
|
await addServerSync(s, firstTrigger.onSyncRequest);
|