@multiplatform.one/frappe 7.10.0 → 7.15.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/README.md +59 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/common/types.native.js.map +1 -1
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/types.native.js.map +1 -1
- package/dist/cjs/core/wire.native.js.map +1 -1
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/cjs/devtools/index.native.js.map +1 -1
- package/dist/cjs/devtools/plugin.native.js.map +1 -1
- package/dist/cjs/devtools/theme.native.js.map +1 -1
- package/dist/cjs/doctype.cjs +25 -43
- package/dist/cjs/doctype.native.js +27 -43
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/fixtures.cjs +3 -0
- package/dist/cjs/fixtures.native.js +3 -0
- package/dist/cjs/fixtures.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +67 -31
- package/dist/cjs/frappeReact.native.js +87 -34
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -0
- package/dist/cjs/index.native.js +9 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/optimistic.native.js.map +1 -1
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/plugin/index.native.js.map +1 -1
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/serverLoaders.cjs +74 -0
- package/dist/cjs/serverLoaders.native.js +88 -0
- package/dist/cjs/serverLoaders.native.js.map +1 -0
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +99 -14
- package/dist/cjs/sync/index.native.js +129 -14
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.cjs +4 -0
- package/dist/cjs/sync/rehydration.native.js +6 -0
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/syncOptionsKey.cjs +59 -0
- package/dist/cjs/syncOptionsKey.native.js +82 -0
- package/dist/cjs/syncOptionsKey.native.js.map +1 -0
- package/dist/cjs/useLiveQuery.cjs +2 -20
- package/dist/cjs/useLiveQuery.native.js +1 -22
- package/dist/cjs/useLiveQuery.native.js.map +1 -1
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.native.js.map +1 -1
- package/dist/esm/core/wire.native.js.map +1 -1
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js.map +1 -1
- package/dist/esm/devtools/theme.native.js.map +1 -1
- package/dist/esm/doctype.mjs +23 -44
- package/dist/esm/doctype.mjs.map +1 -1
- package/dist/esm/doctype.native.js +25 -44
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.mjs +3 -0
- package/dist/esm/fixtures.mjs.map +1 -1
- package/dist/esm/fixtures.native.js +3 -0
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +68 -33
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +87 -35
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.mjs +4 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +4 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/serverLoaders.mjs +48 -0
- package/dist/esm/serverLoaders.mjs.map +1 -0
- package/dist/esm/serverLoaders.native.js +59 -0
- package/dist/esm/serverLoaders.native.js.map +1 -0
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +99 -14
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +129 -14
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.mjs +4 -0
- package/dist/esm/sync/rehydration.mjs.map +1 -1
- package/dist/esm/sync/rehydration.native.js +6 -0
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/syncOptionsKey.mjs +34 -0
- package/dist/esm/syncOptionsKey.mjs.map +1 -0
- package/dist/esm/syncOptionsKey.native.js +54 -0
- package/dist/esm/syncOptionsKey.native.js.map +1 -0
- package/dist/esm/useLiveQuery.mjs +1 -19
- package/dist/esm/useLiveQuery.mjs.map +1 -1
- package/dist/esm/useLiveQuery.native.js +1 -22
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/auth.native.js.map +1 -1
- package/dist/jsx/call.native.js.map +1 -1
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/common/types.native.js.map +1 -1
- package/dist/jsx/core/http.native.js.map +1 -1
- package/dist/jsx/core/types.native.js.map +1 -1
- package/dist/jsx/core/wire.native.js.map +1 -1
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/jsx/devtools/index.native.js.map +1 -1
- package/dist/jsx/devtools/plugin.native.js.map +1 -1
- package/dist/jsx/devtools/theme.native.js.map +1 -1
- package/dist/jsx/doctype.mjs +23 -44
- package/dist/jsx/doctype.mjs.map +1 -1
- package/dist/jsx/doctype.native.js +27 -43
- package/dist/jsx/doctype.native.js.map +1 -1
- package/dist/jsx/file.native.js.map +1 -1
- package/dist/jsx/fixtureDb.native.js.map +1 -1
- package/dist/jsx/fixtures.mjs +3 -0
- package/dist/jsx/fixtures.mjs.map +1 -1
- package/dist/jsx/fixtures.native.js +3 -0
- package/dist/jsx/fixtures.native.js.map +1 -1
- package/dist/jsx/frappeApp.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +68 -33
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +87 -34
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/index.js +4 -3
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +4 -3
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +9 -2
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/optimistic.native.js.map +1 -1
- package/dist/jsx/pacer.native.js.map +1 -1
- package/dist/jsx/plugin/index.native.js.map +1 -1
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/serverLoaders.mjs +48 -0
- package/dist/jsx/serverLoaders.mjs.map +1 -0
- package/dist/jsx/serverLoaders.native.js +88 -0
- package/dist/jsx/serverLoaders.native.js.map +1 -0
- package/dist/jsx/sync/backfill.native.js.map +1 -1
- package/dist/jsx/sync/filters.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +99 -14
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +129 -14
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
- package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
- package/dist/jsx/sync/persistence.native.js.map +1 -1
- package/dist/jsx/sync/realtime.native.js.map +1 -1
- package/dist/jsx/sync/rehydration.mjs +4 -0
- package/dist/jsx/sync/rehydration.mjs.map +1 -1
- package/dist/jsx/sync/rehydration.native.js +6 -0
- package/dist/jsx/sync/rehydration.native.js.map +1 -1
- package/dist/jsx/sync/storage.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
- package/dist/jsx/syncOptionsKey.mjs +34 -0
- package/dist/jsx/syncOptionsKey.mjs.map +1 -0
- package/dist/jsx/syncOptionsKey.native.js +82 -0
- package/dist/jsx/syncOptionsKey.native.js.map +1 -0
- package/dist/jsx/useLiveQuery.mjs +1 -19
- package/dist/jsx/useLiveQuery.mjs.map +1 -1
- package/dist/jsx/useLiveQuery.native.js +1 -22
- package/dist/jsx/useLiveQuery.native.js.map +1 -1
- package/dist/jsx/util.native.js.map +1 -1
- package/package.json +12 -12
- package/src/doctype.spec.ts +148 -5
- package/src/doctype.ts +202 -173
- package/src/fixtures.ts +1 -0
- package/src/frappeReact.catchUp.spec.tsx +105 -0
- package/src/frappeReact.hydration.spec.tsx +164 -0
- package/src/frappeReact.spec.ts +56 -0
- package/src/frappeReact.ts +93 -43
- package/src/index.ts +14 -0
- package/src/serverLoaders.ts +77 -0
- package/src/sync/catchUp.spec.ts +142 -0
- package/src/sync/index.ts +106 -9
- package/src/sync/rehydration.ts +5 -0
- package/src/sync/syncModule.spec.ts +20 -0
- package/src/sync/types.ts +9 -1
- package/src/syncOptionsKey.spec.ts +46 -0
- package/src/syncOptionsKey.ts +45 -0
- package/src/useLiveQuery.hydration.spec.tsx +129 -0
- package/src/useLiveQuery.spec.ts +3 -11
- package/src/useLiveQuery.ts +3 -57
- package/types/doctype.d.ts +117 -33
- package/types/doctype.d.ts.map +1 -1
- package/types/fixtures.d.ts.map +1 -1
- package/types/frappeReact.d.ts +9 -3
- package/types/frappeReact.d.ts.map +1 -1
- package/types/index.d.ts +6 -5
- package/types/index.d.ts.map +1 -1
- package/types/serverLoaders.d.ts +40 -0
- package/types/serverLoaders.d.ts.map +1 -0
- package/types/sync/index.d.ts +15 -1
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/rehydration.d.ts +2 -0
- package/types/sync/rehydration.d.ts.map +1 -1
- package/types/sync/types.d.ts +8 -1
- package/types/sync/types.d.ts.map +1 -1
- package/types/syncOptionsKey.d.ts +3 -0
- package/types/syncOptionsKey.d.ts.map +1 -0
- package/types/useLiveQuery.d.ts +3 -13
- package/types/useLiveQuery.d.ts.map +1 -1
package/src/useLiveQuery.ts
CHANGED
|
@@ -1,59 +1,5 @@
|
|
|
1
|
-
import { isServer } from "@multiplatform.one/platform";
|
|
2
|
-
import { useLiveQuery as useLiveQueryBase } from "@tanstack/react-db";
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* state so SSR markup matches the client's first paint.
|
|
2
|
+
* React DB supplies the server snapshot for both SSR and browser hydration.
|
|
3
|
+
* Keep the upstream hook lifecycle intact on every platform.
|
|
8
4
|
*/
|
|
9
|
-
|
|
10
|
-
state: undefined,
|
|
11
|
-
data: undefined,
|
|
12
|
-
collection: undefined,
|
|
13
|
-
status: "loading",
|
|
14
|
-
isLoading: true,
|
|
15
|
-
isReady: false,
|
|
16
|
-
isIdle: false,
|
|
17
|
-
isError: false,
|
|
18
|
-
isCleanedUp: false,
|
|
19
|
-
isEnabled: true,
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* True when this module is evaluated during web server rendering.
|
|
24
|
-
*
|
|
25
|
-
* This used to read `import.meta.env.SSR` behind a try/catch. MPO-192 ruled
|
|
26
|
-
* that shape out: two bundles execute mpo as a CLASSIC script — the
|
|
27
|
-
* vxrn/rolldown native bundle for Hermes, and any Metro bundle for
|
|
28
|
-
* platform=web, which is what an Expo DOM component (`'use dom'`) is — and in
|
|
29
|
-
* a classic script `import.meta` is a PARSE-time SyntaxError, so the catch
|
|
30
|
-
* never gets to run. The whole module fails to parse and takes its consumers
|
|
31
|
-
* with it.
|
|
32
|
-
*
|
|
33
|
-
* `isServer` is the repo's own answer and carries no `import.meta`: it comes
|
|
34
|
-
* from @tamagui/constants through @multiplatform.one/platform, and it is
|
|
35
|
-
* split at the FILE level (`constants.native.ts` hardcodes `isServer = false`)
|
|
36
|
-
* rather than by a bundler define. Web server render is the only case that
|
|
37
|
-
* answers true — a browser has navigator + location, native takes the
|
|
38
|
-
* `.native` flavour, and a DOM component's WebView is a browser.
|
|
39
|
-
*/
|
|
40
|
-
const IS_SSR: boolean = isServer;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* SSR-safe wrapper around `useLiveQuery` from `@tanstack/react-db`.
|
|
44
|
-
*
|
|
45
|
-
* The upstream hook calls `useSyncExternalStore(subscribe, getSnapshot)`
|
|
46
|
-
* without a `getServerSnapshot`, so react-dom/server throws "Missing
|
|
47
|
-
* getServerSnapshot, which is required for server-rendered content" the
|
|
48
|
-
* moment any component using it is server rendered (e.g. deep-linking a
|
|
49
|
-
* web route). On the server we skip the subscription entirely and return
|
|
50
|
-
* a static "loading" result; the live query takes over on the client.
|
|
51
|
-
*
|
|
52
|
-
* `IS_SSR` is constant for the lifetime of the process, so hook order
|
|
53
|
-
* never varies within a renderer.
|
|
54
|
-
*/
|
|
55
|
-
export const useLiveQuery: typeof useLiveQueryBase = ((...args: unknown[]) => {
|
|
56
|
-
if (IS_SSR) return SSR_LIVE_QUERY_RESULT;
|
|
57
|
-
// oxlint-disable-next-line rules-of-hooks -- branch is process-constant
|
|
58
|
-
return (useLiveQueryBase as (...args: unknown[]) => unknown)(...args);
|
|
59
|
-
}) as typeof useLiveQueryBase;
|
|
5
|
+
export { useLiveQuery } from "@tanstack/react-db";
|
package/types/doctype.d.ts
CHANGED
|
@@ -5,42 +5,91 @@
|
|
|
5
5
|
* documents, and searching across DocTypes for navigation (Awesomebar).
|
|
6
6
|
*/
|
|
7
7
|
import type { FrappeConnectionConfig } from "./pacer";
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Every fieldtype a Frappe bench serves: the options of `DocField.fieldtype`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const stockFieldTypes: readonly ["Autocomplete", "Attach", "Attach Image", "Barcode", "Button", "Check", "Code", "Color", "Column Break", "Currency", "Data", "Date", "Datetime", "Duration", "Dynamic Link", "Float", "Fold", "Geolocation", "HTML", "HTML Editor", "Heading", "Icon", "Image", "Int", "JSON", "Link", "Long Text", "Markdown Editor", "Password", "Percent", "Phone", "Rating", "Read Only", "Section Break", "Select", "Signature", "Small Text", "Tab Break", "Table", "Table MultiSelect", "Text", "Text Editor", "Time"];
|
|
12
|
+
/**
|
|
13
|
+
* Fieldtypes no bench serves. frappe-ui's field registry renders them for
|
|
14
|
+
* hand-written meta, so they belong to the union: the registry must never
|
|
15
|
+
* accept a fieldtype the meta model forbids (MPO-15).
|
|
16
|
+
*/
|
|
17
|
+
export declare const customFieldTypes: readonly ["Date Range", "Mention", "OTP", "Progress", "Radio", "Slider", "Switch", "Toggle Group"];
|
|
18
|
+
/** Every fieldtype a `DocTypeField` may carry, and all `registerField` accepts. */
|
|
19
|
+
export declare const frappeFieldTypes: readonly ["Autocomplete", "Attach", "Attach Image", "Barcode", "Button", "Check", "Code", "Color", "Column Break", "Currency", "Data", "Date", "Datetime", "Duration", "Dynamic Link", "Float", "Fold", "Geolocation", "HTML", "HTML Editor", "Heading", "Icon", "Image", "Int", "JSON", "Link", "Long Text", "Markdown Editor", "Password", "Percent", "Phone", "Rating", "Read Only", "Section Break", "Select", "Signature", "Small Text", "Tab Break", "Table", "Table MultiSelect", "Text", "Text Editor", "Time", "Date Range", "Mention", "OTP", "Progress", "Radio", "Slider", "Switch", "Toggle Group"];
|
|
20
|
+
export type FrappeFieldType = (typeof frappeFieldTypes)[number];
|
|
21
|
+
/**
|
|
22
|
+
* One DocField row as `frappe.desk.form.load.getdoctype` sends it. This is
|
|
23
|
+
* the only field model: the desk form engine, the list surfaces and
|
|
24
|
+
* `useDocTypeMeta` all read it. Flags stay the server's `0 | 1`, and the
|
|
25
|
+
* index signature carries the keys no surface reads yet.
|
|
26
|
+
*/
|
|
11
27
|
export interface DocTypeField {
|
|
12
28
|
fieldname: string;
|
|
13
29
|
fieldtype: FrappeFieldType;
|
|
14
30
|
label?: string;
|
|
15
31
|
/** Link target DocType, Select options, or Table child DocType */
|
|
16
32
|
options?: string;
|
|
17
|
-
reqd?:
|
|
18
|
-
unique?:
|
|
19
|
-
|
|
33
|
+
reqd?: 0 | 1;
|
|
34
|
+
unique?: 0 | 1;
|
|
35
|
+
hidden?: 0 | 1;
|
|
36
|
+
read_only?: 0 | 1;
|
|
37
|
+
bold?: 0 | 1;
|
|
38
|
+
in_list_view?: 0 | 1;
|
|
39
|
+
in_standard_filter?: 0 | 1;
|
|
40
|
+
in_global_search?: 0 | 1;
|
|
41
|
+
allow_in_quick_entry?: 0 | 1;
|
|
42
|
+
allow_on_submit?: 0 | 1;
|
|
43
|
+
no_copy?: 0 | 1;
|
|
44
|
+
set_only_once?: 0 | 1;
|
|
45
|
+
report_hide?: 0 | 1;
|
|
46
|
+
/** For Section Break fields: whether the section is collapsible */
|
|
47
|
+
collapsible?: 0 | 1;
|
|
48
|
+
collapsible_depends_on?: string;
|
|
20
49
|
/** Conditional visibility expression (e.g. `eval:doc.status=="Active"`) */
|
|
21
50
|
depends_on?: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
51
|
+
mandatory_depends_on?: string;
|
|
52
|
+
read_only_depends_on?: string;
|
|
53
|
+
fetch_from?: string;
|
|
54
|
+
fetch_if_empty?: 0 | 1;
|
|
55
|
+
permlevel?: number;
|
|
27
56
|
length?: number;
|
|
28
|
-
precision?: number;
|
|
57
|
+
precision?: string | number;
|
|
58
|
+
default?: string;
|
|
59
|
+
description?: string;
|
|
29
60
|
/** For Link fields: comma-separated search fields */
|
|
30
61
|
search_fields?: string;
|
|
31
|
-
|
|
32
|
-
|
|
62
|
+
idx?: number;
|
|
63
|
+
[key: string]: unknown;
|
|
33
64
|
}
|
|
34
|
-
/**
|
|
65
|
+
/** Role permission row from the DocType meta. */
|
|
35
66
|
export interface DocTypePermission {
|
|
36
|
-
role
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
67
|
+
role?: string;
|
|
68
|
+
permlevel?: number;
|
|
69
|
+
read?: 0 | 1;
|
|
70
|
+
write?: 0 | 1;
|
|
71
|
+
create?: 0 | 1;
|
|
72
|
+
delete?: 0 | 1;
|
|
73
|
+
submit?: 0 | 1;
|
|
74
|
+
cancel?: 0 | 1;
|
|
75
|
+
amend?: 0 | 1;
|
|
76
|
+
print?: 0 | 1;
|
|
77
|
+
email?: 0 | 1;
|
|
78
|
+
share?: 0 | 1;
|
|
79
|
+
if_owner?: 0 | 1;
|
|
80
|
+
[key: string]: unknown;
|
|
81
|
+
}
|
|
82
|
+
/** DocType Link child row (Connections tab). Probed: `group` arrives null when unset. */
|
|
83
|
+
export interface DocTypeLink {
|
|
84
|
+
name?: string;
|
|
85
|
+
link_doctype: string;
|
|
86
|
+
link_fieldname: string;
|
|
87
|
+
group?: string | null;
|
|
88
|
+
hidden?: 0 | 1;
|
|
89
|
+
is_child_table?: 0 | 1;
|
|
90
|
+
parent_doctype?: string;
|
|
91
|
+
table_fieldname?: string;
|
|
92
|
+
[key: string]: unknown;
|
|
44
93
|
}
|
|
45
94
|
/** A column in a form section, containing an ordered list of fields */
|
|
46
95
|
export interface FormColumn {
|
|
@@ -54,20 +103,51 @@ export interface FormSection {
|
|
|
54
103
|
tab?: boolean;
|
|
55
104
|
columns: FormColumn[];
|
|
56
105
|
}
|
|
57
|
-
/**
|
|
106
|
+
/** DocType meta as `frappe.desk.form.load.getdoctype` sends it (loose: the server is the source of truth). */
|
|
58
107
|
export interface DocTypeMeta {
|
|
108
|
+
doctype?: string;
|
|
59
109
|
name: string;
|
|
60
|
-
module
|
|
110
|
+
module?: string;
|
|
111
|
+
issingle?: 0 | 1;
|
|
112
|
+
istable?: 0 | 1;
|
|
113
|
+
is_submittable?: 0 | 1;
|
|
114
|
+
is_tree?: 0 | 1;
|
|
115
|
+
/** Desk treeview_settings asset (`{doctype}_tree.js`) — gates Tree. */
|
|
116
|
+
__tree_js?: string;
|
|
117
|
+
/** Desk calendar_settings asset (`{doctype}_calendar.js`) — gates Calendar. */
|
|
118
|
+
__calendar_js?: string;
|
|
119
|
+
is_virtual?: 0 | 1;
|
|
120
|
+
editable_grid?: 0 | 1;
|
|
121
|
+
track_changes?: 0 | 1;
|
|
122
|
+
quick_entry?: 0 | 1;
|
|
123
|
+
autoname?: string;
|
|
124
|
+
naming_rule?: string;
|
|
125
|
+
allow_rename?: 0 | 1;
|
|
126
|
+
allow_copy?: 0 | 1;
|
|
127
|
+
read_only?: 0 | 1;
|
|
128
|
+
in_create?: 0 | 1;
|
|
129
|
+
hide_toolbar?: 0 | 1;
|
|
130
|
+
max_attachments?: number;
|
|
61
131
|
title_field?: string;
|
|
62
132
|
image_field?: string;
|
|
63
|
-
|
|
64
|
-
sort_field
|
|
65
|
-
sort_order
|
|
66
|
-
|
|
133
|
+
search_fields?: string;
|
|
134
|
+
sort_field?: string;
|
|
135
|
+
sort_order?: string;
|
|
136
|
+
icon?: string;
|
|
137
|
+
document_type?: string;
|
|
138
|
+
/** May arrive as a JSON string or an already-parsed array. */
|
|
139
|
+
field_order?: string[] | string;
|
|
140
|
+
/** Flat list of all fields (`useDocTypeMeta` orders them by `field_order`) */
|
|
67
141
|
fields: DocTypeField[];
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
142
|
+
permissions?: DocTypePermission[];
|
|
143
|
+
links?: DocTypeLink[];
|
|
144
|
+
states?: Array<{
|
|
145
|
+
title?: string;
|
|
146
|
+
color?: string;
|
|
147
|
+
} & Record<string, unknown>>;
|
|
148
|
+
/** Layout tree parsed from the break fields. `useDocTypeMeta` fills it; a raw getdoctype doc has none. */
|
|
149
|
+
sections?: FormSection[];
|
|
150
|
+
[key: string]: unknown;
|
|
71
151
|
}
|
|
72
152
|
/** A search result for a Link field */
|
|
73
153
|
export interface LinkSearchResult {
|
|
@@ -150,6 +230,10 @@ export declare function parseFormLayout(fields: DocTypeField[]): FormSection[];
|
|
|
150
230
|
* where the RPC is not registered. When `config.fixtures` carries a "DocType"
|
|
151
231
|
* entry for the doctype it is used instead and no request is made.
|
|
152
232
|
*
|
|
233
|
+
* Neither route is open to Guest. A signed-out connection (its token source
|
|
234
|
+
* resolves empty and no desk session cookie names a user) gets a 403
|
|
235
|
+
* `FrappeError` without a request, so callers keep their Guest fallbacks.
|
|
236
|
+
*
|
|
153
237
|
* Responses are cached per-session in memory keyed by `{baseURL}:{doctype}`.
|
|
154
238
|
* The `refetch` function clears the cache entry and forces a fresh fetch.
|
|
155
239
|
*
|
|
@@ -162,7 +246,7 @@ export declare function parseFormLayout(fields: DocTypeField[]): FormSection[];
|
|
|
162
246
|
* function PokemonForm() {
|
|
163
247
|
* const { meta, isLoading } = useDocTypeMeta(config, "Pokemon");
|
|
164
248
|
* if (isLoading) return <Spinner />;
|
|
165
|
-
* return meta?.sections
|
|
249
|
+
* return meta?.sections?.map(section => (
|
|
166
250
|
* <FormSection key={section.label} section={section} />
|
|
167
251
|
* ));
|
|
168
252
|
* }
|
package/types/doctype.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctype.d.ts","sourceRoot":"","sources":["../src/doctype.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"doctype.d.ts","sourceRoot":"","sources":["../src/doctype.ts"],"names":[],"mappings":"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"}
|
package/types/fixtures.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
|
package/types/frappeReact.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Collection } from "@tanstack/db";
|
|
2
2
|
import { type FrappeCollectionOptionsConfig } from "./collection";
|
|
3
3
|
import { SyncModule } from "./sync";
|
|
4
|
-
import type { DebugMutationEntry } from "./sync/types";
|
|
4
|
+
import type { DebugMutationEntry, SyncCatchUpState } from "./sync/types";
|
|
5
5
|
/**
|
|
6
6
|
* Configuration for creating a Frappe collection with connection details.
|
|
7
7
|
*/
|
|
@@ -54,7 +54,8 @@ export interface UseFrappeCollectionConfig {
|
|
|
54
54
|
fixtures?: import("./fixtures").FixtureProvider;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* Returns the
|
|
57
|
+
* Returns the most recently constructed SyncModule (live or fixture mode),
|
|
58
|
+
* falling back to the first live one, or undefined if none exist.
|
|
58
59
|
* Intended for devtools integration — not part of the public API.
|
|
59
60
|
*/
|
|
60
61
|
export declare function __getActiveSyncModule(): SyncModule | undefined;
|
|
@@ -89,7 +90,7 @@ export declare function getFrappeSyncModule(config: UseFrappeCollectionConfig |
|
|
|
89
90
|
* @param config - Connection configuration (baseURL, auth)
|
|
90
91
|
* @param doctype - The Frappe doctype name
|
|
91
92
|
* @param options - Optional collection configuration (fields, filters, etc.)
|
|
92
|
-
* @returns A stable
|
|
93
|
+
* @returns A stable collection, or undefined during SSR/hydration or without config
|
|
93
94
|
*
|
|
94
95
|
* @example
|
|
95
96
|
* ```tsx
|
|
@@ -115,6 +116,11 @@ export declare function useFrappeCollection<TDoc extends object & {
|
|
|
115
116
|
name: string;
|
|
116
117
|
doctype: string;
|
|
117
118
|
}>(config: UseFrappeCollectionConfig | undefined, doctype: string, options?: Omit<FrappeCollectionOptionsConfig<TDoc>, "sync">): Collection<TDoc, string> | undefined;
|
|
119
|
+
export interface UseFrappeCatchUpResult extends SyncCatchUpState {
|
|
120
|
+
retry: () => Promise<SyncCatchUpState>;
|
|
121
|
+
}
|
|
122
|
+
/** Connection-level refresh qualification. Retry resolves with state, including failures. */
|
|
123
|
+
export declare function useFrappeCatchUp(config: UseFrappeCollectionConfig | undefined): UseFrappeCatchUpResult;
|
|
118
124
|
/** Snapshot returned by {@link useFrappeConnection}. */
|
|
119
125
|
export interface FrappeConnectionState {
|
|
120
126
|
/** Socket connected right now. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frappeReact.d.ts","sourceRoot":"","sources":["../src/frappeReact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"frappeReact.d.ts","sourceRoot":"","sources":["../src/frappeReact.ts"],"names":[],"mappings":"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"}
|
package/types/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { FrappeApp } from "./frappeApp";
|
|
8
8
|
export type { FrappeConfig } from "./frappeApp";
|
|
9
|
+
export { loadDoc, loadDocList, type FrappeLoaderRequest, type LoadDocListOptions, type LoadDocOptions, } from "./serverLoaders";
|
|
9
10
|
export { AuthModule } from "./auth";
|
|
10
11
|
export { CallModule } from "./call";
|
|
11
12
|
export { DbModule } from "./db";
|
|
@@ -17,8 +18,8 @@ export { createFrappeCollection, frappeCollectionOptions, createFixtureCollectio
|
|
|
17
18
|
export type { FrappeCollectionOptionsConfig, FixtureCollectionOptionsConfig } from "./collection";
|
|
18
19
|
export { createOptimisticAction, isOptimisticTempId, newOptimisticTempId, OPTIMISTIC_TEMP_PREFIX, runOptimisticRpc, } from "./optimistic";
|
|
19
20
|
export type { OptimisticRpcContext, OptimisticRpcOptions } from "./optimistic";
|
|
20
|
-
export { useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappePendingMutations, useInfiniteScroll, useFrappeInfiniteList, getFrappeSyncModule, __getActiveSyncModule, } from "./frappeReact";
|
|
21
|
-
export type { FrappeConnectionState, UseFrappeCollectionConfig, UseFrappePendingMutationsResult, UseInfiniteScrollConfig, UseInfiniteScrollResult, UseFrappeInfiniteListConfig, UseFrappeInfiniteListResult, } from "./frappeReact";
|
|
21
|
+
export { useFrappeCollection, useFrappeCatchUp, useFrappeConnection, useFrappeDoctypeEvents, useFrappePendingMutations, useInfiniteScroll, useFrappeInfiniteList, getFrappeSyncModule, __getActiveSyncModule, } from "./frappeReact";
|
|
22
|
+
export type { FrappeConnectionState, UseFrappeCatchUpResult, UseFrappeCollectionConfig, UseFrappePendingMutationsResult, UseInfiniteScrollConfig, UseInfiniteScrollResult, UseFrappeInfiniteListConfig, UseFrappeInfiniteListResult, } from "./frappeReact";
|
|
22
23
|
export type { SyncRealtimeEvent, SubscriptionRefreshOptions, SubscriptionRefreshResult, } from "./sync";
|
|
23
24
|
export { useDebouncedSearch, useThrottledPagination, createRateLimitedBatch } from "./pacer";
|
|
24
25
|
export type { DebouncedSearchOptions, DebouncedSearchResult, FrappeConnectionConfig, ThrottledPaginationOptions, ThrottledPaginationResult, RateLimitedBatchOptions, RateLimitedBatchHandle, } from "./pacer";
|
|
@@ -31,10 +32,10 @@ export { HttpClient, getCookie, setCookie, deleteCookie, setSSRCookies, clearSSR
|
|
|
31
32
|
export { FrappeError } from "./core/types";
|
|
32
33
|
export type { AuthConfig, ListOptions, CustomEndpoints, FrappeLiveConfig } from "./core/types";
|
|
33
34
|
export type { BackfillArgs, BackfillResponse, CursorPaginationArgs, CursorPaginationResponse, BatchMutationType, BatchMutation, BatchMutationsArgs, BatchMutationResult, BatchMutationsResponse, ListSinceArgs, ListSinceResponse, } from "./db";
|
|
34
|
-
export { useDocTypeMeta, useLinkSearch, useLinkTitle, useDocTypeSearch, parseDependsOn, parseFormLayout, } from "./doctype";
|
|
35
|
-
export type { DocTypeMeta, DocTypeField, DocTypePermission, FormSection, FormColumn, FrappeFieldType, LinkSearchResult, LinkSearchOptions, DocTypeSearchResult, } from "./doctype";
|
|
35
|
+
export { useDocTypeMeta, useLinkSearch, useLinkTitle, useDocTypeSearch, parseDependsOn, parseFormLayout, stockFieldTypes, customFieldTypes, frappeFieldTypes, } from "./doctype";
|
|
36
|
+
export type { DocTypeMeta, DocTypeField, DocTypePermission, DocTypeLink, FormSection, FormColumn, FrappeFieldType, LinkSearchResult, LinkSearchOptions, DocTypeSearchResult, } from "./doctype";
|
|
36
37
|
export type { FrappeDocValue, FrappeDocData, FrappeDoc, ChildTableRow } from "./common/types";
|
|
37
|
-
export type { SyncOptions, PageBoundaries, RehydrationStrategy, Mutation, CreateMutation, UpdateMutation, DeleteMutation, ConnectionConfig, TabCoordinationConfig, TabMessage, FrappeDebugState, DebugSubscription, DebugMutationEntry, PageIsland, } from "./sync/types";
|
|
38
|
+
export type { SyncOptions, SyncCatchUpState, PageBoundaries, RehydrationStrategy, Mutation, CreateMutation, UpdateMutation, DeleteMutation, ConnectionConfig, TabCoordinationConfig, TabMessage, FrappeDebugState, DebugSubscription, DebugMutationEntry, PageIsland, } from "./sync/types";
|
|
38
39
|
export { defaultPageLength, Order, Operation } from "./sync/types";
|
|
39
40
|
export { MergeStrategy, FieldMergeStrategy } from "./sync/merge";
|
|
40
41
|
export type { FieldMergeStrategyOrFunction, MergeConfig, MergeResult } from "./sync/merge";
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ListOptions } from "./core/types";
|
|
2
|
+
/** The slice of a route loader's `Request` the server reads: its cookie header. */
|
|
3
|
+
export interface FrappeLoaderRequest {
|
|
4
|
+
headers?: {
|
|
5
|
+
get(name: string): string | null;
|
|
6
|
+
} | null;
|
|
7
|
+
}
|
|
8
|
+
interface LoaderTarget {
|
|
9
|
+
/** Bench address the server dials (not the browser's). */
|
|
10
|
+
baseURL: string;
|
|
11
|
+
doctype: string;
|
|
12
|
+
/**
|
|
13
|
+
* The incoming request. Its cookie rides along so the server reads with
|
|
14
|
+
* the visitor's session. Absent (a loader run in the browser), nothing is
|
|
15
|
+
* fetched: the live collection reads instead.
|
|
16
|
+
*/
|
|
17
|
+
request?: FrappeLoaderRequest | null;
|
|
18
|
+
}
|
|
19
|
+
export type LoadDocListOptions = LoaderTarget & Pick<ListOptions, "fields" | "filters" | "orderBy" | "limit">;
|
|
20
|
+
export interface LoadDocOptions extends LoaderTarget {
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Rows for a server-rendered list, read with the query the page's live
|
|
25
|
+
* collection will use: hand both the same fields, filters, order and limit,
|
|
26
|
+
* or the collection's first sync replaces the rendered page with a
|
|
27
|
+
* different one (a 20-row default page shrank a 21-row list, MPO-322).
|
|
28
|
+
* A failed read renders an empty page rather than failing the route.
|
|
29
|
+
*/
|
|
30
|
+
export declare function loadDocList<TDoc extends {
|
|
31
|
+
name: string;
|
|
32
|
+
doctype: string;
|
|
33
|
+
}>({ baseURL, doctype, request, ...query }: LoadDocListOptions): Promise<TDoc[]>;
|
|
34
|
+
/** One document, child tables included, for a server-rendered detail page; null when missing. */
|
|
35
|
+
export declare function loadDoc<TDoc extends {
|
|
36
|
+
name: string;
|
|
37
|
+
doctype: string;
|
|
38
|
+
}>({ baseURL, doctype, name, request, }: LoadDocOptions): Promise<TDoc | null>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=serverLoaders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverLoaders.d.ts","sourceRoot":"","sources":["../src/serverLoaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACvD;AAED,UAAU,YAAY;IACpB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAC3C,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAEhE,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAaD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAChF,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAStC;AAED,iGAAiG;AACjG,wBAAsB,OAAO,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5E,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,GACR,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CASvC"}
|
package/types/sync/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { DbModule } from "../db";
|
|
|
3
3
|
import type { RealtimeModule } from "../realtime";
|
|
4
4
|
import type { SubscriptionRefreshOptions, SubscriptionRefreshResult } from "./subscriptionManager";
|
|
5
5
|
export type { SubscriptionRefreshOptions, SubscriptionRefreshResult } from "./subscriptionManager";
|
|
6
|
-
import type { BackfillArgs, DebugMutationEntry, SyncOptions, FrappeDebugState, Mutation, RealtimeEventType, SubscriptionQuery } from "./types";
|
|
6
|
+
import type { BackfillArgs, DebugMutationEntry, SyncOptions, SyncCatchUpState, FrappeDebugState, Mutation, RealtimeEventType, SubscriptionQuery } from "./types";
|
|
7
7
|
/** Realtime event forwarded to `subscribeRealtimeEvents` listeners. */
|
|
8
8
|
export interface SyncRealtimeEvent {
|
|
9
9
|
type: RealtimeEventType;
|
|
@@ -80,6 +80,10 @@ export declare class SyncModule {
|
|
|
80
80
|
private readonly db;
|
|
81
81
|
private readonly realtime?;
|
|
82
82
|
private readonly options;
|
|
83
|
+
private catchUpState;
|
|
84
|
+
private catchUpEpoch;
|
|
85
|
+
private disposed;
|
|
86
|
+
private catchUpRun?;
|
|
83
87
|
constructor(db: DbModule, realtime?: RealtimeModule, options?: SyncOptions);
|
|
84
88
|
/**
|
|
85
89
|
* Sets up lifecycle event listeners for sync triggers.
|
|
@@ -101,8 +105,18 @@ export declare class SyncModule {
|
|
|
101
105
|
*/
|
|
102
106
|
unsubscribe(subscriptionId: string): void;
|
|
103
107
|
mutate(mutation: Mutation<FrappeDocData>): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* The name the server assigned a document this module created under
|
|
110
|
+
* `temporaryName`, once the create is acknowledged. Undefined while it is
|
|
111
|
+
* pending, or when the server kept the name it was given.
|
|
112
|
+
*/
|
|
113
|
+
createdName(temporaryName: string): string | undefined;
|
|
104
114
|
/** Refresh active query snapshots in place. Failures retain the last committed data. */
|
|
105
115
|
refreshSubscriptions(options?: SubscriptionRefreshOptions): Promise<SubscriptionRefreshResult[]>;
|
|
116
|
+
getCatchUpState(): SyncCatchUpState;
|
|
117
|
+
private publishCatchUp;
|
|
118
|
+
/** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
|
|
119
|
+
catchUp(): Promise<SyncCatchUpState>;
|
|
106
120
|
/**
|
|
107
121
|
* Reconciles local state by fetching changes since stored cursors.
|
|
108
122
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,OAAO,KAAK,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACnG,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGnG,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAElB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,8 @@ export declare class RehydrationManager {
|
|
|
101
101
|
* Registers a temp ID to real name mapping.
|
|
102
102
|
*/
|
|
103
103
|
registerTempIdMapping(tempId: string, realName: string): void;
|
|
104
|
+
/** The name the server gave a document created under a temp id. */
|
|
105
|
+
resolveTempId(tempId: string): string | undefined;
|
|
104
106
|
/**
|
|
105
107
|
* Clears the rehydration queue.
|
|
106
108
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydration.d.ts","sourceRoot":"","sources":["../../src/sync/rehydration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAa,iBAAiB,EAA2B,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAwC,YAAY,EAAE,MAAM,SAAS,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAkB;IAC7B,mEAAmE;IACnE,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2D;IAC5F,uEAAuE;IACvE,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;gBAGrC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,eAAe,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,MAAM,IAAI;IASvB;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;IA0BzE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;;;;;;OAOG;YACW,YAAY;IA4B1B;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;YACW,oBAAoB;IAoBlC;;OAEG;YACW,eAAe;IAuC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgErB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAItD;;OAEG;IACH,KAAK;CAIN"}
|
|
1
|
+
{"version":3,"file":"rehydration.d.ts","sourceRoot":"","sources":["../../src/sync/rehydration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAa,iBAAiB,EAA2B,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAwC,YAAY,EAAE,MAAM,SAAS,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAkB;IAC7B,mEAAmE;IACnE,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2D;IAC5F,uEAAuE;IACvE,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;gBAGrC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,eAAe,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,MAAM,IAAI;IASvB;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;IA0BzE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;;;;;;OAOG;YACW,YAAY;IA4B1B;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;YACW,oBAAoB;IAoBlC;;OAEG;YACW,eAAe;IAuC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgErB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAItD,mEAAmE;IACnE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD;;OAEG;IACH,KAAK;CAIN"}
|
package/types/sync/types.d.ts
CHANGED
|
@@ -184,7 +184,14 @@ export declare enum RealtimeEventType {
|
|
|
184
184
|
Connected = "connected",
|
|
185
185
|
PermEpochBump = "perm_epoch_bump"
|
|
186
186
|
}
|
|
187
|
+
export interface SyncCatchUpState {
|
|
188
|
+
readonly refreshing: boolean;
|
|
189
|
+
readonly stale: boolean;
|
|
190
|
+
readonly error: unknown | null;
|
|
191
|
+
}
|
|
187
192
|
export interface SyncOptions {
|
|
193
|
+
/** Lifecycle catch-up uses CDC by default; snapshot requires only resource reads. */
|
|
194
|
+
catchUpStrategy?: "cdc" | "snapshot";
|
|
188
195
|
pageSize?: number;
|
|
189
196
|
persistKey?: string;
|
|
190
197
|
onConflict?: (info: {
|
|
@@ -270,7 +277,7 @@ export interface SyncOptions {
|
|
|
270
277
|
/** Rate limit for mutation replay - max mutations per second (default: 10) */
|
|
271
278
|
replayRateLimit?: number;
|
|
272
279
|
/**
|
|
273
|
-
* Optional interval (in milliseconds) for
|
|
280
|
+
* Optional interval (in milliseconds) for the selected catch-up strategy.
|
|
274
281
|
* Acts as a safety net for silent socket drops. Set to 0 or omit
|
|
275
282
|
* to rely solely on event-driven backfill (focus, online, reconnect).
|
|
276
283
|
* Recommended: 30000 (30 seconds) for production.
|