@prisma-idb/idb-client-generator 0.27.0 → 0.28.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/.release-it.json +4 -1
- package/dist/fileCreators/apply-pull/create.js +17 -9
- package/dist/fileCreators/apply-pull/create.js.map +1 -1
- package/dist/fileCreators/idb-interface/create.js +25 -14
- package/dist/fileCreators/idb-interface/create.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js +15 -20
- package/dist/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.js +54 -20
- package/dist/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js +99 -40
- package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js.map +1 -1
- package/dist/fileCreators/prisma-idb-client/create.js +2 -2
- package/dist/fileCreators/prisma-idb-client/create.js.map +1 -1
- package/dist/fileCreators/validators/create.js +1 -0
- package/dist/fileCreators/validators/create.js.map +1 -1
- package/package.json +1 -1
package/.release-it.json
CHANGED
|
@@ -12,6 +12,14 @@ function createApplyPullFile(writer, models, versionMetaModelName) {
|
|
|
12
12
|
writer.writeLine(` logsWithRecords: LogWithRecord<typeof validators>[];`);
|
|
13
13
|
writer.writeLine(`};`);
|
|
14
14
|
writer.blankLine();
|
|
15
|
+
writer.writeLine(`export type ApplyPullResult =`);
|
|
16
|
+
writer.block(() => {
|
|
17
|
+
writer.writeLine(`validationErrors: { model: string; error: unknown }[];`);
|
|
18
|
+
writer.writeLine(`missingRecords: number;`);
|
|
19
|
+
writer.writeLine(`staleRecords: number;`);
|
|
20
|
+
writer.writeLine(`totalAppliedRecords: number;`);
|
|
21
|
+
});
|
|
22
|
+
writer.blankLine();
|
|
15
23
|
writer.writeLine(`/**`);
|
|
16
24
|
writer.writeLine(` * Apply pulled changes from remote server to local IndexedDB.`);
|
|
17
25
|
writer.writeLine(` * `);
|
|
@@ -23,7 +31,7 @@ function createApplyPullFile(writer, models, versionMetaModelName) {
|
|
|
23
31
|
writer.writeLine(` * @param props.logsWithRecords - Array of change logs with validated records from server`);
|
|
24
32
|
writer.writeLine(` * @returns Object with sync statistics including applied records, missing records, and validation errors`);
|
|
25
33
|
writer.writeLine(` */`);
|
|
26
|
-
writer.writeLine(`export async function applyPull(props: ApplyPullProps) `).block(() => {
|
|
34
|
+
writer.writeLine(`export async function applyPull(props: ApplyPullProps): Promise<ApplyPullResult> `).block(() => {
|
|
27
35
|
writer.writeLine(`const { idbClient, logsWithRecords } = props;`);
|
|
28
36
|
writer.blankLine();
|
|
29
37
|
writer.writeLine(`let staleRecords = 0;`);
|
|
@@ -50,13 +58,6 @@ function createApplyPullFile(writer, models, versionMetaModelName) {
|
|
|
50
58
|
writer.writeLine(`continue;`);
|
|
51
59
|
});
|
|
52
60
|
writer.blankLine();
|
|
53
|
-
writer.writeLine(`const versionMeta = await idbClient.$versionMeta.get(model, keyPath, tx);`);
|
|
54
|
-
writer.writeLine(`const lastAppliedChangeId = versionMeta?.lastAppliedChangeId ?? null;`);
|
|
55
|
-
writer.writeLine(`if (lastAppliedChangeId !== null && lastAppliedChangeId >= changelogId) {`);
|
|
56
|
-
writer.writeLine(` staleRecords++;`);
|
|
57
|
-
writer.writeLine(` continue;`);
|
|
58
|
-
writer.writeLine(`}`);
|
|
59
|
-
writer.blankLine();
|
|
60
61
|
writer.writeLine(`// Exit early if transaction was aborted during previous operations`);
|
|
61
62
|
writer.writeLine(`if (txAborted)`).block(() => {
|
|
62
63
|
writer.writeLine(`validationErrors.push({ model, error: new Error('Transaction was aborted') });`);
|
|
@@ -64,6 +65,13 @@ function createApplyPullFile(writer, models, versionMetaModelName) {
|
|
|
64
65
|
});
|
|
65
66
|
writer.blankLine();
|
|
66
67
|
writer.writeLine(`try `).block(() => {
|
|
68
|
+
writer.writeLine(`const versionMeta = await idbClient.$versionMeta.get(model, keyPath, tx);`);
|
|
69
|
+
writer.writeLine(`const lastAppliedChangeId = versionMeta?.lastAppliedChangeId ?? null;`);
|
|
70
|
+
writer.writeLine(`if (lastAppliedChangeId !== null && lastAppliedChangeId >= changelogId) {`);
|
|
71
|
+
writer.writeLine(` staleRecords++;`);
|
|
72
|
+
writer.writeLine(` continue;`);
|
|
73
|
+
writer.writeLine(`}`);
|
|
74
|
+
writer.blankLine();
|
|
67
75
|
models.forEach((model, index) => {
|
|
68
76
|
const modelName = model.name;
|
|
69
77
|
const camelCaseName = modelName.charAt(0).toLowerCase() + modelName.slice(1);
|
|
@@ -78,7 +86,7 @@ function createApplyPullFile(writer, models, versionMetaModelName) {
|
|
|
78
86
|
writer.writeLine(`${condition} (model === '${modelName}') `).block(() => {
|
|
79
87
|
writer.writeLine(`if (operation === 'delete') `).block(() => {
|
|
80
88
|
writer.writeLine(`const validatedKeyPath = keyPathValidators.${modelName}.parse(keyPath);`);
|
|
81
|
-
writer.writeLine(`await idbClient.${camelCaseName}.
|
|
89
|
+
writer.writeLine(`await idbClient.${camelCaseName}.deleteMany({ where: ${keyPathWhereClause} }, { silent: true, addToOutbox: false, tx });`);
|
|
82
90
|
writer.writeLine(`totalAppliedRecords++;`);
|
|
83
91
|
writer.writeLine(`// Mark as pulled with latest changelog ID`);
|
|
84
92
|
writer.writeLine(`await idbClient.$versionMeta.markPulled(model, keyPath, changelogId, { tx });`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/apply-pull/create.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/apply-pull/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ function createIDBInterfaceFile(writer, models, prismaClientImport, outboxSync,
|
|
|
7
7
|
writer.writeLine(`import type * as Prisma from "${prismaClientImport}";`);
|
|
8
8
|
if (outboxSync) {
|
|
9
9
|
writer.writeLine(`import type { PushResult } from "../server/batch-processor";`);
|
|
10
|
+
writer.writeLine(`import type { ApplyPullResult } from "./apply-pull";`);
|
|
10
11
|
}
|
|
11
12
|
writer.blankLine();
|
|
12
13
|
writer.writeLine(`export interface PrismaIDBSchema extends DBSchema`).block(() => {
|
|
@@ -57,6 +58,7 @@ function addOutboxEventTypeDefinition(writer) {
|
|
|
57
58
|
.writeLine(`lastError: string | null;`)
|
|
58
59
|
.writeLine(`synced: boolean;`)
|
|
59
60
|
.writeLine(`syncedAt: Date | null;`)
|
|
61
|
+
.writeLine(`lastAttemptedAt: Date | null;`)
|
|
60
62
|
.writeLine(`retryable: boolean;`);
|
|
61
63
|
});
|
|
62
64
|
writer.writeLine(`export interface ChangeMetaRecord`).block(() => {
|
|
@@ -106,30 +108,39 @@ function addSyncWorkerTypes(writer) {
|
|
|
106
108
|
.writeLine(` * Returns immediately if worker is stopped or a sync is already in progress.`)
|
|
107
109
|
.writeLine(` * Use syncNow() to trigger a one-off sync without starting the worker.`)
|
|
108
110
|
.writeLine(` */`)
|
|
109
|
-
.writeLine(`forceSync(): Promise<void>;`)
|
|
111
|
+
.writeLine(`forceSync(options?: { overrideBackoff?: boolean }): Promise<void>;`)
|
|
110
112
|
.writeLine(`/**`)
|
|
111
113
|
.writeLine(` * Execute a single sync cycle immediately without starting the worker.`)
|
|
112
114
|
.writeLine(` * Returns immediately if a sync is already in progress.`)
|
|
113
115
|
.writeLine(` * Does not require the worker to be running (started).`)
|
|
114
116
|
.writeLine(` */`)
|
|
115
|
-
.writeLine(`syncNow(): Promise<void>;`)
|
|
117
|
+
.writeLine(`syncNow(options?: { overrideBackoff?: boolean }): Promise<void>;`)
|
|
116
118
|
.writeLine(`/**`)
|
|
117
119
|
.writeLine(` * Get current sync worker status snapshot.`)
|
|
118
120
|
.writeLine(` * Listen to 'statuschange' events via .on() to get updates.`)
|
|
119
121
|
.writeLine(` */`)
|
|
120
122
|
.writeLine(`readonly status: SyncWorkerStatus;`)
|
|
121
|
-
.writeLine(
|
|
122
|
-
.writeLine(
|
|
123
|
-
.writeLine(
|
|
124
|
-
.writeLine(
|
|
125
|
-
.writeLine(
|
|
126
|
-
.writeLine(
|
|
127
|
-
.writeLine(
|
|
128
|
-
.writeLine(
|
|
129
|
-
.writeLine(
|
|
130
|
-
.writeLine(
|
|
131
|
-
.writeLine(
|
|
132
|
-
.writeLine(
|
|
123
|
+
.writeLine("/**")
|
|
124
|
+
.writeLine(" * Listen for status changes.")
|
|
125
|
+
.writeLine(" * @param event Event name ('statuschange', 'pullcompleted' or 'pushcompleted')")
|
|
126
|
+
.writeLine(" * @param callback Function called whenever the event fires")
|
|
127
|
+
.writeLine(" * @returns Unsubscribe function")
|
|
128
|
+
.writeLine(" * @example")
|
|
129
|
+
.writeLine(" * const unsubscribe = worker.on('statuschange', (e) => {")
|
|
130
|
+
.writeLine(" * console.log('Status:', worker.status);")
|
|
131
|
+
.writeLine(" * });")
|
|
132
|
+
.writeLine(" * // Later: unsubscribe()")
|
|
133
|
+
.writeLine(" */")
|
|
134
|
+
.writeLine("on<E extends 'statuschange' | 'pullcompleted' | 'pushcompleted'>(")
|
|
135
|
+
.writeLine(" event: E,")
|
|
136
|
+
.writeLine(" callback: (")
|
|
137
|
+
.writeLine(" e: E extends 'statuschange'")
|
|
138
|
+
.writeLine(" ? CustomEvent<{ status: 'STOPPED' | 'IDLE' | 'PUSHING' | 'PULLING'; isLooping: boolean; lastSyncTime: Date | null; lastError: Error | null }>")
|
|
139
|
+
.writeLine(" : E extends 'pullcompleted'")
|
|
140
|
+
.writeLine(" ? CustomEvent<ApplyPullResult>")
|
|
141
|
+
.writeLine(" : CustomEvent<{ results: PushResult[] }>")
|
|
142
|
+
.writeLine(" ) => void")
|
|
143
|
+
.writeLine("): () => void;");
|
|
133
144
|
});
|
|
134
145
|
}
|
|
135
146
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-interface/create.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-interface/create.ts"],"names":[],"mappings":";;AAKA,wDA8CC;AAlDD,+CAA2D;AAI3D,SAAgB,sBAAsB,CACpC,MAAuB,EACvB,MAAgC,EAChC,kBAA0B,EAC1B,UAAmB,EACnB,eAAuB,EACvB,oBAA4B;IAE5B,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACzD,MAAM,CAAC,SAAS,CAAC,iCAAiC,kBAAkB,IAAI,CAAC,CAAC;IAC1E,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,SAAS,CAAC,8DAA8D,CAAC,CAAC;QACjF,MAAM,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnB,MAAM,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC/E,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7C,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAE/C,MAAM,CAAC,SAAS,CAAC,QAAQ,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC;gBAC3D,MAAM,CAAC,SAAS,CAAC,iBAAiB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAEjD,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClD,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBACvC,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,oBAAoB,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvD,MAAM,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,IAAI,UAAU,EAAE,CAAC;QACf,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACrC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAuB,EAAE,KAAY;IACrE,MAAM,uBAAuB,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACvC,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;YACxD,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,UAAU,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAuB;IAC3D,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAChE,MAAM;aACH,SAAS,CAAC,aAAa,CAAC;aACxB,SAAS,CAAC,qBAAqB,CAAC;aAChC,SAAS,CAAC,4CAA4C,CAAC;aACvD,SAAS,CAAC,mBAAmB,CAAC;aAC9B,SAAS,CAAC,kBAAkB,CAAC;aAC7B,SAAS,CAAC,gBAAgB,CAAC;aAC3B,SAAS,CAAC,2BAA2B,CAAC;aACtC,SAAS,CAAC,kBAAkB,CAAC;aAC7B,SAAS,CAAC,wBAAwB,CAAC;aACnC,SAAS,CAAC,+BAA+B,CAAC;aAC1C,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC/D,MAAM;aACH,SAAS,CAAC,gBAAgB,CAAC;aAC3B,SAAS,CAAC,mBAAmB,CAAC;aAC9B,SAAS,CAAC,qCAAqC,CAAC;aAChD,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAuB;IACjD,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAChE,MAAM;aACH,SAAS,CAAC,sEAAsE,CAAC;aACjF,SAAS,CAAC,qBAAqB,CAAC;aAChC,SAAS,CAAC,sBAAsB,CAAC;aACjC,SAAS,CAAC,sBAAsB,CAAC;aACjC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC/D,MAAM;aACH,SAAS,CAAC,sCAAsC,CAAC;aACjD,SAAS,CAAC,qBAAqB,CAAC;aAChC,SAAS,CAAC,0CAA0C,CAAC;aACrD,SAAS,CAAC,qDAAqD,CAAC;aAChE,SAAS,CAAC,yDAAyD,CAAC;aACpE,SAAS,CAAC,4BAA4B,CAAC;aACvC,SAAS,CAAC,uDAAuD,CAAC;aAClE,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACzD,MAAM;aACH,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,2BAA2B,CAAC;aACtC,SAAS,CAAC,mDAAmD,CAAC;aAC9D,SAAS,CAAC,qCAAqC,CAAC;aAChD,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,gBAAgB,CAAC;aAC3B,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,0BAA0B,CAAC;aACrC,SAAS,CAAC,sCAAsC,CAAC;aACjD,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,eAAe,CAAC;aAC1B,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,2DAA2D,CAAC;aACtE,SAAS,CAAC,+EAA+E,CAAC;aAC1F,SAAS,CAAC,yEAAyE,CAAC;aACpF,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,oEAAoE,CAAC;aAC/E,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,yEAAyE,CAAC;aACpF,SAAS,CAAC,0DAA0D,CAAC;aACrE,SAAS,CAAC,yDAAyD,CAAC;aACpE,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,kEAAkE,CAAC;aAC7E,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,6CAA6C,CAAC;aACxD,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,oCAAoC,CAAC;aAC/C,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,+BAA+B,CAAC;aAC1C,SAAS,CAAC,iFAAiF,CAAC;aAC5F,SAAS,CAAC,6DAA6D,CAAC;aACxE,SAAS,CAAC,kCAAkC,CAAC;aAC7C,SAAS,CAAC,aAAa,CAAC;aACxB,SAAS,CAAC,2DAA2D,CAAC;aACtE,SAAS,CAAC,6CAA6C,CAAC;aACxD,SAAS,CAAC,QAAQ,CAAC;aACnB,SAAS,CAAC,4BAA4B,CAAC;aACvC,SAAS,CAAC,KAAK,CAAC;aAChB,SAAS,CAAC,mEAAmE,CAAC;aAC9E,SAAS,CAAC,aAAa,CAAC;aACxB,SAAS,CAAC,eAAe,CAAC;aAC1B,SAAS,CAAC,iCAAiC,CAAC;aAC5C,SAAS,CACR,qJAAqJ,CACtJ;aACA,SAAS,CAAC,mCAAmC,CAAC;aAC9C,SAAS,CAAC,sCAAsC,CAAC;aACjD,SAAS,CAAC,gDAAgD,CAAC;aAC3D,SAAS,CAAC,aAAa,CAAC;aACxB,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addBaseModelClass = addBaseModelClass;
|
|
4
|
-
function addBaseModelClass(writer, outboxSync = false
|
|
4
|
+
function addBaseModelClass(writer, outboxSync = false) {
|
|
5
5
|
writer.writeLine(`class BaseIDBModelClass<T extends keyof PrismaIDBSchema>`).block(() => {
|
|
6
6
|
writer
|
|
7
7
|
.writeLine(`protected client: PrismaIDBClient;`)
|
|
@@ -16,10 +16,10 @@ function addBaseModelClass(writer, outboxSync = false, outboxModelName) {
|
|
|
16
16
|
.writeLine(`this.modelName = modelName;`)
|
|
17
17
|
.writeLine(`this.eventEmitter = new EventTarget();`);
|
|
18
18
|
});
|
|
19
|
-
addEventEmitters(writer, outboxSync
|
|
19
|
+
addEventEmitters(writer, outboxSync);
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
function addEventEmitters(writer, outboxSync
|
|
22
|
+
function addEventEmitters(writer, outboxSync) {
|
|
23
23
|
writer
|
|
24
24
|
.writeLine(`subscribe(event: "create" | "update" | "delete" | ("create" | "update" | "delete")[], callback: (e: CustomEventInit<{ keyPath: PrismaIDBSchema[T]["key"]; oldKeyPath?: PrismaIDBSchema[T]["key"] }>) => void)`)
|
|
25
25
|
.block(() => {
|
|
@@ -62,24 +62,19 @@ function addEventEmitters(writer, outboxSync, outboxModelName) {
|
|
|
62
62
|
writer.blankLine();
|
|
63
63
|
writer.writeLine(`if (opts?.addToOutbox !== false && this.client.shouldTrackModel(this.modelName))`).block(() => {
|
|
64
64
|
writer
|
|
65
|
-
.writeLine(`
|
|
66
|
-
.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
.writeLine(
|
|
75
|
-
.writeLine(`
|
|
76
|
-
.writeLine(`payload: record ?? keyPath,`)
|
|
77
|
-
.writeLine(`retryable: true,`)
|
|
78
|
-
.writeLine(`};`)
|
|
79
|
-
.writeLine(`await outboxStore.add(outboxEvent);`)
|
|
65
|
+
.writeLine(`await this.client.$outbox.create(`)
|
|
66
|
+
.block(() => {
|
|
67
|
+
writer
|
|
68
|
+
.writeLine(`data: {`)
|
|
69
|
+
.writeLine(`entityType: this.modelName,`)
|
|
70
|
+
.writeLine(`operation: event,`)
|
|
71
|
+
.writeLine(`payload: record ?? keyPath,`)
|
|
72
|
+
.writeLine(`},`);
|
|
73
|
+
})
|
|
74
|
+
.writeLine(`, { tx: opts?.tx }`)
|
|
75
|
+
.writeLine(`);`)
|
|
80
76
|
.blankLine()
|
|
81
|
-
.writeLine(`await this.client.$versionMeta.markLocalPending(this.modelName, keyPath, { tx: opts
|
|
82
|
-
.writeLine(`}`);
|
|
77
|
+
.writeLine(`await this.client.$versionMeta.markLocalPending(this.modelName, keyPath, { tx: opts?.tx });`);
|
|
83
78
|
});
|
|
84
79
|
});
|
|
85
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseIDBModelClass.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.ts"],"names":[],"mappings":";;AAEA,8CAmBC;AAnBD,SAAgB,iBAAiB,CAAC,MAAuB,EAAE,aAAsB,KAAK
|
|
1
|
+
{"version":3,"file":"BaseIDBModelClass.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/BaseIDBModelClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,35 @@ function addOutboxEventIDBClass(writer, outboxModelName) {
|
|
|
6
6
|
addConstructor(writer, outboxModelName);
|
|
7
7
|
addCreateMethod(writer, outboxModelName);
|
|
8
8
|
addGetNextBatchMethod(writer, outboxModelName);
|
|
9
|
+
addHasAnyRetryableUnsyncedMethod(writer, outboxModelName);
|
|
9
10
|
addMarkSyncedMethod(writer, outboxModelName);
|
|
10
11
|
addMarkFailedMethod(writer, outboxModelName);
|
|
11
12
|
addStatsMethod(writer, outboxModelName);
|
|
12
13
|
addClearSyncedMethod(writer, outboxModelName);
|
|
13
14
|
});
|
|
14
15
|
}
|
|
16
|
+
function addHasAnyRetryableUnsyncedMethod(writer, outboxModelName) {
|
|
17
|
+
writer
|
|
18
|
+
.writeLine(`/**`)
|
|
19
|
+
.writeLine(` * Returns true if any unsynced, retryable outbox event exists.`)
|
|
20
|
+
.writeLine(` * Used to gate pull phase in sync worker.`)
|
|
21
|
+
.writeLine(` */`)
|
|
22
|
+
.writeLine(`async hasAnyRetryableUnsynced(): Promise<boolean> `)
|
|
23
|
+
.block(() => {
|
|
24
|
+
writer
|
|
25
|
+
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readonly");`)
|
|
26
|
+
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
27
|
+
.writeLine(`let cursor = await store.openCursor();`)
|
|
28
|
+
.writeLine(`while (cursor) `)
|
|
29
|
+
.block(() => {
|
|
30
|
+
writer.writeLine(`const e = cursor.value;`);
|
|
31
|
+
writer.writeLine(`if (!e.synced && e.retryable) return true;`);
|
|
32
|
+
writer.writeLine(`cursor = await cursor.continue();`);
|
|
33
|
+
})
|
|
34
|
+
.writeLine(`return false;`);
|
|
35
|
+
})
|
|
36
|
+
.blankLine();
|
|
37
|
+
}
|
|
15
38
|
function addConstructor(writer, outboxModelName) {
|
|
16
39
|
writer
|
|
17
40
|
.writeLine(`constructor(client: PrismaIDBClient, keyPath: string[])`)
|
|
@@ -22,10 +45,12 @@ function addConstructor(writer, outboxModelName) {
|
|
|
22
45
|
}
|
|
23
46
|
function addCreateMethod(writer, outboxModelName) {
|
|
24
47
|
writer
|
|
25
|
-
.
|
|
48
|
+
.write(`async create(query: { data: Pick<OutboxEventRecord, `)
|
|
49
|
+
.write(`"entityType" | "operation" | "payload"`)
|
|
50
|
+
.write(`> }, options?: { tx?: IDBUtils.ReadwriteTransactionType, silent?: boolean }): Promise<OutboxEventRecord>`)
|
|
26
51
|
.block(() => {
|
|
27
52
|
writer
|
|
28
|
-
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readwrite");`)
|
|
53
|
+
.writeLine(`const tx = options?.tx ?? this.client._db.transaction(["${outboxModelName}"], "readwrite");`)
|
|
29
54
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
30
55
|
.blankLine()
|
|
31
56
|
.writeLine(`const event: OutboxEventRecord = {`)
|
|
@@ -33,14 +58,16 @@ function addCreateMethod(writer, outboxModelName) {
|
|
|
33
58
|
.writeLine(`createdAt: new Date(),`)
|
|
34
59
|
.writeLine(`synced: false,`)
|
|
35
60
|
.writeLine(`syncedAt: null,`)
|
|
61
|
+
.writeLine(`lastAttemptedAt: null,`)
|
|
36
62
|
.writeLine(`tries: 0,`)
|
|
37
63
|
.writeLine(`lastError: null,`)
|
|
38
64
|
.writeLine(`retryable: true,`)
|
|
39
65
|
.writeLine(`...query.data,`)
|
|
40
66
|
.writeLine(`};`)
|
|
41
|
-
.blankLine()
|
|
42
67
|
.writeLine(`await store.add(event);`)
|
|
43
|
-
.
|
|
68
|
+
.blankLine()
|
|
69
|
+
.writeLine(`this.emit("create", [event.id], undefined, event, { silent: options?.silent ?? false, addToOutbox: false, tx });`)
|
|
70
|
+
.writeLine(`if (!options?.tx) await tx.done;`)
|
|
44
71
|
.blankLine()
|
|
45
72
|
.writeLine(`return event;`);
|
|
46
73
|
})
|
|
@@ -52,7 +79,7 @@ function addGetNextBatchMethod(writer, outboxModelName) {
|
|
|
52
79
|
.block(() => {
|
|
53
80
|
writer
|
|
54
81
|
.writeLine(`const limit = options?.limit ?? 20;`)
|
|
55
|
-
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readonly");`)
|
|
82
|
+
.writeLine(`const tx = this.client._db.transaction(["${outboxModelName}"], "readonly");`)
|
|
56
83
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
57
84
|
.blankLine()
|
|
58
85
|
.writeLine(`// Get all unsynced events, ordered by createdAt`)
|
|
@@ -65,21 +92,24 @@ function addGetNextBatchMethod(writer, outboxModelName) {
|
|
|
65
92
|
}
|
|
66
93
|
function addMarkSyncedMethod(writer, outboxModelName) {
|
|
67
94
|
writer
|
|
68
|
-
.
|
|
95
|
+
.write(`async markSynced(appliedLogs: { id: string; lastAppliedChangeId: string | null }[], options?: { tx?: IDBUtils.ReadwriteTransactionType, silent?: boolean }): Promise<void>`)
|
|
69
96
|
.block(() => {
|
|
70
97
|
writer
|
|
71
98
|
.writeLine(`const syncedAt = new Date();`)
|
|
72
|
-
.writeLine(`const tx = this.client._db.transaction(["${outboxModelName}", "VersionMeta"], "readwrite");`)
|
|
99
|
+
.writeLine(`const tx = options?.tx ?? this.client._db.transaction(["${outboxModelName}", "VersionMeta"], "readwrite");`)
|
|
73
100
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
74
101
|
.blankLine()
|
|
75
102
|
.writeLine(`for (const log of appliedLogs) {`)
|
|
76
103
|
.writeLine(`const event = await store.get([log.id]);`)
|
|
77
104
|
.writeLine(`if (event) {`)
|
|
78
|
-
.writeLine(`
|
|
105
|
+
.writeLine(`const updatedEvent = {`)
|
|
79
106
|
.writeLine(`...event,`)
|
|
80
107
|
.writeLine(`synced: true,`)
|
|
81
108
|
.writeLine(`syncedAt,`)
|
|
82
|
-
.writeLine(`
|
|
109
|
+
.writeLine(`lastAttemptedAt: syncedAt,`)
|
|
110
|
+
.writeLine(`};`)
|
|
111
|
+
.writeLine(`await store.put(updatedEvent);`)
|
|
112
|
+
.writeLine(`this.emit("update", [event.id], undefined, updatedEvent, { silent: options?.silent ?? false, addToOutbox: false, tx });`)
|
|
83
113
|
.blankLine()
|
|
84
114
|
.writeLine(`if (!(event.entityType in modelRecordToKeyPath)) {`)
|
|
85
115
|
.writeLine(`throw new Error(\`Unknown model: \${event.entityType}\`);`)
|
|
@@ -97,29 +127,32 @@ function addMarkSyncedMethod(writer, outboxModelName) {
|
|
|
97
127
|
.writeLine(`}`)
|
|
98
128
|
.writeLine(`}`)
|
|
99
129
|
.blankLine()
|
|
100
|
-
.writeLine(`await tx.done;`);
|
|
130
|
+
.writeLine(`if (!options?.tx) await tx.done;`);
|
|
101
131
|
})
|
|
102
132
|
.blankLine();
|
|
103
133
|
}
|
|
104
134
|
function addMarkFailedMethod(writer, outboxModelName) {
|
|
105
135
|
writer
|
|
106
|
-
.writeLine(`async markFailed(eventId: string, error: NonNullable<PushResult['error']
|
|
136
|
+
.writeLine(`async markFailed(eventId: string, error: NonNullable<PushResult['error']>, options?: { tx?: IDBUtils.ReadwriteTransactionType, silent?: boolean }): Promise<void>`)
|
|
107
137
|
.block(() => {
|
|
108
138
|
writer
|
|
109
|
-
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readwrite");`)
|
|
139
|
+
.writeLine(`const tx = options?.tx ?? this.client._db.transaction(["${outboxModelName}"], "readwrite");`)
|
|
110
140
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
111
141
|
.blankLine()
|
|
112
142
|
.writeLine(`const event = await store.get([eventId]);`)
|
|
113
143
|
.writeLine(`if (event) {`)
|
|
114
|
-
.writeLine(`
|
|
144
|
+
.writeLine(`const updatedEvent = {`)
|
|
115
145
|
.writeLine(`...event,`)
|
|
116
146
|
.writeLine(`tries: (event.tries ?? 0) + 1,`)
|
|
117
|
-
.writeLine(`lastError: \`\${error.
|
|
147
|
+
.writeLine(`lastError: \`\${error.type ?? 'Error'}: \${error.message}\`,`)
|
|
148
|
+
.writeLine(`lastAttemptedAt: new Date(),`)
|
|
118
149
|
.writeLine(`retryable: error.retryable,`)
|
|
119
|
-
.writeLine(`}
|
|
150
|
+
.writeLine(`};`)
|
|
151
|
+
.writeLine(`await store.put(updatedEvent);`)
|
|
152
|
+
.writeLine(`this.emit("update", [event.id], undefined, updatedEvent, { silent: options?.silent ?? false, addToOutbox: false, tx });`)
|
|
120
153
|
.writeLine(`}`)
|
|
121
154
|
.blankLine()
|
|
122
|
-
.writeLine(`await tx.done;`);
|
|
155
|
+
.writeLine(`if (!options?.tx) await tx.done;`);
|
|
123
156
|
})
|
|
124
157
|
.blankLine();
|
|
125
158
|
}
|
|
@@ -128,7 +161,7 @@ function addStatsMethod(writer, outboxModelName) {
|
|
|
128
161
|
.writeLine(`async stats(): Promise<{ unsynced: number; failed: number; lastError?: string }>`)
|
|
129
162
|
.block(() => {
|
|
130
163
|
writer
|
|
131
|
-
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readonly");`)
|
|
164
|
+
.writeLine(`const tx = this.client._db.transaction(["${outboxModelName}"], "readonly");`)
|
|
132
165
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
133
166
|
.writeLine(`const allEvents = await store.getAll();`)
|
|
134
167
|
.blankLine()
|
|
@@ -142,14 +175,14 @@ function addStatsMethod(writer, outboxModelName) {
|
|
|
142
175
|
}
|
|
143
176
|
function addClearSyncedMethod(writer, outboxModelName) {
|
|
144
177
|
writer
|
|
145
|
-
.writeLine(`async clearSynced(options?: { olderThanDays?: number }): Promise<number>`)
|
|
178
|
+
.writeLine(`async clearSynced(options?: { olderThanDays?: number, tx?: IDBUtils.ReadwriteTransactionType, silent?: boolean }): Promise<number>`)
|
|
146
179
|
.block(() => {
|
|
147
180
|
writer
|
|
148
181
|
.writeLine(`const olderThanDays = options?.olderThanDays ?? 7;`)
|
|
149
182
|
.writeLine(`const cutoffDate = new Date();`)
|
|
150
183
|
.writeLine(`cutoffDate.setDate(cutoffDate.getDate() - olderThanDays);`)
|
|
151
184
|
.blankLine()
|
|
152
|
-
.writeLine(`const tx = this.client._db.transaction("${outboxModelName}", "readwrite");`)
|
|
185
|
+
.writeLine(`const tx = options?.tx ?? this.client._db.transaction(["${outboxModelName}"], "readwrite");`)
|
|
153
186
|
.writeLine(`const store = tx.objectStore("${outboxModelName}");`)
|
|
154
187
|
.writeLine(`const allEvents = await store.getAll();`)
|
|
155
188
|
.blankLine()
|
|
@@ -157,11 +190,12 @@ function addClearSyncedMethod(writer, outboxModelName) {
|
|
|
157
190
|
.writeLine(`for (const event of allEvents) {`)
|
|
158
191
|
.writeLine(`if (event.synced && new Date(event.createdAt) < cutoffDate) {`)
|
|
159
192
|
.writeLine(`await store.delete([event.id]);`)
|
|
193
|
+
.writeLine(`this.emit("delete", [event.id], undefined, event, { silent: options?.silent ?? false, addToOutbox: false, tx });`)
|
|
160
194
|
.writeLine(`deletedCount++;`)
|
|
161
195
|
.writeLine(`}`)
|
|
162
196
|
.writeLine(`}`)
|
|
163
197
|
.blankLine()
|
|
164
|
-
.writeLine(`await tx.done;`)
|
|
198
|
+
.writeLine(`if (!options?.tx) await tx.done;`)
|
|
165
199
|
.writeLine(`return deletedCount;`);
|
|
166
200
|
})
|
|
167
201
|
.blankLine();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutboxEventIDBClass.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"OutboxEventIDBClass.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.ts"],"names":[],"mappings":";;AAEA,wDAWC;AAXD,SAAgB,sBAAsB,CAAC,MAAuB,EAAE,eAAuB;IACrF,MAAM,CAAC,SAAS,CAAC,SAAS,eAAe,uCAAuC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9G,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACxC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACzC,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/C,gCAAgC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1D,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC7C,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC7C,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACxC,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAuB,EAAE,eAAuB;IACxF,MAAM;SACH,SAAS,CAAC,KAAK,CAAC;SAChB,SAAS,CAAC,iEAAiE,CAAC;SAC5E,SAAS,CAAC,4CAA4C,CAAC;SACvD,SAAS,CAAC,KAAK,CAAC;SAChB,SAAS,CAAC,oDAAoD,CAAC;SAC/D,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,2CAA2C,eAAe,iBAAiB,CAAC;aACtF,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,CAAC,wCAAwC,CAAC;aACnD,SAAS,CAAC,iBAAiB,CAAC;aAC5B,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACxD,CAAC,CAAC;aACD,SAAS,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,eAAuB;IACtE,MAAM;SACH,SAAS,CAAC,yDAAyD,CAAC;SACpE,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,2BAA2B,eAAe,KAAK,CAAC,CAAC;IACpE,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,MAAuB,EAAE,eAAuB;IACvE,MAAM;SACH,KAAK,CAAC,sDAAsD,CAAC;SAC7D,KAAK,CAAC,wCAAwC,CAAC;SAC/C,KAAK,CAAC,0GAA0G,CAAC;SACjH,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,2DAA2D,eAAe,mBAAmB,CAAC;aACxG,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,EAAE;aACX,SAAS,CAAC,oCAAoC,CAAC;aAC/C,SAAS,CAAC,0BAA0B,CAAC;aACrC,SAAS,CAAC,wBAAwB,CAAC;aACnC,SAAS,CAAC,gBAAgB,CAAC;aAC3B,SAAS,CAAC,iBAAiB,CAAC;aAC5B,SAAS,CAAC,wBAAwB,CAAC;aACnC,SAAS,CAAC,WAAW,CAAC;aACtB,SAAS,CAAC,kBAAkB,CAAC;aAC7B,SAAS,CAAC,kBAAkB,CAAC;aAC7B,SAAS,CAAC,gBAAgB,CAAC;aAC3B,SAAS,CAAC,IAAI,CAAC;aACf,SAAS,CAAC,yBAAyB,CAAC;aACpC,SAAS,EAAE;aACX,SAAS,CACR,kHAAkH,CACnH;aACA,SAAS,CAAC,kCAAkC,CAAC;aAC7C,SAAS,EAAE;aACX,SAAS,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAuB,EAAE,eAAuB;IAC7E,MAAM;SACH,SAAS,CAAC,gFAAgF,CAAC;SAC3F,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,qCAAqC,CAAC;aAChD,SAAS,CAAC,4CAA4C,eAAe,kBAAkB,CAAC;aACxF,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,EAAE;aACX,SAAS,CAAC,kDAAkD,CAAC;aAC7D,SAAS,CAAC,yCAAyC,CAAC;aACpD,SAAS,CACR,uJAAuJ,CACxJ;aACA,SAAS,EAAE;aACX,SAAS,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,eAAuB;IAC3E,MAAM;SACH,KAAK,CACJ,4KAA4K,CAC7K;SACA,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,8BAA8B,CAAC;aACzC,SAAS,CACR,2DAA2D,eAAe,kCAAkC,CAC7G;aACA,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,EAAE;aACX,SAAS,CAAC,kCAAkC,CAAC;aAC7C,SAAS,CAAC,0CAA0C,CAAC;aACrD,SAAS,CAAC,cAAc,CAAC;aACzB,SAAS,CAAC,wBAAwB,CAAC;aACnC,SAAS,CAAC,WAAW,CAAC;aACtB,SAAS,CAAC,eAAe,CAAC;aAC1B,SAAS,CAAC,WAAW,CAAC;aACtB,SAAS,CAAC,4BAA4B,CAAC;aACvC,SAAS,CAAC,IAAI,CAAC;aACf,SAAS,CAAC,gCAAgC,CAAC;aAC3C,SAAS,CACR,yHAAyH,CAC1H;aACA,SAAS,EAAE;aACX,SAAS,CAAC,oDAAoD,CAAC;aAC/D,SAAS,CAAC,2DAA2D,CAAC;aACtE,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,EAAE;aACX,SAAS,CAAC,OAAO,CAAC;aAClB,SAAS,CACR,+GAA+G,CAChH;aACA,SAAS,EAAE;aACX,SAAS,CAAC,iFAAiF,CAAC;aAC5F,SAAS,CAAC,mBAAmB,CAAC;aAC9B,SAAS,CAAC,8EAA8E,CAAC;aACzF,SAAS,CAAC,8FAA8F,CAAC;aACzG,SAAS,CAAC,cAAc,CAAC;aACzB,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,EAAE;aACX,SAAS,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,eAAuB;IAC3E,MAAM;SACH,SAAS,CACR,mKAAmK,CACpK;SACA,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,2DAA2D,eAAe,mBAAmB,CAAC;aACxG,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,EAAE;aACX,SAAS,CAAC,2CAA2C,CAAC;aACtD,SAAS,CAAC,cAAc,CAAC;aACzB,SAAS,CAAC,wBAAwB,CAAC;aACnC,SAAS,CAAC,WAAW,CAAC;aACtB,SAAS,CAAC,gCAAgC,CAAC;aAC3C,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,8BAA8B,CAAC;aACzC,SAAS,CAAC,6BAA6B,CAAC;aACxC,SAAS,CAAC,IAAI,CAAC;aACf,SAAS,CAAC,gCAAgC,CAAC;aAC3C,SAAS,CACR,yHAAyH,CAC1H;aACA,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,EAAE;aACX,SAAS,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,eAAuB;IACtE,MAAM;SACH,SAAS,CAAC,kFAAkF,CAAC;SAC7F,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,4CAA4C,eAAe,kBAAkB,CAAC;aACxF,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,CAAC,yCAAyC,CAAC;aACpD,SAAS,EAAE;aACX,SAAS,CAAC,6DAA6D,CAAC;aACxE,SAAS,CAAC,mGAAmG,CAAC;aAC9G,SAAS,CACR,yJAAyJ,CAC1J;aACA,SAAS,EAAE;aACX,SAAS,CAAC,iEAAiE,CAAC,CAAC;IAClF,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB,EAAE,eAAuB;IAC5E,MAAM;SACH,SAAS,CACR,oIAAoI,CACrI;SACA,KAAK,CAAC,GAAG,EAAE;QACV,MAAM;aACH,SAAS,CAAC,oDAAoD,CAAC;aAC/D,SAAS,CAAC,gCAAgC,CAAC;aAC3C,SAAS,CAAC,2DAA2D,CAAC;aACtE,SAAS,EAAE;aACX,SAAS,CAAC,2DAA2D,eAAe,mBAAmB,CAAC;aACxG,SAAS,CAAC,iCAAiC,eAAe,KAAK,CAAC;aAChE,SAAS,CAAC,yCAAyC,CAAC;aACpD,SAAS,EAAE;aACX,SAAS,CAAC,uBAAuB,CAAC;aAClC,SAAS,CAAC,kCAAkC,CAAC;aAC7C,SAAS,CAAC,+DAA+D,CAAC;aAC1E,SAAS,CAAC,iCAAiC,CAAC;aAC5C,SAAS,CACR,kHAAkH,CACnH;aACA,SAAS,CAAC,iBAAiB,CAAC;aAC5B,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,CAAC,GAAG,CAAC;aACd,SAAS,EAAE;aACX,SAAS,CAAC,kCAAkC,CAAC;aAC7C,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACvC,CAAC,CAAC;SACD,SAAS,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -103,6 +103,9 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
103
103
|
.writeLine(` * @param options.schedule Scheduling configuration`)
|
|
104
104
|
.writeLine(` * @param options.schedule.intervalMs Milliseconds between sync cycles (default: 5000)`)
|
|
105
105
|
.writeLine(` * @param options.schedule.maxRetries Max retry attempts for outbox events before abandoning (default: 5)`)
|
|
106
|
+
.writeLine(` * @param options.schedule.backoffMs Exponential backoff base duration in milliseconds (default: 300000 = 5 minutes).`)
|
|
107
|
+
.writeLine(` * For each failed attempt, the wait time is calculated as: backoffMs * 2^(tries-1). E.g. with the default 5 minutes:`)
|
|
108
|
+
.writeLine(` * First failure: wait 5 min, second: wait 10 min, third: wait 20 min, etc.`)
|
|
106
109
|
.writeLine(` *`)
|
|
107
110
|
.writeLine(` * @returns SyncWorker with start() and stop() methods`)
|
|
108
111
|
.writeLine(` *`)
|
|
@@ -116,7 +119,6 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
116
119
|
.writeLine(` * },`)
|
|
117
120
|
.writeLine(` * pull: {`)
|
|
118
121
|
.writeLine(` * handler: async (cursor) => {`)
|
|
119
|
-
.writeLine(` * return await api.pullChanges({ since: cursor });`)
|
|
120
122
|
.writeLine(` * },`)
|
|
121
123
|
.writeLine(` * getCursor: async () => {`)
|
|
122
124
|
.writeLine(` * const value = localStorage.getItem('syncCursor');`)
|
|
@@ -134,15 +136,14 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
134
136
|
.writeLine(` * });`)
|
|
135
137
|
.writeLine(` *`)
|
|
136
138
|
.writeLine(` * worker.start(); // begins sync cycles`)
|
|
137
|
-
.writeLine(` * worker.stop(); // gracefully stops`)
|
|
138
139
|
.writeLine(` */`)
|
|
139
|
-
.writeLine(`createSyncWorker(options: { push: { handler: (events: OutboxEventRecord[]) => Promise<PushResult[]>; batchSize?: number }; pull: { handler: (cursor?: string) => Promise<{ cursor?: string; logsWithRecords: LogWithRecord<typeof validators>[] }>; getCursor?: () => Promise<string | undefined> | string | undefined; setCursor?: (cursor: string | undefined) => Promise<void> | void }; schedule?: { intervalMs?: number; maxRetries?: number } }): SyncWorker`)
|
|
140
|
+
.writeLine(`createSyncWorker(options: { push: { handler: (events: OutboxEventRecord[]) => Promise<PushResult[]>; batchSize?: number }; pull: { handler: (cursor?: string) => Promise<{ cursor?: string; logsWithRecords: LogWithRecord<typeof validators>[] }>; getCursor?: () => Promise<string | undefined> | string | undefined; setCursor?: (cursor: string | undefined) => Promise<void> | void }; schedule?: { intervalMs?: number; maxRetries?: number; backoffMs?: number } }): SyncWorker`)
|
|
140
141
|
.block(() => {
|
|
141
142
|
writer
|
|
142
143
|
.writeLine(`const { push, pull } = options;`)
|
|
143
144
|
.writeLine(`const { handler: pushHandler, batchSize = 10 } = push;`)
|
|
144
145
|
.writeLine(`const { handler: pullHandler, getCursor, setCursor } = pull;`)
|
|
145
|
-
.writeLine(`const { intervalMs = 5000, maxRetries = 5 } = options.schedule || {};`)
|
|
146
|
+
.writeLine(`const { intervalMs = 5000, maxRetries = 5, backoffMs = 300000 } = options.schedule || {};`)
|
|
146
147
|
.blankLine()
|
|
147
148
|
.writeLine(`let intervalId: ReturnType<typeof setInterval | typeof setTimeout> | null = null;`)
|
|
148
149
|
.writeLine(`let status: 'STOPPED' | 'IDLE' | 'PUSHING' | 'PULLING' = 'STOPPED';`)
|
|
@@ -153,23 +154,50 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
153
154
|
.writeLine(`const eventTarget = new EventTarget();`)
|
|
154
155
|
.blankLine()
|
|
155
156
|
.writeLine(`const emitStatusChange = () => {`)
|
|
156
|
-
.writeLine(`
|
|
157
|
+
.writeLine(` const detail = { status, isLooping, lastSyncTime, lastError };`)
|
|
158
|
+
.writeLine(` const event = new CustomEvent('statuschange', { detail });`)
|
|
159
|
+
.writeLine(` eventTarget.dispatchEvent(event);`)
|
|
157
160
|
.writeLine(`};`)
|
|
161
|
+
.blankLine()
|
|
162
|
+
.writeLine(`const emitPullCompleted = (stats: ApplyPullResult) => {`)
|
|
163
|
+
.writeLine(` const event = new CustomEvent('pullcompleted', { detail: stats });`)
|
|
164
|
+
.writeLine(` eventTarget.dispatchEvent(event);`)
|
|
165
|
+
.writeLine(`};`)
|
|
166
|
+
.blankLine()
|
|
167
|
+
.writeLine(`const emitPushCompleted = (results: PushResult[]) => {`)
|
|
168
|
+
.writeLine(` const event = new CustomEvent('pushcompleted', { detail: { results } });`)
|
|
169
|
+
.writeLine(` eventTarget.dispatchEvent(event);`)
|
|
170
|
+
.writeLine(`};`)
|
|
171
|
+
.blankLine()
|
|
172
|
+
.writeLine(`let pullStats: ApplyPullResult =`)
|
|
173
|
+
.block(() => {
|
|
174
|
+
writer.writeLine(`validationErrors: [],`);
|
|
175
|
+
writer.writeLine(`missingRecords: 0,`);
|
|
176
|
+
writer.writeLine(`staleRecords: 0,`);
|
|
177
|
+
writer.writeLine(`totalAppliedRecords: 0,`);
|
|
178
|
+
})
|
|
179
|
+
.blankLine()
|
|
180
|
+
.writeLine(`/**`)
|
|
181
|
+
.writeLine(` * Check if an event is ready to be retried based on exponential backoff.`)
|
|
182
|
+
.writeLine(` * Returns true if enough time has passed since the last attempted push.`)
|
|
183
|
+
.writeLine(` */`)
|
|
184
|
+
.writeLine(`const isReadyToRetry = (event: OutboxEventRecord, overrideBackoff = false): boolean =>`)
|
|
185
|
+
.block(() => {
|
|
186
|
+
writer.writeLine(`if (!event.lastAttemptedAt) return true;`);
|
|
187
|
+
writer.writeLine(`const now = Date.now();`);
|
|
188
|
+
writer.writeLine(`const backoffMultiplier = overrideBackoff ? 0 : Math.pow(2, event.tries - 1);`);
|
|
189
|
+
writer.writeLine(`const nextRetryTime = event.lastAttemptedAt.getTime() + (backoffMs * backoffMultiplier);`);
|
|
190
|
+
writer.writeLine(`return now >= nextRetryTime;`);
|
|
191
|
+
})
|
|
158
192
|
.blankLine()
|
|
159
193
|
.writeLine(`/**`)
|
|
160
194
|
.writeLine(` * Process a batch of outbox events passed as argument.`)
|
|
161
195
|
.writeLine(` * This is the core unit of push work, avoiding redundant fetches.`)
|
|
162
196
|
.writeLine(` */`)
|
|
163
|
-
.writeLine(`const pushBatch = async (batch: OutboxEventRecord[]): Promise<
|
|
164
|
-
.writeLine(`
|
|
165
|
-
.writeLine(` const
|
|
166
|
-
.
|
|
167
|
-
.writeLine(` for (const event of abandoned) {`)
|
|
168
|
-
.writeLine(` await this.$outbox.markFailed(event.id, { type: "MAX_RETRIES", message: \`Abandoned after \${maxRetries} retries\`, retryable: false });`)
|
|
169
|
-
.writeLine(` }`)
|
|
170
|
-
.blankLine()
|
|
171
|
-
.writeLine(` if (toSync.length === 0) return;`)
|
|
172
|
-
.blankLine()
|
|
197
|
+
.writeLine(`const pushBatch = async (batch: OutboxEventRecord[], overrideBackoff = false): Promise<PushResult[]> => {`)
|
|
198
|
+
.writeLine(` // Only push retryable events; do not mark as permanently failed on client`)
|
|
199
|
+
.writeLine(` const toSync = batch.filter((event: OutboxEventRecord) => event.retryable && isReadyToRetry(event, overrideBackoff));`)
|
|
200
|
+
.writeLine(` if (toSync.length === 0) return [];`)
|
|
173
201
|
.writeLine(` let results: PushResult[] = [];`)
|
|
174
202
|
.writeLine(` try {`)
|
|
175
203
|
.writeLine(` results = await pushHandler(toSync);`)
|
|
@@ -178,21 +206,21 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
178
206
|
.writeLine(` const error = err instanceof Error ? err.message : String(err);`)
|
|
179
207
|
.writeLine(` await this.$outbox.markFailed(event.id, { type: "UNKNOWN_ERROR", message: error, retryable: true });`)
|
|
180
208
|
.writeLine(` }`)
|
|
181
|
-
.writeLine(` return;`)
|
|
209
|
+
.writeLine(` return results;`)
|
|
182
210
|
.writeLine(` }`)
|
|
183
|
-
.blankLine()
|
|
184
211
|
.writeLine(` const appliedLogs: { id: string; lastAppliedChangeId: string | null }[] = [];`)
|
|
185
212
|
.writeLine(` for (const result of results) {`)
|
|
186
213
|
.writeLine(` if (result.error) {`)
|
|
214
|
+
.writeLine(` // Only the server can mark retryable = false`)
|
|
187
215
|
.writeLine(` await this.$outbox.markFailed(result.id, result.error);`)
|
|
188
216
|
.writeLine(` } else {`)
|
|
189
217
|
.writeLine(` appliedLogs.push({ id: result.id, lastAppliedChangeId: result.appliedChangelogId });`)
|
|
190
218
|
.writeLine(` }`)
|
|
191
219
|
.writeLine(` }`)
|
|
192
|
-
.blankLine()
|
|
193
220
|
.writeLine(` if (appliedLogs.length > 0) {`)
|
|
194
221
|
.writeLine(` await this.$outbox.markSynced(appliedLogs);`)
|
|
195
222
|
.writeLine(` }`)
|
|
223
|
+
.writeLine(` return results;`)
|
|
196
224
|
.writeLine(`};`)
|
|
197
225
|
.blankLine()
|
|
198
226
|
.writeLine(`/**`)
|
|
@@ -201,14 +229,24 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
201
229
|
.writeLine(` *`)
|
|
202
230
|
.writeLine(` * Invariant: when this completes, there are no syncable events left.`)
|
|
203
231
|
.writeLine(` */`)
|
|
204
|
-
.writeLine(`const drainPushPhase = async (): Promise<void> => {`)
|
|
232
|
+
.writeLine(`const drainPushPhase = async (overrideBackoff = false): Promise<void> => {`)
|
|
205
233
|
.writeLine(` status = 'PUSHING';`)
|
|
206
234
|
.writeLine(` emitStatusChange();`)
|
|
207
235
|
.writeLine(` try {`)
|
|
236
|
+
.writeLine(` const allResults: PushResult[] = [];`)
|
|
208
237
|
.writeLine(` while (true) {`)
|
|
209
238
|
.writeLine(` const batch = await this.$outbox.getNextBatch({ limit: batchSize });`)
|
|
210
239
|
.writeLine(` if (batch.length === 0) break;`)
|
|
211
|
-
.writeLine(`
|
|
240
|
+
.writeLine(` const ready = batch.filter(event => event.retryable && isReadyToRetry(event, overrideBackoff));`)
|
|
241
|
+
.writeLine(` if (ready.length === 0) break;`)
|
|
242
|
+
.writeLine(` const batchResults = await pushBatch(ready, overrideBackoff);`)
|
|
243
|
+
.writeLine(` if (batchResults && batchResults.length > 0) allResults.push(...batchResults);`)
|
|
244
|
+
.writeLine(` }`)
|
|
245
|
+
.writeLine(` // Emit push results after push drained`)
|
|
246
|
+
.writeLine(` try {`)
|
|
247
|
+
.writeLine(` emitPushCompleted(allResults);`)
|
|
248
|
+
.writeLine(` } catch (err) {`)
|
|
249
|
+
.writeLine(` console.warn('Failed to emit pushcompleted event:', err);`)
|
|
212
250
|
.writeLine(` }`)
|
|
213
251
|
.writeLine(` } catch (err) {`)
|
|
214
252
|
.writeLine(` const errorMessage = err instanceof Error ? err.message : String(err);`)
|
|
@@ -231,13 +269,18 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
231
269
|
.writeLine(` emitStatusChange();`)
|
|
232
270
|
.writeLine(` try {`)
|
|
233
271
|
.writeLine(` let cursor = getCursor ? await Promise.resolve(getCursor()) : undefined;`)
|
|
272
|
+
.writeLine(` pullStats = { validationErrors: [], missingRecords: 0, staleRecords: 0, totalAppliedRecords: 0 };`)
|
|
234
273
|
.blankLine()
|
|
235
274
|
.writeLine(` while (true) {`)
|
|
236
275
|
.writeLine(` const res = await pullHandler(cursor);`)
|
|
237
276
|
.writeLine(` const { logsWithRecords, cursor: nextCursor } = res;`)
|
|
238
277
|
.writeLine(` if (logsWithRecords.length === 0) break;`)
|
|
239
278
|
.blankLine()
|
|
240
|
-
.writeLine(` await applyPull({ idbClient: this, logsWithRecords });`)
|
|
279
|
+
.writeLine(` const pageStats = await applyPull({ idbClient: this, logsWithRecords });`)
|
|
280
|
+
.writeLine(` pullStats.totalAppliedRecords += pageStats.totalAppliedRecords;`)
|
|
281
|
+
.writeLine(` pullStats.missingRecords += pageStats.missingRecords;`)
|
|
282
|
+
.writeLine(` pullStats.staleRecords += pageStats.staleRecords;`)
|
|
283
|
+
.writeLine(` pullStats.validationErrors.push(...pageStats.validationErrors);`)
|
|
241
284
|
.blankLine()
|
|
242
285
|
.writeLine(` if (setCursor) {`)
|
|
243
286
|
.writeLine(` await Promise.resolve(setCursor(nextCursor));`)
|
|
@@ -246,6 +289,8 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
246
289
|
.writeLine(` cursor = nextCursor;`)
|
|
247
290
|
.writeLine(` if (typeof cursor !== 'string') break;`)
|
|
248
291
|
.writeLine(` }`)
|
|
292
|
+
.blankLine()
|
|
293
|
+
.writeLine(` emitPullCompleted(pullStats);`)
|
|
249
294
|
.writeLine(` } catch (err) {`)
|
|
250
295
|
.writeLine(` const errorMessage = err instanceof Error ? err.message : String(err);`)
|
|
251
296
|
.writeLine(` console.error('Pull phase failed:', errorMessage);`)
|
|
@@ -263,14 +308,25 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
263
308
|
.writeLine(` * - Push fully completes before pull starts`)
|
|
264
309
|
.writeLine(` * - Order is unbreakable`)
|
|
265
310
|
.writeLine(` */`)
|
|
266
|
-
.writeLine(`const syncOnce = async (): Promise<void> => {`)
|
|
311
|
+
.writeLine(`const syncOnce = async (overrideBackoff = false): Promise<void> => {`)
|
|
267
312
|
.writeLine(` if (status === 'PUSHING' || status === 'PULLING') {`)
|
|
268
313
|
.writeLine(` console.warn('syncOnce: sync already in progress');`)
|
|
269
314
|
.writeLine(` return;`)
|
|
270
315
|
.writeLine(` }`)
|
|
271
316
|
.blankLine()
|
|
272
317
|
.writeLine(` try {`)
|
|
273
|
-
.writeLine(`
|
|
318
|
+
.writeLine(` // Check for any retryable unsynced outbox events`)
|
|
319
|
+
.writeLine(` const hasRetryable = await this.$outbox.hasAnyRetryableUnsynced();`)
|
|
320
|
+
.writeLine(` if (hasRetryable) {`)
|
|
321
|
+
.writeLine(` await drainPushPhase(overrideBackoff);`)
|
|
322
|
+
.writeLine(` // After push, check again; if still retryable, do not pull`)
|
|
323
|
+
.writeLine(` const stillHasRetryable = await this.$outbox.hasAnyRetryableUnsynced();`)
|
|
324
|
+
.writeLine(` if (stillHasRetryable) {`)
|
|
325
|
+
.writeLine(` // Only push, skip pull`)
|
|
326
|
+
.writeLine(` return;`)
|
|
327
|
+
.writeLine(` }`)
|
|
328
|
+
.writeLine(` }`)
|
|
329
|
+
.writeLine(` // Only pull if no retryable unsynced events`)
|
|
274
330
|
.writeLine(` await drainPullPhase();`)
|
|
275
331
|
.writeLine(` lastSyncTime = new Date();`)
|
|
276
332
|
.writeLine(` lastError = null;`)
|
|
@@ -326,7 +382,7 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
326
382
|
.writeLine(` * Returns immediately if worker is stopped or a sync is already in progress.`)
|
|
327
383
|
.writeLine(` * Use syncNow() to trigger a one-off sync without starting the worker.`)
|
|
328
384
|
.writeLine(` */`)
|
|
329
|
-
.writeLine(` async forceSync(): Promise<void> {`)
|
|
385
|
+
.writeLine(` async forceSync(options?: { overrideBackoff?: boolean }): Promise<void> {`)
|
|
330
386
|
.writeLine(` if (!isLooping) {`)
|
|
331
387
|
.writeLine(` console.warn('forceSync: worker is not running');`)
|
|
332
388
|
.writeLine(` return;`)
|
|
@@ -336,7 +392,7 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
336
392
|
.writeLine(` return;`)
|
|
337
393
|
.writeLine(` }`)
|
|
338
394
|
.writeLine(` if (intervalId) clearTimeout(intervalId);`)
|
|
339
|
-
.writeLine(` await syncOnce();`)
|
|
395
|
+
.writeLine(` await syncOnce(options?.overrideBackoff);`)
|
|
340
396
|
.writeLine(` },`)
|
|
341
397
|
.blankLine()
|
|
342
398
|
.writeLine(` /**`)
|
|
@@ -344,14 +400,14 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
344
400
|
.writeLine(` * Returns immediately if a sync is already in progress.`)
|
|
345
401
|
.writeLine(` * Does not require the worker to be running (started).`)
|
|
346
402
|
.writeLine(` */`)
|
|
347
|
-
.writeLine(` async syncNow(): Promise<void> {`)
|
|
403
|
+
.writeLine(` async syncNow(options?: { overrideBackoff?: boolean }): Promise<void> {`)
|
|
348
404
|
.writeLine(` const isRunning = status === 'PUSHING' || status === 'PULLING';`)
|
|
349
405
|
.writeLine(` if (isRunning) {`)
|
|
350
406
|
.writeLine(` console.warn('syncNow: sync already in progress');`)
|
|
351
407
|
.writeLine(` return;`)
|
|
352
408
|
.writeLine(` }`)
|
|
353
409
|
.writeLine(` if (intervalId) clearTimeout(intervalId);`)
|
|
354
|
-
.writeLine(` await syncOnce();`)
|
|
410
|
+
.writeLine(` await syncOnce(options?.overrideBackoff);`)
|
|
355
411
|
.writeLine(` },`)
|
|
356
412
|
.blankLine()
|
|
357
413
|
.writeLine(` /**`)
|
|
@@ -374,21 +430,24 @@ function addCreateSyncWorkerMethod(writer) {
|
|
|
374
430
|
.writeLine(` },`)
|
|
375
431
|
.blankLine()
|
|
376
432
|
.writeLine(` /**`)
|
|
377
|
-
.writeLine(` * Listen for status changes.`)
|
|
378
|
-
.writeLine(` * @param event Event name (only 'statuschange' supported)`)
|
|
379
|
-
.writeLine(` * @param callback Function called whenever status changes`)
|
|
433
|
+
.writeLine(` * Listen for status changes, pull completion, or push completion events.`)
|
|
380
434
|
.writeLine(` * @returns Unsubscribe function`)
|
|
381
|
-
.writeLine(` * @example`)
|
|
382
|
-
.writeLine(` * const unsubscribe = worker.on('statuschange', () => {`)
|
|
383
|
-
.writeLine(` * console.log('Status:', worker.status);`)
|
|
384
|
-
.writeLine(` * });`)
|
|
385
|
-
.writeLine(` * // Later: unsubscribe()`)
|
|
386
435
|
.writeLine(` */`)
|
|
387
|
-
.writeLine(` on
|
|
388
|
-
.writeLine(`
|
|
389
|
-
.writeLine(`
|
|
390
|
-
.writeLine(`
|
|
391
|
-
.writeLine(`
|
|
436
|
+
.writeLine(` on<E extends "statuschange" | "pullcompleted" | "pushcompleted">(`)
|
|
437
|
+
.writeLine(` event: E,`)
|
|
438
|
+
.writeLine(` callback: (`)
|
|
439
|
+
.writeLine(` e: E extends "statuschange"`)
|
|
440
|
+
.writeLine(` ? CustomEvent<{ status: 'STOPPED' | 'IDLE' | 'PUSHING' | 'PULLING'; isLooping: boolean; lastSyncTime: Date | null; lastError: Error | null }>`)
|
|
441
|
+
.writeLine(` : E extends "pullcompleted"`)
|
|
442
|
+
.writeLine(` ? CustomEvent<ApplyPullResult>`)
|
|
443
|
+
.writeLine(` : CustomEvent<{ results: PushResult[] }>`)
|
|
444
|
+
.writeLine(` ) => void`)
|
|
445
|
+
.writeLine(` ): () => void {`)
|
|
446
|
+
.writeLine(` // eslint-disable-next-line @typescript-eslint/no-explicit-any`)
|
|
447
|
+
.writeLine(` const listener = (e: Event) => callback(e as any);`)
|
|
448
|
+
.writeLine(` eventTarget.addEventListener(event, listener as EventListener);`)
|
|
449
|
+
.writeLine(` return () => eventTarget.removeEventListener(event, listener as EventListener);`)
|
|
450
|
+
.writeLine(` }`)
|
|
392
451
|
.writeLine(`};`);
|
|
393
452
|
});
|
|
394
453
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrismaIDBClient.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/PrismaIDBClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PrismaIDBClient.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/PrismaIDBClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ function addImports(writer, models, prismaClientImport, outboxSync = false) {
|
|
|
19
19
|
.writeLine(`import type { PushResult } from "../server/batch-processor";`)
|
|
20
20
|
.writeLine(`import { validators, keyPathValidators, modelRecordToKeyPath } from "../validators";`)
|
|
21
21
|
.writeLine(`import type { LogWithRecord } from '../server/batch-processor';`)
|
|
22
|
-
.writeLine(`import { applyPull } from './apply-pull';`);
|
|
22
|
+
.writeLine(`import { applyPull, type ApplyPullResult } from './apply-pull';`);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
writer.writeLine(`import type { PrismaIDBSchema } from "./idb-interface";`);
|
|
@@ -42,7 +42,7 @@ function createPrismaIDBClientFile(writer, models, prismaClientImport, outboxSyn
|
|
|
42
42
|
addImports(writer, models, prismaClientImport, outboxSync);
|
|
43
43
|
addVersionDeclaration(writer);
|
|
44
44
|
(0, PrismaIDBClient_1.addClientClass)(writer, models, outboxSync, outboxModelName, versionMetaModelName, include, exclude);
|
|
45
|
-
(0, BaseIDBModelClass_1.addBaseModelClass)(writer, outboxSync
|
|
45
|
+
(0, BaseIDBModelClass_1.addBaseModelClass)(writer, outboxSync);
|
|
46
46
|
models.forEach((model) => {
|
|
47
47
|
(0, IDBModelClass_1.addIDBModelClass)(writer, model, models, outboxSync, outboxModelName, versionMetaModelName);
|
|
48
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/prisma-idb-client/create.ts"],"names":[],"mappings":";;AAoDA,8DAqBC;AAtED,mEAAgE;AAChE,kEAAkE;AAClE,+DAA2D;AAC3D,uEAAuE;AACvE,uEAAuE;AAEvE,SAAS,UAAU,CACjB,MAAuB,EACvB,MAAwB,EACxB,kBAA0B,EAC1B,aAAsB,KAAK;IAE3B,MAAM;SACH,SAAS,CAAC,wDAAwD,CAAC;SACnE,SAAS,CAAC,+BAA+B,CAAC;SAC1C,SAAS,CAAC,uEAAuE,CAAC;SAClF,SAAS,CAAC,gCAAgC,kBAAkB,IAAI,CAAC;SACjE,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAEzD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM;aACH,SAAS,CACR,6HAA6H,CAC9H;aACA,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,sFAAsF,CAAC;aACjG,SAAS,CAAC,iEAAiE,CAAC;aAC5E,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/prisma-idb-client/create.ts"],"names":[],"mappings":";;AAoDA,8DAqBC;AAtED,mEAAgE;AAChE,kEAAkE;AAClE,+DAA2D;AAC3D,uEAAuE;AACvE,uEAAuE;AAEvE,SAAS,UAAU,CACjB,MAAuB,EACvB,MAAwB,EACxB,kBAA0B,EAC1B,aAAsB,KAAK;IAE3B,MAAM;SACH,SAAS,CAAC,wDAAwD,CAAC;SACnE,SAAS,CAAC,+BAA+B,CAAC;SAC1C,SAAS,CAAC,uEAAuE,CAAC;SAClF,SAAS,CAAC,gCAAgC,kBAAkB,IAAI,CAAC;SACjE,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAEzD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM;aACH,SAAS,CACR,6HAA6H,CAC9H;aACA,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,sFAAsF,CAAC;aACjG,SAAS,CAAC,iEAAiE,CAAC;aAC5E,SAAS,CAAC,iEAAiE,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,eAAe,GAAG,MAAM;SAC3B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAChC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAEjH,IAAI,eAAe;QAAE,MAAM,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAE1F,MAAM,eAAe,GAAG,MAAM;SAC3B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAChC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAEjH,IAAI,eAAe;QAAE,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAuB;IACpD,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAAuB,EACvB,MAAgC,EAChC,kBAA0B,EAC1B,UAAmB,EACnB,eAAuB,EACvB,oBAA4B,EAC5B,UAAoB,CAAC,GAAG,CAAC,EACzB,UAAoB,EAAE;IAEtB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAC3D,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpG,IAAA,qCAAiB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAA,gCAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,IAAI,UAAU,EAAE,CAAC;QACf,IAAA,4CAAsB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAChD,IAAA,4CAAsB,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -33,6 +33,7 @@ function createValidatorsFile(writer, models, enums) {
|
|
|
33
33
|
writer.writeLine(` synced: z.boolean(),`);
|
|
34
34
|
writer.writeLine(` syncedAt: z.coerce.date().nullable(),`);
|
|
35
35
|
writer.writeLine(` retryable: z.boolean(),`);
|
|
36
|
+
writer.writeLine(` lastAttemptedAt: z.coerce.date().nullable(),`);
|
|
36
37
|
writer.writeLine(`});`);
|
|
37
38
|
writer.blankLine();
|
|
38
39
|
writer.writeLine(`export const keyPathValidators = {`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/validators/create.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/validators/create.ts"],"names":[],"mappings":"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"}
|