@slimr/dbsync 0.0.12 → 0.0.14
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 +49 -0
- package/cjs/DbSync.d.ts +6 -0
- package/cjs/DbSync.js +24 -1
- package/cjs/DbSync.js.map +1 -1
- package/cjs/index.d.ts +0 -1
- package/esm/DbSync.d.ts +6 -0
- package/esm/DbSync.js +24 -1
- package/esm/DbSync.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,6 +53,55 @@ By default, you don't even need to provide a `version`. The library calculates a
|
|
|
53
53
|
|
|
54
54
|
If you prefer explicit control, you can provide an exact `version: number` in the config. `@slimr/dbsync` will strictly enforce that exact version across the network instead.
|
|
55
55
|
|
|
56
|
+
### Pre-Write Hooks
|
|
57
|
+
Sometimes you want to ensure default values or dynamic fields are applied before any `add` or `put` operation. By providing a `beforeWrite` function in your `DbSyncTableConfig`, you can modify or validate the payload immediately before it is written to the queue, ensuring all subsequent hooks and backend tables receive consistent data.
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
const db = new DbSync({
|
|
61
|
+
adapter: dbAdapter,
|
|
62
|
+
tables: {
|
|
63
|
+
posts: {
|
|
64
|
+
beforeWrite: (val) => ({ ...val, updatedAt: Date.now() })
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Schema Data Migrations
|
|
71
|
+
As your app grows, document structures will evolve. `@slimr/dbsync` provides a graceful mechanism for applying sequential, in-place schema rewrites to persistent data immediately after IndexedDB initialization. This ensures long-lived cached objects automatically adapt to your new models.
|
|
72
|
+
|
|
73
|
+
Simply supply a `migrations` array onto your `DbSyncTableConfig`. `@slimr/dbsync` iterates through the existing records, applies the logic cleanly, and commits the updated schema to the database. A record currently at `version: 1` will only trigger migrations where `version >= 2`.
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { DbSync, type Migration } from '@slimr/dbsync';
|
|
77
|
+
|
|
78
|
+
const userMigrations: Migration[] = [
|
|
79
|
+
{
|
|
80
|
+
version: 2,
|
|
81
|
+
note: 'Merge firstName and lastName into fullName',
|
|
82
|
+
upgrade: async (record) => {
|
|
83
|
+
record.fullName = `${record.firstName} ${record.lastName}`.trim();
|
|
84
|
+
delete record.firstName;
|
|
85
|
+
delete record.lastName;
|
|
86
|
+
// The record is updated in place
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
const db = new DbSync({
|
|
92
|
+
adapter: dbAdapter,
|
|
93
|
+
tables: {
|
|
94
|
+
users: {
|
|
95
|
+
migrations: userMigrations
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
const upgradedUser = await db.upgradeRecord('users', importedUser);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If you need to upgrade imported data before storing it, `upgradeRecord()` applies the same table migrations on demand and returns the upgraded record without writing anything back to IndexedDB.
|
|
104
|
+
|
|
56
105
|
## The ORM API
|
|
57
106
|
Once initialized, `dbsync` acts as a fast NoSQL document store. To support offline-first behavior, you should generate IDs locally using `db.uuid()`.
|
|
58
107
|
|
package/cjs/DbSync.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { BackendAdapter } from "./adapters/types.js";
|
|
2
2
|
import { type SyncState } from "./internal/EventBus.js";
|
|
3
|
+
import { type MigrationManagerMigration as Migration } from "./internal/MigrationManager.js";
|
|
3
4
|
import { StorageManager } from "./internal/StorageManager.js";
|
|
5
|
+
export type { Migration };
|
|
4
6
|
export interface DbSyncTableConfig {
|
|
5
7
|
/** Optional index names to create for the store. */
|
|
6
8
|
indexes?: string[];
|
|
7
9
|
/** Optional callback that fills in default fields before write operations. */
|
|
8
10
|
beforeWrite?: (value: any) => any;
|
|
11
|
+
/** Optional migrations to run on records when the schema evolves. */
|
|
12
|
+
migrations?: Migration[];
|
|
9
13
|
}
|
|
10
14
|
export interface DbSyncConfig {
|
|
11
15
|
/** The backend adapter used for authentication and synchronization. */
|
|
@@ -44,6 +48,8 @@ export declare class DbSync {
|
|
|
44
48
|
get initted(): boolean;
|
|
45
49
|
/** Initializes the underlying IndexedDB stores. */
|
|
46
50
|
init(): Promise<void>;
|
|
51
|
+
/** Applies the configured migrations for a single store to the provided record. */
|
|
52
|
+
upgradeRecord<T extends Record<string, any>>(storeName: string, record: T): Promise<T>;
|
|
47
53
|
/** Returns a queued transaction object for batched writes. */
|
|
48
54
|
getTransaction(): import("./internal/DbTransaction.js").DbTransaction;
|
|
49
55
|
/** Reads a typed record by primary key. */
|
package/cjs/DbSync.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.DbSync = void 0;
|
|
|
4
4
|
const util_1 = require("@slimr/util");
|
|
5
5
|
const AuthManager_js_1 = require("./internal/AuthManager.js");
|
|
6
6
|
const EventBus_js_1 = require("./internal/EventBus.js");
|
|
7
|
+
const MigrationManager_js_1 = require("./internal/MigrationManager.js");
|
|
7
8
|
const StorageManager_js_1 = require("./internal/StorageManager.js");
|
|
8
9
|
const SyncEngine_js_1 = require("./internal/SyncEngine.js");
|
|
9
10
|
/**
|
|
@@ -48,7 +49,29 @@ class DbSync {
|
|
|
48
49
|
}
|
|
49
50
|
/** Initializes the underlying IndexedDB stores. */
|
|
50
51
|
async init() {
|
|
51
|
-
|
|
52
|
+
await this.storage.init();
|
|
53
|
+
const schemaMigrations = {};
|
|
54
|
+
let hasMigrations = false;
|
|
55
|
+
for (const [storeName, tableConfig] of Object.entries(this.config.tables)) {
|
|
56
|
+
if (tableConfig.migrations && tableConfig.migrations.length > 0) {
|
|
57
|
+
schemaMigrations[storeName] = tableConfig.migrations;
|
|
58
|
+
hasMigrations = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (hasMigrations) {
|
|
62
|
+
const migrationManager = new MigrationManager_js_1.MigrationManager(this);
|
|
63
|
+
await migrationManager.runAll(schemaMigrations);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** Applies the configured migrations for a single store to the provided record. */
|
|
67
|
+
async upgradeRecord(storeName, record) {
|
|
68
|
+
const migrations = this.config.tables[storeName]?.migrations || [];
|
|
69
|
+
if (migrations.length === 0) {
|
|
70
|
+
return record;
|
|
71
|
+
}
|
|
72
|
+
const upgradedRecord = { ...record };
|
|
73
|
+
await MigrationManager_js_1.MigrationManager.upgradeRecord(upgradedRecord, migrations);
|
|
74
|
+
return upgradedRecord;
|
|
52
75
|
}
|
|
53
76
|
/** Returns a queued transaction object for batched writes. */
|
|
54
77
|
getTransaction() {
|
package/cjs/DbSync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AAEvC,8DAAuD;AACvD,wDAAiE;AACjE,oEAA6D;AAC7D,4DAAqD;
|
|
1
|
+
{"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"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"}
|
package/cjs/index.d.ts
CHANGED
package/esm/DbSync.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { BackendAdapter } from "./adapters/types.js";
|
|
2
2
|
import { type SyncState } from "./internal/EventBus.js";
|
|
3
|
+
import { type MigrationManagerMigration as Migration } from "./internal/MigrationManager.js";
|
|
3
4
|
import { StorageManager } from "./internal/StorageManager.js";
|
|
5
|
+
export type { Migration };
|
|
4
6
|
export interface DbSyncTableConfig {
|
|
5
7
|
/** Optional index names to create for the store. */
|
|
6
8
|
indexes?: string[];
|
|
7
9
|
/** Optional callback that fills in default fields before write operations. */
|
|
8
10
|
beforeWrite?: (value: any) => any;
|
|
11
|
+
/** Optional migrations to run on records when the schema evolves. */
|
|
12
|
+
migrations?: Migration[];
|
|
9
13
|
}
|
|
10
14
|
export interface DbSyncConfig {
|
|
11
15
|
/** The backend adapter used for authentication and synchronization. */
|
|
@@ -44,6 +48,8 @@ export declare class DbSync {
|
|
|
44
48
|
get initted(): boolean;
|
|
45
49
|
/** Initializes the underlying IndexedDB stores. */
|
|
46
50
|
init(): Promise<void>;
|
|
51
|
+
/** Applies the configured migrations for a single store to the provided record. */
|
|
52
|
+
upgradeRecord<T extends Record<string, any>>(storeName: string, record: T): Promise<T>;
|
|
47
53
|
/** Returns a queued transaction object for batched writes. */
|
|
48
54
|
getTransaction(): import("./internal/DbTransaction.js").DbTransaction;
|
|
49
55
|
/** Reads a typed record by primary key. */
|
package/esm/DbSync.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createUid } from "@slimr/util";
|
|
2
2
|
import { AuthManager } from "./internal/AuthManager.js";
|
|
3
3
|
import { EventBus } from "./internal/EventBus.js";
|
|
4
|
+
import { MigrationManager, } from "./internal/MigrationManager.js";
|
|
4
5
|
import { StorageManager } from "./internal/StorageManager.js";
|
|
5
6
|
import { SyncEngine } from "./internal/SyncEngine.js";
|
|
6
7
|
/**
|
|
@@ -45,7 +46,29 @@ export class DbSync {
|
|
|
45
46
|
}
|
|
46
47
|
/** Initializes the underlying IndexedDB stores. */
|
|
47
48
|
async init() {
|
|
48
|
-
|
|
49
|
+
await this.storage.init();
|
|
50
|
+
const schemaMigrations = {};
|
|
51
|
+
let hasMigrations = false;
|
|
52
|
+
for (const [storeName, tableConfig] of Object.entries(this.config.tables)) {
|
|
53
|
+
if (tableConfig.migrations && tableConfig.migrations.length > 0) {
|
|
54
|
+
schemaMigrations[storeName] = tableConfig.migrations;
|
|
55
|
+
hasMigrations = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (hasMigrations) {
|
|
59
|
+
const migrationManager = new MigrationManager(this);
|
|
60
|
+
await migrationManager.runAll(schemaMigrations);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Applies the configured migrations for a single store to the provided record. */
|
|
64
|
+
async upgradeRecord(storeName, record) {
|
|
65
|
+
const migrations = this.config.tables[storeName]?.migrations || [];
|
|
66
|
+
if (migrations.length === 0) {
|
|
67
|
+
return record;
|
|
68
|
+
}
|
|
69
|
+
const upgradedRecord = { ...record };
|
|
70
|
+
await MigrationManager.upgradeRecord(upgradedRecord, migrations);
|
|
71
|
+
return upgradedRecord;
|
|
49
72
|
}
|
|
50
73
|
/** Returns a queued transaction object for batched writes. */
|
|
51
74
|
getTransaction() {
|
package/esm/DbSync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED