prostgles-client 4.0.381 → 4.0.383

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.
@@ -2,8 +2,10 @@ import { WAL } from "prostgles-types/dist/WAL";
2
2
  import type { Socket } from "socket.io-client";
3
3
  import { type SyncedTableOptions } from "./SyncedTable";
4
4
  export declare const createSync: (socket: Socket, options: Omit<SyncedTableOptions, "onReady">) => Promise<{
5
+ reAttach: () => Promise<void>;
5
6
  sync: <T extends import("prostgles-types").AnyObject = import("prostgles-types").AnyObject>(onChange: import("./SyncedTable").MultiChangeListener<T>, handlesOnData?: boolean) => import("./SyncedTable").MultiSyncHandles<T>;
6
7
  syncOne: <T extends import("prostgles-types").AnyObject = import("prostgles-types").AnyObject, Full extends boolean = false>(idObj: Partial<T>, onChange: import("./SyncedTable").SingleChangeListener<T, Full>, handlesOnData?: boolean) => import("./SyncedTable").SingleSyncHandles<T, Full>;
7
8
  notifyWal: WAL;
9
+ notifyCurrentData: () => void;
8
10
  }>;
9
11
  //# sourceMappingURL=createSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSync.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,UAAU,GAAU,QAAQ,MAAM,EAAE,SAAS,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;;;;EA2O5F,CAAC"}
1
+ {"version":3,"file":"createSync.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,UAAU,GAAU,QAAQ,MAAM,EAAE,SAAS,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;;;;;;EAsP5F,CAAC"}
@@ -58,6 +58,9 @@ const createSync = async (socket, options) => {
58
58
  delta: { ...d },
59
59
  }));
60
60
  await upsert(updateItems, true);
61
+ if (!updateItems.length) {
62
+ subscriptionManager.notifyCurrentData();
63
+ }
61
64
  }
62
65
  }
63
66
  else if (onUpdatesParams.state === "syncing") {
@@ -80,7 +83,8 @@ const createSync = async (socket, options) => {
80
83
  synced_field,
81
84
  throttle,
82
85
  };
83
- const dbSync = await initializeSync({ onSyncRequest, onPullRequest, onUpdates });
86
+ const clientSyncHandles = { onSyncRequest, onPullRequest, onUpdates };
87
+ let dbSync = await initializeSync(clientSyncHandles);
84
88
  /**
85
89
  * Some syncs can be read only. Any changes are local
86
90
  */
@@ -192,6 +196,12 @@ const createSync = async (socket, options) => {
192
196
  }
193
197
  };
194
198
  const subscriptionManager = (0, createSyncSubscriptionManager_1.createSyncSubscriptionManager)({ id_fields, synced_field }, store, stateUtils, upsert);
199
+ const reAttach = async () => {
200
+ state.isSynced = false;
201
+ dbSync = await initializeSync(clientSyncHandles);
202
+ store.setItems(dbSync.syncInfo.data);
203
+ await dbSync.syncData();
204
+ };
195
205
  store.setItems(dbSync.syncInfo.data);
196
206
  /** TODO */
197
207
  // if (!dbSync.syncInfo.isSynced) {
@@ -199,7 +209,7 @@ const createSync = async (socket, options) => {
199
209
  // } else {
200
210
  // state.isSynced = true;
201
211
  // }
202
- return subscriptionManager;
212
+ return { ...subscriptionManager, reAttach };
203
213
  };
204
214
  exports.createSync = createSync;
205
215
  const isWindowDefined = typeof window !== "undefined";
@@ -1 +1 @@
1
- {"version":3,"file":"createSyncStateUtils.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSyncStateUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EACnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,SAAS,kBAAkB;;;;mBAIxD,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;;;;;;;8BAyBrD,iBAAiB;;;;;;;;;2HAuHqtB,CAAC;;;;;;CAD/wB,CAAC"}
1
+ {"version":3,"file":"createSyncStateUtils.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSyncStateUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EACnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,SAAS,kBAAkB;;;;mBAIxD,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;;;;;;;8BAyBrD,iBAAiB;;;;;;;;;2HAiEk2E,CAAC;;;;;;CAD55E,CAAC"}
@@ -48,64 +48,11 @@ const createSyncStateUtils = (socket, options) => {
48
48
  ServerSyncRequest: handles.onSyncRequest,
49
49
  UpdateRequest: handles.onUpdates,
50
50
  });
