prostgles-client 4.0.102 → 4.0.103
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.map +1 -1
- package/dist/prostgles.js +5 -5
- package/dist/react-hooks.d.ts +5 -2
- package/dist/react-hooks.d.ts.map +1 -1
- package/dist/react-hooks.js +7 -5
- package/lib/prostgles.ts +8 -7
- package/lib/react-hooks.ts +13 -5
- package/package.json +1 -1
- package/tests/package-lock.json +1 -1
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,EACL,SAAS,EAKT,iBAAiB,EAIjB,QAAQ,EACR,aAAa,EACb,WAAW,EAEX,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EAGZ,eAAe,EAGf,YAAY,EAEZ,WAAW,EACX,MAAM,EAKP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAoB,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAE9I,OAAO,KAAK,EAAE,cAAc,EAAU,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"prostgles.d.ts","sourceRoot":"","sources":["../lib/prostgles.ts"],"names":[],"mappings":"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"}
|
package/dist/prostgles.js
CHANGED
|
@@ -39,11 +39,10 @@ const useProstglesClient = ({ skip, socketOptions, ...initOpts } = {}) => {
|
|
|
39
39
|
});
|
|
40
40
|
const getIsMounted = (0, react_hooks_1.useIsMounted)();
|
|
41
41
|
const socketRef = useRef();
|
|
42
|
-
const
|
|
43
|
-
(0, react_hooks_1.useEffectDeep)(() => {
|
|
42
|
+
const socket = (0, react_hooks_1.useMemoDeep)(() => {
|
|
44
43
|
var _a;
|
|
45
44
|
if (skip)
|
|
46
|
-
return;
|
|
45
|
+
return undefined;
|
|
47
46
|
(_a = socketRef.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
48
47
|
const io = (0, react_hooks_1.getIO)();
|
|
49
48
|
const opts = {
|
|
@@ -51,8 +50,9 @@ const useProstglesClient = ({ skip, socketOptions, ...initOpts } = {}) => {
|
|
|
51
50
|
reconnection: true,
|
|
52
51
|
...(0, prostgles_types_1.omitKeys)(socketOptions !== null && socketOptions !== void 0 ? socketOptions : {}, ["uri"]),
|
|
53
52
|
};
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
const socket = typeof (socketOptions === null || socketOptions === void 0 ? void 0 : socketOptions.uri) === "string" ? io(socketOptions.uri, opts) : io(opts);
|
|
54
|
+
socketRef.current = socket;
|
|
55
|
+
return socket;
|
|
56
56
|
}, [socketOptions]);
|
|
57
57
|
(0, react_hooks_1.useAsyncEffectQueue)(async () => {
|
|
58
58
|
if (!socket || skip)
|
package/dist/react-hooks.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { SubscriptionHandler } from "prostgles-types";
|
|
2
3
|
import { TableHandlerClient } from "./prostgles";
|
|
3
|
-
|
|
4
|
+
type ReactT = typeof import("react");
|
|
5
|
+
export declare const getReact: (throwError?: boolean) => ReactT;
|
|
4
6
|
export declare const getIO: (throwError?: boolean) => typeof import("socket.io-client").io;
|
|
5
7
|
export declare const isEqual: (x: any, y: any) => boolean;
|
|
6
8
|
export declare const useDeepCompareMemoize: (value: any) => undefined;
|
|
7
|
-
export declare const
|
|
9
|
+
export declare const useMemoDeep: typeof import("react").useMemo;
|
|
10
|
+
export declare const useEffectDeep: typeof import("react").useEffect;
|
|
8
11
|
/**
|
|
9
12
|
* Debounce with execute first
|
|
10
13
|
* Used to ensure subscriptions are always cleaned up
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../lib/react-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../lib/react-hooks.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,KAAK,MAAM,GAAG,cAAc,OAAO,CAAC,CAAC;AAKrC,eAAO,MAAM,QAAQ,gBAAiB,OAAO,KAAG,MAQ/C,CAAC;AAKF,eAAO,MAAM,KAAK,gEAQjB,CAAA;AACD,eAAO,MAAM,OAAO,6BAqBnB,CAAA;AAED,eAAO,MAAM,qBAAqB,UAAW,GAAG,cAQ/C,CAAA;AAED,eAAO,MAAM,WAAW,gCAKD,CAAA;AAEvB,eAAO,MAAM,aAAa,kCAKD,CAAA;AAgBzB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,WAAY,MAAM,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,SAkD1F,CAAA;AACD,eAAO,MAAM,cAAc,WAAY,MAAM,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,GAAG,EAAE,SAsBvF,CAAA;AAED,wBAAgB,YAAY,QAS3B;AAED,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;AACrC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE/C,eAAO,MAAM,UAAU,qDAAqD,GAAG,EAAE,wJA6ChF,CAAA;AAOD,eAAO,MAAM,YAAY,qBACL,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,QAAQ,mBAAmB,CAAC,cACnF,OAAO,UACX,GAAG,WACF,GAAG;;;;CA8Bb,CAAA;AAED,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;;;;CA2BjE,CAAA;AAED,eAAO,MAAM,QAAQ,wBAAyB,GAAG,KAAK,QAAQ,GAAG,CAAC,SAAQ,GAAG,EAAE;;;;CAiB9E,CAAA;AAED,eAAO,MAAM,oBAAoB,eAAiC,CAAC"}
|
package/dist/react-hooks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.__prglReactInstalled = exports.useFetch = exports.useSync = exports.useSubscribe = exports.usePromise = exports.useIsMounted = exports.useEffectAsync = exports.useAsyncEffectQueue = exports.useEffectDeep = exports.useDeepCompareMemoize = exports.isEqual = exports.getIO = exports.getReact = void 0;
|
|
4
|
+
exports.__prglReactInstalled = exports.useFetch = exports.useSync = exports.useSubscribe = exports.usePromise = exports.useIsMounted = exports.useEffectAsync = exports.useAsyncEffectQueue = exports.useEffectDeep = exports.useMemoDeep = exports.useDeepCompareMemoize = exports.isEqual = exports.getIO = exports.getReact = void 0;
|
|
5
5
|
const prostgles_types_1 = require("prostgles-types");
|
|
6
6
|
let React;
|
|
7
7
|
const alertNoReact = (...args) => { throw "Must install react"; };
|
|
@@ -63,10 +63,12 @@ const useDeepCompareMemoize = (value) => {
|
|
|
63
63
|
return ref.current;
|
|
64
64
|
};
|
|
65
65
|
exports.useDeepCompareMemoize = useDeepCompareMemoize;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
};
|
|
69
|
-
exports.useEffectDeep =
|
|
66
|
+
exports.useMemoDeep = ((callback, deps) => {
|
|
67
|
+
React.useMemo(callback, deps === null || deps === void 0 ? void 0 : deps.map(exports.useDeepCompareMemoize));
|
|
68
|
+
});
|
|
69
|
+
exports.useEffectDeep = ((callback, deps) => {
|
|
70
|
+
useEffect(callback, deps === null || deps === void 0 ? void 0 : deps.map(exports.useDeepCompareMemoize));
|
|
71
|
+
});
|
|
70
72
|
/**
|
|
71
73
|
* Debounce with execute first
|
|
72
74
|
* Used to ensure subscriptions are always cleaned up
|
package/lib/prostgles.ts
CHANGED
|
@@ -41,8 +41,9 @@ import {
|
|
|
41
41
|
} from "prostgles-types";
|
|
42
42
|
|
|
43
43
|
import { SyncDataItem, SyncOneOptions, SyncOptions, SyncedTable, type DbTableSync, type Sync, type SyncOne } from "./SyncedTable/SyncedTable";
|
|
44
|
-
import { getIO, getReact, isEqual, useAsyncEffectQueue, useEffectDeep, useFetch, useIsMounted, useSubscribe, useSync } from "./react-hooks";
|
|
44
|
+
import { getIO, getReact, isEqual, useAsyncEffectQueue, useEffectDeep, useFetch, useIsMounted, useMemoDeep, useSubscribe, useSync } from "./react-hooks";
|
|
45
45
|
import type { ManagerOptions, Socket, SocketOptions } from "socket.io-client";
|
|
46
|
+
import { useMemo } from "react";
|
|
46
47
|
|
|
47
48
|
const DEBUG_KEY = "DEBUG_SYNCEDTABLE";
|
|
48
49
|
const hasWnd = typeof window !== "undefined";
|
|
@@ -78,11 +79,10 @@ export const useProstglesClient = <DBSchema>({ skip, socketOptions, ...initOpts
|
|
|
78
79
|
isLoading: true
|
|
79
80
|
});
|
|
80
81
|
const getIsMounted = useIsMounted();
|
|
81
|
-
const socketRef = useRef<Socket>();
|
|
82
|
-
const [socket, setSocket] = useState<Socket>();
|
|
83
82
|
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
const socketRef = useRef<Socket>();
|
|
84
|
+
const socket = useMemoDeep(() => {
|
|
85
|
+
if(skip) return undefined;
|
|
86
86
|
socketRef.current?.disconnect();
|
|
87
87
|
const io = getIO();
|
|
88
88
|
const opts = {
|
|
@@ -90,8 +90,9 @@ export const useProstglesClient = <DBSchema>({ skip, socketOptions, ...initOpts
|
|
|
90
90
|
reconnection: true,
|
|
91
91
|
...omitKeys(socketOptions ?? {}, ["uri"]),
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const socket = typeof socketOptions?.uri === "string" ? io(socketOptions.uri, opts) : io(opts);
|
|
94
|
+
socketRef.current = socket;
|
|
95
|
+
return socket;
|
|
95
96
|
}, [socketOptions]);
|
|
96
97
|
|
|
97
98
|
useAsyncEffectQueue(async () => {
|
package/lib/react-hooks.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SubscriptionHandler, getKeys, isObject } from "prostgles-types";
|
|
2
2
|
import { TableHandlerClient } from "./prostgles";
|
|
3
|
-
|
|
3
|
+
type ReactT = typeof import("react");
|
|
4
|
+
let React: ReactT;
|
|
4
5
|
|
|
5
6
|
const alertNoReact = (...args: any[]): any => { throw "Must install react" }
|
|
6
7
|
const alertNoReactT = <T>(...args: any[]): any => { throw "Must install react" }
|
|
7
|
-
export const getReact = (throwError?: boolean):
|
|
8
|
+
export const getReact = (throwError?: boolean): ReactT => {
|
|
8
9
|
try {
|
|
9
10
|
React ??= require("react");
|
|
10
11
|
} catch(err){
|
|
@@ -59,12 +60,19 @@ export const useDeepCompareMemoize = (value: any) => {
|
|
|
59
60
|
return ref.current
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
export const
|
|
63
|
+
export const useMemoDeep = ((callback, deps) => {
|
|
64
|
+
React.useMemo(
|
|
65
|
+
callback,
|
|
66
|
+
deps?.map(useDeepCompareMemoize)
|
|
67
|
+
)
|
|
68
|
+
}) as ReactT["useMemo"]
|
|
69
|
+
|
|
70
|
+
export const useEffectDeep = ((callback, deps) => {
|
|
63
71
|
useEffect(
|
|
64
72
|
callback,
|
|
65
|
-
deps
|
|
73
|
+
deps?.map(useDeepCompareMemoize)
|
|
66
74
|
)
|
|
67
|
-
}
|
|
75
|
+
}) as ReactT["useEffect"]
|
|
68
76
|
|
|
69
77
|
type AsyncCleanup = void | (() => void | Promise<void>)
|
|
70
78
|
type AsyncActiveEffect = {
|
package/package.json
CHANGED