@rpcbase/client 0.455.0 → 0.456.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-BOjtIBwv.js";
10
- import { R, S, c as c2, a, p, b, d, e } from "./useQuery-BOjtIBwv.js";
9
+ import { h as hydrateRtsFromWindow, u as useQuery } from "./useQuery-DZqYIJog.js";
10
+ import { R, S, c as c2, a, p, b, d, e } from "./useQuery-DZqYIJog.js";
11
11
  import { r as requireToString, g as getDefaultExportFromCjs, t as throttle$1 } from "./throttle-CXOc9Dto.js";
12
12
  const emptyUnsubscribe = () => {
13
13
  };
@@ -1,5 +1,5 @@
1
1
  export { configureRtsPouchStore, destroyAllCollections, destroyCollection, deleteDocs, getCollection, resetRtsPouchStore, runQuery, updateDocs, type RtsPouchQueryContext, type RtsPouchQueryOptions, type RtsPouchStoreConfig, } from './pouchStore';
2
- export { addLocalTxn, connect, disconnect, getConnectionError, getConnectionStatus, onConnectionStatusChange, onMessage, onRtsMessage, reconnect, registerCount, registerQuery, runNetworkCount, runNetworkQuery, sendMessage, sendRtsMessage, syncRtsChanges, type RtsConnectOptions, type RtsConnectionStatus, type RtsCountContext, type RtsCountQueryOptions, type RtsQueryContext, type RtsQueryOptions, } from './wsClient';
2
+ export { addLocalTxn, connect, disconnect, getConnectionError, getConnectionStatus, onConnectionStatusChange, onMessage, onRtsMessage, reconnect, registerCount, registerQuery, runNetworkCount, runNetworkQuery, sendMessage, sendRtsMessage, syncRtsChanges, type RtsConnectOptions, type RtsConnectionStatus, type RtsCountContext, type RtsCountQueryOptions, type RtsQueryContext, type RtsQueryOptions, type RtsQueryWindow, } from './wsClient';
3
3
  export { hydrateRtsFromWindow, clearHydratedRtsQueryData, consumeHydratedRtsCount, peekHydratedRtsQueryData, peekHydratedRtsCount, peekHydratedRtsQueryPageInfo, peekHydratedRtsQueryTotalCount, RtsSsrRuntimeProvider, STATIC_RPCBASE_RTS_HYDRATION_DATA_KEY, type RtsSsrCountRegistration, type RtsSsrHydrationCountData, type RtsSsrHydrationQueryData, type RtsSsrQueryRegistration, type RtsSsrRuntime, type StaticRpcbaseRtsHydrationData, } from './ssrHydration';
4
4
  export { type RtsModelMap, type RtsModelName, } from './modelTypes';
5
5
  export { useCountQuery, type UseRtsCountQueryOptions, type UseRtsCountQueryResult, } from './useCountQuery';
@@ -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,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,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"}
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,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,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, i as reconnect, j as disconnect } from "../useQuery-BOjtIBwv.js";
2
- import { R, S, k, c, l, m, n, o, q, t, v, w, h, x, y, z, b, d, e, A, B, C, D, E, F, G, H, I, u } from "../useQuery-BOjtIBwv.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-DZqYIJog.js";
2
+ import { R, S, k, c, l, m, n, o, q, t, v, w, h, x, y, z, b, d, e, A, B, C, D, E, F, G, H, I, u } from "../useQuery-DZqYIJog.js";
3
3
  import { c as c2 } from "react/compiler-runtime";
4
4
  import { useState, useRef, useEffect } from "react";