51
- // const onCall = function (data: any | undefined, cb: AnyFunction) {
52
- // /*
53
- // Client will:
54
- // 1. Send last_synced on(onSyncRequest)
55
- // 2. Send data >= server_synced on(onPullRequest)
56
- // 3. Send data on CRUD emit(data.data)
57
- // 4. Upsert data.data on(data.data)
58
- // */
59
- // if (!data) {
60
- // return;
61
- // }
62
- // const { onUpdates, onSyncRequest, onPullRequest } = handles;
63
- // onDebug({
64
- // command:
65
- // data.data ? "onUpdates"
66
- // : data.onSyncRequest ? "onSyncRequest"
67
- // : "onPullRequest",
68
- // data,
69
- // });
70
- // if (data.data) {
71
- // Promise.resolve(onUpdates(data))
72
- // .then(() => {
73
- // cb({ ok: true });
74
- // })
75
- // .catch((err) => {
76
- // cb({ err });
77
- // });
78
- // } else if (data.onSyncRequest) {
79
- // Promise.resolve(onSyncRequest(data.onSyncRequest))
80
- // .then((res) => cb({ onSyncRequest: res }))
81
- // .catch((err) => {
82
- // cb({ err });
83
- // });
84
- // } else if (data.onPullRequest) {
85
- // Promise.resolve(onPullRequest(data.onPullRequest))
86
- // .then((result) => {
87
- // cb(result);
88
- // })
89
- // .catch((err) => {
90
- // cb({ err });
91
- // });
92
- // } else {
93
- // console.log("unexpected response");
94
- // }
95
- // };
96
- // socket.on(channelName, onCall);
97
51
  const syncData = async (data) => {
98
52
  const { c_count, c_fr, c_lr } = await handles.onSyncRequest({});
99
53
  handlers.ClientSyncRequest(data && c_fr && c_lr ?
100
54
  { state: "syncing-data", c_count, c_fr, c_lr, data }
101
55
  : { state: "syncing", c_count, c_fr, c_lr });
102
- // socket.emit(channelName, {
103
- // onSyncRequest: {
104
- // ...handles.onSyncRequest({}),
105
- // ...{ data },
106
- // ...{ deleted },
107
- // },
108
- // });
109
56
  };
