@syncular/client 0.0.1 → 0.0.2-126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/blobs/index.js +3 -3
- package/dist/client.d.ts +10 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +70 -21
- package/dist/client.js.map +1 -1
- package/dist/conflicts.d.ts.map +1 -1
- package/dist/conflicts.js +1 -7
- package/dist/conflicts.js.map +1 -1
- package/dist/create-client.d.ts +5 -1
- package/dist/create-client.d.ts.map +1 -1
- package/dist/create-client.js +22 -10
- package/dist/create-client.js.map +1 -1
- package/dist/engine/SyncEngine.d.ts +24 -2
- package/dist/engine/SyncEngine.d.ts.map +1 -1
- package/dist/engine/SyncEngine.js +290 -43
- package/dist/engine/SyncEngine.js.map +1 -1
- package/dist/engine/index.js +2 -2
- package/dist/engine/types.d.ts +16 -4
- package/dist/engine/types.d.ts.map +1 -1
- package/dist/handlers/create-handler.d.ts +15 -5
- package/dist/handlers/create-handler.d.ts.map +1 -1
- package/dist/handlers/create-handler.js +35 -24
- package/dist/handlers/create-handler.js.map +1 -1
- package/dist/handlers/types.d.ts +5 -5
- package/dist/handlers/types.d.ts.map +1 -1
- package/dist/index.js +19 -19
- package/dist/migrate.d.ts +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +148 -28
- package/dist/migrate.js.map +1 -1
- package/dist/mutations.d.ts +3 -1
- package/dist/mutations.d.ts.map +1 -1
- package/dist/mutations.js +93 -18
- package/dist/mutations.js.map +1 -1
- package/dist/outbox.d.ts.map +1 -1
- package/dist/outbox.js +1 -11
- package/dist/outbox.js.map +1 -1
- package/dist/plugins/incrementing-version.d.ts +1 -1
- package/dist/plugins/incrementing-version.js +2 -2
- package/dist/plugins/index.js +2 -2
- package/dist/proxy/dialect.js +1 -1
- package/dist/proxy/driver.js +1 -1
- package/dist/proxy/index.js +4 -4
- package/dist/proxy/mutations.js +1 -1
- package/dist/pull-engine.d.ts +29 -3
- package/dist/pull-engine.d.ts.map +1 -1
- package/dist/pull-engine.js +314 -78
- package/dist/pull-engine.js.map +1 -1
- package/dist/push-engine.d.ts.map +1 -1
- package/dist/push-engine.js +28 -3
- package/dist/push-engine.js.map +1 -1
- package/dist/query/QueryContext.js +1 -1
- package/dist/query/index.js +3 -3
- package/dist/query/tracked-select.d.ts +2 -1
- package/dist/query/tracked-select.d.ts.map +1 -1
- package/dist/query/tracked-select.js +1 -1
- package/dist/schema.d.ts +2 -2
- package/dist/schema.d.ts.map +1 -1
- package/dist/sync-loop.d.ts +5 -1
- package/dist/sync-loop.d.ts.map +1 -1
- package/dist/sync-loop.js +167 -18
- package/dist/sync-loop.js.map +1 -1
- package/package.json +30 -6
- package/src/client.test.ts +369 -0
- package/src/client.ts +101 -22
- package/src/conflicts.ts +1 -10
- package/src/create-client.ts +33 -5
- package/src/engine/SyncEngine.test.ts +157 -0
- package/src/engine/SyncEngine.ts +359 -40
- package/src/engine/types.ts +22 -4
- package/src/handlers/create-handler.ts +86 -37
- package/src/handlers/types.ts +10 -4
- package/src/migrate.ts +215 -33
- package/src/mutations.ts +143 -21
- package/src/outbox.ts +1 -15
- package/src/plugins/incrementing-version.ts +2 -2
- package/src/pull-engine.test.ts +147 -0
- package/src/pull-engine.ts +392 -77
- package/src/push-engine.ts +33 -1
- package/src/query/tracked-select.ts +1 -1
- package/src/schema.ts +2 -2
- package/src/sync-loop.ts +215 -19
package/dist/migrate.js
CHANGED
|
@@ -1,6 +1,124 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @syncular/client - Sync migrations (SQLite reference)
|
|
3
3
|
*/
|
|
4
|
+
import { sql } from 'kysely';
|
|
5
|
+
function toErrorMessage(error) {
|
|
6
|
+
return error instanceof Error ? error.message : String(error);
|
|
7
|
+
}
|
|
8
|
+
function isMissingTableError(message) {
|
|
9
|
+
const normalized = message.toLowerCase();
|
|
10
|
+
return (normalized.includes('no such table') ||
|
|
11
|
+
(normalized.includes('relation') && normalized.includes('does not exist')));
|
|
12
|
+
}
|
|
13
|
+
function isMissingColumnError(message) {
|
|
14
|
+
const normalized = message.toLowerCase();
|
|
15
|
+
return (normalized.includes('no such column') ||
|
|
16
|
+
(normalized.includes('column') && normalized.includes('does not exist')));
|
|
17
|
+
}
|
|
18
|
+
function isDuplicateColumnError(message) {
|
|
19
|
+
const normalized = message.toLowerCase();
|
|
20
|
+
return (normalized.includes('duplicate column name') ||
|
|
21
|
+
(normalized.includes('column') && normalized.includes('already exists')));
|
|
22
|
+
}
|
|
23
|
+
async function getColumnNames(db, tableName) {
|
|
24
|
+
try {
|
|
25
|
+
const sqlite = await sql `
|
|
26
|
+
select name from pragma_table_info(${sql.val(tableName)})
|
|
27
|
+
`.execute(db);
|
|
28
|
+
return new Set(sqlite.rows.map((row) => String(row.name)));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Not SQLite or pragma unavailable.
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const postgres = await sql `
|
|
35
|
+
select column_name as name
|
|
36
|
+
from information_schema.columns
|
|
37
|
+
where table_name = ${sql.val(tableName)}
|
|
38
|
+
`.execute(db);
|
|
39
|
+
return new Set(postgres.rows.map((row) => String(row.name)));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Introspection unavailable; caller falls back to probing.
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
async function hasColumn(db, tableName, columnName) {
|
|
47
|
+
const columns = await getColumnNames(db, tableName);
|
|
48
|
+
if (columns) {
|
|
49
|
+
return columns.has(columnName);
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
await sql `select ${sql.ref(columnName)} from ${sql.table(tableName)} limit 1`.execute(db);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const message = toErrorMessage(error);
|
|
57
|
+
if (isMissingTableError(message) || isMissingColumnError(message)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async function addColumnIfMissing(db, tableName, columnName, addColumn) {
|
|
64
|
+
if (await hasColumn(db, tableName, columnName)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await addColumn();
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const message = toErrorMessage(error);
|
|
72
|
+
if (isDuplicateColumnError(message)) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function ensureClientSyncSchemaCompat(db) {
|
|
79
|
+
const hasTableColumn = await hasColumn(db, 'sync_subscription_state', 'table');
|
|
80
|
+
if (!hasTableColumn &&
|
|
81
|
+
(await hasColumn(db, 'sync_subscription_state', 'shape'))) {
|
|
82
|
+
try {
|
|
83
|
+
await sql `alter table ${sql.table('sync_subscription_state')} rename column ${sql.ref('shape')} to ${sql.ref('table')}`.execute(db);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
await addColumnIfMissing(db, 'sync_subscription_state', 'table', async () => {
|
|
87
|
+
await db.schema
|
|
88
|
+
.alterTable('sync_subscription_state')
|
|
89
|
+
.addColumn('table', 'text', (col) => col.notNull().defaultTo(''))
|
|
90
|
+
.execute();
|
|
91
|
+
});
|
|
92
|
+
await sql `update ${sql.table('sync_subscription_state')}
|
|
93
|
+
set ${sql.ref('table')} = ${sql.ref('shape')}
|
|
94
|
+
where ${sql.ref('table')} = ${sql.val('')}`.execute(db);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
await addColumnIfMissing(db, 'sync_subscription_state', 'bootstrap_state_json', async () => {
|
|
98
|
+
await db.schema
|
|
99
|
+
.alterTable('sync_subscription_state')
|
|
100
|
+
.addColumn('bootstrap_state_json', 'text')
|
|
101
|
+
.execute();
|
|
102
|
+
});
|
|
103
|
+
await addColumnIfMissing(db, 'sync_outbox_commits', 'schema_version', async () => {
|
|
104
|
+
await db.schema
|
|
105
|
+
.alterTable('sync_outbox_commits')
|
|
106
|
+
.addColumn('schema_version', 'integer', (col) => col.notNull().defaultTo(1))
|
|
107
|
+
.execute();
|
|
108
|
+
});
|
|
109
|
+
await addColumnIfMissing(db, 'sync_conflicts', 'resolved_at', async () => {
|
|
110
|
+
await db.schema
|
|
111
|
+
.alterTable('sync_conflicts')
|
|
112
|
+
.addColumn('resolved_at', 'bigint')
|
|
113
|
+
.execute();
|
|
114
|
+
});
|
|
115
|
+
await addColumnIfMissing(db, 'sync_conflicts', 'resolution', async () => {
|
|
116
|
+
await db.schema
|
|
117
|
+
.alterTable('sync_conflicts')
|
|
118
|
+
.addColumn('resolution', 'text')
|
|
119
|
+
.execute();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
4
122
|
/**
|
|
5
123
|
* Ensures the client sync schema exists in the database.
|
|
6
124
|
* Safe to call multiple times (idempotent).
|
|
@@ -8,13 +126,13 @@
|
|
|
8
126
|
* @typeParam DB - Your database type that extends SyncClientDb
|
|
9
127
|
*/
|
|
10
128
|
export async function ensureClientSyncSchema(db) {
|
|
11
|
-
// Schema builder doesn't need typed access - operates on raw SQL
|
|
129
|
+
// Schema builder doesn't need typed access - operates on raw SQL.
|
|
12
130
|
await db.schema
|
|
13
131
|
.createTable('sync_subscription_state')
|
|
14
132
|
.ifNotExists()
|
|
15
133
|
.addColumn('state_id', 'text', (col) => col.notNull())
|
|
16
134
|
.addColumn('subscription_id', 'text', (col) => col.notNull())
|
|
17
|
-
.addColumn('
|
|
135
|
+
.addColumn('table', 'text', (col) => col.notNull())
|
|
18
136
|
.addColumn('scopes_json', 'text', (col) => col.notNull().defaultTo('{}'))
|
|
19
137
|
.addColumn('params_json', 'text', (col) => col.notNull())
|
|
20
138
|
.addColumn('cursor', 'bigint', (col) => col.notNull())
|
|
@@ -23,19 +141,6 @@ export async function ensureClientSyncSchema(db) {
|
|
|
23
141
|
.addColumn('created_at', 'bigint', (col) => col.notNull())
|
|
24
142
|
.addColumn('updated_at', 'bigint', (col) => col.notNull())
|
|
25
143
|
.execute();
|
|
26
|
-
await db.schema
|
|
27
|
-
.createIndex('idx_sync_subscription_state_state_sub')
|
|
28
|
-
.ifNotExists()
|
|
29
|
-
.on('sync_subscription_state')
|
|
30
|
-
.columns(['state_id', 'subscription_id'])
|
|
31
|
-
.unique()
|
|
32
|
-
.execute();
|
|
33
|
-
await db.schema
|
|
34
|
-
.createIndex('idx_sync_subscription_state_state')
|
|
35
|
-
.ifNotExists()
|
|
36
|
-
.on('sync_subscription_state')
|
|
37
|
-
.columns(['state_id', 'updated_at'])
|
|
38
|
-
.execute();
|
|
39
144
|
await db.schema
|
|
40
145
|
.createTable('sync_outbox_commits')
|
|
41
146
|
.ifNotExists()
|
|
@@ -51,19 +156,6 @@ export async function ensureClientSyncSchema(db) {
|
|
|
51
156
|
.addColumn('acked_commit_seq', 'bigint')
|
|
52
157
|
.addColumn('schema_version', 'integer', (col) => col.notNull().defaultTo(1))
|
|
53
158
|
.execute();
|
|
54
|
-
await db.schema
|
|
55
|
-
.createIndex('idx_sync_outbox_commits_client_commit_id')
|
|
56
|
-
.ifNotExists()
|
|
57
|
-
.on('sync_outbox_commits')
|
|
58
|
-
.columns(['client_commit_id'])
|
|
59
|
-
.unique()
|
|
60
|
-
.execute();
|
|
61
|
-
await db.schema
|
|
62
|
-
.createIndex('idx_sync_outbox_commits_status_created_at')
|
|
63
|
-
.ifNotExists()
|
|
64
|
-
.on('sync_outbox_commits')
|
|
65
|
-
.columns(['status', 'created_at'])
|
|
66
|
-
.execute();
|
|
67
159
|
await db.schema
|
|
68
160
|
.createTable('sync_conflicts')
|
|
69
161
|
.ifNotExists()
|
|
@@ -80,6 +172,34 @@ export async function ensureClientSyncSchema(db) {
|
|
|
80
172
|
.addColumn('resolved_at', 'bigint')
|
|
81
173
|
.addColumn('resolution', 'text')
|
|
82
174
|
.execute();
|
|
175
|
+
// Apply framework-managed compatibility upgrades for legacy sync tables.
|
|
176
|
+
await ensureClientSyncSchemaCompat(db);
|
|
177
|
+
await db.schema
|
|
178
|
+
.createIndex('idx_sync_subscription_state_state_sub')
|
|
179
|
+
.ifNotExists()
|
|
180
|
+
.on('sync_subscription_state')
|
|
181
|
+
.columns(['state_id', 'subscription_id'])
|
|
182
|
+
.unique()
|
|
183
|
+
.execute();
|
|
184
|
+
await db.schema
|
|
185
|
+
.createIndex('idx_sync_subscription_state_state')
|
|
186
|
+
.ifNotExists()
|
|
187
|
+
.on('sync_subscription_state')
|
|
188
|
+
.columns(['state_id', 'updated_at'])
|
|
189
|
+
.execute();
|
|
190
|
+
await db.schema
|
|
191
|
+
.createIndex('idx_sync_outbox_commits_client_commit_id')
|
|
192
|
+
.ifNotExists()
|
|
193
|
+
.on('sync_outbox_commits')
|
|
194
|
+
.columns(['client_commit_id'])
|
|
195
|
+
.unique()
|
|
196
|
+
.execute();
|
|
197
|
+
await db.schema
|
|
198
|
+
.createIndex('idx_sync_outbox_commits_status_created_at')
|
|
199
|
+
.ifNotExists()
|
|
200
|
+
.on('sync_outbox_commits')
|
|
201
|
+
.columns(['status', 'created_at'])
|
|
202
|
+
.execute();
|
|
83
203
|
await db.schema
|
|
84
204
|
.createIndex('idx_sync_conflicts_outbox_commit')
|
|
85
205
|
.ifNotExists()
|
package/dist/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/mutations.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* This module is framework-agnostic. `@syncular/client-react` wraps it to add
|
|
13
13
|
* React state and automatic sync triggering.
|
|
14
14
|
*/
|
|
15
|
-
import type { SyncOperation, SyncPushResponse, SyncTransport } from '@syncular/core';
|
|
15
|
+
import type { ColumnCodecDialect, ColumnCodecSource, SyncOperation, SyncPushResponse, SyncTransport } from '@syncular/core';
|
|
16
16
|
import type { Insertable, Kysely, Updateable } from 'kysely';
|
|
17
17
|
import type { SyncClientPlugin } from './plugins/types';
|
|
18
18
|
import type { SyncClientDb } from './schema';
|
|
@@ -112,6 +112,8 @@ export interface OutboxCommitConfig<DB extends SyncClientDb> {
|
|
|
112
112
|
idColumn?: string;
|
|
113
113
|
versionColumn?: string | null;
|
|
114
114
|
omitColumns?: string[];
|
|
115
|
+
columnCodecs?: ColumnCodecSource;
|
|
116
|
+
codecDialect?: ColumnCodecDialect;
|
|
115
117
|
}
|
|
116
118
|
export declare function createOutboxCommit<DB extends SyncClientDb>(config: OutboxCommitConfig<DB>): MutationsCommitFn<DB, OutboxCommitMeta, undefined>;
|
|
117
119
|
export declare function createOutboxMutations<DB extends SyncClientDb>(config: OutboxCommitConfig<DB>): MutationsApi<DB, undefined>;
|
package/dist/mutations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EAChB,aAAa,EACd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
|
package/dist/mutations.js
CHANGED
|
@@ -12,19 +12,9 @@
|
|
|
12
12
|
* This module is framework-agnostic. `@syncular/client-react` wraps it to add
|
|
13
13
|
* React state and automatic sync triggering.
|
|
14
14
|
*/
|
|
15
|
+
import { applyCodecsToDbRow, isRecord, randomId, toTableColumnCodecs, } from '@syncular/core';
|
|
15
16
|
import { sql } from 'kysely';
|
|
16
|
-
import { enqueueOutboxCommit } from './outbox';
|
|
17
|
-
function randomId() {
|
|
18
|
-
if (typeof crypto !== 'undefined' &&
|
|
19
|
-
typeof crypto.randomUUID === 'function') {
|
|
20
|
-
return crypto.randomUUID();
|
|
21
|
-
}
|
|
22
|
-
// Very small fallback; good enough for tests.
|
|
23
|
-
return `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
24
|
-
}
|
|
25
|
-
function isRecord(value) {
|
|
26
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
27
|
-
}
|
|
17
|
+
import { enqueueOutboxCommit } from './outbox.js';
|
|
28
18
|
function sanitizePayload(payload, args) {
|
|
29
19
|
if (args.omit.length === 0)
|
|
30
20
|
return payload;
|
|
@@ -112,6 +102,24 @@ async function dynamicInsert(trx, table, values) {
|
|
|
112
102
|
values ${sql.join(rows.map((row) => sql `(${sql.join(columns.map((c) => sql.val(row[c] ?? null)))})`))}
|
|
113
103
|
`.execute(trx);
|
|
114
104
|
}
|
|
105
|
+
async function dynamicUpsert(trx, table, idColumn, id, values) {
|
|
106
|
+
validateTableName(table);
|
|
107
|
+
validateColumnName(idColumn);
|
|
108
|
+
// Check if the row already exists
|
|
109
|
+
const existing = await sql `
|
|
110
|
+
select 1 from ${sql.table(table)}
|
|
111
|
+
where ${sql.ref(idColumn)} = ${sql.val(id)}
|
|
112
|
+
limit 1
|
|
113
|
+
`.execute(trx);
|
|
114
|
+
if (existing.rows.length > 0) {
|
|
115
|
+
// Row exists: just update the provided columns
|
|
116
|
+
await dynamicUpdate(trx, table, idColumn, id, values);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// Row doesn't exist: insert with all provided columns + id
|
|
120
|
+
await dynamicInsert(trx, table, { ...values, [idColumn]: id });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
115
123
|
async function dynamicUpdate(trx, table, idColumn, id, values) {
|
|
116
124
|
validateTableName(table);
|
|
117
125
|
validateColumnName(idColumn);
|
|
@@ -198,6 +206,7 @@ export function createOutboxCommit(config) {
|
|
|
198
206
|
const idColumn = config.idColumn ?? 'id';
|
|
199
207
|
const versionColumn = config.versionColumn ?? 'server_version';
|
|
200
208
|
const omitColumns = config.omitColumns ?? [];
|
|
209
|
+
const codecDialect = config.codecDialect ?? 'sqlite';
|
|
201
210
|
return async (fn) => {
|
|
202
211
|
const operations = [];
|
|
203
212
|
const localMutations = [];
|
|
@@ -205,6 +214,29 @@ export function createOutboxCommit(config) {
|
|
|
205
214
|
.transaction()
|
|
206
215
|
.execute(async (trx) => {
|
|
207
216
|
const txTableCache = new Map();
|
|
217
|
+
const tableCodecCache = new Map();
|
|
218
|
+
const resolveTableCodecs = (table, row) => {
|
|
219
|
+
const columnCodecs = config.columnCodecs;
|
|
220
|
+
if (!columnCodecs)
|
|
221
|
+
return {};
|
|
222
|
+
const columns = Object.keys(row);
|
|
223
|
+
if (columns.length === 0)
|
|
224
|
+
return {};
|
|
225
|
+
let tableCache = tableCodecCache.get(table);
|
|
226
|
+
if (!tableCache) {
|
|
227
|
+
tableCache = new Map();
|
|
228
|
+
tableCodecCache.set(table, tableCache);
|
|
229
|
+
}
|
|
230
|
+
const cacheKey = columns.slice().sort().join('\u0000');
|
|
231
|
+
const cached = tableCache.get(cacheKey);
|
|
232
|
+
if (cached)
|
|
233
|
+
return cached;
|
|
234
|
+
const resolved = toTableColumnCodecs(table, columnCodecs, columns, {
|
|
235
|
+
dialect: codecDialect,
|
|
236
|
+
});
|
|
237
|
+
tableCache.set(cacheKey, resolved);
|
|
238
|
+
return resolved;
|
|
239
|
+
};
|
|
208
240
|
const makeTxTable = (table) => {
|
|
209
241
|
const cached = txTableCache.get(table);
|
|
210
242
|
if (cached)
|
|
@@ -215,7 +247,8 @@ export function createOutboxCommit(config) {
|
|
|
215
247
|
const rawId = raw[idColumn];
|
|
216
248
|
const id = typeof rawId === 'string' && rawId ? rawId : randomId();
|
|
217
249
|
const row = { ...raw, [idColumn]: id };
|
|
218
|
-
|
|
250
|
+
const dbRow = applyCodecsToDbRow(row, resolveTableCodecs(table, row), codecDialect);
|
|
251
|
+
await dynamicInsert(trx, table, dbRow);
|
|
219
252
|
const payload = sanitizePayload(row, {
|
|
220
253
|
omit: [
|
|
221
254
|
idColumn,
|
|
@@ -243,8 +276,9 @@ export function createOutboxCommit(config) {
|
|
|
243
276
|
ids.push(id);
|
|
244
277
|
toInsert.push({ ...raw, [idColumn]: id });
|
|
245
278
|
}
|
|
246
|
-
|
|
247
|
-
|
|
279
|
+
const dbRows = toInsert.map((row) => applyCodecsToDbRow(row, resolveTableCodecs(table, row), codecDialect));
|
|
280
|
+
if (dbRows.length > 0) {
|
|
281
|
+
await dynamicInsert(trx, table, dbRows);
|
|
248
282
|
}
|
|
249
283
|
for (let i = 0; i < toInsert.length; i++) {
|
|
250
284
|
const row = toInsert[i];
|
|
@@ -277,7 +311,8 @@ export function createOutboxCommit(config) {
|
|
|
277
311
|
],
|
|
278
312
|
});
|
|
279
313
|
const hasExplicitBaseVersion = !!opts && hasOwn(opts, 'baseVersion');
|
|
280
|
-
|
|
314
|
+
const dbPatch = applyCodecsToDbRow(sanitized, resolveTableCodecs(table, sanitized), codecDialect);
|
|
315
|
+
await dynamicUpdate(trx, table, idColumn, id, dbPatch);
|
|
281
316
|
const baseVersion = hasExplicitBaseVersion
|
|
282
317
|
? (opts.baseVersion ?? null)
|
|
283
318
|
: versionColumn
|
|
@@ -322,7 +357,36 @@ export function createOutboxCommit(config) {
|
|
|
322
357
|
localMutations.push({ table, rowId: id, op: 'delete' });
|
|
323
358
|
},
|
|
324
359
|
async upsert(id, patch, opts) {
|
|
325
|
-
|
|
360
|
+
const rawPatch = isRecord(patch) ? patch : {};
|
|
361
|
+
const sanitized = sanitizePayload(rawPatch, {
|
|
362
|
+
omit: [
|
|
363
|
+
idColumn,
|
|
364
|
+
...(versionColumn ? [versionColumn] : []),
|
|
365
|
+
...omitColumns,
|
|
366
|
+
],
|
|
367
|
+
});
|
|
368
|
+
const hasExplicitBaseVersion = !!opts && hasOwn(opts, 'baseVersion');
|
|
369
|
+
const dbPatch = applyCodecsToDbRow(sanitized, resolveTableCodecs(table, sanitized), codecDialect);
|
|
370
|
+
await dynamicUpsert(trx, table, idColumn, id, dbPatch);
|
|
371
|
+
const baseVersion = hasExplicitBaseVersion
|
|
372
|
+
? (opts.baseVersion ?? null)
|
|
373
|
+
: versionColumn
|
|
374
|
+
? await readBaseVersion({
|
|
375
|
+
trx: trx,
|
|
376
|
+
table,
|
|
377
|
+
rowId: id,
|
|
378
|
+
idColumn,
|
|
379
|
+
versionColumn,
|
|
380
|
+
})
|
|
381
|
+
: null;
|
|
382
|
+
operations.push({
|
|
383
|
+
table: table,
|
|
384
|
+
row_id: id,
|
|
385
|
+
op: 'upsert',
|
|
386
|
+
payload: sanitized,
|
|
387
|
+
base_version: coerceBaseVersion(baseVersion),
|
|
388
|
+
});
|
|
389
|
+
localMutations.push({ table, rowId: id, op: 'upsert' });
|
|
326
390
|
},
|
|
327
391
|
};
|
|
328
392
|
txTableCache.set(table, tableApi);
|
|
@@ -523,7 +587,18 @@ export function createPushCommit(config) {
|
|
|
523
587
|
requestToSend = await plugin.beforePush(ctx, requestToSend);
|
|
524
588
|
}
|
|
525
589
|
}
|
|
526
|
-
const
|
|
590
|
+
const combined = await config.transport.sync({
|
|
591
|
+
clientId: requestToSend.clientId,
|
|
592
|
+
push: {
|
|
593
|
+
clientCommitId: requestToSend.clientCommitId,
|
|
594
|
+
operations: requestToSend.operations,
|
|
595
|
+
schemaVersion: requestToSend.schemaVersion,
|
|
596
|
+
},
|
|
597
|
+
});
|
|
598
|
+
if (!combined.push) {
|
|
599
|
+
throw new Error('Server returned no push response');
|
|
600
|
+
}
|
|
601
|
+
const rawResponse = combined.push;
|
|
527
602
|
let response = rawResponse;
|
|
528
603
|
if (sortedPlugins.length > 0) {
|
|
529
604
|
// Run afterPush in reverse priority order (higher numbers first)
|
package/dist/mutations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"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"}
|
package/dist/outbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"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"}
|
package/dist/outbox.js
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @syncular/client - Sync outbox (commit-based)
|
|
3
3
|
*/
|
|
4
|
+
import { isRecord, randomId } from '@syncular/core';
|
|
4
5
|
import { sql } from 'kysely';
|
|
5
|
-
function randomId() {
|
|
6
|
-
if (typeof crypto !== 'undefined' &&
|
|
7
|
-
typeof crypto.randomUUID === 'function') {
|
|
8
|
-
return crypto.randomUUID();
|
|
9
|
-
}
|
|
10
|
-
// Very small fallback; good enough for tests.
|
|
11
|
-
return `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
12
|
-
}
|
|
13
|
-
function isRecord(value) {
|
|
14
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
15
|
-
}
|
|
16
6
|
function isSyncOperation(value) {
|
|
17
7
|
if (!isRecord(value))
|
|
18
8
|
return false;
|