@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 CHANGED
@@ -5,7 +5,10 @@
5
5
  },
6
6
  "plugins": {
7
7
  "@release-it/conventional-changelog": {
8
- "preset": "angular"
8
+ "preset": "angular",
9
+ "gitRawCommitsOpts": {
10
+ "path": "./"
11
+ }
9
12
  }
10
13
  },
11
14
  "npm": {
@@ -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}.delete({ where: ${keyPathWhereClause} }, { silent: true, addToOutbox: false, tx });`);
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":"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"}
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(` * Listen for status changes.`)
123
- .writeLine(` * @param event Event name (only 'statuschange' supported)`)
124
- .writeLine(` * @param callback Function called whenever status changes`)
125
- .writeLine(` * @returns Unsubscribe function`)
126
- .writeLine(` * @example`)
127
- .writeLine(` * const unsubscribe = worker.on('statuschange', () => {`)
128
- .writeLine(` * console.log('Status:', worker.status);`)
129
- .writeLine(` * });`)
130
- .writeLine(` * // Later: unsubscribe()`)
131
- .writeLine(` */`)
132
- .writeLine(`on(event: 'statuschange', callback: () => void): () => void;`);
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":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-interface/create.ts"],"names":[],"mappings":"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"}
@@ -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, outboxModelName) {
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, outboxModelName);
19
+ addEventEmitters(writer, outboxSync);
20
20
  });
21
21
  }
22
- function addEventEmitters(writer, outboxSync, outboxModelName) {
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(`if (opts?.tx) {`)
66
- .writeLine(`const outboxStore = opts.tx.objectStore("${outboxModelName}");`)
67
- .writeLine(`const outboxEvent: OutboxEventRecord = {`)
68
- .writeLine(`id: crypto.randomUUID(),`)
69
- .writeLine(`createdAt: new Date(),`)
70
- .writeLine(`synced: false,`)
71
- .writeLine(`syncedAt: null,`)
72
- .writeLine(`tries: 0,`)
73
- .writeLine(`lastError: null,`)
74
- .writeLine(`entityType: this.modelName,`)
75
- .writeLine(`operation: event,`)
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.tx });`)
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":"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"}
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
- .writeLine(`async create(query: { data: Pick<OutboxEventRecord, "entityType" | "operation" | "payload"> }): Promise<OutboxEventRecord>`)
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
- .writeLine(`await tx.done;`)
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
- .writeLine(`async markSynced(appliedLogs: { id: string; lastAppliedChangeId: string | null }[]): Promise<void>`)
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(`await store.put({`)
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']>): Promise<void>`)
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(`await store.put({`)
144
+ .writeLine(`const updatedEvent = {`)
115
145
  .writeLine(`...event,`)
116
146
  .writeLine(`tries: (event.tries ?? 0) + 1,`)
117
- .writeLine(`lastError: \`\${error.message}: \${error.message}\`,`)
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":"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"}
1
+ {"version":3,"file":"OutboxEventIDBClass.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/OutboxEventIDBClass.ts"],"names":[],"mappings":"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"}
@@ -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(` eventTarget.dispatchEvent(new Event('statuschange'));`)
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<void> => {`)
164
- .writeLine(` const toSync = batch.filter((event: OutboxEventRecord) => event.tries < maxRetries && event.retryable);`)
165
- .writeLine(` const abandoned = batch.filter((event: OutboxEventRecord) => event.tries >= maxRetries);`)
166
- .blankLine()
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(` await pushBatch(batch);`)
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(` await drainPushPhase();`)
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(event: 'statuschange', callback: () => void): () => void {`)
388
- .writeLine(` const listener = () => callback();`)
389
- .writeLine(` eventTarget.addEventListener(event, listener);`)
390
- .writeLine(` return () => eventTarget.removeEventListener(event, listener);`)
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, outboxModelName);
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,2CAA2C,CAAC,CAAC;IAC5D,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,EAAE,eAAe,CAAC,CAAC;IACvD,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"}
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":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/validators/create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prisma-idb/idb-client-generator",
3
3
  "description": "Generate types for idb from prisma schema",
4
- "version": "0.27.0",
4
+ "version": "0.28.0",
5
5
  "main": "dist/generator.js",
6
6
  "license": "MIT",
7
7
  "bin": {