@slimr/dbsync 0.0.11 → 0.0.13

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 CHANGED
@@ -53,6 +53,47 @@ 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
+ const db = new DbSync({
77
+ adapter: dbAdapter,
78
+ tables: {
79
+ users: {
80
+ migrations: [
81
+ {
82
+ version: 2,
83
+ note: 'Merge firstName and lastName into fullName',
84
+ upgrade: async (record) => {
85
+ record.fullName = `${record.firstName} ${record.lastName}`.trim();
86
+ delete record.firstName;
87
+ delete record.lastName;
88
+ // The record is updated in place
89
+ }
90
+ }
91
+ ]
92
+ }
93
+ }
94
+ });
95
+ ```
96
+
56
97
  ## The ORM API
57
98
  Once initialized, `dbsync` acts as a fast NoSQL document store. To support offline-first behavior, you should generate IDs locally using `db.uuid()`.
58
99
 
@@ -160,6 +201,22 @@ function PostList({ db }) {
160
201
  }
161
202
  ```
162
203
 
204
+ If you want a db-bound hook you can export from your app once and reuse everywhere, `@slimr/dbsync/react` also exports `createUseDbQuery`:
205
+
206
+ ```tsx
207
+ import { createUseDbQuery } from '@slimr/dbsync/react';
208
+
209
+ const useDbQuery = createUseDbQuery(db);
210
+
211
+ function TodoList() {
212
+ const { value: todos, loading } = useDbQuery('todos', () => todoRepo.findAll());
213
+
214
+ if (loading) return <Spinner />;
215
+ if (!todos) return <p>No todos found.</p>;
216
+ return <ul>{todos.map(todo => <li key={todo.id}>{todo.title}</li>)}</ul>;
217
+ }
218
+ ```
219
+
163
220
  ## The Offline Sync Engine
164
221
  By routing your `put` and `delete` operations exclusively through the `DbSync` class, updates are silently logged into highly scalable native `dirtyQueue` and `deletedQueue` tables under-the-hood.
165
222
 
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. */
package/cjs/DbSync.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DbSync = void 0;
4
+ const util_1 = require("@slimr/util");
4
5
  const AuthManager_js_1 = require("./internal/AuthManager.js");
5
6
  const EventBus_js_1 = require("./internal/EventBus.js");
7
+ const MigrationManager_js_1 = require("./internal/MigrationManager.js");
6
8
  const StorageManager_js_1 = require("./internal/StorageManager.js");
7
9
  const SyncEngine_js_1 = require("./internal/SyncEngine.js");
8
- const util_1 = require("@slimr/util");
9
10
  /**
10
11
  * The public facade for the dbsync engine.
11
12
  */
@@ -48,7 +49,19 @@ class DbSync {
48
49
  }
49
50
  /** Initializes the underlying IndexedDB stores. */
50
51
  async init() {
51
- return this.storage.init();
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
+ }
52
65
  }
53
66
  /** Returns a queued transaction object for batched writes. */
54
67
  getTransaction() {
package/cjs/DbSync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"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"}
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./DbRepository.js";
2
2
  export * from "./DbSync.js";
3
3
  export * from "./DbTxRepository.js";