110
57
  const unsync = () => {
111
58
  return new Promise((resolve, reject) => {
@@ -2,10 +2,11 @@ import type { AnyObject, SyncConfig } from "prostgles-types";
2
2
  import { WAL } from "prostgles-types/dist/WAL";
3
3
  import type { createSyncDataStore } from "./createSyncDataStore";
4
4
  import type { createSyncStateUtils } from "./createSyncStateUtils";
5
- import type { ItemUpdate, MultiChangeListener, MultiSyncHandles, SingleChangeListener, SingleSyncHandles } from "./SyncedTable";
5
+ import { type ItemUpdate, type MultiChangeListener, type MultiSyncHandles, type SingleChangeListener, type SingleSyncHandles } from "./SyncedTable";
6
6
  export declare const createSyncSubscriptionManager: ({ id_fields, synced_field }: Omit<SyncConfig, "channelName">, store: ReturnType<typeof createSyncDataStore>, stateUtils: ReturnType<typeof createSyncStateUtils>, upsert: (items: ItemUpdate[], from_server?: boolean) => Promise<void>) => {
7
7
  sync: <T extends AnyObject = AnyObject>(onChange: MultiChangeListener<T>, handlesOnData?: boolean) => MultiSyncHandles<T>;
8
8
  syncOne: <T extends AnyObject = AnyObject, Full extends boolean = false>(idObj: Partial<T>, onChange: SingleChangeListener<T, Full>, handlesOnData?: boolean) => SingleSyncHandles<T, Full>;
9
9
  notifyWal: WAL;
10
+ notifyCurrentData: () => void;
10
11
  };
11
12
  //# sourceMappingURL=createSyncSubscriptionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSyncSubscriptionManager.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSyncSubscriptionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAEV,UAAU,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EAIlB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,6BAA6B,GACxC,6BAA6B,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAC5D,OAAO,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC7C,YAAY,UAAU,CAAC,OAAO,oBAAoB,CAAC,EACnD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;WAgKvD,CAAC,SAAS,SAAS,wBACrB,mBAAmB,CAAC,CAAC,CAAC,8BAE/B,gBAAgB,CAAC,CAAC,CAAC;cAsDL,CAAC,SAAS,SAAS,cAAc,IAAI,SAAS,OAAO,iBAC7D,OAAO,CAAC,CAAC,CAAC,YACP,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,8BAEtC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC;;CAuC9B,CAAC"}
1
+ {"version":3,"file":"createSyncSubscriptionManager.d.ts","sourceRoot":"","sources":["../../lib/SyncedTable/createSyncSubscriptionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAIvB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,6BAA6B,GACxC,6BAA6B,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAC5D,OAAO,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC7C,YAAY,UAAU,CAAC,OAAO,oBAAoB,CAAC,EACnD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;WAgKvD,CAAC,SAAS,SAAS,wBACrB,mBAAmB,CAAC,CAAC,CAAC,8BAE/B,gBAAgB,CAAC,CAAC,CAAC;cAsDL,CAAC,SAAS,SAAS,cAAc,IAAI,SAAS,OAAO,iBAC7D,OAAO,CAAC,CAAC,CAAC,YACP,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,8BAEtC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC;;;CAwC9B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSyncSubscriptionManager = void 0;
4
4
  const WAL_1 = require("prostgles-types/dist/WAL");
5
+ const SyncedTable_1 = require("./SyncedTable");
5
6
  const createSyncSubscriptionManager = ({ id_fields, synced_field }, store, stateUtils, upsert) => {
6
7
  let multiSubscriptions = [];
7
8
  let singleSubscriptions = [];
@@ -115,7 +116,7 @@ const createSyncSubscriptionManager = ({ id_fields, synced_field }, store, state
115
116
  handlesOnData,
116
117
  handles,
117
118
  notify: (_allItems, _allDeltas) => {
118
- let allItems = [..._allItems];
119
+ let allItems = (0, SyncedTable_1.quickClone)(_allItems);
119
120
  const allDeltas = [..._allDeltas];
120
121
  if (handlesOnData) {
121
122
  allItems = allItems.map((item, i) => {
@@ -168,7 +169,7 @@ const createSyncSubscriptionManager = ({ id_fields, synced_field }, store, state
168
169
  if (!singleSubscriptions.length && !multiSubscriptions.length) {
169
170
  console.warn("No sync listeners");
170
171
  }
171
- return upsert([{ idObj, delta: newData, opts }]);
172
+ return upsert([{ idObj, delta: (0, SyncedTable_1.quickClone)(newData), opts }]);
172
173
  },
173
174
  $cloneSync: (onChange) => syncOne(idObj, onChange),
174
175
  // TODO: add clone sync hook
@@ -221,6 +222,7 @@ const createSyncSubscriptionManager = ({ id_fields, synced_field }, store, state
221
222
  sync,
222
223
  syncOne,
223
224
  notifyWal,
225
+ notifyCurrentData: () => _notifySubscribers(),
224
226
  };
225
227
  };
226
228
  exports.createSyncSubscriptionManager = createSyncSubscriptionManager;
@@ -10,5 +10,6 @@ export declare const getSyncHandlerV2: ({ socket, onDebug }: Pick<InitOptions, "
10
10
  addSync: Sync<AnyObject>;
11
11
  addSyncOne: SyncOne<AnyObject>;
12
12
  }>;
13
+ reAttachAll: () => Promise<void>;
13
14
  };
14
15
  //# sourceMappingURL=getSyncHandlerV2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSyncHandlerV2.d.ts","sourceRoot":"","sources":["../lib/getSyncHandlerV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAwB,IAAI,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErF,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;yDA8CxF;QACD,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;KAChC;;;;CAiBF,CAAC"}
1
+ {"version":3,"file":"getSyncHandlerV2.d.ts","sourceRoot":"","sources":["../lib/getSyncHandlerV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAwB,IAAI,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErF,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;yDA6CxF;QACD,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;KAChC;;;;;CA2BF,CAAC"}
@@ -11,7 +11,7 @@ const getSyncHandlerV2 = ({ socket, onDebug }) => {
11
11
  select,
12
12
  tableName,
13
13
  });
14
- syncs.set(channelName, syncs.get(channelName) ?? {
14
+ const syncConfig = syncs.get(channelName) ?? {
15
15
  options: { tableName, filter, select },
16
16
  sync: (0, createSync_1.createSync)(socket, {
17
17
  name: tableName,
@@ -21,8 +21,9 @@ const getSyncHandlerV2 = ({ socket, onDebug }) => {
21
21
  db,
22
22
  columns,
23
23
  }),
24
- });
25
- return syncs.get(channelName).sync;
24
+ };
25
+ syncs.set(channelName, syncConfig);
26
+ return syncConfig.sync;
26
27
  };
27
28
  const getTableSyncFunctions = async ({ db, tableName, columns, }) => {
28
29
  const addSync = (async (filter, opts, onChange) => {
@@ -35,6 +36,16 @@ const getSyncHandlerV2 = ({ socket, onDebug }) => {
35
36
  });
36
37
  return { addSync, addSyncOne };
37
38
  };
38
- return { getTableSyncFunctions };
39
+ const reAttachAll = async () => {
40
+ for (const { sync } of syncs.values()) {
41
+ try {
42
+ await (await sync).reAttach();
43
+ }
44
+ catch (error) {
45
+ console.error("Failed to reattach sync", error);
46
+ }
47
+ }
48
+ };
49
+ return { getTableSyncFunctions, reAttachAll };
39
50
  };
40
51
  exports.getSyncHandlerV2 = getSyncHandlerV2;
@@ -1,6 +1,6 @@
1
1
  declare const React: typeof import("react");
2
2
  type React = typeof import("react");
3
- export declare const useDeepCompareMemoize: (value: unknown) => unknown;
3
+ export declare const useDeepCompareMemoize: <T>(value: T) => T;
4
4
  export declare const useMemoDeep: React["useMemo"];
5
5
  export declare const useEffectDeep: React["useEffect"];
6
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useEffectDeep.d.ts","sourceRoot":"","sources":["../../lib/hooks/useEffectDeep.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,wBAAa,CAAC;AACzB,KAAK,KAAK,GAAG,cAAc,OAAO,CAAC,CAAC;AACpC,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,YAQnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAGlB,KAAK,CAAC,SAAS,CAAC,CAAC;AAEvB,eAAO,MAAM,aAAa,EAGpB,KAAK,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"useEffectDeep.d.ts","sourceRoot":"","sources":["../../lib/hooks/useEffectDeep.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,wBAAa,CAAC;AACzB,KAAK,KAAK,GAAG,cAAc,OAAO,CAAC,CAAC;AACpC,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAQnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAIlB,KAAK,CAAC,SAAS,CAAC,CAAC;AAEvB,eAAO,MAAM,aAAa,EAIpB,KAAK,CAAC,WAAW,CAAC,CAAC"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useEffectDeep = exports.useMemoDeep = exports.useDeepCompareMemoize = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const reactImports_1 = require("./reactImports");
6
- const { getReact, useEffect, useRef } = reactImports_1.reactImports;
6
+ const { getReact, useRef } = reactImports_1.reactImports;
7
7
  const React = getReact();
8
8
  const useDeepCompareMemoize = (value) => {
9
- const ref = useRef();
9
+ const ref = useRef(value);
10
10
  if (!(0, prostgles_types_1.isEqual)(value, ref.current)) {
11
11
  ref.current = value;
12
12
  }
@@ -14,10 +14,12 @@ const useDeepCompareMemoize = (value) => {
14
14
  };
15
15
  exports.useDeepCompareMemoize = useDeepCompareMemoize;
16
16
  exports.useMemoDeep = ((callback, deps) => {
17
+ const memoizedDeps = (0, exports.useDeepCompareMemoize)(deps);
17
18
  // eslint-disable-next-line react-hooks/exhaustive-deps
18
- return React.useMemo(callback, deps.map(exports.useDeepCompareMemoize));
19
+ return React.useMemo(callback, memoizedDeps);
19
20
  });
20
21
  exports.useEffectDeep = ((callback, deps) => {
22
+ const memoizedDeps = (0, exports.useDeepCompareMemoize)(deps);
21
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
22
- useEffect(callback, deps?.map(exports.useDeepCompareMemoize));
24
+ React.useEffect(callback, memoizedDeps);
23
25
  });