5
5
  const normalizeCount = (value) => {
@@ -151,6 +151,14 @@ const useCountQuery = (modelName, t0, t1) => {
151
151
  return;
152
152
  }
153
153
  const unsubscribe = registerCount(modelName, query, runtimeOptions, (err, nextCount, context) => {
154
+ if (context.source === "cache" && context.reset) {
155
+ lastCountRef.current = void 0;
156
+ setCount(void 0);
157
+ setSource(void 0);
158
+ setError(void 0);
159
+ setLoading(true);
160
+ return;
161
+ }
154
162
  setLoading(false);
155
163
  if (err) {
156
164
  setError(err);
@@ -1 +1 @@
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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"}
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 if (context.source === \"cache\" && context.reset) {\n lastCountRef.current = undefined\n setCount(undefined)\n setSource(undefined)\n setError(undefined)\n setLoading(true)\n return\n }\n\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","reset","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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"}
@@ -1,5 +1,8 @@
1
+ import { PaginationPageInfo } from '@rpcbase/api';
1
2
  import { PreparedPopulateEntry, ProjectionSpec } from './populateCache';
2
3
  type PouchDbDatabase = {
4
+ get: (id: string) => Promise<Record<string, unknown>>;
5
+ put: (doc: Record<string, unknown>) => Promise<unknown>;
3
6
  find: (options: Record<string, unknown>) => Promise<{
4
7
  docs: Record<string, unknown>[];
5
8
  }>;
@@ -20,10 +23,42 @@ export type RtsPouchQueryOptions = {
20
23
  export type RtsPouchQueryContext = {
21
24
  source: "cache";
22
25
  };
26
+ export type RtsQueryWindowServerVersion = number;
27
+ export type RtsQueryWindowSnapshot<T extends Record<string, unknown> = Record<string, unknown>> = {
28
+ data: T[];
29
+ pageInfo: PaginationPageInfo;
30
+ totalCount?: number;
31
+ requestedCount: number;
32
+ serverEpoch?: string;
33
+ serverVersion?: RtsQueryWindowServerVersion;
34
+ storedAt: number;
35
+ };
36
+ export type RtsQueryWindowSnapshotKey = {
37
+ modelName: string;
38
+ queryKey: string;
39
+ uid: string;
40
+ };
41
+ export type RtsQueryWindowSnapshotWrite<T extends Record<string, unknown> = Record<string, unknown>> = RtsQueryWindowSnapshotKey & Omit<RtsQueryWindowSnapshot<T>, "storedAt"> & {
42
+ storedAt?: number;
43
+ };
44
+ export type RtsQueryWindowSnapshotRead<T extends Record<string, unknown> = Record<string, unknown>> = {
45
+ hit: true;
46
+ snapshot: RtsQueryWindowSnapshot<T>;
47
+ } | {
48
+ hit: false;
49
+ };
23
50
  export declare const configureRtsPouchStore: (config: RtsPouchStoreConfig | null) => void;
24
51
  export declare const getCollection: (modelName: string, options: {
25
52
  uid: string;
26
53
  }) => Promise<PouchDbDatabase>;
54
+ export declare const readQueryWindowSnapshot: <T extends Record<string, unknown>>({ modelName, queryKey, uid, now, }: RtsQueryWindowSnapshotKey & {
55
+ now?: number;
56
+ }) => Promise<RtsQueryWindowSnapshotRead<T>>;
57
+ export declare const writeQueryWindowSnapshot: <T extends Record<string, unknown>>({ modelName, queryKey, uid, data, pageInfo: rawPageInfo, totalCount, requestedCount, serverEpoch, serverVersion, storedAt: rawStoredAt, }: RtsQueryWindowSnapshotWrite<T>) => Promise<RtsQueryWindowSnapshot<T>>;
58
+ export declare const invalidateQueryWindowSnapshots: ({ uid, modelName, }: {
59
+ uid: string;
60
+ modelName?: string;
61
+ }) => Promise<void>;
27
62
  export declare const runQuery: <T extends Record<string, unknown>>({ modelName, query, options, }: {
28
63
  modelName: string;
29
64
  query?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"pouchStore.d.ts","sourceRoot":"","sources":["../../src/rts/pouchStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pouchStore.d.ts","sourceRoot":"","sources":["../../src/rts/pouchStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryKey.d.ts","sourceRoot":"","sources":["../../src/rts/queryKey.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAQzC,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,MAWvD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,UAAU,EAAE,SAAS,kBAAkB,KAAG,MAQnF,CAAA"}
1
+ {"version":3,"file":"queryKey.d.ts","sourceRoot":"","sources":["../../src/rts/queryKey.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAQzC,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,MAWvD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,UAAU,EAAE,SAAS,kBAAkB,KAAG,MAWnF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const RTS_QUERY_WINDOW_MAX_COUNT = 4096;
2
+ //# sourceMappingURL=queryWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryWindow.d.ts","sourceRoot":"","sources":["../../src/rts/queryWindow.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCountQuery.d.ts","sourceRoot":"","sources":["../../src/rts/useCountQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGhD,OAAO,EAAiB,KAAK,eAAe,EAA6B,MAAM,YAAY,CAAA;AAG3F,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAQzC,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACvD,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,YAAY,EACvB,QAAO,UAAe,EACtB,UAAS,uBAA4B,KACpC,sBAuIF,CAAA"}
1
+ {"version":3,"file":"useCountQuery.d.ts","sourceRoot":"","sources":["../../src/rts/useCountQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGhD,OAAO,EAAiB,KAAK,eAAe,EAA6B,MAAM,YAAY,CAAA;AAG3F,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAQzC,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACvD,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,YAAY,EACvB,QAAO,UAAe,EACtB,UAAS,uBAA4B,KACpC,sBAgJF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/rts/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIlE,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAkFzC,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAC7C,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClF,WAAW,YAAY,EACvB,QAAO,UAAe,EACtB,UAAS,kBAAuB,KAC/B,iBAAiB,CAAC,CAAC,CAmerB,CAAA"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/rts/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAKhD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIlE,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAkDzC,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAC7C,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClF,WAAW,YAAY,EACvB,QAAO,UAAe,EACtB,UAAS,kBAAuB,KAC/B,iBAAiB,CAAC,CAAC,CAyZrB,CAAA"}
@@ -19,13 +19,20 @@ export type RtsNetworkQueryContext = {
19
19
  txnId?: string;
20
20
  pageInfo?: PaginationPageInfo;
21
21
  totalCount?: number;
22
+ window?: RtsQueryWindow;
22
23
  };
23
24
  export type RtsCacheQueryContext = {
24
25
  source: "cache";
25
26
  pageInfo?: PaginationPageInfo;
26
27
  totalCount?: number;
28
+ window?: RtsQueryWindow;
29
+ reset?: true;
27
30
  };
28
31
  export type RtsQueryContext = RtsNetworkQueryContext | RtsCacheQueryContext;
32
+ export type RtsQueryWindow = {
33
+ requestedCount: number;
34
+ version?: number;
35
+ };
29
36
  export type RtsNetworkCountContext = {
30
37
  source: "network";
31
38
  isLocal: boolean;
@@ -33,6 +40,7 @@ export type RtsNetworkCountContext = {
33
40
  };
34
41
  export type RtsCacheCountContext = {
35
42
  source: "cache";
43
+ reset?: true;
36
44
  };
37
45
  export type RtsCountContext = RtsNetworkCountContext | RtsCacheCountContext;
38
46
  export type RtsQueryOptions = {
@@ -85,6 +93,13 @@ export declare const registerQuery: (modelName: RtsModelName, query: JsonObject,
85
93
  forceRefreshOnMount?: boolean;
86
94
  seedSnapshot?: QuerySnapshot;
87
95
  }) => (() => void) | undefined;
96
+ export declare const setQueryWindowSize: ({ modelName, query, options, requestedCount, timeoutMs, }: {
97
+ modelName: RtsModelName;
98
+ query: JsonObject;
99
+ options: RtsQueryOptions;
100
+ requestedCount: number;
101
+ timeoutMs?: number;
102
+ }) => Promise<boolean>;
88
103
  export declare const registerCount: (modelName: RtsModelName, query: JsonObject, optionsOrCallback?: RtsCountQueryOptions | CountCallback, callbackMaybe?: CountCallback, behavior?: {
89
104
  runInitialNetworkQuery?: boolean;
90
105
  forceRefreshOnMount?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wsClient.d.ts","sourceRoot":"","sources":["../../src/rts/wsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wsClient.d.ts","sourceRoot":"","sources":["../../src/rts/wsClient.ts"],"names":[],"mappings":"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"}