4
- export type { MigrationManagerMigration } from "./internal/MigrationManager.js";
@@ -15,4 +15,6 @@ type DbQueryState<T> = {
15
15
  * @returns An object containing the latest query result and whether the initial fetch is still pending.
16
16
  */
17
17
  export declare function useDbQuery<T>(db: DbSync, stores: string | string[], queryFn: () => Promise<T>, deps?: any[]): DbQueryState<T>;
18
+ /** Creates a DbSync-bound query hook so consumers can avoid threading the db instance through every call. */
19
+ export declare function createUseDbQuery(db: DbSync): <T>(stores: string | string[], queryFn: () => Promise<T>, deps?: any[]) => DbQueryState<T>;
18
20
  export {};
package/cjs/useDbQuery.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useDbQuery = useDbQuery;
4
+ exports.createUseDbQuery = createUseDbQuery;
4
5
  const react_1 = require("react");
5
6
  /**
6
7
  * A React hook that subscribes to one or more `DbSync` tables and natively
@@ -62,4 +63,10 @@ function useDbQuery(db, stores, queryFn, deps = []) {
62
63
  }, [db, JSON.stringify(storeArray), ...deps]);
63
64
  return state;
64
65
  }
66
+ /** Creates a DbSync-bound query hook so consumers can avoid threading the db instance through every call. */
67
+ function createUseDbQuery(db) {
68
+ return function useBoundDbQuery(stores, queryFn, deps = []) {
69
+ return useDbQuery(db, stores, queryFn, deps);
70
+ };
71
+ }
65
72
  //# sourceMappingURL=useDbQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDbQuery.js","sourceRoot":"","sources":["../src/useDbQuery.ts"],"names":[],"mappings":";;AAmBA,gCA0DC;AA7ED,iCAA2C;AAQ3C;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CACzB,EAAU,EACV,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;IAEhB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;wBAC9B,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BAC9B,aAAa,CAAC,KAAK,CAAC,CAAA;4BACpB,OAAO,EAAE,CAAA;wBACV,CAAC;oBACF,CAAC,EAAE,EAAE,CAAC,CAAA;gBACP,CAAC,CAAC,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;gBAC9B,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QAED,gBAAgB;QAChB,SAAS,EAAE,CAAA;QAEX,+BAA+B;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACtE,IAAI,YAAY,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAA;YACZ,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,KAAK,CAAA;YACjB,GAAG,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,uDAAuD;IACxD,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"useDbQuery.js","sourceRoot":"","sources":["../src/useDbQuery.ts"],"names":[],"mappings":";;AAmBA,gCA0DC;AAGD,4CAQC;AAxFD,iCAA2C;AAQ3C;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CACzB,EAAU,EACV,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;IAEhB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;wBAC9B,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BAC9B,aAAa,CAAC,KAAK,CAAC,CAAA;4BACpB,OAAO,EAAE,CAAA;wBACV,CAAC;oBACF,CAAC,EAAE,EAAE,CAAC,CAAA;gBACP,CAAC,CAAC,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;gBAC9B,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QAED,gBAAgB;QAChB,SAAS,EAAE,CAAA;QAEX,+BAA+B;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACtE,IAAI,YAAY,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAA;YACZ,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,KAAK,CAAA;YACjB,GAAG,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,uDAAuD;IACxD,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAA;AACb,CAAC;AAED,6GAA6G;AAC7G,SAAgB,gBAAgB,CAAC,EAAU;IAC1C,OAAO,SAAS,eAAe,CAC9B,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;QAEhB,OAAO,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAA;AACF,CAAC"}
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. */
package/esm/DbSync.js CHANGED
@@ -1,8 +1,9 @@
1
+ import { createUid } from "@slimr/util";
1
2
  import { AuthManager } from "./internal/AuthManager.js";
2
3
  import { EventBus } from "./internal/EventBus.js";
4
+ import { MigrationManager, } from "./internal/MigrationManager.js";
3
5
  import { StorageManager } from "./internal/StorageManager.js";
4
6
  import { SyncEngine } from "./internal/SyncEngine.js";
5
- import { createUid } from "@slimr/util";
6
7
  /**
7
8
  * The public facade for the dbsync engine.
8
9
  */
@@ -45,7 +46,19 @@ export class DbSync {
45
46
  }
46
47
  /** Initializes the underlying IndexedDB stores. */
47
48
  async init() {
48
- return this.storage.init();
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
+ }
49
62
  }
50
63
  /** Returns a queued transaction object for batched writes. */
