@rpcbase/client 0.431.0 → 0.433.0

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 CHANGED
@@ -6,8 +6,8 @@ import { getNavigationGuards, createRoutesFromElements, createBrowserRouter, Rou
6
6
  import { hydrateRoot } from "react-dom/client";
7
7
  import { r as reportClientException } from "./errorReporting-CVoUUKxW.js";
8
8
  import { s } from "./errorReporting-CVoUUKxW.js";
9
- import { h as hydrateRtsFromWindow, u as useQuery } from "./useQuery-Ct30FAzC.js";
10
- import { R, S, c as c2, a, p, b, d, e } from "./useQuery-Ct30FAzC.js";
9
+ import { h as hydrateRtsFromWindow, u as useQuery } from "./useQuery-BLuO01zo.js";
10
+ import { R, S, c as c2, a, p, b, d, e } from "./useQuery-BLuO01zo.js";
11
11
  import { r as requireToString, g as getDefaultExportFromCjs, t as throttle$1 } from "./throttle-CXOc9Dto.js";
12
12
  const emptyUnsubscribe = () => {
13
13
  };
@@ -4,4 +4,5 @@ export { hydrateRtsFromWindow, clearHydratedRtsQueryData, consumeHydratedRtsCoun
4
4
  export { type RtsModelMap, type RtsModelName, } from './modelTypes';
5
5
  export { useCountQuery, type UseRtsCountQueryOptions, type UseRtsCountQueryResult, } from './useCountQuery';
6
6
  export { useQuery, type UseRtsQueryOptions, type UseRtsQueryResult, } from './useQuery';
7
+ export { useRtsConnection, } from './useRtsConnection';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,qBAAqB,EACrB,qCAAqC,EACrC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,6BAA6B,GACnC,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,qBAAqB,EACrB,qCAAqC,EACrC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,6BAA6B,GACnC,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAA"}
package/dist/rts/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { s as serializeRtsQueryValue, f as computeRtsQueryKey, g as useRtsSsrRuntime, p as peekHydratedRtsCount, a as consumeHydratedRtsCount, r as registerCount } from "../useQuery-Ct30FAzC.js";
2
- import { R, S, i, c, j, k, l, m, n, o, q, t, v, h, w, x, b, d, e, y, z, A, B, C, D, E, F, G, u } from "../useQuery-Ct30FAzC.js";
1
+ import { s as serializeRtsQueryValue, f as computeRtsQueryKey, g as useRtsSsrRuntime, p as peekHydratedRtsCount, a as consumeHydratedRtsCount, r as registerCount, i as reconnect, j as disconnect } from "../useQuery-BLuO01zo.js";
2
+ import { R, S, k, c, l, m, n, o, q, t, v, w, h, x, y, b, d, e, z, A, B, C, D, E, F, G, u } from "../useQuery-BLuO01zo.js";
3
3
  import { c as c2 } from "react/compiler-runtime";
4
4
  import { useState, useRef, useEffect } from "react";
5
5
  const normalizeCount = (value) => {
@@ -228,29 +228,69 @@ const useCountQuery = (modelName, t0, t1) => {
228
228
  }
229
229
  return t12;
230
230
  };
231
+ let activeConsumers = 0;
232
+ let connectedKey = null;
233
+ let pendingDisconnectTimer = null;
234
+ const cancelPendingDisconnect = () => {
235
+ if (pendingDisconnectTimer !== null) {
236
+ clearTimeout(pendingDisconnectTimer);
237
+ pendingDisconnectTimer = null;
238
+ }
239
+ };
240
+ const useRtsConnection = (tenantId, uid, options = {}) => {
241
+ const tenantIdValue = typeof tenantId === "string" ? tenantId.trim() : "";
242
+ const uidValue = typeof uid === "string" ? uid.trim() : "";
243
+ const optionsJson = serializeRtsQueryValue(options);
244
+ const optionsRef = useRef(options);
245
+ optionsRef.current = options;
246
+ useEffect(() => {
247
+ if (typeof window === "undefined") return;
248
+ if (!tenantIdValue || !uidValue) return;
249
+ activeConsumers += 1;
250
+ cancelPendingDisconnect();
251
+ const key = `${tenantIdValue}::${uidValue}::${optionsJson}`;
252
+ if (connectedKey !== key) {
253
+ connectedKey = key;
254
+ void reconnect(tenantIdValue, uidValue, optionsRef.current).catch((error) => {
255
+ connectedKey = null;
256
+ console.error("RTS connection failed", error);
257
+ });
258
+ }
259
+ return () => {
260
+ activeConsumers -= 1;
261
+ if (activeConsumers > 0) return;
262
+ pendingDisconnectTimer = setTimeout(() => {
263
+ pendingDisconnectTimer = null;
264
+ if (activeConsumers > 0) return;
265
+ connectedKey = null;
266
+ disconnect();
267
+ }, 0);
268
+ };
269
+ }, [tenantIdValue, uidValue, optionsJson]);
270
+ };
231
271
  export {
232
272
  R as RtsSsrRuntimeProvider,
233
273
  S as STATIC_RPCBASE_RTS_HYDRATION_DATA_KEY,
234
- i as addLocalTxn,
274
+ k as addLocalTxn,
235
275
  c as clearHydratedRtsQueryData,
236
- j as configureRtsPouchStore,
237
- k as connect,
276
+ l as configureRtsPouchStore,
277
+ m as connect,
238
278
  consumeHydratedRtsCount,
239
- l as deleteDocs,
240
- m as destroyAllCollections,
241
- n as destroyCollection,
242
- o as disconnect,
243
- q as getCollection,
244
- t as getConnectionError,
245
- v as getConnectionStatus,
279
+ n as deleteDocs,
280
+ o as destroyAllCollections,
281
+ q as destroyCollection,
282
+ disconnect,
283
+ t as getCollection,
284
+ v as getConnectionError,
285
+ w as getConnectionStatus,
246
286
  h as hydrateRtsFromWindow,
247
- w as onConnectionStatusChange,
248
- x as onMessage,
287
+ x as onConnectionStatusChange,
288
+ y as onMessage,
249
289
  peekHydratedRtsCount,
250
290
  b as peekHydratedRtsQueryData,
251
291
  d as peekHydratedRtsQueryPageInfo,
252
292
  e as peekHydratedRtsQueryTotalCount,
253
- y as reconnect,
293
+ reconnect,
254
294
  registerCount,
255
295
  z as registerQuery,
256
296
  A as resetRtsPouchStore,
@@ -261,6 +301,7 @@ export {
261
301
  F as syncRtsChanges,
262
302
  G as updateDocs,
263
303
  useCountQuery,
264
- u as useQuery
304
+ u as useQuery,
305
+ useRtsConnection
265
306
  };
266
307
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/rts/useCountQuery.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\"\n\nimport type { RtsModelName } from \"./modelTypes\"\nimport { computeRtsQueryKey, serializeRtsQueryValue } from \"./queryKey\"\nimport { consumeHydratedRtsCount, peekHydratedRtsCount, useRtsSsrRuntime } from \"./ssrHydration\"\nimport { registerCount, type RtsCountContext, type RtsCountQueryOptions } from \"./wsClient\"\n\n\ntype JsonObject = Record<string, unknown>\n\nconst normalizeCount = (value: unknown): number | undefined => {\n if (typeof value !== \"number\") return undefined\n if (!Number.isFinite(value) || value < 0) return undefined\n return Math.floor(value)\n}\n\nexport type UseRtsCountQueryOptions = {\n key?: string\n enabled?: boolean\n ssr?: \"auto\" | boolean\n refreshOnMount?: boolean\n}\n\nexport type UseRtsCountQueryResult = {\n count: number | undefined\n source: \"cache\" | RtsCountContext[\"source\"] | undefined\n error: unknown | undefined\n loading: boolean\n}\n\nexport const useCountQuery = (\n modelName: RtsModelName,\n query: JsonObject = {},\n options: UseRtsCountQueryOptions = {},\n): UseRtsCountQueryResult => {\n if (typeof modelName !== \"string\" || modelName.trim().length === 0) {\n throw new Error(\"useCountQuery: modelName must be a non-empty string\")\n }\n\n const enabled = options.enabled ?? true\n const ssrEnabled = options.ssr !== false\n const refreshOnMount = options.refreshOnMount === true\n const key = options.key\n const queryJson = serializeRtsQueryValue(query)\n const runtimeOptions = useMemo<RtsCountQueryOptions>(() => (key ? { key } : {}), [key])\n const queryKey = computeRtsQueryKey(query, runtimeOptions)\n\n const ssrRuntime = useRtsSsrRuntime()\n if (enabled && ssrEnabled && ssrRuntime) {\n ssrRuntime.registerCount({\n modelName,\n query,\n options: runtimeOptions,\n queryKey,\n })\n }\n\n const seedCountRaw = useMemo(\n () => (\n enabled && ssrEnabled\n ? ssrRuntime\n ? ssrRuntime.getCount(modelName, queryKey)\n : peekHydratedRtsCount(modelName, queryKey)\n : undefined\n ),\n [enabled, ssrEnabled, ssrRuntime, modelName, queryKey],\n )\n\n const seedCount = normalizeCount(seedCountRaw)\n const seedCountStr = seedCount !== undefined ? String(seedCount) : \"\"\n const hasSeedCount = seedCount !== undefined\n\n const [count, setCount] = useState<number | undefined>(() => seedCount)\n const [source, setSource] = useState<\"cache\" | RtsCountContext[\"source\"] | undefined>(() => (hasSeedCount ? \"cache\" : undefined))\n const [error, setError] = useState<unknown | undefined>(undefined)\n const [loading, setLoading] = useState<boolean>(enabled && !hasSeedCount)\n\n const lastCountRef = useRef<number | undefined>(seedCount)\n\n useEffect(() => {\n if (!ssrRuntime && enabled && ssrEnabled && hasSeedCount) {\n consumeHydratedRtsCount(modelName, queryKey)\n }\n\n lastCountRef.current = seedCount\n setError(undefined)\n\n if (!enabled) {\n setCount(undefined)\n setSource(undefined)\n setLoading(false)\n return\n }\n\n if (hasSeedCount) {\n setCount(seedCount)\n setSource(\"cache\")\n setLoading(false)\n return\n }\n\n setCount(undefined)\n setSource(undefined)\n setLoading(true)\n }, [enabled, ssrEnabled, ssrRuntime, modelName, queryKey, hasSeedCount, seedCount, seedCountStr])\n\n useEffect(() => {\n if (!enabled) return\n\n const unsubscribe = registerCount(\n modelName,\n query,\n runtimeOptions,\n (err, nextCount, context) => {\n setLoading(false)\n\n if (err) {\n setError(err)\n return\n }\n\n if (nextCount === undefined) return\n setError(undefined)\n if (lastCountRef.current === nextCount) {\n setSource(context.source)\n return\n }\n\n lastCountRef.current = nextCount\n setCount(nextCount)\n setSource(context.source)\n },\n {\n runInitialNetworkQuery: refreshOnMount || !hasSeedCount,\n forceRefreshOnMount: refreshOnMount,\n ...(hasSeedCount\n ? {\n seedSnapshot: {\n error: null,\n count: seedCount,\n context: { source: \"cache\" },\n },\n }\n : {}),\n },\n )\n\n return () => {\n unsubscribe?.()\n }\n }, [\n enabled,\n modelName,\n queryJson,\n queryKey,\n runtimeOptions,\n hasSeedCount,\n refreshOnMount,\n ])\n\n return useMemo(\n () => ({\n count,\n source,\n error,\n loading,\n }),\n [count, error, loading, source],\n )\n}\n"],"names":["normalizeCount","value","undefined","Number","isFinite","Math","floor","useCountQuery","modelName","t0","t1","$","_c","query","t2","options","trim","length","Error","enabled","ssrEnabled","ssr","refreshOnMount","key","queryJson","serializeRtsQueryValue","t3","runtimeOptions","queryKey","computeRtsQueryKey","ssrRuntime","useRtsSsrRuntime","registerCount","t4","getCount","peekHydratedRtsCount","seedCountRaw","t5","seedCount","seedCountStr","String","hasSeedCount","t6","count","setCount","useState","t7","source","setSource","error","setError","loading","setLoading","lastCountRef","useRef","t8","consumeHydratedRtsCount","current","t9","useEffect","t10","unsubscribe","err","nextCount","context","runInitialNetworkQuery","forceRefreshOnMount","seedSnapshot","t11","t12"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/rts/useCountQuery.ts","../../src/rts/useRtsConnection.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\"\n\nimport type { RtsModelName } from \"./modelTypes\"\nimport { computeRtsQueryKey, serializeRtsQueryValue } from \"./queryKey\"\nimport { consumeHydratedRtsCount, peekHydratedRtsCount, useRtsSsrRuntime } from \"./ssrHydration\"\nimport { registerCount, type RtsCountContext, type RtsCountQueryOptions } from \"./wsClient\"\n\n\ntype JsonObject = Record<string, unknown>\n\nconst normalizeCount = (value: unknown): number | undefined => {\n if (typeof value !== \"number\") return undefined\n if (!Number.isFinite(value) || value < 0) return undefined\n return Math.floor(value)\n}\n\nexport type UseRtsCountQueryOptions = {\n key?: string\n enabled?: boolean\n ssr?: \"auto\" | boolean\n refreshOnMount?: boolean\n}\n\nexport type UseRtsCountQueryResult = {\n count: number | undefined\n source: \"cache\" | RtsCountContext[\"source\"] | undefined\n error: unknown | undefined\n loading: boolean\n}\n\nexport const useCountQuery = (\n modelName: RtsModelName,\n query: JsonObject = {},\n options: UseRtsCountQueryOptions = {},\n): UseRtsCountQueryResult => {\n if (typeof modelName !== \"string\" || modelName.trim().length === 0) {\n throw new Error(\"useCountQuery: modelName must be a non-empty string\")\n }\n\n const enabled = options.enabled ?? true\n const ssrEnabled = options.ssr !== false\n const refreshOnMount = options.refreshOnMount === true\n const key = options.key\n const queryJson = serializeRtsQueryValue(query)\n const runtimeOptions = useMemo<RtsCountQueryOptions>(() => (key ? { key } : {}), [key])\n const queryKey = computeRtsQueryKey(query, runtimeOptions)\n\n const ssrRuntime = useRtsSsrRuntime()\n if (enabled && ssrEnabled && ssrRuntime) {\n ssrRuntime.registerCount({\n modelName,\n query,\n options: runtimeOptions,\n queryKey,\n })\n }\n\n const seedCountRaw = useMemo(\n () => (\n enabled && ssrEnabled\n ? ssrRuntime\n ? ssrRuntime.getCount(modelName, queryKey)\n : peekHydratedRtsCount(modelName, queryKey)\n : undefined\n ),\n [enabled, ssrEnabled, ssrRuntime, modelName, queryKey],\n )\n\n const seedCount = normalizeCount(seedCountRaw)\n const seedCountStr = seedCount !== undefined ? String(seedCount) : \"\"\n const hasSeedCount = seedCount !== undefined\n\n const [count, setCount] = useState<number | undefined>(() => seedCount)\n const [source, setSource] = useState<\"cache\" | RtsCountContext[\"source\"] | undefined>(() => (hasSeedCount ? \"cache\" : undefined))\n const [error, setError] = useState<unknown | undefined>(undefined)\n const [loading, setLoading] = useState<boolean>(enabled && !hasSeedCount)\n\n const lastCountRef = useRef<number | undefined>(seedCount)\n\n useEffect(() => {\n if (!ssrRuntime && enabled && ssrEnabled && hasSeedCount) {\n consumeHydratedRtsCount(modelName, queryKey)\n }\n\n lastCountRef.current = seedCount\n setError(undefined)\n\n if (!enabled) {\n setCount(undefined)\n setSource(undefined)\n setLoading(false)\n return\n }\n\n if (hasSeedCount) {\n setCount(seedCount)\n setSource(\"cache\")\n setLoading(false)\n return\n }\n\n setCount(undefined)\n setSource(undefined)\n setLoading(true)\n }, [enabled, ssrEnabled, ssrRuntime, modelName, queryKey, hasSeedCount, seedCount, seedCountStr])\n\n useEffect(() => {\n if (!enabled) return\n\n const unsubscribe = registerCount(\n modelName,\n query,\n runtimeOptions,\n (err, nextCount, context) => {\n setLoading(false)\n\n if (err) {\n setError(err)\n return\n }\n\n if (nextCount === undefined) return\n setError(undefined)\n if (lastCountRef.current === nextCount) {\n setSource(context.source)\n return\n }\n\n lastCountRef.current = nextCount\n setCount(nextCount)\n setSource(context.source)\n },\n {\n runInitialNetworkQuery: refreshOnMount || !hasSeedCount,\n forceRefreshOnMount: refreshOnMount,\n ...(hasSeedCount\n ? {\n seedSnapshot: {\n error: null,\n count: seedCount,\n context: { source: \"cache\" },\n },\n }\n : {}),\n },\n )\n\n return () => {\n unsubscribe?.()\n }\n }, [\n enabled,\n modelName,\n queryJson,\n queryKey,\n runtimeOptions,\n hasSeedCount,\n refreshOnMount,\n ])\n\n return useMemo(\n () => ({\n count,\n source,\n error,\n loading,\n }),\n [count, error, loading, source],\n )\n}\n","import { useEffect, useRef } from \"react\"\n\nimport { serializeRtsQueryValue } from \"./queryKey\"\nimport { disconnect, reconnect, type RtsConnectOptions } from \"./wsClient\"\n\n\nlet activeConsumers = 0\nlet connectedKey: string | null = null\nlet pendingDisconnectTimer: ReturnType<typeof setTimeout> | null = null\n\nconst cancelPendingDisconnect = () => {\n if (pendingDisconnectTimer !== null) {\n clearTimeout(pendingDisconnectTimer)\n pendingDisconnectTimer = null\n }\n}\n\nexport const useRtsConnection = (\n tenantId: string | null | undefined,\n uid: string | null | undefined,\n options: RtsConnectOptions = {},\n): void => {\n const tenantIdValue = typeof tenantId === \"string\" ? tenantId.trim() : \"\"\n const uidValue = typeof uid === \"string\" ? uid.trim() : \"\"\n const optionsJson = serializeRtsQueryValue(options)\n\n const optionsRef = useRef(options)\n optionsRef.current = options\n\n useEffect(() => {\n if (typeof window === \"undefined\") return\n if (!tenantIdValue || !uidValue) return\n\n activeConsumers += 1\n cancelPendingDisconnect()\n\n const key = `${tenantIdValue}::${uidValue}::${optionsJson}`\n if (connectedKey !== key) {\n connectedKey = key\n void reconnect(tenantIdValue, uidValue, optionsRef.current).catch((error) => {\n connectedKey = null\n console.error(\"RTS connection failed\", error)\n })\n }\n\n return () => {\n activeConsumers -= 1\n if (activeConsumers > 0) return\n // Defer so a Strict Mode remount (or a credentials swap) can cancel the\n // teardown before it closes the connection shared by other consumers.\n pendingDisconnectTimer = setTimeout(() => {\n pendingDisconnectTimer = null\n if (activeConsumers > 0) return\n connectedKey = null\n disconnect()\n }, 0)\n }\n }, [tenantIdValue, uidValue, optionsJson])\n}\n"],"names":["normalizeCount","value","undefined","Number","isFinite","Math","floor","useCountQuery","modelName","t0","t1","$","_c","query","t2","options","trim","length","Error","enabled","ssrEnabled","ssr","refreshOnMount","key","queryJson","serializeRtsQueryValue","t3","runtimeOptions","queryKey","computeRtsQueryKey","ssrRuntime","useRtsSsrRuntime","registerCount","t4","getCount","peekHydratedRtsCount","seedCountRaw","t5","seedCount","seedCountStr","String","hasSeedCount","t6","count","setCount","useState","t7","source","setSource","error","setError","loading","setLoading","lastCountRef","useRef","t8","consumeHydratedRtsCount","current","t9","useEffect","t10","unsubscribe","err","nextCount","context","runInitialNetworkQuery","forceRefreshOnMount","seedSnapshot","t11","t12","activeConsumers","connectedKey","pendingDisconnectTimer","cancelPendingDisconnect","clearTimeout","useRtsConnection","tenantId","uid","tenantIdValue","uidValue","optionsJson","optionsRef","window","reconnect","catch","console","setTimeout","disconnect"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { RtsConnectOptions } from './wsClient';
2
+ export declare const useRtsConnection: (tenantId: string | null | undefined, uid: string | null | undefined, options?: RtsConnectOptions) => void;
3
+ //# sourceMappingURL=useRtsConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRtsConnection.d.ts","sourceRoot":"","sources":["../../src/rts/useRtsConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAc1E,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,UAAS,iBAAsB,KAC9B,IAqCF,CAAA"}
@@ -1077,9 +1077,9 @@ var hasRequiredIsBuffer;
1077
1077
  function requireIsBuffer() {
1078
1078
  if (hasRequiredIsBuffer) return isBuffer.exports;
1079
1079
  hasRequiredIsBuffer = 1;
1080
- (function(module, exports$1) {
1080
+ (function(module, exports) {
1081
1081
  var root = require_root(), stubFalse = requireStubFalse();
1082
- var freeExports = exports$1 && !exports$1.nodeType && exports$1;
1082
+ var freeExports = exports && !exports.nodeType && exports;
1083
1083
  var freeModule = freeExports && true && module && !module.nodeType && module;
1084
1084
  var moduleExports = freeModule && freeModule.exports === freeExports;
1085
1085
  var Buffer = moduleExports ? root.Buffer : void 0;
@@ -1127,9 +1127,9 @@ var hasRequired_nodeUtil;
1127
1127
  function require_nodeUtil() {
1128
1128
  if (hasRequired_nodeUtil) return _nodeUtil.exports;
1129
1129
  hasRequired_nodeUtil = 1;
1130
- (function(module, exports$1) {
1130
+ (function(module, exports) {
1131
1131
  var freeGlobal = require_freeGlobal();
1132
- var freeExports = exports$1 && !exports$1.nodeType && exports$1;
1132
+ var freeExports = exports && !exports.nodeType && exports;
1133
1133
  var freeModule = freeExports && true && module && !module.nodeType && module;
1134
1134
  var moduleExports = freeModule && freeModule.exports === freeExports;
1135
1135
  var freeProcess = moduleExports && freeGlobal.process;