prostgles-client 4.0.167 → 4.0.169
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/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 +3 -3
- package/dist/subscriptionHandler.d.ts +1 -1
- package/dist/subscriptionHandler.d.ts.map +1 -1
- package/dist/subscriptionHandler.js +2 -2
- package/dist/syncHandler.d.ts.map +1 -1
- package/dist/syncHandler.js +3 -1
- package/dist/useProstglesClient.d.ts.map +1 -1
- package/dist/useProstglesClient.js +7 -4
- package/lib/prostgles.ts +4 -5
- package/lib/subscriptionHandler.ts +2 -2
- package/lib/syncHandler.ts +3 -1
- package/lib/useProstglesClient.ts +9 -5
- package/package.json +1 -1
- package/tests/package-lock.json +1 -1
package/dist/prostgles.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyObject, ClientSyncHandles, DBSchema, DBSchemaTable, DbJoinMaker, EqualityFilter, FullFilter, GetSelectReturnType, MethodHandler, SQLHandler, SQLResult, SelectParams, SubscribeParams, TableHandler, ViewHandler } from "prostgles-types";
|
|
1
|
+
import type { AnyObject, ClientSchema, ClientSyncHandles, DBSchema, DBSchemaTable, DbJoinMaker, EqualityFilter, FullFilter, GetSelectReturnType, MethodHandler, SQLHandler, SQLResult, SelectParams, SubscribeParams, TableHandler, ViewHandler } from "prostgles-types";
|
|
2
2
|
import { asName } from "prostgles-types";
|
|
3
3
|
import { type AuthHandler } from "./Auth";
|
|
4
4
|
import type { Sync, SyncDataItem, SyncOne, SyncOneOptions, SyncOptions, SyncedTable } from "./SyncedTable/SyncedTable";
|
|
@@ -100,7 +100,7 @@ type DebugEvent = {
|
|
|
100
100
|
data: AnyObject;
|
|
101
101
|
} | SyncDebugEvent | {
|
|
102
102
|
type: "schemaChanged";
|
|
103
|
-
data:
|
|
103
|
+
data: ClientSchema;
|
|
104
104
|
};
|
|
105
105
|
export type InitOptions<DBSchema = void> = {
|
|
106
106
|
socket: any;
|
package/dist/prostgles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prostgles.d.ts","sourceRoot":"","sources":["../lib/prostgles.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"prostgles.d.ts","sourceRoot":"","sources":["../lib/prostgles.ts"],"names":[],"mappings":"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"}
|
package/dist/prostgles.js
CHANGED
|
@@ -50,7 +50,6 @@ function prostgles(initOpts, syncedTable) {
|
|
|
50
50
|
socket.on(prostgles_types_1.CHANNELS.SCHEMA_CHANGED, cb);
|
|
51
51
|
}
|
|
52
52
|
const preffix = prostgles_types_1.CHANNELS._preffix;
|
|
53
|
-
//@ts-ignore
|
|
54
53
|
const subscriptionHandler = (0, subscriptionHandler_1.getSubscriptionHandler)(initOpts);
|
|
55
54
|
const syncHandler = (0, syncHandler_1.getSyncHandler)(initOpts);
|
|
56
55
|
let state;
|
|
@@ -76,8 +75,9 @@ function prostgles(initOpts, syncedTable) {
|
|
|
76
75
|
});
|
|
77
76
|
}
|
|
78
77
|
/* Schema = published schema */
|
|
79
|
-
socket.on(prostgles_types_1.CHANNELS.SCHEMA, async (
|
|
80
|
-
await (onDebug === null || onDebug === void 0 ? void 0 : onDebug({ type: "schemaChanged", data:
|
|
78
|
+
socket.on(prostgles_types_1.CHANNELS.SCHEMA, async (args) => {
|
|
79
|
+
await (onDebug === null || onDebug === void 0 ? void 0 : onDebug({ type: "schemaChanged", data: args }));
|
|
80
|
+
const { joinTables = [], ...clientSchema } = args;
|
|
81
81
|
const { schema, methods, tableSchema, auth: authConfig, rawSQL, err } = clientSchema;
|
|
82
82
|
/** Only destroy existing syncs if schema changed */
|
|
83
83
|
const schemaDidNotChange = (schemaAge === null || schemaAge === void 0 ? void 0 : schemaAge.clientSchema) && (0, react_hooks_1.isEqual)(schemaAge.clientSchema, clientSchema);
|
|
@@ -15,7 +15,7 @@ export declare const getSubscriptionHandler: (initOpts: Pick<InitOptions, "socke
|
|
|
15
15
|
addSub: (dbo: any, params: CoreParams, onChange: AnyFunction, _onError?: AnyFunction) => Promise<SubscriptionHandler>;
|
|
16
16
|
subscriptions: Subscriptions;
|
|
17
17
|
addServerSub: ({ tableName, command, param1, param2 }: CoreParams) => Promise<SubscriptionChannels>;
|
|
18
|
-
_unsubscribe: (channelName: string, unsubChannel: string, handler: AnyFunction
|
|
18
|
+
_unsubscribe: (channelName: string, unsubChannel: string, handler: AnyFunction) => Promise<true>;
|
|
19
19
|
reAttachAll: () => Promise<void>;
|
|
20
20
|
};
|
|
21
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptionHandler.d.ts","sourceRoot":"","sources":["../lib/subscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACtJ,OAAO,EAAkB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlG,KAAK,YAAY,GAAG,UAAU,GAAG;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAC5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,aAAc,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;kBAiE3D,GAAG,UAAU,UAAU,YAAY,WAAW,aAAa,WAAW,KAAG,QAAQ,mBAAmB,CAAC;;2DAlBlE,UAAU,KAAG,QAAQ,oBAAoB,CAAC;gCA7BrE,MAAM,gBAAgB,MAAM,WAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"subscriptionHandler.d.ts","sourceRoot":"","sources":["../lib/subscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACtJ,OAAO,EAAkB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlG,KAAK,YAAY,GAAG,UAAU,GAAG;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAC5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,aAAc,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;kBAiE3D,GAAG,UAAU,UAAU,YAAY,WAAW,aAAa,WAAW,KAAG,QAAQ,mBAAmB,CAAC;;2DAlBlE,UAAU,KAAG,QAAQ,oBAAoB,CAAC;gCA7BrE,MAAM,gBAAgB,MAAM,WAAW,WAAW,KAAG,QAAQ,IAAI,CAAC;;CA6KtG,CAAA"}
|
|
@@ -21,7 +21,7 @@ const getSubscriptionHandler = (initOpts) => {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
-
function _unsubscribe(channelName, unsubChannel, handler
|
|
24
|
+
function _unsubscribe(channelName, unsubChannel, handler) {
|
|
25
25
|
(0, prostgles_1.debug)("_unsubscribe", { channelName, handler });
|
|
26
26
|
return new Promise((resolve, reject) => {
|
|
27
27
|
const sub = subscriptions[channelName];
|
|
@@ -74,7 +74,7 @@ const getSubscriptionHandler = (initOpts) => {
|
|
|
74
74
|
async function _addSub(dbo, { tableName, command, param1, param2 }, onChange, _onError) {
|
|
75
75
|
const makeHandler = (channelName, unsubChannel) => {
|
|
76
76
|
const unsubscribe = function () {
|
|
77
|
-
return _unsubscribe(channelName, unsubChannel, onChange
|
|
77
|
+
return _unsubscribe(channelName, unsubChannel, onChange);
|
|
78
78
|
};
|
|
79
79
|
let subHandlers = { unsubscribe, filter: { ...param1 } };
|
|
80
80
|
/* Some dbo sorting was done to make sure this will work */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncHandler.d.ts","sourceRoot":"","sources":["../lib/syncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAe,UAAU,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAgBlF,eAAO,MAAM,cAAc,wBAAyB,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;;;sBAsD1D,UAAU,YAAY,iBAAiB,KAAG,QAAQ,GAAG,CAAC;;
|
|
1
|
+
{"version":3,"file":"syncHandler.d.ts","sourceRoot":"","sources":["../lib/syncHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAe,UAAU,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AAgBlF,eAAO,MAAM,cAAc,wBAAyB,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;;;sBAsD1D,UAAU,YAAY,iBAAiB,KAAG,QAAQ,GAAG,CAAC;;CAiItF,CAAA"}
|
package/dist/syncHandler.js
CHANGED
|
@@ -163,7 +163,9 @@ const getSyncHandler = ({ socket, onDebug }) => {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
});
|
|
166
|
-
|
|
166
|
+
if (reAttached) {
|
|
167
|
+
console.log("reAttached", reAttached, " syncs", syncs);
|
|
168
|
+
}
|
|
167
169
|
};
|
|
168
170
|
return {
|
|
169
171
|
destroySyncs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProstglesClient.d.ts","sourceRoot":"","sources":["../lib/useProstglesClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAa,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhF,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,KAAK,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;KAAE,CAAC;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,KAAK,oBAAoB,CAAC,GAAG,IAC3B;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAAE,GACvC;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAAE,GAAG,GAAG,GAC9C;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CAAE,CAAC;AAE/C,eAAO,MAAM,kBAAkB,sDAAoD,YAAY,
|
|
1
|
+
{"version":3,"file":"useProstglesClient.d.ts","sourceRoot":"","sources":["../lib/useProstglesClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAa,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhF,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,KAAK,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;KAAE,CAAC;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,KAAK,oBAAoB,CAAC,GAAG,IAC3B;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAAE,GACvC;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAAE,GAAG,GAAG,GAC9C;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CAAE,CAAC;AAE/C,eAAO,MAAM,kBAAkB,sDAAoD,YAAY,oDAuD9F,CAAA"}
|
|
@@ -16,10 +16,8 @@ const useProstglesClient = ({ skip, socketOptions, ...initOpts } = {}) => {
|
|
|
16
16
|
});
|
|
17
17
|
const getIsMounted = (0, react_hooks_1.useIsMounted)();
|
|
18
18
|
const socketRef = useRef();
|
|
19
|
-
(0, react_hooks_1.
|
|
19
|
+
const socket = (0, react_hooks_1.useMemoDeep)(() => {
|
|
20
20
|
var _a;
|
|
21
|
-
if (skip)
|
|
22
|
-
return undefined;
|
|
23
21
|
(_a = socketRef.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
24
22
|
const io = (0, react_hooks_1.getIO)();
|
|
25
23
|
const opts = {
|
|
@@ -29,6 +27,11 @@ const useProstglesClient = ({ skip, socketOptions, ...initOpts } = {}) => {
|
|
|
29
27
|
};
|
|
30
28
|
const socket = typeof (socketOptions === null || socketOptions === void 0 ? void 0 : socketOptions.uri) === "string" ? io(socketOptions.uri, opts) : io(opts);
|
|
31
29
|
socketRef.current = socket;
|
|
30
|
+
return socket;
|
|
31
|
+
}, [socketOptions]);
|
|
32
|
+
(0, react_hooks_1.useAsyncEffectQueue)(async () => {
|
|
33
|
+
if (skip)
|
|
34
|
+
return undefined;
|
|
32
35
|
await (0, prostgles_1.prostgles)({
|
|
33
36
|
socket,
|
|
34
37
|
...initOpts,
|
|
@@ -56,7 +59,7 @@ const useProstglesClient = ({ skip, socketOptions, ...initOpts } = {}) => {
|
|
|
56
59
|
return () => {
|
|
57
60
|
socket.disconnect();
|
|
58
61
|
};
|
|
59
|
-
}, [initOpts,
|
|
62
|
+
}, [initOpts, socket, skip]);
|
|
60
63
|
return onReadyArgs;
|
|
61
64
|
};
|
|
62
65
|
exports.useProstglesClient = useProstglesClient;
|
package/lib/prostgles.ts
CHANGED
|
@@ -154,7 +154,7 @@ type DebugEvent =
|
|
|
154
154
|
| SyncDebugEvent
|
|
155
155
|
| {
|
|
156
156
|
type: "schemaChanged";
|
|
157
|
-
data:
|
|
157
|
+
data: ClientSchema;
|
|
158
158
|
};
|
|
159
159
|
|
|
160
160
|
export type InitOptions<DBSchema = void> = {
|
|
@@ -217,8 +217,6 @@ export function prostgles<DBSchema>(initOpts: InitOptions<DBSchema>, syncedTable
|
|
|
217
217
|
|
|
218
218
|
const preffix = CHANNELS._preffix;
|
|
219
219
|
|
|
220
|
-
|
|
221
|
-
//@ts-ignore
|
|
222
220
|
const subscriptionHandler = getSubscriptionHandler(initOpts);
|
|
223
221
|
const syncHandler = getSyncHandler(initOpts);
|
|
224
222
|
|
|
@@ -250,8 +248,9 @@ export function prostgles<DBSchema>(initOpts: InitOptions<DBSchema>, syncedTable
|
|
|
250
248
|
}
|
|
251
249
|
|
|
252
250
|
/* Schema = published schema */
|
|
253
|
-
socket.on(CHANNELS.SCHEMA, async (
|
|
254
|
-
await onDebug?.({ type: "schemaChanged", data:
|
|
251
|
+
socket.on(CHANNELS.SCHEMA, async (args: ClientSchema) => {
|
|
252
|
+
await onDebug?.({ type: "schemaChanged", data: args });
|
|
253
|
+
const { joinTables = [], ...clientSchema } = args;
|
|
255
254
|
const { schema, methods, tableSchema, auth: authConfig, rawSQL, err } = clientSchema;
|
|
256
255
|
|
|
257
256
|
/** Only destroy existing syncs if schema changed */
|
|
@@ -35,7 +35,7 @@ export const getSubscriptionHandler = (initOpts: Pick<InitOptions, "socket" | "o
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
function _unsubscribe(channelName: string, unsubChannel: string, handler: AnyFunction
|
|
38
|
+
function _unsubscribe(channelName: string, unsubChannel: string, handler: AnyFunction): Promise<true> {
|
|
39
39
|
debug("_unsubscribe", { channelName, handler });
|
|
40
40
|
|
|
41
41
|
return new Promise((resolve, reject) => {
|
|
@@ -94,7 +94,7 @@ export const getSubscriptionHandler = (initOpts: Pick<InitOptions, "socket" | "o
|
|
|
94
94
|
const makeHandler = (channelName: string, unsubChannel: string) => {
|
|
95
95
|
|
|
96
96
|
const unsubscribe = function () {
|
|
97
|
-
return _unsubscribe(channelName, unsubChannel, onChange
|
|
97
|
+
return _unsubscribe(channelName, unsubChannel, onChange);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
let subHandlers: any = { unsubscribe, filter: { ...param1 } }
|
package/lib/syncHandler.ts
CHANGED
|
@@ -187,7 +187,9 @@ export const getSyncHandler = ({ socket, onDebug }: Pick<InitOptions, "socket" |
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
|
-
|
|
190
|
+
if(reAttached){
|
|
191
|
+
console.log("reAttached", reAttached, " syncs", syncs);
|
|
192
|
+
}
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
return {
|
|
@@ -15,7 +15,7 @@ import type { ManagerOptions, Socket, SocketOptions } from "socket.io-client";
|
|
|
15
15
|
import type { AuthHandler } from "./Auth";
|
|
16
16
|
import { SyncedTable } from "./SyncedTable/SyncedTable";
|
|
17
17
|
import { prostgles, type DBHandlerClient, type InitOptions } from "./prostgles";
|
|
18
|
-
import { getIO, getReact, useAsyncEffectQueue, useIsMounted } from "./react-hooks";
|
|
18
|
+
import { getIO, getReact, useAsyncEffectQueue, useIsMounted, useMemoDeep } from "./react-hooks";
|
|
19
19
|
|
|
20
20
|
type OnReadyParams<DBSchema> = {
|
|
21
21
|
dbo: DBHandlerClient<DBSchema>;
|
|
@@ -43,9 +43,7 @@ export const useProstglesClient = <DBSchema>({ skip, socketOptions, ...initOpts
|
|
|
43
43
|
|
|
44
44
|
const socketRef = useRef<Socket>();
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
if(skip) return undefined;
|
|
48
|
-
|
|
46
|
+
const socket = useMemoDeep(() => {
|
|
49
47
|
socketRef.current?.disconnect();
|
|
50
48
|
const io = getIO();
|
|
51
49
|
const opts = {
|
|
@@ -55,6 +53,12 @@ export const useProstglesClient = <DBSchema>({ skip, socketOptions, ...initOpts
|
|
|
55
53
|
}
|
|
56
54
|
const socket = typeof socketOptions?.uri === "string" ? io(socketOptions.uri, opts) : io(opts);
|
|
57
55
|
socketRef.current = socket;
|
|
56
|
+
return socket;
|
|
57
|
+
}, [socketOptions]);
|
|
58
|
+
|
|
59
|
+
useAsyncEffectQueue(async () => {
|
|
60
|
+
if(skip) return undefined;
|
|
61
|
+
|
|
58
62
|
await prostgles<DBSchema>({
|
|
59
63
|
socket,
|
|
60
64
|
...initOpts,
|
|
@@ -82,7 +86,7 @@ export const useProstglesClient = <DBSchema>({ skip, socketOptions, ...initOpts
|
|
|
82
86
|
socket.disconnect();
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
}, [initOpts,
|
|
89
|
+
}, [initOpts, socket, skip]);
|
|
86
90
|
|
|
87
91
|
return onReadyArgs;
|
|
88
92
|
}
|
package/package.json
CHANGED