@rpcbase/client 0.455.0 → 0.457.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 +78 -50
- package/dist/index.js.map +1 -1
- package/dist/notificationsRealtime.d.ts +7 -1
- package/dist/notificationsRealtime.d.ts.map +1 -1
- package/dist/rts/index.d.ts +1 -1
- package/dist/rts/index.d.ts.map +1 -1
- package/dist/rts/index.js +10 -2
- package/dist/rts/index.js.map +1 -1
- package/dist/rts/pouchStore.d.ts +35 -0
- package/dist/rts/pouchStore.d.ts.map +1 -1
- package/dist/rts/queryKey.d.ts.map +1 -1
- package/dist/rts/queryWindow.d.ts +2 -0
- package/dist/rts/queryWindow.d.ts.map +1 -0
- package/dist/rts/useCountQuery.d.ts.map +1 -1
- package/dist/rts/useQuery.d.ts.map +1 -1
- package/dist/rts/wsClient.d.ts +15 -0
- package/dist/rts/wsClient.d.ts.map +1 -1
- package/dist/{useQuery-BOjtIBwv.js → useQuery-DZqYIJog.js} +840 -238
- package/dist/useQuery-DZqYIJog.js.map +1 -0
- package/package.json +1 -1
- package/dist/useQuery-BOjtIBwv.js.map +0 -1
|
@@ -7,12 +7,18 @@ export type NotificationsRealtimeState = {
|
|
|
7
7
|
loading: boolean;
|
|
8
8
|
error: unknown;
|
|
9
9
|
};
|
|
10
|
+
export type NotificationToastRendererControls = {
|
|
11
|
+
dismiss: () => void;
|
|
12
|
+
open: () => void;
|
|
13
|
+
};
|
|
14
|
+
export type NotificationToastRenderer = (notification: NotificationItem, controls: NotificationToastRendererControls) => ReactNode | null | undefined;
|
|
10
15
|
export declare const NotificationsRealtimeContext: import('react').Context<NotificationsRealtimeState | null>;
|
|
11
|
-
export declare function NotificationsRealtimeProvider({ userId, appName, limit, toastOnNew, children, }: {
|
|
16
|
+
export declare function NotificationsRealtimeProvider({ userId, appName, limit, toastOnNew, renderNotificationToast, children, }: {
|
|
12
17
|
userId?: string;
|
|
13
18
|
appName?: string;
|
|
14
19
|
limit?: number;
|
|
15
20
|
toastOnNew?: boolean;
|
|
21
|
+
renderNotificationToast?: NotificationToastRenderer;
|
|
16
22
|
children: ReactNode;
|
|
17
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
18
24
|
export declare const useNotificationsRealtime: () => NotificationsRealtimeState | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationsRealtime.d.ts","sourceRoot":"","sources":["../src/notificationsRealtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAsPvD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,gBAAgB,EAAE,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,4BAA4B,4DAAyD,CAAA;
|
|
1
|
+
{"version":3,"file":"notificationsRealtime.d.ts","sourceRoot":"","sources":["../src/notificationsRealtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAsPvD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,gBAAgB,EAAE,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,iCAAiC,KACxC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAA;AAEjC,eAAO,MAAM,4BAA4B,4DAAyD,CAAA;AAqiBlG,wBAAgB,6BAA6B,CAAC,EAC5C,MAAM,EACN,OAAO,EACP,KAAW,EACX,UAAiB,EACjB,uBAAuB,EACvB,QAAQ,GACT,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uBAAuB,CAAC,EAAE,yBAAyB,CAAA;IACnD,QAAQ,EAAE,SAAS,CAAA;CACpB,2CAiMA;AAED,eAAO,MAAM,wBAAwB,QAAO,0BAA0B,GAAG,IAExE,CAAA"}
|
package/dist/rts/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/rts/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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-
|
|
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-
|
|
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);
|
package/dist/rts/index.js.map
CHANGED
|
@@ -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":";;;;AAUA,MAAMA,iBAAiBA,CAACC,UAAuC;AAC7D,MAAI,OAAOA,UAAU,SAAU,QAAOC;AACtC,MAAI,CAACC,OAAOC,SAASH,KAAK,KAAKA,QAAQ,EAAG,QAAOC;AACjD,SAAOG,KAAKC,MAAML,KAAK;AACzB;AAgBO,MAAMM,gBAAgBA,CAAAC,WAAAC,IAAAC,OAAA;AAAA,QAAAC,IAAAC,GAAA,EAAA;AAE3B,QAAAC,QAAAJ,OAAAP,SAAA,CAAA,IAAAO;AAAsB,MAAAK;AAAA,MAAAH,SAAAD,IAAA;AACtBI,SAAAJ,OAAAR,SAAA,CAAA,IAAAQ;AAAqCC,WAAAD;AAAAC,WAAAG;AAAAA,EAAA,OAAA;AAAAA,SAAAH,EAAA,CAAA;AAAA,EAAA;AAArC,QAAAI,UAAAD;AAEA,MAAI,OAAON,cAAc,YAAYA,UAASQ,KAAAA,EAAOC,WAAY,GAAC;AAChE,UAAM,IAAIC,MAAM,qDAAqD;AAAA,EAAC;AAGxE,QAAAC,UAAgBJ,QAAOI,WAAP;AAChB,QAAAC,aAAmBL,QAAOM,QAAS;AACnC,QAAAC,iBAAuBP,QAAOO,mBAAoB;AAClD,QAAAC,MAAYR,QAAOQ;AACnB,QAAAC,YAAkBC,uBAAuBZ,KAAK;AAAC,MAAAa;AAAA,MAAAf,SAAAY,KAAA;AACaG,SAAAH,MAAA;AAAA,MAAAA;AAAAA,IAAAA,IAAA,CAAA;AAAkBZ,WAAAY;AAAAZ,WAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,CAAA;AAAA,EAAA;AAA9E,QAAAgB,iBAA4DD;AAC5D,QAAAE,WAAiBC,mBAAmBhB,OAAOc,cAAc;AAEzD,QAAAG,aAAmBC,iBAAAA;AACnB,MAAIZ,WAAAC,cAAAU,YAAmC;AACrCA,eAAUE,cAAe;AAAA,MAAAxB;AAAAA,MAAAK;AAAAA,MAAAE,SAGdY;AAAAA,MAAcC;AAAAA,IAAAA,CAExB;AAAA,EAAC;AACH,MAAAK;AAAA,MAAAtB,EAAA,CAAA,MAAAQ,WAAAR,EAAA,CAAA,MAAAH,aAAAG,EAAA,CAAA,MAAAiB,YAAAjB,EAAA,CAAA,MAAAS,cAAAT,SAAAmB,YAAA;AAIGG,SAAAd,WAAAC,aACIU,aACEA,WAAUI,SAAU1B,WAAWoB,QACS,IAAxCO,qBAAqB3B,WAAWoB,QAAQ,IAH9C1B;AAIaS,WAAAQ;AAAAR,WAAAH;AAAAG,WAAAiB;AAAAjB,WAAAS;AAAAT,WAAAmB;AAAAnB,WAAAsB;AAAAA,EAAA,OAAA;AAAAA,SAAAtB,EAAA,CAAA;AAAA,EAAA;AANjB,QAAAyB,eAEIH;AAOH,MAAAI;AAAA,MAAA1B,UAAAyB,cAAA;AAEiBC,SAAArC,eAAeoC,YAAY;AAACzB,YAAAyB;AAAAzB,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAA9C,QAAA2B,YAAkBD;AAClB,QAAAE,eAAqBD,cAAcpC,SAAYsC,OAAOF,SAAc,IAA/C;AACrB,QAAAG,eAAqBH,cAAcpC;AAAS,MAAAwC;AAAA,MAAA/B,UAAA2B,WAAA;AAEWI,SAAAA,MAAMJ;AAAS3B,YAAA2B;AAAA3B,YAAA+B;AAAAA,EAAA,OAAA;AAAAA,SAAA/B,EAAA,EAAA;AAAA,EAAA;AAAtE,QAAA,CAAAgC,OAAAC,QAAA,IAA0BC,SAA6BH,EAAe;AAAC,MAAAI;AAAA,MAAAnC,UAAA8B,cAAA;AACeK,SAAAA,MAAOL,eAAA,UAAAvC;AAAmCS,YAAA8B;AAAA9B,YAAAmC;AAAAA,EAAA,OAAA;AAAAA,SAAAnC,EAAA,EAAA;AAAA,EAAA;AAAhI,QAAA,CAAAoC,QAAAC,SAAA,IAA4BH,SAA0DC,EAA0C;AAChI,QAAA,CAAAG,OAAAC,QAAA,IAA0BL,SAA8B3C,MAAS;AACjE,QAAA,CAAAiD,SAAAC,UAAA,IAA8BP,SAAkB1B,WAAA,CAAYsB,YAAY;AAExE,QAAAY,eAAqBC,OAA2BhB,SAAS;AAAC,MAAAiB;AAAA,MAAA5C,EAAA,EAAA,MAAAQ,WAAAR,EAAA,EAAA,MAAA8B,gBAAA9B,EAAA,EAAA,MAAAH,aAAAG,UAAAiB,YAAAjB,EAAA,EAAA,MAAA2B,aAAA3B,EAAA,EAAA,MAAAS,cAAAT,EAAA,EAAA,MAAAmB,YAAA;AAEhDyB,SAAAA,MAAA;AACR,UAAI,CAACzB,cAADX,WAAAC,cAAAqB,cAAoD;AACtDe,gCAAwBhD,WAAWoB,QAAQ;AAAA,MAAC;AAG9CyB,mBAAYI,UAAWnB;AACvBY,eAAShD,MAAS;AAElB,UAAI,CAACiB,SAAO;AACVyB,iBAAS1C,MAAS;AAClB8C,kBAAU9C,MAAS;AACnBkD,mBAAW,KAAK;AAAC;AAAA,MAAA;AAInB,UAAIX,cAAY;AACdG,iBAASN,SAAS;AAClBU,kBAAU,OAAO;AACjBI,mBAAW,KAAK;AAAC;AAAA,MAAA;AAInBR,eAAS1C,MAAS;AAClB8C,gBAAU9C,MAAS;AACnBkD,iBAAW,IAAI;AAAA,IAAC;AACjBzC,YAAAQ;AAAAR,YAAA8B;AAAA9B,YAAAH;AAAAG,YAAAiB;AAAAjB,YAAA2B;AAAA3B,YAAAS;AAAAT,YAAAmB;AAAAnB,YAAA4C;AAAAA,EAAA,OAAA;AAAAA,SAAA5C,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA+C;AAAA,MAAA/C,EAAA,EAAA,MAAAQ,WAAAR,EAAA,EAAA,MAAA8B,gBAAA9B,EAAA,EAAA,MAAAH,aAAAG,EAAA,EAAA,MAAAiB,YAAAjB,EAAA,EAAA,MAAA2B,aAAA3B,EAAA,EAAA,MAAA4B,gBAAA5B,EAAA,EAAA,MAAAS,cAAAT,UAAAmB,YAAA;AAAE4B,UAACvC,SAASC,YAAYU,YAAYtB,WAAWoB,UAAUa,cAAcH,WAAWC,YAAY;AAAC5B,YAAAQ;AAAAR,YAAA8B;AAAA9B,YAAAH;AAAAG,YAAAiB;AAAAjB,YAAA2B;AAAA3B,YAAA4B;AAAA5B,YAAAS;AAAAT,YAAAmB;AAAAnB,YAAA+C;AAAAA,EAAA,OAAA;AAAAA,SAAA/C,EAAA,EAAA;AAAA,EAAA;AAzBhGgD,YAAUJ,IAyBPG,EAA6F;AAAC,MAAAE;AAAA,MAAAjD,EAAA,EAAA,MAAAQ,WAAAR,EAAA,EAAA,MAAA8B,gBAAA9B,EAAA,EAAA,MAAAH,aAAAG,UAAAE,SAAAF,EAAA,EAAA,MAAAW,kBAAAX,EAAA,EAAA,MAAAgB,kBAAAhB,EAAA,EAAA,MAAA2B,WAAA;AAEvFsB,UAAAA,MAAA;AACR,UAAI,CAACzC,SAAO;AAAA;AAAA,MAAA;AAEZ,YAAA0C,cAAoB7B,cAClBxB,WACAK,OACAc,gBACA,CAAAmC,KAAAC,WAAAC,YAAA;AACEZ,mBAAW,KAAK;AAEhB,YAAIU,KAAG;AACLZ,mBAASY,GAAG;AAAC;AAAA,QAAA;AAIf,YAAIC,cAAc7D,QAAS;AAAA;AAAA,QAAA;AAC3BgD,iBAAShD,MAAS;AAClB,YAAImD,aAAYI,YAAaM,WAAS;AACpCf,oBAAUgB,QAAOjB,MAAO;AAAC;AAAA,QAAA;AAI3BM,qBAAYI,UAAWM;AACvBnB,iBAASmB,SAAS;AAClBf,kBAAUgB,QAAOjB,MAAO;AAAA,MAAC,GAE3B;AAAA,QAAAkB,wBAC0B3C,kBAAA,CAAmBmB;AAAAA,QAAYyB,qBAClC5C;AAAAA,QAAc,GAC/BmB,eAAA;AAAA,UAAA0B,cAEc;AAAA,YAAAlB,OACL;AAAA,YAAIN,OACJL;AAAAA,YAAS0B,SACP;AAAA,cAAAjB,QAAU;AAAA,YAAA;AAAA,UAAQ;AAAA,QAC7B,IANA,CAAA;AAAA,MAQC,CAET;AAAC,aAEM,MAAA;AACLc,sBAAAA;AAAAA,MAAe;AAAA,IAChB;AACFlD,YAAAQ;AAAAR,YAAA8B;AAAA9B,YAAAH;AAAAG,YAAAE;AAAAF,YAAAW;AAAAX,YAAAgB;AAAAhB,YAAA2B;AAAA3B,YAAAiD;AAAAA,EAAA,OAAA;AAAAA,UAAAjD,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAyD;AAAA,MAAAzD,EAAA,EAAA,MAAAQ,WAAAR,EAAA,EAAA,MAAA8B,gBAAA9B,EAAA,EAAA,MAAAH,aAAAG,UAAAa,aAAAb,EAAA,EAAA,MAAAiB,YAAAjB,EAAA,EAAA,MAAAW,kBAAAX,EAAA,EAAA,MAAAgB,gBAAA;AAAEyC,UAAA,CACDjD,SACAX,WACAgB,WACAI,UACAD,gBACAc,cACAnB,cAAc;AACfX,YAAAQ;AAAAR,YAAA8B;AAAA9B,YAAAH;AAAAG,YAAAa;AAAAb,YAAAiB;AAAAjB,YAAAW;AAAAX,YAAAgB;AAAAhB,YAAAyD;AAAAA,EAAA,OAAA;AAAAA,UAAAzD,EAAA,EAAA;AAAA,EAAA;AApDDgD,YAAUC,KA4CPQ,GAQF;AAAC,MAAAC;AAAA,MAAA1D,EAAA,EAAA,MAAAgC,SAAAhC,EAAA,EAAA,MAAAsC,SAAAtC,EAAA,EAAA,MAAAwC,WAAAxC,UAAAoC,QAAA;AAGOsB,UAAA;AAAA,MAAA1B;AAAAA,MAAAI;AAAAA,MAAAE;AAAAA,MAAAE;AAAAA,IAAAA;AAKNxC,YAAAgC;AAAAhC,YAAAsC;AAAAtC,YAAAwC;AAAAxC,YAAAoC;AAAApC,YAAA0D;AAAAA,EAAA,OAAA;AAAAA,UAAA1D,EAAA,EAAA;AAAA,EAAA;AAAA,SALM0D;AAKN;AChKL,IAAIC,kBAAkB;AACtB,IAAIC,eAA8B;AAClC,IAAIC,yBAA+D;AAEnE,MAAMC,0BAA0BA,MAAM;AACpC,MAAID,2BAA2B,MAAM;AACnCE,iBAAaF,sBAAsB;AACnCA,6BAAyB;AAAA,EAC3B;AACF;AAEO,MAAMG,mBAAmBA,CAC9BC,UACAC,KACA9D,UAA6B,CAAA,MACpB;AACT,QAAM+D,gBAAgB,OAAOF,aAAa,WAAWA,SAAS5D,SAAS;AACvE,QAAM+D,WAAW,OAAOF,QAAQ,WAAWA,IAAI7D,SAAS;AACxD,QAAMgE,cAAcvD,uBAAuBV,OAAO;AAElD,QAAMkE,aAAa3B,OAAOvC,OAAO;AACjCkE,aAAWxB,UAAU1C;AAErB4C,YAAU,MAAM;AACd,QAAI,OAAOuB,WAAW,YAAa;AACnC,QAAI,CAACJ,iBAAiB,CAACC,SAAU;AAEjCT,uBAAmB;AACnBG,4BAAAA;AAEA,UAAMlD,MAAM,GAAGuD,aAAa,KAAKC,QAAQ,KAAKC,WAAW;AACzD,QAAIT,iBAAiBhD,KAAK;AACxBgD,qBAAehD;AACf,WAAK4D,UAAUL,eAAeC,UAAUE,WAAWxB,OAAO,EAAE2B,MAAOnC,CAAAA,UAAU;AAC3EsB,uBAAe;AACfc,gBAAQpC,MAAM,yBAAyBA,KAAK;AAAA,MAC9C,CAAC;AAAA,IACH;AAEA,WAAO,MAAM;AACXqB,yBAAmB;AACnB,UAAIA,kBAAkB,EAAG;AAGzBE,+BAAyBc,WAAW,MAAM;AACxCd,iCAAyB;AACzB,YAAIF,kBAAkB,EAAG;AACzBC,uBAAe;AACfgB,mBAAAA;AAAAA,MACF,GAAG,CAAC;AAAA,IACN;AAAA,EACF,GAAG,CAACT,eAAeC,UAAUC,WAAW,CAAC;AAC3C;"}
|
|
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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"}
|
package/dist/rts/pouchStore.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
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,
|
|
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 @@
|
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/rts/wsClient.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"wsClient.d.ts","sourceRoot":"","sources":["../../src/rts/wsClient.ts"],"names":[],"mappings":"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"}
|