51
64
  getTransaction() {
package/esm/DbSync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"AACA,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;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAqBvC;;GAEG;AACH,MAAM,OAAO,MAAM;IAClB,oEAAoE;IAC7D,YAAY,GAAG,IAAI,CAAA;IAC1B,uDAAuD;IAChD,MAAM,CAAc;IAE3B,gEAAgE;IACxD,MAAM,CAAU;IACxB,qEAAqE;IAC9D,OAAO,CAAgB,CAAC,oDAAoD;IACnF,0DAA0D;IAClD,UAAU,CAAY;IAC9B,qEAAqE;IAC7D,WAAW,CAAa;IAEhC;;;;OAIG;IACH,YAAY,MAAoB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;QAE5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE9B,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAE1D,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAEtE,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9D,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC/B,MAAM,EACN,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,cAAc,CACd,CAAA;IACF,CAAC;IAED,qCAAqC;IAC9B,OAAO;QACb,OAAO,SAAS,EAAE,CAAA;IACnB,CAAC;IAED,2DAA2D;IAC3D,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC5B,CAAC;IACD,mDAAmD;IAC5C,KAAK,CAAC,IAAI;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3B,CAAC;IACD,8DAA8D;IACvD,cAAc;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;IACrC,CAAC,CAAC,iCAAiC;IAEnC,2CAA2C;IACpC,KAAK,CAAC,GAAG,CAAI,SAAiB,EAAE,EAAmB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,SAAS,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IACD,qDAAqD;IAC9C,KAAK,CAAC,OAAO,CAAI,SAAiB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAI,SAAS,CAAC,CAAA;IAC1C,CAAC;IACD,wDAAwD;IACjD,KAAK,CAAC,GAAG,CAAI,SAAiB,EAAE,KAAU,EAAE,GAAqB;QACvE,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7D,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACtC,CAAC,CAAA;QACF,OAAO,aAAa,EAAE,KAAU,CAAA;IACjC,CAAC;IACD,sEAAsE;IAC/D,KAAK,CAAC,KAAK,CAAI,SAAiB,EAAE,KAAiB,EAAE,GAAqB;QAChF,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACjF,OAAO,KAAU,CAAA;IAClB,CAAC;IACD,oDAAoD;IAC7C,KAAK,CAAC,GAAG,CAAI,SAAiB,EAAE,KAAU,EAAE,GAAqB;QACvE,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7D,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACtC,CAAC,CAAA;QACF,OAAO,aAAa,EAAE,KAAU,CAAA;IACjC,CAAC;IACD,oDAAoD;IAC7C,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,GAAoB;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,sDAAsD;IAC/C,KAAK,CAAC,KAAK,CAAC,SAAiB;QACnC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,gDAAgD;IACzC,SAAS,CAAC,QAAoC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IACD,wCAAwC;IACjC,iBAAiB,CAAC,QAAoC;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,4DAA4D;IAC5D,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;IAC/B,CAAC;IACD,2DAA2D;IACpD,KAAK,CAAC,SAAS;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;IACpC,CAAC;IACD,0CAA0C;IACnC,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;IACD,sCAAsC;IAC/B,KAAK,CAAC,MAAM;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;IACjC,CAAC;IACD,8CAA8C;IACvC,KAAK,CAAC,KAAK;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,oDAAoD;IACpD,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;IACjC,CAAC;IACD,mEAAmE;IACnE,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IAC9B,CAAC;IACD,kDAAkD;IAC3C,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAEpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IACD,iDAAiD;IAC1C,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IACD,6DAA6D;IACtD,KAAK,CAAC,WAAW;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;IACrC,CAAC;IACD,gDAAgD;IACzC,KAAK,CAAC,WAAW;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;IACrC,CAAC;IAED,mCAAmC;IAC5B,iBAAiB;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;IACb,CAAC;IACD,oCAAoC;IAC7B,gBAAgB;QACtB,IAAI,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED,4EAA4E;IAClE,sBAAsB;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QACtB,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;IACF,CAAC;IAED,6DAA6D;IACtD,OAAO;QACb,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACD"}
1
+ {"version":3,"file":"DbSync.js","sourceRoot":"","sources":["../src/DbSync.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./DbRepository.js";
2
2
  export * from "./DbSync.js";
3
3
  export * from "./DbTxRepository.js";
4
- export type { MigrationManagerMigration } from "./internal/MigrationManager.js";
@@ -15,4 +15,6 @@ type DbQueryState<T> = {
15
15
  * @returns An object containing the latest query result and whether the initial fetch is still pending.
16
16
  */
17
17
  export declare function useDbQuery<T>(db: DbSync, stores: string | string[], queryFn: () => Promise<T>, deps?: any[]): DbQueryState<T>;
18
+ /** Creates a DbSync-bound query hook so consumers can avoid threading the db instance through every call. */
19
+ export declare function createUseDbQuery(db: DbSync): <T>(stores: string | string[], queryFn: () => Promise<T>, deps?: any[]) => DbQueryState<T>;
18
20
  export {};
package/esm/useDbQuery.js CHANGED
@@ -59,4 +59,10 @@ export function useDbQuery(db, stores, queryFn, deps = []) {
59
59
  }, [db, JSON.stringify(storeArray), ...deps]);
60
60
  return state;
61
61
  }
62
+ /** Creates a DbSync-bound query hook so consumers can avoid threading the db instance through every call. */
63
+ export function createUseDbQuery(db) {
64
+ return function useBoundDbQuery(stores, queryFn, deps = []) {
65
+ return useDbQuery(db, stores, queryFn, deps);
66
+ };
67
+ }
62
68
  //# sourceMappingURL=useDbQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDbQuery.js","sourceRoot":"","sources":["../src/useDbQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAQ3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACzB,EAAU,EACV,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;IAEhB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;wBAC9B,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BAC9B,aAAa,CAAC,KAAK,CAAC,CAAA;4BACpB,OAAO,EAAE,CAAA;wBACV,CAAC;oBACF,CAAC,EAAE,EAAE,CAAC,CAAA;gBACP,CAAC,CAAC,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;gBAC9B,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QAED,gBAAgB;QAChB,SAAS,EAAE,CAAA;QAEX,+BAA+B;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACtE,IAAI,YAAY,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAA;YACZ,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,KAAK,CAAA;YACjB,GAAG,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,uDAAuD;IACxD,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"useDbQuery.js","sourceRoot":"","sources":["../src/useDbQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAQ3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACzB,EAAU,EACV,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;IAEhB,uDAAuD;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;wBAC9B,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BAC9B,aAAa,CAAC,KAAK,CAAC,CAAA;4BACpB,OAAO,EAAE,CAAA;wBACV,CAAC;oBACF,CAAC,EAAE,EAAE,CAAC,CAAA;gBACP,CAAC,CAAC,CAAA;YACH,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;gBAC9B,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QAED,gBAAgB;QAChB,SAAS,EAAE,CAAA;QAEX,+BAA+B;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACtE,IAAI,YAAY,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAA;YACZ,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,KAAK,CAAA;YACjB,GAAG,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,uDAAuD;IACxD,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAA;AACb,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,gBAAgB,CAAC,EAAU;IAC1C,OAAO,SAAS,eAAe,CAC9B,MAAyB,EACzB,OAAyB,EACzB,OAAc,EAAE;QAEhB,OAAO,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAA;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slimr/dbsync",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "author": "Brian Dombrowski",
5
5
  "license": "ISC",
6
6
  "private": false,
@@ -45,4 +45,4 @@
45
45
  "dependencies": {
46
46
  "@slimr/util": "^3.2.78"
47
47
  }
48
- }
48
+ }