@multiplatform.one/frappe 6.4.2 → 6.6.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/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.cjs +25 -9
- package/dist/cjs/collection.native.js +25 -9
- 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.cjs +13 -2
- package/dist/cjs/db.native.js +18 -2
- 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.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.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +10 -3
- package/dist/cjs/frappeReact.native.js +11 -4
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.native.js +2 -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/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +6 -1
- package/dist/cjs/sync/index.native.js +6 -1
- 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.cjs +43 -19
- package/dist/cjs/sync/mutationEngine.native.js +51 -21
- 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.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.cjs +4 -0
- package/dist/cjs/sync/subscriptionManager.native.js +4 -0
- 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/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.mjs +24 -9
- package/dist/esm/collection.mjs.map +1 -1
- package/dist/esm/collection.native.js +25 -10
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.mjs.map +1 -1
- package/dist/esm/core/http.native.js +2 -2
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.mjs.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.mjs +13 -2
- package/dist/esm/db.mjs.map +1 -1
- package/dist/esm/db.native.js +19 -3
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js +2 -2
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js +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.native.js +1 -1
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js +7 -7
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +11 -4
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +17 -10
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.native.js +21 -21
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.native.js +4 -4
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.mjs.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.mjs.map +1 -1
- package/dist/esm/realtime.native.js +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/sync/backfill.mjs.map +1 -1
- package/dist/esm/sync/backfill.native.js +1 -1
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.mjs.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +6 -1
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +14 -9
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.mjs.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.mjs +43 -19
- package/dist/esm/sync/mutationEngine.mjs.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js +55 -25
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js +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 +2 -2
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.native.js +1 -1
- 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.mjs +4 -0
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js +8 -4
- 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.mjs.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/collection.mjs +24 -9
- package/dist/jsx/collection.mjs.map +1 -1
- package/dist/jsx/collection.native.js +25 -9
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/core/http.mjs.map +1 -1
- package/dist/jsx/core/types.mjs.map +1 -1
- package/dist/jsx/db.mjs +13 -2
- package/dist/jsx/db.mjs.map +1 -1
- package/dist/jsx/db.native.js +18 -2
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +11 -4
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +10 -3
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/plugin/index.mjs.map +1 -1
- package/dist/jsx/realtime.mjs.map +1 -1
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/sync/backfill.mjs.map +1 -1
- package/dist/jsx/sync/filters.mjs.map +1 -1
- package/dist/jsx/sync/filters.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +6 -1
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +6 -1
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.mjs.map +1 -1
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.mjs +43 -19
- package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js +51 -21
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.mjs +4 -0
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js +4 -0
- 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.mjs.map +1 -1
- package/package.json +6 -6
- package/src/collection.ts +53 -8
- package/src/db.spec.ts +70 -0
- package/src/db.ts +28 -2
- package/src/frappeReact.spec.ts +7 -1
- package/src/frappeReact.ts +30 -6
- package/src/frappeReactLiveQueryGc.spec.ts +44 -4
- package/src/sync/index.ts +10 -1
- package/src/sync/mutationEngine.ts +81 -20
- package/src/sync/optimisticCreateReconcile.spec.ts +372 -0
- package/src/sync/subscriptionManager.spec.ts +41 -0
- package/src/sync/subscriptionManager.ts +10 -0
- package/src/sync/subscriptions.spec.ts +4 -0
- package/src/sync/types.ts +9 -0
- package/types/collection.d.ts +12 -0
- package/types/collection.d.ts.map +1 -1
- package/types/db.d.ts.map +1 -1
- package/types/frappeReact.d.ts.map +1 -1
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/mutationEngine.d.ts.map +1 -1
- package/types/sync/subscriptionManager.d.ts.map +1 -1
- package/types/sync/types.d.ts +9 -0
- package/types/sync/types.d.ts.map +1 -1
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimistic create → server row identity reconciliation.
|
|
3
|
+
*
|
|
4
|
+
* Regression suite for the "optimistic insert row lingers beside the realtime
|
|
5
|
+
* server row" bug (p-results/fix-backoffice-resilience.md gap 3 known limit):
|
|
6
|
+
* the live wire wraps whitelisted method returns as `{message: {...doc}}`, so
|
|
7
|
+
* `createDoc().name` was undefined and the temporary→real remap never ran —
|
|
8
|
+
* the temp row stayed in membership forever, the realtime row was inserted
|
|
9
|
+
* alongside (2 UI rows / 1 server doc), the temp row's mutations 404'd, and
|
|
10
|
+
* with realtime unhealthy the post-create refetch of the temp name 404'd and
|
|
11
|
+
* rolled back a server-confirmed create (the insert-side sibling of the
|
|
12
|
+
* delete-refetch rollback bug).
|
|
13
|
+
*
|
|
14
|
+
* These specs run the REAL engine stack — SubscriptionManager,
|
|
15
|
+
* NormalizedCache, MutationJournal, RehydrationManager, RealtimeHandler,
|
|
16
|
+
* MutationEngine — over a scripted DbModule, so the ack/realtime race is
|
|
17
|
+
* exercised end-to-end in both orders (subscriptionManager.spec.ts pattern:
|
|
18
|
+
* real internals, mocked db).
|
|
19
|
+
*/
|
|
20
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
21
|
+
import type { FrappeDoc, FrappeDocData } from "../common/types";
|
|
22
|
+
import type { DbModule } from "../db";
|
|
23
|
+
import type { RealtimeModule } from "../realtime";
|
|
24
|
+
import { MutationEngine } from "./mutationEngine";
|
|
25
|
+
import { MutationJournal } from "./mutationJournal";
|
|
26
|
+
import { NormalizedCache } from "./normalizedCache";
|
|
27
|
+
import { RealtimeHandler } from "./realtime";
|
|
28
|
+
import { RehydrationManager } from "./rehydration";
|
|
29
|
+
import { SubscriptionManager } from "./subscriptionManager";
|
|
30
|
+
import { Operation } from "./types";
|
|
31
|
+
import type { CreateMutation } from "./types";
|
|
32
|
+
|
|
33
|
+
type Doc = FrappeDoc<FrappeDocData>;
|
|
34
|
+
|
|
35
|
+
interface Harness {
|
|
36
|
+
engine: MutationEngine;
|
|
37
|
+
subscriptionManager: SubscriptionManager;
|
|
38
|
+
cache: NormalizedCache;
|
|
39
|
+
journal: MutationJournal;
|
|
40
|
+
db: {
|
|
41
|
+
getDoc: ReturnType<typeof vi.fn>;
|
|
42
|
+
getDocList: ReturnType<typeof vi.fn>;
|
|
43
|
+
createDoc: ReturnType<typeof vi.fn>;
|
|
44
|
+
updateDoc: ReturnType<typeof vi.fn>;
|
|
45
|
+
deleteDoc: ReturnType<typeof vi.fn>;
|
|
46
|
+
backfill: ReturnType<typeof vi.fn>;
|
|
47
|
+
};
|
|
48
|
+
/** Server-side rows the mocked db serves (list + getDoc). */
|
|
49
|
+
serverRows: Doc[];
|
|
50
|
+
/** Fires a realtime list_update the way the socket would. */
|
|
51
|
+
emitListUpdate: (name: string) => Promise<void>;
|
|
52
|
+
realtimeHealthy: { value: boolean };
|
|
53
|
+
dispose: () => void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function createHarness(): Harness {
|
|
57
|
+
const serverRows: Doc[] = [];
|
|
58
|
+
const realtimeHealthy = { value: true };
|
|
59
|
+
|
|
60
|
+
const db = {
|
|
61
|
+
getDoc: vi.fn(async (doctype: string, name: string) => {
|
|
62
|
+
const row = serverRows.find((doc) => doc.doctype === doctype && doc.name === name);
|
|
63
|
+
if (!row) {
|
|
64
|
+
const error = new Error(`${doctype}/${name} not found`) as Error & { status: number };
|
|
65
|
+
error.status = 404;
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
return { ...row };
|
|
69
|
+
}),
|
|
70
|
+
getDocList: vi.fn(async (doctype: string) =>
|
|
71
|
+
serverRows.filter((doc) => doc.doctype === doctype).map((doc) => ({ ...doc })),
|
|
72
|
+
),
|
|
73
|
+
createDoc: vi.fn(),
|
|
74
|
+
updateDoc: vi.fn(),
|
|
75
|
+
deleteDoc: vi.fn(),
|
|
76
|
+
backfill: vi.fn(async () => ({ rows: [], checkpoint: undefined })),
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const realtimeHandlers = new Map<string, (payload: unknown) => Promise<void> | void>();
|
|
80
|
+
const realtime = {
|
|
81
|
+
isHealthy: () => realtimeHealthy.value,
|
|
82
|
+
on: (event: string, handler: (payload: unknown) => Promise<void> | void) => {
|
|
83
|
+
realtimeHandlers.set(event, handler);
|
|
84
|
+
},
|
|
85
|
+
subscribeList: vi.fn(),
|
|
86
|
+
unsubscribeList: vi.fn(),
|
|
87
|
+
disconnect: vi.fn(),
|
|
88
|
+
} as unknown as RealtimeModule;
|
|
89
|
+
|
|
90
|
+
const cache = new NormalizedCache({});
|
|
91
|
+
const journal = new MutationJournal({ enableAutoCleanup: false });
|
|
92
|
+
const subscriptionManager = new SubscriptionManager(db as unknown as DbModule, cache, {});
|
|
93
|
+
const rehydrationManager = new RehydrationManager(
|
|
94
|
+
db as unknown as DbModule,
|
|
95
|
+
cache,
|
|
96
|
+
subscriptionManager,
|
|
97
|
+
journal,
|
|
98
|
+
);
|
|
99
|
+
const engine = new MutationEngine(
|
|
100
|
+
db as unknown as DbModule,
|
|
101
|
+
realtime,
|
|
102
|
+
cache,
|
|
103
|
+
journal,
|
|
104
|
+
subscriptionManager,
|
|
105
|
+
rehydrationManager,
|
|
106
|
+
{},
|
|
107
|
+
);
|
|
108
|
+
const realtimeHandler = new RealtimeHandler(
|
|
109
|
+
db as unknown as DbModule,
|
|
110
|
+
realtime,
|
|
111
|
+
cache,
|
|
112
|
+
subscriptionManager,
|
|
113
|
+
rehydrationManager,
|
|
114
|
+
{},
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
engine,
|
|
119
|
+
subscriptionManager,
|
|
120
|
+
cache,
|
|
121
|
+
journal,
|
|
122
|
+
db,
|
|
123
|
+
serverRows,
|
|
124
|
+
emitListUpdate: async (name: string) => {
|
|
125
|
+
await realtimeHandlers.get("list_update")?.({ doctype: "TestDoc", name });
|
|
126
|
+
},
|
|
127
|
+
realtimeHealthy,
|
|
128
|
+
dispose: () => {
|
|
129
|
+
engine.dispose();
|
|
130
|
+
realtimeHandler.dispose();
|
|
131
|
+
rehydrationManager.clear();
|
|
132
|
+
journal.dispose();
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const serverDoc = (name: string): Doc => ({
|
|
138
|
+
doctype: "TestDoc",
|
|
139
|
+
name,
|
|
140
|
+
title: "Created",
|
|
141
|
+
modified: "2024-01-01T10:00:00",
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
const createMutation = (
|
|
145
|
+
doc: Partial<Doc>,
|
|
146
|
+
mutationId = "create-1",
|
|
147
|
+
): CreateMutation<FrappeDocData> => ({
|
|
148
|
+
mutationId,
|
|
149
|
+
operation: Operation.Create,
|
|
150
|
+
doc: { doctype: "TestDoc", ...doc } as Doc,
|
|
151
|
+
affected: [],
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
describe("optimistic create reconciliation (engine-level)", () => {
|
|
155
|
+
let harness: Harness;
|
|
156
|
+
let subscriptionId: string;
|
|
157
|
+
|
|
158
|
+
const rowNames = () =>
|
|
159
|
+
harness.subscriptionManager.getDocsForSubscription(subscriptionId).map((doc) => doc.name);
|
|
160
|
+
const docIds = () => [
|
|
161
|
+
...(harness.subscriptionManager.getSubscription(subscriptionId)?.docIds ?? []),
|
|
162
|
+
];
|
|
163
|
+
|
|
164
|
+
beforeEach(async () => {
|
|
165
|
+
vi.useFakeTimers();
|
|
166
|
+
harness = createHarness();
|
|
167
|
+
const result = await harness.subscriptionManager.subscribe({
|
|
168
|
+
doctype: "TestDoc",
|
|
169
|
+
fields: ["name", "title", "modified"],
|
|
170
|
+
});
|
|
171
|
+
subscriptionId = result.subscriptionId;
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
afterEach(() => {
|
|
175
|
+
harness.dispose();
|
|
176
|
+
vi.useRealTimers();
|
|
177
|
+
vi.restoreAllMocks();
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
it("server ack reconciles the optimistic row to a single server-named row", async () => {
|
|
181
|
+
harness.db.createDoc.mockImplementation(async () => {
|
|
182
|
+
harness.serverRows.push(serverDoc("real-1"));
|
|
183
|
+
return serverDoc("real-1");
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
const mutation = createMutation({ name: "new-todo-placeholder" });
|
|
187
|
+
const mutatePromise = harness.engine.mutate(mutation);
|
|
188
|
+
|
|
189
|
+
// Optimistic state: the placeholder row is live immediately.
|
|
190
|
+
expect(docIds()).toEqual(["new-todo-placeholder"]);
|
|
191
|
+
expect(rowNames()).toEqual(["new-todo-placeholder"]);
|
|
192
|
+
|
|
193
|
+
await mutatePromise;
|
|
194
|
+
|
|
195
|
+
// Ack reconciled identity: exactly one row, under the server name, and
|
|
196
|
+
// the row resolves from the cache (the ack payload seeded it — no wait
|
|
197
|
+
// for the realtime echo).
|
|
198
|
+
expect(docIds()).toEqual(["real-1"]);
|
|
199
|
+
expect(rowNames()).toEqual(["real-1"]);
|
|
200
|
+
expect(harness.cache.get({ doctype: "TestDoc", name: "new-todo-placeholder" })).toBeUndefined();
|
|
201
|
+
expect(harness.engine.getTemporaryIdToRealNameMap().get("new-todo-placeholder")).toBe("real-1");
|
|
202
|
+
|
|
203
|
+
// The idempotency machinery rides the first attempt.
|
|
204
|
+
expect(harness.db.createDoc).toHaveBeenCalledWith(
|
|
205
|
+
expect.objectContaining({ client_mutation_id: "create-1" }),
|
|
206
|
+
);
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
it("reconciles when the realtime insert arrives BEFORE the REST ack", async () => {
|
|
210
|
+
let resolveAck: (doc: Doc) => void = () => {};
|
|
211
|
+
harness.db.createDoc.mockImplementation(() => {
|
|
212
|
+
// Server commits immediately (realtime will observe the row); only the
|
|
213
|
+
// HTTP response is still in flight.
|
|
214
|
+
harness.serverRows.push(serverDoc("real-2"));
|
|
215
|
+
return new Promise<Doc>((resolve) => {
|
|
216
|
+
resolveAck = resolve;
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
const mutation = createMutation({ name: "new-todo-racer" });
|
|
221
|
+
const mutatePromise = harness.engine.mutate(mutation);
|
|
222
|
+
await vi.advanceTimersByTimeAsync(0);
|
|
223
|
+
expect(docIds()).toEqual(["new-todo-racer"]);
|
|
224
|
+
|
|
225
|
+
// Realtime beats the ack: the doctype-room event lands and the page
|
|
226
|
+
// refresh it schedules runs while the create is still pending.
|
|
227
|
+
await harness.emitListUpdate("real-2");
|
|
228
|
+
await vi.advanceTimersByTimeAsync(600);
|
|
229
|
+
|
|
230
|
+
// Pre-ack the engine honestly shows both: the unmatched server row and
|
|
231
|
+
// the still-pending optimistic row (they cannot be correlated until the
|
|
232
|
+
// ack names the create).
|
|
233
|
+
expect([...docIds()].sort()).toEqual(["new-todo-racer", "real-2"]);
|
|
234
|
+
|
|
235
|
+
resolveAck(serverDoc("real-2"));
|
|
236
|
+
await mutatePromise;
|
|
237
|
+
|
|
238
|
+
// Ack lands: the temp row is dropped rather than remapped onto the
|
|
239
|
+
// already-present server row — exactly one row, no duplicates.
|
|
240
|
+
expect(docIds()).toEqual(["real-2"]);
|
|
241
|
+
expect(rowNames()).toEqual(["real-2"]);
|
|
242
|
+
expect(harness.cache.get({ doctype: "TestDoc", name: "new-todo-racer" })).toBeUndefined();
|
|
243
|
+
|
|
244
|
+
// Late rehydrations stay idempotent.
|
|
245
|
+
await vi.advanceTimersByTimeAsync(1000);
|
|
246
|
+
expect(docIds()).toEqual(["real-2"]);
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
it("reconciles when the REST ack lands BEFORE the realtime insert", async () => {
|
|
250
|
+
harness.db.createDoc.mockImplementation(async () => {
|
|
251
|
+
harness.serverRows.push(serverDoc("real-3"));
|
|
252
|
+
return serverDoc("real-3");
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
await harness.engine.mutate(createMutation({ name: "new-todo-early-ack" }));
|
|
256
|
+
expect(docIds()).toEqual(["real-3"]);
|
|
257
|
+
|
|
258
|
+
// The realtime echo for the same doc arrives afterwards — membership
|
|
259
|
+
// already contains the server name, so nothing duplicates.
|
|
260
|
+
await harness.emitListUpdate("real-3");
|
|
261
|
+
await vi.advanceTimersByTimeAsync(1000);
|
|
262
|
+
|
|
263
|
+
expect(docIds()).toEqual(["real-3"]);
|
|
264
|
+
expect(rowNames()).toEqual(["real-3"]);
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
it("acks a create with an engine-generated temp name without sending the temp name", async () => {
|
|
268
|
+
harness.db.createDoc.mockImplementation(async () => {
|
|
269
|
+
harness.serverRows.push(serverDoc("real-4"));
|
|
270
|
+
return serverDoc("real-4");
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
const mutation = createMutation({});
|
|
274
|
+
const mutatePromise = harness.engine.mutate(mutation);
|
|
275
|
+
const optimisticIds = docIds();
|
|
276
|
+
expect(optimisticIds).toHaveLength(1);
|
|
277
|
+
expect(optimisticIds[0]).toMatch(/^tmp_/);
|
|
278
|
+
|
|
279
|
+
await mutatePromise;
|
|
280
|
+
|
|
281
|
+
// The generated temp id was never sent to the server…
|
|
282
|
+
expect(harness.db.createDoc.mock.calls[0][0].name).toBeUndefined();
|
|
283
|
+
// …and the ack still reconciled it away.
|
|
284
|
+
expect(docIds()).toEqual(["real-4"]);
|
|
285
|
+
expect(harness.cache.get({ doctype: "TestDoc", name: optimisticIds[0] })).toBeUndefined();
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
it("does not roll back a server-confirmed create when realtime is unhealthy", async () => {
|
|
289
|
+
// The insert-side sibling of the delete-refetch rollback bug: with the
|
|
290
|
+
// socket down, the post-mutation refetch used to target the PRE-remap
|
|
291
|
+
// temporary name → guaranteed 404 → journal.fail + rollback of a create
|
|
292
|
+
// the server had already committed.
|
|
293
|
+
harness.realtimeHealthy.value = false;
|
|
294
|
+
harness.db.createDoc.mockImplementation(async () => {
|
|
295
|
+
harness.serverRows.push(serverDoc("real-5"));
|
|
296
|
+
return serverDoc("real-5");
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
await expect(
|
|
300
|
+
harness.engine.mutate(createMutation({ name: "new-todo-offline-socket" })),
|
|
301
|
+
).resolves.not.toThrow();
|
|
302
|
+
|
|
303
|
+
expect(docIds()).toEqual(["real-5"]);
|
|
304
|
+
expect(rowNames()).toEqual(["real-5"]);
|
|
305
|
+
// The temp name was never refetched (it would 404).
|
|
306
|
+
expect(harness.db.getDoc).not.toHaveBeenCalledWith("TestDoc", "new-todo-offline-socket");
|
|
307
|
+
expect(harness.journal.get("create-1")).toBeUndefined(); // confirmed → removed
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
it("confirms (not rolls back) a create whose ack carries no document name", async () => {
|
|
311
|
+
// Custom endpoints (and the pre-fix live envelope) can yield an ack
|
|
312
|
+
// without a usable name. The engine then cannot remap — but it must NOT
|
|
313
|
+
// refetch the temporary name (guaranteed 404) and roll back a create
|
|
314
|
+
// the server just confirmed. The optimistic row stays until realtime /
|
|
315
|
+
// backfill reconciles it.
|
|
316
|
+
harness.realtimeHealthy.value = false;
|
|
317
|
+
harness.db.createDoc.mockResolvedValue({} as Doc);
|
|
318
|
+
|
|
319
|
+
await expect(
|
|
320
|
+
harness.engine.mutate(createMutation({ name: "new-todo-nameless-ack" })),
|
|
321
|
+
).resolves.not.toThrow();
|
|
322
|
+
|
|
323
|
+
expect(harness.db.getDoc).not.toHaveBeenCalled();
|
|
324
|
+
expect(harness.journal.get("create-1")).toBeUndefined(); // confirmed → removed
|
|
325
|
+
expect(docIds()).toEqual(["new-todo-nameless-ack"]);
|
|
326
|
+
expect(rowNames()).toEqual(["new-todo-nameless-ack"]);
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
it("rolls back a rejected create (temp row evicted from membership and cache)", async () => {
|
|
330
|
+
harness.db.createDoc.mockRejectedValue(
|
|
331
|
+
Object.assign(new Error("Validation failed"), {
|
|
332
|
+
status: 417,
|
|
333
|
+
}),
|
|
334
|
+
);
|
|
335
|
+
|
|
336
|
+
await expect(
|
|
337
|
+
harness.engine.mutate(createMutation({ name: "new-todo-rejected" })),
|
|
338
|
+
).rejects.toThrow("Validation failed");
|
|
339
|
+
|
|
340
|
+
expect(docIds()).toEqual([]);
|
|
341
|
+
expect(rowNames()).toEqual([]);
|
|
342
|
+
expect(harness.cache.get({ doctype: "TestDoc", name: "new-todo-rejected" })).toBeUndefined();
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
it("rolls back a rejected create even when the realtime row already landed", async () => {
|
|
346
|
+
// Rejection while a foreign-looking server row is present (e.g. another
|
|
347
|
+
// user's concurrent insert): only the optimistic temp row is rolled
|
|
348
|
+
// back — the authoritative server row stays.
|
|
349
|
+
harness.serverRows.push(serverDoc("real-other"));
|
|
350
|
+
let rejectAck: (err: unknown) => void = () => {};
|
|
351
|
+
harness.db.createDoc.mockImplementation(
|
|
352
|
+
() =>
|
|
353
|
+
new Promise((_resolve, reject) => {
|
|
354
|
+
rejectAck = reject;
|
|
355
|
+
}),
|
|
356
|
+
);
|
|
357
|
+
|
|
358
|
+
const mutatePromise = harness.engine.mutate(createMutation({ name: "new-todo-doomed" }));
|
|
359
|
+
const settled = mutatePromise.catch((err) => err);
|
|
360
|
+
await vi.advanceTimersByTimeAsync(0);
|
|
361
|
+
await harness.emitListUpdate("real-other");
|
|
362
|
+
await vi.advanceTimersByTimeAsync(600);
|
|
363
|
+
expect([...docIds()].sort()).toEqual(["new-todo-doomed", "real-other"]);
|
|
364
|
+
|
|
365
|
+
rejectAck(Object.assign(new Error("Server said no"), { status: 417 }));
|
|
366
|
+
expect(await settled).toBeInstanceOf(Error);
|
|
367
|
+
|
|
368
|
+
expect(docIds()).toEqual(["real-other"]);
|
|
369
|
+
expect(rowNames()).toEqual(["real-other"]);
|
|
370
|
+
expect(harness.cache.get({ doctype: "TestDoc", name: "new-todo-doomed" })).toBeUndefined();
|
|
371
|
+
});
|
|
372
|
+
});
|
|
@@ -128,6 +128,46 @@ describe("SubscriptionManager", () => {
|
|
|
128
128
|
fields: ["title", "description", "modified", "name"],
|
|
129
129
|
filters: { status: "Active" },
|
|
130
130
|
orderBy: { field: "modified", order: Order.Desc },
|
|
131
|
+
limit: 20,
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it("passes an explicit limit (and limitStart) through to the initial fetch", async () => {
|
|
136
|
+
// Regression: the initial fetch used to drop query.limit entirely, so
|
|
137
|
+
// the request carried no limit_page_length and the bench clamped every
|
|
138
|
+
// collection to its default page length (20) — `useFrappeCollection`
|
|
139
|
+
// consumers with `limit: N > 20` silently lost rows (pokemon moves
|
|
140
|
+
// accordion truncation).
|
|
141
|
+
const query: SubscriptionQuery = {
|
|
142
|
+
doctype: "TestDoc",
|
|
143
|
+
fields: ["title"],
|
|
144
|
+
limit: 500,
|
|
145
|
+
limitStart: 40,
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
await subscriptionManager.subscribe(query);
|
|
149
|
+
|
|
150
|
+
expect(mockDb.getDocList).toHaveBeenCalledWith("TestDoc", {
|
|
151
|
+
fields: ["title", "modified", "name"],
|
|
152
|
+
filters: undefined,
|
|
153
|
+
orderBy: undefined,
|
|
154
|
+
limit: 500,
|
|
155
|
+
limitStart: 40,
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it("omits limit from the initial fetch when the query has none", async () => {
|
|
160
|
+
const query: SubscriptionQuery = {
|
|
161
|
+
doctype: "TestDoc",
|
|
162
|
+
fields: ["title"],
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
await subscriptionManager.subscribe(query);
|
|
166
|
+
|
|
167
|
+
expect(mockDb.getDocList).toHaveBeenCalledWith("TestDoc", {
|
|
168
|
+
fields: ["title", "modified", "name"],
|
|
169
|
+
filters: undefined,
|
|
170
|
+
orderBy: undefined,
|
|
131
171
|
});
|
|
132
172
|
});
|
|
133
173
|
|
|
@@ -183,6 +223,7 @@ describe("SubscriptionManager", () => {
|
|
|
183
223
|
|
|
184
224
|
expect(mockDb.getDocList).toHaveBeenCalledWith("TestDoc", {
|
|
185
225
|
fields: ["*", "modified", "name"],
|
|
226
|
+
limit: 20,
|
|
186
227
|
cursor: undefined,
|
|
187
228
|
});
|
|
188
229
|
expect(result.rows).toEqual(mockDocs);
|
|
@@ -168,6 +168,16 @@ export class SubscriptionManager {
|
|
|
168
168
|
filters: query.filters,
|
|
169
169
|
orderBy: query.orderBy,
|
|
170
170
|
};
|
|
171
|
+
// Honor an explicit subscription limit on the INITIAL fetch. Without
|
|
172
|
+
// this the request carries no limit_page_length and the bench clamps
|
|
173
|
+
// to its default page length (20) — collections created with
|
|
174
|
+
// `limit: N` silently truncated to 20 rows (surfaced by the pokemon
|
|
175
|
+
// moves accordion once rosters grew past 20 junction rows). No
|
|
176
|
+
// explicit limit keeps the previous no-param behavior.
|
|
177
|
+
if (query.limit != null) {
|
|
178
|
+
listOptions.limit = query.limit;
|
|
179
|
+
if (query.limitStart != null) listOptions.limitStart = query.limitStart;
|
|
180
|
+
}
|
|
171
181
|
if (this.options.useCursorPagination) listOptions.cursor = undefined;
|
|
172
182
|
const response = await this.db.getDocList<Data>(query.doctype, listOptions);
|
|
173
183
|
|
|
@@ -134,6 +134,9 @@ describe("SubscriptionManager", () => {
|
|
|
134
134
|
fields: ["title", "description", "modified", "name"],
|
|
135
135
|
filters: { status: "Active" },
|
|
136
136
|
orderBy: { field: "modified", order: Order.Desc },
|
|
137
|
+
// The initial fetch honors the subscription limit (it used to drop
|
|
138
|
+
// it, so the bench clamped every list to its default page length).
|
|
139
|
+
limit: 20,
|
|
137
140
|
});
|
|
138
141
|
});
|
|
139
142
|
|
|
@@ -189,6 +192,7 @@ describe("SubscriptionManager", () => {
|
|
|
189
192
|
|
|
190
193
|
expect(mockDb.getDocList).toHaveBeenCalledWith("TestDoc", {
|
|
191
194
|
fields: ["*", "modified", "name"],
|
|
195
|
+
limit: 20,
|
|
192
196
|
cursor: undefined,
|
|
193
197
|
});
|
|
194
198
|
expect(result.rows).toEqual(mockDocs);
|
package/src/sync/types.ts
CHANGED
|
@@ -106,6 +106,15 @@ export interface CreateMutation<D extends FrappeDocData> {
|
|
|
106
106
|
doc: FrappeDoc<D>;
|
|
107
107
|
version?: string;
|
|
108
108
|
affected?: { doctype: string; name: string }[];
|
|
109
|
+
/**
|
|
110
|
+
* Client-side temporary identity the optimistic row was inserted under.
|
|
111
|
+
* Set by the engine when the mutation is applied: equals `doc.name` when
|
|
112
|
+
* the consumer provided a placeholder, otherwise an engine-generated
|
|
113
|
+
* `tmp_*` id (which is never sent to the server). The server ack remap,
|
|
114
|
+
* rollback, and journal paths all resolve the optimistic row through
|
|
115
|
+
* this single field.
|
|
116
|
+
*/
|
|
117
|
+
temporaryName?: string;
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
export interface UpdateMutation<Data extends FrappeDocData> {
|
package/types/collection.d.ts
CHANGED
|
@@ -30,6 +30,18 @@ export interface FrappeCollectionOptionsConfig<_TDoc extends object & {
|
|
|
30
30
|
*/
|
|
31
31
|
onSyncError?: (error: unknown) => void;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Releases the Frappe-side sync resources (SyncModule subscription + store
|
|
35
|
+
* listener → realtime room) of a collection created by
|
|
36
|
+
* {@link createFrappeCollection}, without touching TanStack DB's lifecycle.
|
|
37
|
+
* Idempotent; also runs automatically when TanStack stops the sync itself.
|
|
38
|
+
*
|
|
39
|
+
* @returns true when an active sync session was released, false when the
|
|
40
|
+
* collection has no registered session (sync never started, already
|
|
41
|
+
* stopped, or not a Frappe collection) — callers may fall back to
|
|
42
|
+
* `collection.cleanup()` in that case.
|
|
43
|
+
*/
|
|
44
|
+
export declare function releaseFrappeCollectionSync(collection: object): boolean;
|
|
33
45
|
/**
|
|
34
46
|
* Creates TanStack DB collection options wired to Frappe's SyncModule.
|
|
35
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,cAAc,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,6BAA6B,CAC5C,KAAK,SAAS,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;IAExD,0DAA0D;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,oEAAoE;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAS,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC7F,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,6BAA6B,CAAC,IAAI,CAAC,GAC1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
|
package/types/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAwB5C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,gBAAqB;IAM3D;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC;IAInC,MAAM,CAAC,IAAI,SAAS,aAAa,EACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAOrB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYzE,UAAU,CAAC,IAAI,SAAS,aAAa,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IA8BvB,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAoBZ,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAwB5C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,gBAAqB;IAM3D;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC;IAInC,MAAM,CAAC,IAAI,SAAS,aAAa,EACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAOrB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYzE,UAAU,CAAC,IAAI,SAAS,aAAa,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IA8BvB,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAoBZ,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAgBrB,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAmBrB,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;QAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;iBAQiC,MAAM;;IAQpC,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,EAC9C,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO;iBAGmB,MAAM;;IASpC,QAAQ,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAmB/F;;;OAGG;IACG,iBAAiB,CAAC,IAAI,SAAS,aAAa,EAChD,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAc1C;;;OAGG;IACG,cAAc,CAAC,IAAI,SAAS,aAAa,EAC7C,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAUxC;;;OAGG;IACG,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;CAapC;AAiCD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,aAAa;IAC1D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,aAAa;IAClE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,aAAa;IACvD,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,aAAa;IAC5D,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS,aAAa;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,aAAa,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,aAAa;IAC3D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAeD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG;IACnE,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;gBAElB,EAAE,EAAE,QAAQ;IAIxB;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,IAAI,SAAS,aAAa,EAC1C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAkB7B;;;;;;;;;OASG;IACG,YAAY,CAAC,IAAI,SAAS,aAAa,EAC3C,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAgB7B;;;;;;;;OAQG;IACG,cAAc,CAAC,IAAI,SAAS,aAAa,EAC7C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAgB7B;;;;;;;;;OASG;IACG,SAAS,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EAAE;QAChD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAgC7B;;;OAGG;IACH,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"frappeReact.d.ts","sourceRoot":"","sources":["../src/frappeReact.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAUlD,OAAO,KAAK,EACV,YAAY,EAGZ,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;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAyB;IAC/C,0DAA0D;IAC1D,OAAO,CAAC,sBAAsB,CAAiD;IAC/E,OAAO,CAAC,mBAAmB,CAAsB;IACjD,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAiB;IACvC,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAAkB;IACzC,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,gEAAgE;IAChE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,6DAA6D;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,WAAgB;IAoE9E;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;;;;;;OAQG;IACG,SAAS,CAAC,IAAI,SAAS,aAAa,EAAE,KAAK,EAAE,iBAAiB;IAepE;;OAEG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IAO5B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutationEngine.d.ts","sourceRoot":"","sources":["../../src/sync/mutationEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAUjE,OAAO,KAAK,EAGV,WAAW,EACX,QAAQ,EAIT,MAAM,SAAS,CAAC;AASjB,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,wBAAwB,CAA6B;IAC7D,OAAO,CAAC,sBAAsB,CAAkC;IAChE,8CAA8C;IAC9C,OAAO,CAAC,YAAY,CAA6C;IACjE,qCAAqC;IACrC,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAGpC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,GAAE,WAAgB;IAc3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;YACW,UAAU;
|
|
1
|
+
{"version":3,"file":"mutationEngine.d.ts","sourceRoot":"","sources":["../../src/sync/mutationEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAUjE,OAAO,KAAK,EAGV,WAAW,EACX,QAAQ,EAIT,MAAM,SAAS,CAAC;AASjB,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,wBAAwB,CAA6B;IAC7D,OAAO,CAAC,sBAAsB,CAAkC;IAChE,8CAA8C;IAC9C,OAAO,CAAC,YAAY,CAA6C;IACjE,qCAAqC;IACrC,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAGpC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,GAAE,WAAgB;IAc3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;YACW,UAAU;IAmFxB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhC,MAAM,CAAC,IAAI,SAAS,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YAyHnD,sBAAsB;YAgBtB,sBAAsB;YA0DtB,kBAAkB;YAoClB,kBAAkB;YAQlB,kBAAkB;IAwBhC,OAAO,CAAC,4BAA4B;YAuBtB,mBAAmB;YAwBnB,mBAAmB;IA4BjC;;;OAGG;YACW,uBAAuB;YA6CvB,kBAAkB;YAwBlB,cAAc;IAyD5B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,4BAA4B;IA6DpC,OAAO,CAAC,gCAAgC;IAkCxC,OAAO,CAAC,eAAe;IAoBvB;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa;IA0GnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB,2CAA2C;IAC3C,2BAA2B,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIlD,qCAAqC;IACrC,sBAAsB;IAKtB;;OAEG;IACH,OAAO;CAMR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptionManager.d.ts","sourceRoot":"","sources":["../../src/sync/subscriptionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,aAAa;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,sEAAsE;IACtE,OAAO,CAAC,eAAe,CAA6B;IACpD,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAA6B;IACjD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAA6B;IACvD,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,GAAE,WAAgB;IAa/E,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAgEjC;;;;;OAKG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"subscriptionManager.d.ts","sourceRoot":"","sources":["../../src/sync/subscriptionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,aAAa;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,sEAAsE;IACtE,OAAO,CAAC,eAAe,CAA6B;IACpD,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAA6B;IACjD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAA6B;IACvD,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,GAAE,WAAgB;IAa/E,SAAS,CAAC,IAAI,SAAS,aAAa,EACxC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAgEjC;;;;;OAKG;YACW,gBAAgB;IAqE9B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAqBjC;;;;;;;OAOG;YACW,0BAA0B;IAyBxC;;;;;;OAMG;IACH,mBAAmB,CACjB,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;IA6BnE,8EAA8E;IAC9E,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIvD;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,SAAa;IAexC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IA+BlC,2CAA2C;IAC3C,eAAe,CAAC,EAAE,EAAE,MAAM;IAK1B;;;OAGG;IACH,sBAAsB,CAAC,IAAI,SAAS,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE;IA+BjF;;OAEG;IACG,OAAO,CAAC,IAAI,SAAS,aAAa,EACtC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAI7B;;OAEG;IACG,YAAY,CAAC,IAAI,SAAS,aAAa,EAC3C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAM7B;;OAEG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IAIlC;;;;;;;;OAQG;IACG,QAAQ,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EAAE,YAAY;IAmC7D;;;;;;;;;;;;OAYG;IACG,WAAW,CAAC,IAAI,SAAS,aAAa,EAC1C,YAAY,EAAE,YAAY,EAC1B,QAAQ,SAA+B;IAsGzC,wBAAwB,CAAC,YAAY,EAAE,YAAY;IAyBnD,4BAA4B,CAAC,IAAI,SAAS,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE;IAiC9F;;;OAGG;IACH,0BAA0B,CAAC,KAAK,SAAS,aAAa,EACpD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,YAAY,EAAE;IAiBjB,qCAAqC;IACrC,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAIhD,qBAAqB,IAAI,kBAAkB;IAI3C,8BAA8B,CAAC,IAAI,SAAS,aAAa,EACvD,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;IAUtB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,gBAAgB;IAsBxB,KAAK;IAQL;;;OAGG;IACH,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM;CAgC1C"}
|
package/types/sync/types.d.ts
CHANGED
|
@@ -95,6 +95,15 @@ export interface CreateMutation<D extends FrappeDocData> {
|
|
|
95
95
|
doctype: string;
|
|
96
96
|
name: string;
|
|
97
97
|
}[];
|
|
98
|
+
/**
|
|
99
|
+
* Client-side temporary identity the optimistic row was inserted under.
|
|
100
|
+
* Set by the engine when the mutation is applied: equals `doc.name` when
|
|
101
|
+
* the consumer provided a placeholder, otherwise an engine-generated
|
|
102
|
+
* `tmp_*` id (which is never sent to the server). The server ack remap,
|
|
103
|
+
* rollback, and journal paths all resolve the optimistic row through
|
|
104
|
+
* this single field.
|
|
105
|
+
*/
|
|
106
|
+
temporaryName?: string;
|
|
98
107
|
}
|
|
99
108
|
export interface UpdateMutation<Data extends FrappeDocData> {
|
|
100
109
|
mutationId: string;
|