@framers/sql-storage-adapter 0.7.5 → 0.7.7

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
@@ -92,6 +92,7 @@ import { createStorageFeatures, runSchemaMigrations, isUniqueViolation } from '@
92
92
  | `@framers/sql-storage-adapter` | Everything, with `createDatabase` and the resolver |
93
93
  | `./core` | Contracts and errors, dialects, full-text search, codecs, exporters, `createStorageFeatures`, the schema-migration runner, `isUniqueViolation`, the logger. No adapter |
94
94
  | `./postgres`, `./better-sqlite3`, `./sqljs`, `./indexeddb`, `./capacitor` | One adapter each |
95
+ | `SupabaseAdapter` (root) | Deprecated: use `./postgres` with the Supabase connection string |
95
96
  | `./backup` | S3-compatible backups (`@aws-sdk/client-s3`) |
96
97
  | `./authjs` | The Auth.js database adapter (also in `./core`) |
97
98
  | `./electron`, `./electron/renderer`, `./electron/preload` | The Electron adapters. `./electron/renderer` holds only what a window uses; `require('./electron/preload')` gives one bundled CommonJS file for a sandboxed preload |
@@ -627,10 +628,17 @@ See [**guides/OPTIMIZATION_GUIDE.md**](./guides/OPTIMIZATION_GUIDE.md) for detai
627
628
 
628
629
  ## Lifecycle Hooks
629
630
 
630
- The package exports the `StorageHooks` types and the `combineHooks()` and `filterHooks()` helpers. `createDatabase()` takes no `hooks` option, and no adapter runs hooks: a host that wants them calls them around its own adapter calls.
631
+ `createDatabase({ hooks })`, or `withHooks(adapter, hooks)` on any adapter, puts lifecycle hooks around each query, write, transaction and error.
632
+ - A `before` hook returns the context, changed or not, to go on, or undefined to stop the call. A stopped `get` returns null, `all` an empty list, and `run` no changes.
633
+ - `onAfterQuery` can replace the result.
634
+ - `onError` returns the error to throw, or undefined to swallow it.
635
+ - The statements inside a transaction pass through the hooks too, and `onAfterTransaction` sees `outcome: 'committed'` or `'rolled_back'`.
636
+ - The adapter keeps its kind, its own methods and its class.
637
+
638
+ `combineHooks()` and `filterHooks()` compose hook sets.
631
639
 
632
640
  ```typescript
633
- import { combineHooks, type StorageHooks } from '@framers/sql-storage-adapter';
641
+ import { createDatabase, combineHooks, type StorageHooks } from '@framers/sql-storage-adapter';
634
642
 
635
643
  const myHooks: StorageHooks = {
636
644
  // Log all writes
@@ -656,8 +664,7 @@ const myHooks: StorageHooks = {
656
664
  }
657
665
  };
658
666
 
659
- // One StorageHooks object from several; the host calls its hooks itself
660
- const hooks = combineHooks(myHooks);
667
+ const db = await createDatabase({ url: process.env.DATABASE_URL, strict: true, hooks: combineHooks(myHooks) });
661
668
  ```
662
669
 
663
670
  ### Available Hooks
@@ -735,7 +742,7 @@ const ddl = `CREATE TABLE notes (id ${d.columnType('uuid')} PRIMARY KEY DEFAULT
735
742
  `createStorageFeatures` gives each engine the full-text search it has:
736
743
  - FTS5 on better-sqlite3;
737
744
  - FTS4 on sql.js and IndexedDB, whose stock sql.js build compiles FTS3 and FTS4 and no FTS5;
738
- - a tsvector column with a GIN index on PostgreSQL, the Supabase adapter included.
745
+ - a tsvector column with a GIN index on PostgreSQL, the Supabase adapter included. (`SupabaseAdapter` is deprecated: reach Supabase with `createPostgresAdapter({ connectionString })`, which gives it the same features.)
739
746
 
740
747
  The same calls return the same rows on all three, and `tests/fts.parity.spec.ts` runs them on each.
741
748
 
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * Supabase Postgres Storage Adapter
3
3
  * Provides full Postgres capabilities with Supabase's managed infrastructure
4
+ *
5
+ * @deprecated Use the PostgreSQL adapter with the Supabase connection string:
6
+ * `createPostgresAdapter({ connectionString, ssl: { rejectUnauthorized: true, ca } })`
7
+ * from `@framers/sql-storage-adapter/postgres`. It reaches Supabase the same
8
+ * way, with pool control, transaction error handling and `strict` resolution.
4
9
  */
5
10
  import type { StorageAdapter, StorageCapability, StorageOpenOptions, StorageParameters, StorageRunResult, BatchResult } from '../core/contracts/index.js';
6
11
  import type { StorageAdapterExtensions, ExtendedBatchOperation, Migration, PerformanceMetrics, StreamOptions } from '../core/contracts/extensions.js';
@@ -12,10 +17,13 @@ export interface SupabaseAdapterOptions extends StorageOpenOptions {
12
17
  idleTimeoutMillis?: number;
13
18
  connectionTimeoutMillis?: number;
14
19
  };
20
+ /** TLS: false turns it off; an object (with `ca` to verify Supabase's certificate) is passed to pg; otherwise TLS without verification. */
15
21
  ssl?: boolean | {
16
22
  rejectUnauthorized: boolean;
23
+ ca?: string;
17
24
  };
18
25
  }
26
+ /** @deprecated Use `createPostgresAdapter` from `@framers/sql-storage-adapter/postgres` with the Supabase connection string. */
19
27
  export declare class SupabaseAdapter implements StorageAdapter, StorageAdapterExtensions {
20
28
  readonly kind = "supabase-postgres";
21
29
  readonly capabilities: ReadonlySet<StorageCapability>;
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/adapters/supabase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;CACjD;AAED,qBAAa,eAAgB,YAAW,cAAc,EAAE,wBAAwB;IAC9E,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAMlD;IAEH,OAAO,CAAC,IAAI,CAAC,CAAO;IACpB,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,OAAO,CAOb;IACF,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAO;IAErB,IAAI,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,WAAW;IAIb,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBjF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA6CtF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IA+CjF,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA2ClE,MAAM,CAAC,CAAC,GAAG,OAAO,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,qBAAqB,CAAC,CAAC,CAAC;IAuBrB,UAAU,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAqDtE,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/C,kBAAkB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAa1C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,eAAe,IAAI,IAAI;IAIvB,gBAAgB,IAAI,IAAI;IAIxB,UAAU,IAAI,kBAAkB;IAIhC,YAAY,IAAI,IAAI;IAWpB,WAAW,CAAC,OAAO,GAAE,MAAY,GAAG,IAAI;IAKxC,YAAY,IAAI,IAAI;IAKpB,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAWhF"}
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/adapters/supabase.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,30 @@
1
1
  /**
2
2
  * Supabase Postgres Storage Adapter
3
3
  * Provides full Postgres capabilities with Supabase's managed infrastructure
4
+ *
5
+ * @deprecated Use the PostgreSQL adapter with the Supabase connection string:
6
+ * `createPostgresAdapter({ connectionString, ssl: { rejectUnauthorized: true, ca } })`
7
+ * from `@framers/sql-storage-adapter/postgres`. It reaches Supabase the same
8
+ * way, with pool control, transaction error handling and `strict` resolution.
4
9
  */
10
+ import { toPostgresStatement } from '../shared/sqlPlaceholders.js';
11
+ import { getStorageLogger } from '../shared/logger.js';
12
+ /** Whether this process has been told the adapter is deprecated. */
13
+ let deprecationLogged = false;
14
+ /** A statement and its parameters for pg: `?` and `@name` rewritten to `$n`, as the PostgreSQL adapter does. */
15
+ const prepare = (statement, parameters) => {
16
+ const { text, values } = toPostgresStatement(statement, parameters);
17
+ return [text, values];
18
+ };
19
+ /** An error with `message`, keeping the database error as `cause` and its PostgreSQL error `code`. */
20
+ const failure = (message, error) => {
21
+ const wrapped = new Error(message);
22
+ wrapped.cause = error;
23
+ if (error && typeof error === 'object' && 'code' in error)
24
+ wrapped.code = error.code;
25
+ return wrapped;
26
+ };
27
+ /** @deprecated Use `createPostgresAdapter` from `@framers/sql-storage-adapter/postgres` with the Supabase connection string. */
5
28
  export class SupabaseAdapter {
6
29
  constructor() {
7
30
  this.kind = 'supabase-postgres';
@@ -27,6 +50,10 @@ export class SupabaseAdapter {
27
50
  }
28
51
  async open(options) {
29
52
  this.options = options;
53
+ if (!deprecationLogged) {
54
+ deprecationLogged = true;
55
+ getStorageLogger().warn({ adapter: 'supabase-postgres' }, 'SupabaseAdapter is deprecated: use createPostgresAdapter({ connectionString }) from @framers/sql-storage-adapter/postgres, which reaches Supabase the same way. SupabaseAdapter does not verify the server certificate unless ssl is { rejectUnauthorized: true, ca }.');
56
+ }
30
57
  // Dynamic import to avoid bundling pg when not needed
31
58
  const pg = await import('pg');
32
59
  const { Pool } = pg;
@@ -47,7 +74,7 @@ export class SupabaseAdapter {
47
74
  min: options?.poolConfig?.min || 2,
48
75
  idleTimeoutMillis: options?.poolConfig?.idleTimeoutMillis || 30000,
49
76
  connectionTimeoutMillis: options?.poolConfig?.connectionTimeoutMillis || 5000,
50
- ssl: options?.ssl !== false ? { rejectUnauthorized: false } : undefined
77
+ ssl: options?.ssl === false ? undefined : typeof options?.ssl === 'object' ? options.ssl : { rejectUnauthorized: false }
51
78
  });
52
79
  // Test connection
53
80
  try {
@@ -95,7 +122,7 @@ export class SupabaseAdapter {
95
122
  throw new Error('Storage adapter not opened');
96
123
  const startTime = Date.now();
97
124
  try {
98
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : undefined);
125
+ const result = await this.pool.query(...prepare(statement, parameters));
99
126
  this.trackQuery(statement, startTime);
100
127
  return {
101
128
  changes: result.rowCount || 0,
@@ -103,7 +130,7 @@ export class SupabaseAdapter {
103
130
  };
104
131
  }
105
132
  catch (error) {
106
- throw new Error(`Query failed: ${error}`);
133
+ throw failure(`Query failed: ${error}`, error);
107
134
  }
108
135
  }
109
136
  async get(statement, parameters) {
@@ -125,7 +152,7 @@ export class SupabaseAdapter {
125
152
  }
126
153
  const startTime = Date.now();
127
154
  try {
128
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : undefined);
155
+ const result = await this.pool.query(...prepare(statement, parameters));
129
156
  this.trackQuery(statement, startTime);
130
157
  const value = result.rows[0] || null;
131
158
  // Update cache
@@ -143,7 +170,7 @@ export class SupabaseAdapter {
143
170
  return value;
144
171
  }
145
172
  catch (error) {
146
- throw new Error(`Query failed: ${error}`);
173
+ throw failure(`Query failed: ${error}`, error);
147
174
  }
148
175
  }
149
176
  async all(statement, parameters) {
@@ -167,7 +194,7 @@ export class SupabaseAdapter {
167
194
  }
168
195
  const startTime = Date.now();
169
196
  try {
170
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : undefined);
197
+ const result = await this.pool.query(...prepare(statement, parameters));
171
198
  this.trackQuery(statement, startTime);
172
199
  const rows = result.rows;
173
200
  // Update cache
@@ -185,7 +212,7 @@ export class SupabaseAdapter {
185
212
  return rows;
186
213
  }
187
214
  catch (error) {
188
- throw new Error(`Query failed: ${error}`);
215
+ throw failure(`Query failed: ${error}`, error);
189
216
  }
190
217
  }
191
218
  async exec(script) {
@@ -197,7 +224,7 @@ export class SupabaseAdapter {
197
224
  this.trackQuery(script, startTime);
198
225
  }
199
226
  catch (error) {
200
- throw new Error(`Script execution failed: ${error}`);
227
+ throw failure(`Script execution failed: ${error}`, error);
201
228
  }
202
229
  }
203
230
  async transaction(fn) {
@@ -213,15 +240,15 @@ export class SupabaseAdapter {
213
240
  open: async () => { },
214
241
  close: async () => { },
215
242
  run: async (stmt, params) => {
216
- const result = await client.query(stmt, Array.isArray(params) ? params : undefined);
243
+ const result = await client.query(...prepare(stmt, params));
217
244
  return { changes: result.rowCount || 0, lastInsertRowid: 0 };
218
245
  },
219
246
  get: async (stmt, params) => {
220
- const result = await client.query(stmt, Array.isArray(params) ? params : undefined);
247
+ const result = await client.query(...prepare(stmt, params));
221
248
  return result.rows[0] || null;
222
249
  },
223
250
  all: async (stmt, params) => {
224
- const result = await client.query(stmt, Array.isArray(params) ? params : undefined);
251
+ const result = await client.query(...prepare(stmt, params));
225
252
  return result.rows;
226
253
  },
227
254
  exec: async (script) => {
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/adapters/supabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/adapters/supabase.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * Supabase Postgres Storage Adapter
3
3
  * Provides full Postgres capabilities with Supabase's managed infrastructure
4
+ *
5
+ * @deprecated Use the PostgreSQL adapter with the Supabase connection string:
6
+ * `createPostgresAdapter({ connectionString, ssl: { rejectUnauthorized: true, ca } })`
7
+ * from `@framers/sql-storage-adapter/postgres`. It reaches Supabase the same
8
+ * way, with pool control, transaction error handling and `strict` resolution.
4
9
  */
5
10
  import type { StorageAdapter, StorageCapability, StorageOpenOptions, StorageParameters, StorageRunResult, BatchResult } from '../core/contracts/index.js';
6
11
  import type { StorageAdapterExtensions, ExtendedBatchOperation, Migration, PerformanceMetrics, StreamOptions } from '../core/contracts/extensions.js';
@@ -12,10 +17,13 @@ export interface SupabaseAdapterOptions extends StorageOpenOptions {
12
17
  idleTimeoutMillis?: number;
13
18
  connectionTimeoutMillis?: number;
14
19
  };
20
+ /** TLS: false turns it off; an object (with `ca` to verify Supabase's certificate) is passed to pg; otherwise TLS without verification. */
15
21
  ssl?: boolean | {
16
22
  rejectUnauthorized: boolean;
23
+ ca?: string;
17
24
  };
18
25
  }
26
+ /** @deprecated Use `createPostgresAdapter` from `@framers/sql-storage-adapter/postgres` with the Supabase connection string. */
19
27
  export declare class SupabaseAdapter implements StorageAdapter, StorageAdapterExtensions {
20
28
  readonly kind = "supabase-postgres";
21
29
  readonly capabilities: ReadonlySet<StorageCapability>;
@@ -30,6 +30,20 @@ __export(supabase_exports, {
30
30
  SupabaseAdapter: () => SupabaseAdapter
31
31
  });
32
32
  module.exports = __toCommonJS(supabase_exports);
33
+ var import_sqlPlaceholders = require("../shared/sqlPlaceholders.js");
34
+ var import_logger = require("../shared/logger.js");
35
+ let deprecationLogged = false;
36
+ const prepare = (statement, parameters) => {
37
+ const { text, values } = (0, import_sqlPlaceholders.toPostgresStatement)(statement, parameters);
38
+ return [text, values];
39
+ };
40
+ const failure = (message, error) => {
41
+ const wrapped = new Error(message);
42
+ wrapped.cause = error;
43
+ if (error && typeof error === "object" && "code" in error)
44
+ wrapped.code = error.code;
45
+ return wrapped;
46
+ };
33
47
  class SupabaseAdapter {
34
48
  constructor() {
35
49
  this.kind = "supabase-postgres";
@@ -55,6 +69,10 @@ class SupabaseAdapter {
55
69
  }
56
70
  async open(options) {
57
71
  this.options = options;
72
+ if (!deprecationLogged) {
73
+ deprecationLogged = true;
74
+ (0, import_logger.getStorageLogger)().warn({ adapter: "supabase-postgres" }, "SupabaseAdapter is deprecated: use createPostgresAdapter({ connectionString }) from @framers/sql-storage-adapter/postgres, which reaches Supabase the same way. SupabaseAdapter does not verify the server certificate unless ssl is { rejectUnauthorized: true, ca }.");
75
+ }
58
76
  const pg = await Promise.resolve().then(() => __toESM(require("pg")));
59
77
  const { Pool } = pg;
60
78
  const getEnv = (key) => {
@@ -73,7 +91,7 @@ class SupabaseAdapter {
73
91
  min: options?.poolConfig?.min || 2,
74
92
  idleTimeoutMillis: options?.poolConfig?.idleTimeoutMillis || 3e4,
75
93
  connectionTimeoutMillis: options?.poolConfig?.connectionTimeoutMillis || 5e3,
76
- ssl: options?.ssl !== false ? { rejectUnauthorized: false } : void 0
94
+ ssl: options?.ssl === false ? void 0 : typeof options?.ssl === "object" ? options.ssl : { rejectUnauthorized: false }
77
95
  });
78
96
  try {
79
97
  const client = await this.pool.connect();
@@ -118,14 +136,14 @@ class SupabaseAdapter {
118
136
  throw new Error("Storage adapter not opened");
119
137
  const startTime = Date.now();
120
138
  try {
121
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : void 0);
139
+ const result = await this.pool.query(...prepare(statement, parameters));
122
140
  this.trackQuery(statement, startTime);
123
141
  return {
124
142
  changes: result.rowCount || 0,
125
143
  lastInsertRowid: result.rows[0]?.id || 0
126
144
  };
127
145
  } catch (error) {
128
- throw new Error(`Query failed: ${error}`);
146
+ throw failure(`Query failed: ${error}`, error);
129
147
  }
130
148
  }
131
149
  async get(statement, parameters) {
@@ -146,7 +164,7 @@ class SupabaseAdapter {
146
164
  }
147
165
  const startTime = Date.now();
148
166
  try {
149
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : void 0);
167
+ const result = await this.pool.query(...prepare(statement, parameters));
150
168
  this.trackQuery(statement, startTime);
151
169
  const value = result.rows[0] || null;
152
170
  if (this.cacheEnabled && value !== null) {
@@ -161,7 +179,7 @@ class SupabaseAdapter {
161
179
  }
162
180
  return value;
163
181
  } catch (error) {
164
- throw new Error(`Query failed: ${error}`);
182
+ throw failure(`Query failed: ${error}`, error);
165
183
  }
166
184
  }
167
185
  async all(statement, parameters) {
@@ -184,7 +202,7 @@ class SupabaseAdapter {
184
202
  }
185
203
  const startTime = Date.now();
186
204
  try {
187
- const result = await this.pool.query(statement, Array.isArray(parameters) ? parameters : void 0);
205
+ const result = await this.pool.query(...prepare(statement, parameters));
188
206
  this.trackQuery(statement, startTime);
189
207
  const rows = result.rows;
190
208
  if (this.cacheEnabled) {
@@ -199,7 +217,7 @@ class SupabaseAdapter {
199
217
  }
200
218
  return rows;
201
219
  } catch (error) {
202
- throw new Error(`Query failed: ${error}`);
220
+ throw failure(`Query failed: ${error}`, error);
203
221
  }
204
222
  }
205
223
  async exec(script) {
@@ -210,7 +228,7 @@ class SupabaseAdapter {
210
228
  await this.pool.query(script);
211
229
  this.trackQuery(script, startTime);
212
230
  } catch (error) {
213
- throw new Error(`Script execution failed: ${error}`);
231
+ throw failure(`Script execution failed: ${error}`, error);
214
232
  }
215
233
  }
216
234
  async transaction(fn) {
@@ -227,15 +245,15 @@ class SupabaseAdapter {
227
245
  close: async () => {
228
246
  },
229
247
  run: async (stmt, params) => {
230
- const result2 = await client.query(stmt, Array.isArray(params) ? params : void 0);
248
+ const result2 = await client.query(...prepare(stmt, params));
231
249
  return { changes: result2.rowCount || 0, lastInsertRowid: 0 };
232
250
  },
233
251
  get: async (stmt, params) => {
234
- const result2 = await client.query(stmt, Array.isArray(params) ? params : void 0);
252
+ const result2 = await client.query(...prepare(stmt, params));
235
253
  return result2.rows[0] || null;
236
254
  },
237
255
  all: async (stmt, params) => {
238
- const result2 = await client.query(stmt, Array.isArray(params) ? params : void 0);
256
+ const result2 = await client.query(...prepare(stmt, params));
239
257
  return result2.rows;
240
258
  },
241
259
  exec: async (script) => {
@@ -12,6 +12,7 @@ import type { PostgresAdapterOptions } from '../adapters/postgresAdapter.js';
12
12
  import type { CapacitorAdapterOptions } from '../adapters/capacitorSqliteAdapter.js';
13
13
  import type { IndexedDbAdapterOptions } from '../adapters/indexedDbAdapter.js';
14
14
  import type { StorageLogger } from '../shared/logger.js';
15
+ import type { StorageHooks } from './contracts/hooks.js';
15
16
  /**
16
17
  * Database connection options.
17
18
  */
@@ -111,6 +112,12 @@ export interface DatabaseOptions {
111
112
  * `setStorageLogger()` set, else the console.
112
113
  */
113
114
  logger?: StorageLogger;
115
+ /**
116
+ * Lifecycle hooks around every call of the adapter returned (see withHooks):
117
+ * each query, write, transaction and error, with the power to change a
118
+ * statement or a result, or to stop a call by returning undefined.
119
+ */
120
+ hooks?: StorageHooks;
114
121
  }
115
122
  /**
116
123
  * Create a database connection.
@@ -28,6 +28,7 @@ var import_contracts = require("./contracts/index.js");
28
28
  var import_resolver = require("./resolver.js");
29
29
  var import_postgresTarget = require("../shared/postgresTarget.js");
30
30
  var import_segment = require("../shared/segment.js");
31
+ var import_withHooks = require("../shared/withHooks.js");
31
32
  var import_resolver2 = require("./resolver.js");
32
33
  const configuredPostgresOptions = (options) => {
33
34
  const named = [];
@@ -112,7 +113,7 @@ async function createDatabase(options = {}) {
112
113
  }
113
114
  const adapter = await (0, import_resolver.resolveStorageAdapter)(resolverOptions);
114
115
  await adapter.open(resolverOptions.openOptions);
115
- return adapter;
116
+ return options.hooks ? (0, import_withHooks.withHooks)(adapter, options.hooks) : adapter;
116
117
  }
117
118
  async function connectDatabase(config) {
118
119
  if (typeof config === "string") {
@@ -18,6 +18,7 @@ export { SqliteFileExporter } from '../exporters/SqliteFileExporter.js';
18
18
  export { PostgresExporter } from '../exporters/PostgresExporter.js';
19
19
  export { createStorageFeatures } from './contracts/features.js';
20
20
  export { isUniqueViolation } from '../shared/errors.js';
21
+ export { withHooks } from '../shared/withHooks.js';
21
22
  export { setStorageLogger, getStorageLogger, type StorageLogger } from '../shared/logger.js';
22
23
  export * from '../features/migrations/schemaMigrations.js';
23
24
  export * from '../features/auth/authJsAdapter.js';
@@ -30,7 +30,8 @@ __export(portable_exports, {
30
30
  createStorageFeatures: () => import_features.createStorageFeatures,
31
31
  getStorageLogger: () => import_logger.getStorageLogger,
32
32
  isUniqueViolation: () => import_errors.isUniqueViolation,
33
- setStorageLogger: () => import_logger.setStorageLogger
33
+ setStorageLogger: () => import_logger.setStorageLogger,
34
+ withHooks: () => import_withHooks.withHooks
34
35
  });
35
36
  module.exports = __toCommonJS(portable_exports);
36
37
  __reExport(portable_exports, require("../types/index.js"), module.exports);
@@ -45,6 +46,7 @@ var import_SqliteFileExporter = require("../exporters/SqliteFileExporter.js");
45
46
  var import_PostgresExporter = require("../exporters/PostgresExporter.js");
46
47
  var import_features = require("./contracts/features.js");
47
48
  var import_errors = require("../shared/errors.js");
49
+ var import_withHooks = require("../shared/withHooks.js");
48
50
  var import_logger = require("../shared/logger.js");
49
51
  __reExport(portable_exports, require("../features/migrations/schemaMigrations.js"), module.exports);
50
52
  __reExport(portable_exports, require("../features/auth/authJsAdapter.js"), module.exports);
@@ -64,6 +66,7 @@ __reExport(portable_exports, require("../shared/parameterUtils.js"), module.expo
64
66
  getStorageLogger,
65
67
  isUniqueViolation,
66
68
  setStorageLogger,
69
+ withHooks,
67
70
  ...require("../types/index.js"),
68
71
  ...require("../features/migrations/schemaMigrations.js"),
69
72
  ...require("../features/auth/authJsAdapter.js"),
@@ -87,7 +87,7 @@ const unsupportedKind = (kind) => {
87
87
  case "electron-renderer":
88
88
  return new Error(`The resolver cannot build adapter kind "${kind}". Create it with createElectronRendererAdapter from '@framers/sql-storage-adapter/electron'.`);
89
89
  case "supabase":
90
- return new Error(`The resolver cannot build adapter kind "${kind}". Use kind "postgres" with the Supabase connection string, or create a SupabaseAdapter.`);
90
+ return new Error(`The resolver cannot build adapter kind "${kind}". Use kind "postgres" with the Supabase connection string (SupabaseAdapter is deprecated).`);
91
91
  default:
92
92
  return new Error(`Unknown adapter kind "${kind}". The resolver builds postgres, better-sqlite3, capacitor, indexeddb, sqljs and memory.`);
93
93
  }
@@ -28,5 +28,6 @@ export { SqliteFileExporter } from './exporters/SqliteFileExporter.js';
28
28
  export { PostgresExporter } from './exporters/PostgresExporter.js';
29
29
  export { createStorageFeatures } from './core/contracts/features.js';
30
30
  export { isUniqueViolation } from './shared/errors.js';
31
+ export { withHooks } from './shared/withHooks.js';
31
32
  export { setStorageLogger, getStorageLogger, type StorageLogger } from './shared/logger.js';
32
33
  //# sourceMappingURL=index.d.ts.map
package/dist/cjs/index.js CHANGED
@@ -33,7 +33,8 @@ __export(dist_exports, {
33
33
  segmentFilePath: () => import_segment.segmentFilePath,
34
34
  segmentName: () => import_segment.segmentName,
35
35
  setStorageLogger: () => import_logger.setStorageLogger,
36
- validateSegment: () => import_segment.validateSegment
36
+ validateSegment: () => import_segment.validateSegment,
37
+ withHooks: () => import_withHooks.withHooks
37
38
  });
38
39
  module.exports = __toCommonJS(dist_exports);
39
40
  __reExport(dist_exports, require("./types/index.js"), module.exports);
@@ -66,6 +67,7 @@ var import_SqliteFileExporter = require("./exporters/SqliteFileExporter.js");
66
67
  var import_PostgresExporter = require("./exporters/PostgresExporter.js");
67
68
  var import_features = require("./core/contracts/features.js");
68
69
  var import_errors = require("./shared/errors.js");
70
+ var import_withHooks = require("./shared/withHooks.js");
69
71
  var import_logger = require("./shared/logger.js");
70
72
  // Annotate the CommonJS export names for ESM import in node:
71
73
  0 && (module.exports = {
@@ -85,6 +87,7 @@ var import_logger = require("./shared/logger.js");
85
87
  segmentName,
86
88
  setStorageLogger,
87
89
  validateSegment,
90
+ withHooks,
88
91
  ...require("./types/index.js"),
89
92
  ...require("./core/database.js"),
90
93
  ...require("./core/resolver.js"),
@@ -0,0 +1,17 @@
1
+ import type { StorageAdapter } from '../core/contracts/index.js';
2
+ import { type StorageHooks } from '../core/contracts/hooks.js';
3
+ /**
4
+ * The adapter with lifecycle hooks around its calls, on any adapter.
5
+ *
6
+ * - `onBeforeQuery` (get, all, exec) and `onBeforeWrite` (run) see the call's context, and return it, changed or
7
+ * not, to go on, or undefined to stop the call: a stopped get returns null, all an empty list, run no changes.
8
+ * - `onAfterQuery` can replace the result, and `onAfterWrite` sees it.
9
+ * - `onBeforeTransaction` can stop a transaction, and `onAfterTransaction` sees its outcome. The statements inside a
10
+ * transaction pass through the hooks too.
11
+ * - `onError` sees each failure and returns the error to throw, or undefined to swallow it.
12
+ *
13
+ * Everything else, the adapter's kind and its own methods (`withConnection` on PostgreSQL), reaches the adapter
14
+ * itself, and `instanceof` still names its class.
15
+ */
16
+ export declare function withHooks<A extends StorageAdapter>(adapter: A, hooks: StorageHooks): A;
17
+ //# sourceMappingURL=withHooks.d.ts.map
@@ -0,0 +1,115 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var withHooks_exports = {};
19
+ __export(withHooks_exports, {
20
+ withHooks: () => withHooks
21
+ });
22
+ module.exports = __toCommonJS(withHooks_exports);
23
+ var import_hooks = require("../core/contracts/hooks.js");
24
+ const handled = /* @__PURE__ */ new WeakSet();
25
+ const EMPTY_WRITE = { changes: 0, lastInsertRowid: null };
26
+ function withHooks(adapter, hooks) {
27
+ const context = (operation) => ({
28
+ operationId: (0, import_hooks.generateOperationId)(),
29
+ operation,
30
+ startTime: Date.now(),
31
+ adapterKind: adapter.kind
32
+ });
33
+ const fail = async (error, at) => {
34
+ const err = error instanceof Error ? error : new Error(String(error));
35
+ if (!hooks.onError || handled.has(err))
36
+ throw err;
37
+ const replaced = await hooks.onError(err, at);
38
+ if (!replaced)
39
+ return;
40
+ handled.add(replaced);
41
+ throw replaced;
42
+ };
43
+ const query = async (operation, statement, parameters, call, stopped) => {
44
+ let at = { ...context(operation), statement, parameters };
45
+ if (hooks.onBeforeQuery) {
46
+ const next = await hooks.onBeforeQuery(at);
47
+ if (!next)
48
+ return stopped;
49
+ at = next;
50
+ }
51
+ try {
52
+ const result = await call(at.statement, at.parameters);
53
+ if (!hooks.onAfterQuery)
54
+ return result;
55
+ const replaced = await hooks.onAfterQuery(at, result);
56
+ return replaced === void 0 ? result : replaced;
57
+ } catch (error) {
58
+ await fail(error, at);
59
+ return stopped;
60
+ }
61
+ };
62
+ const overrides = {
63
+ get: (statement, parameters) => query("get", statement, parameters, (s, p) => adapter.get(s, p), null),
64
+ all: (statement, parameters) => query("all", statement, parameters, (s, p) => adapter.all(s, p), []),
65
+ exec: (script) => query("exec", script, void 0, (s) => adapter.exec(s), void 0),
66
+ run: async (statement, parameters) => {
67
+ let at = { ...context("run"), statement, parameters };
68
+ if (hooks.onBeforeWrite) {
69
+ const next = await hooks.onBeforeWrite(at);
70
+ if (!next)
71
+ return EMPTY_WRITE;
72
+ at = next;
73
+ }
74
+ try {
75
+ const result = await adapter.run(at.statement, at.parameters);
76
+ await hooks.onAfterWrite?.(at, result);
77
+ return result;
78
+ } catch (error) {
79
+ await fail(error, at);
80
+ return EMPTY_WRITE;
81
+ }
82
+ },
83
+ transaction: async (fn) => {
84
+ let at = { ...context("transaction") };
85
+ if (hooks.onBeforeTransaction) {
86
+ const next = await hooks.onBeforeTransaction(at);
87
+ if (!next)
88
+ return void 0;
89
+ at = next;
90
+ }
91
+ try {
92
+ const result = await adapter.transaction((trx) => fn(withHooks(trx, hooks)));
93
+ await hooks.onAfterTransaction?.({ ...at, outcome: "committed" });
94
+ return result;
95
+ } catch (error) {
96
+ await hooks.onAfterTransaction?.({ ...at, outcome: "rolled_back" });
97
+ await fail(error, at);
98
+ return void 0;
99
+ }
100
+ }
101
+ };
102
+ return new Proxy(adapter, {
103
+ get(target, property) {
104
+ if (Object.prototype.hasOwnProperty.call(overrides, property)) {
105
+ return overrides[property];
106
+ }
107
+ const value = Reflect.get(target, property, target);
108
+ return typeof value === "function" ? value.bind(target) : value;
109
+ }
110
+ });
111
+ }
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ withHooks
115
+ });
@@ -12,6 +12,7 @@ import type { PostgresAdapterOptions } from '../adapters/postgresAdapter.js';
12
12
  import type { CapacitorAdapterOptions } from '../adapters/capacitorSqliteAdapter.js';
13
13
  import type { IndexedDbAdapterOptions } from '../adapters/indexedDbAdapter.js';
14
14
  import type { StorageLogger } from '../shared/logger.js';
15
+ import type { StorageHooks } from './contracts/hooks.js';
15
16
  /**
16
17
  * Database connection options.
17
18
  */
@@ -111,6 +112,12 @@ export interface DatabaseOptions {
111
112
  * `setStorageLogger()` set, else the console.
112
113
  */
113
114
  logger?: StorageLogger;
115
+ /**
116
+ * Lifecycle hooks around every call of the adapter returned (see withHooks):
117
+ * each query, write, transaction and error, with the power to change a
118
+ * statement or a result, or to stop a call by returning undefined.
119
+ */
120
+ hooks?: StorageHooks;
114
121
  }
115
122
  /**
116
123
  * Create a database connection.
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAatD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAEpC;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAEzB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyG3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GACtC,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC,CAEpE;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AActD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAEpC;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAEzB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyG3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GACtC,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC,CAEpE;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -10,6 +10,7 @@ import { StorageResolutionError } from './contracts/index.js';
10
10
  import { resolveStorageAdapter } from './resolver.js';
11
11
  import { namesPostgresServer } from '../shared/postgresTarget.js';
12
12
  import { namesInMemoryDatabase } from '../shared/segment.js';
13
+ import { withHooks } from '../shared/withHooks.js';
13
14
  /**
14
15
  * The options that configure Postgres: `url` when the caller set the key, even
15
16
  * to undefined (`{ url: process.env.DATABASE_URL }`), and `postgres`.
@@ -184,7 +185,7 @@ export async function createDatabase(options = {}) {
184
185
  }
185
186
  const adapter = await resolveStorageAdapter(resolverOptions);
186
187
  await adapter.open(resolverOptions.openOptions);
187
- return adapter;
188
+ return options.hooks ? withHooks(adapter, options.hooks) : adapter;
188
189
  }
189
190
  /**
190
191
  * Connect to a remote database.
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export { SqliteFileExporter } from '../exporters/SqliteFileExporter.js';
18
18
  export { PostgresExporter } from '../exporters/PostgresExporter.js';
19
19
  export { createStorageFeatures } from './contracts/features.js';
20
20
  export { isUniqueViolation } from '../shared/errors.js';
21
+ export { withHooks } from '../shared/withHooks.js';
21
22
  export { setStorageLogger, getStorageLogger, type StorageLogger } from '../shared/logger.js';
22
23
  export * from '../features/migrations/schemaMigrations.js';
23
24
  export * from '../features/auth/authJsAdapter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"portable.d.ts","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1F,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"portable.d.ts","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1F,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC"}
@@ -18,6 +18,7 @@ export { SqliteFileExporter } from '../exporters/SqliteFileExporter.js';
18
18
  export { PostgresExporter } from '../exporters/PostgresExporter.js';
19
19
  export { createStorageFeatures } from './contracts/features.js';
20
20
  export { isUniqueViolation } from '../shared/errors.js';
21
+ export { withHooks } from '../shared/withHooks.js';
21
22
  export { setStorageLogger, getStorageLogger } from '../shared/logger.js';
22
23
  export * from '../features/migrations/schemaMigrations.js';
23
24
  export * from '../features/auth/authJsAdapter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"portable.js","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AAC1F,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"portable.js","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AAC1F,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC"}
@@ -77,7 +77,7 @@ const unsupportedKind = (kind) => {
77
77
  case 'electron-renderer':
78
78
  return new Error(`The resolver cannot build adapter kind "${kind}". Create it with createElectronRendererAdapter from '@framers/sql-storage-adapter/electron'.`);
79
79
  case 'supabase':
80
- return new Error(`The resolver cannot build adapter kind "${kind}". Use kind "postgres" with the Supabase connection string, or create a SupabaseAdapter.`);
80
+ return new Error(`The resolver cannot build adapter kind "${kind}". Use kind "postgres" with the Supabase connection string (SupabaseAdapter is deprecated).`);
81
81
  default:
82
82
  return new Error(`Unknown adapter kind "${kind}". The resolver builds postgres, better-sqlite3, capacitor, indexeddb, sqljs and memory.`);
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -28,5 +28,6 @@ export { SqliteFileExporter } from './exporters/SqliteFileExporter.js';
28
28
  export { PostgresExporter } from './exporters/PostgresExporter.js';
29
29
  export { createStorageFeatures } from './core/contracts/features.js';
30
30
  export { isUniqueViolation } from './shared/errors.js';
31
+ export { withHooks } from './shared/withHooks.js';
31
32
  export { setStorageLogger, getStorageLogger, type StorageLogger } from './shared/logger.js';
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -42,5 +42,6 @@ export { SqliteFileExporter } from './exporters/SqliteFileExporter.js';
42
42
  export { PostgresExporter } from './exporters/PostgresExporter.js';
43
43
  export { createStorageFeatures } from './core/contracts/features.js';
44
44
  export { isUniqueViolation } from './shared/errors.js';
45
+ export { withHooks } from './shared/withHooks.js';
45
46
  export { setStorageLogger, getStorageLogger } from './shared/logger.js';
46
47
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,6FAA6F;AAC7F,uGAAuG;AAEvG,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,6FAA6F;AAC7F,uGAAuG;AAEvG,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { StorageAdapter } from '../core/contracts/index.js';
2
+ import { type StorageHooks } from '../core/contracts/hooks.js';
3
+ /**
4
+ * The adapter with lifecycle hooks around its calls, on any adapter.
5
+ *
6
+ * - `onBeforeQuery` (get, all, exec) and `onBeforeWrite` (run) see the call's context, and return it, changed or
7
+ * not, to go on, or undefined to stop the call: a stopped get returns null, all an empty list, run no changes.
8
+ * - `onAfterQuery` can replace the result, and `onAfterWrite` sees it.
9
+ * - `onBeforeTransaction` can stop a transaction, and `onAfterTransaction` sees its outcome. The statements inside a
10
+ * transaction pass through the hooks too.
11
+ * - `onError` sees each failure and returns the error to throw, or undefined to swallow it.
12
+ *
13
+ * Everything else, the adapter's kind and its own methods (`withConnection` on PostgreSQL), reaches the adapter
14
+ * itself, and `instanceof` still names its class.
15
+ */
16
+ export declare function withHooks<A extends StorageAdapter>(adapter: A, hooks: StorageHooks): A;
17
+ //# sourceMappingURL=withHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withHooks.d.ts","sourceRoot":"","sources":["../../src/shared/withHooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAIL,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;AAOjC;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,CAgGtF"}
@@ -0,0 +1,108 @@
1
+ import { generateOperationId, } from '../core/contracts/hooks.js';
2
+ /** Errors the hooks of an inner call already handed to onError, so the transaction around it does not hand them again. */
3
+ const handled = new WeakSet();
4
+ const EMPTY_WRITE = { changes: 0, lastInsertRowid: null };
5
+ /**
6
+ * The adapter with lifecycle hooks around its calls, on any adapter.
7
+ *
8
+ * - `onBeforeQuery` (get, all, exec) and `onBeforeWrite` (run) see the call's context, and return it, changed or
9
+ * not, to go on, or undefined to stop the call: a stopped get returns null, all an empty list, run no changes.
10
+ * - `onAfterQuery` can replace the result, and `onAfterWrite` sees it.
11
+ * - `onBeforeTransaction` can stop a transaction, and `onAfterTransaction` sees its outcome. The statements inside a
12
+ * transaction pass through the hooks too.
13
+ * - `onError` sees each failure and returns the error to throw, or undefined to swallow it.
14
+ *
15
+ * Everything else, the adapter's kind and its own methods (`withConnection` on PostgreSQL), reaches the adapter
16
+ * itself, and `instanceof` still names its class.
17
+ */
18
+ export function withHooks(adapter, hooks) {
19
+ const context = (operation) => ({
20
+ operationId: generateOperationId(),
21
+ operation,
22
+ startTime: Date.now(),
23
+ adapterKind: adapter.kind,
24
+ });
25
+ /** Hands `error` to onError; throws what it returns, or returns when it swallows the error. */
26
+ const fail = async (error, at) => {
27
+ const err = error instanceof Error ? error : new Error(String(error));
28
+ if (!hooks.onError || handled.has(err))
29
+ throw err;
30
+ const replaced = await hooks.onError(err, at);
31
+ if (!replaced)
32
+ return;
33
+ handled.add(replaced);
34
+ throw replaced;
35
+ };
36
+ const query = async (operation, statement, parameters, call, stopped) => {
37
+ let at = { ...context(operation), statement, parameters };
38
+ if (hooks.onBeforeQuery) {
39
+ const next = await hooks.onBeforeQuery(at);
40
+ if (!next)
41
+ return stopped;
42
+ at = next;
43
+ }
44
+ try {
45
+ const result = await call(at.statement, at.parameters);
46
+ if (!hooks.onAfterQuery)
47
+ return result;
48
+ const replaced = await hooks.onAfterQuery(at, result);
49
+ return replaced === undefined ? result : replaced;
50
+ }
51
+ catch (error) {
52
+ await fail(error, at);
53
+ return stopped;
54
+ }
55
+ };
56
+ const overrides = {
57
+ get: (statement, parameters) => query('get', statement, parameters, (s, p) => adapter.get(s, p), null),
58
+ all: (statement, parameters) => query('all', statement, parameters, (s, p) => adapter.all(s, p), []),
59
+ exec: (script) => query('exec', script, undefined, (s) => adapter.exec(s), undefined),
60
+ run: async (statement, parameters) => {
61
+ let at = { ...context('run'), statement, parameters };
62
+ if (hooks.onBeforeWrite) {
63
+ const next = await hooks.onBeforeWrite(at);
64
+ if (!next)
65
+ return EMPTY_WRITE;
66
+ at = next;
67
+ }
68
+ try {
69
+ const result = await adapter.run(at.statement, at.parameters);
70
+ await hooks.onAfterWrite?.(at, result);
71
+ return result;
72
+ }
73
+ catch (error) {
74
+ await fail(error, at);
75
+ return EMPTY_WRITE;
76
+ }
77
+ },
78
+ transaction: async (fn) => {
79
+ let at = { ...context('transaction') };
80
+ if (hooks.onBeforeTransaction) {
81
+ const next = await hooks.onBeforeTransaction(at);
82
+ if (!next)
83
+ return undefined;
84
+ at = next;
85
+ }
86
+ try {
87
+ const result = await adapter.transaction((trx) => fn(withHooks(trx, hooks)));
88
+ await hooks.onAfterTransaction?.({ ...at, outcome: 'committed' });
89
+ return result;
90
+ }
91
+ catch (error) {
92
+ await hooks.onAfterTransaction?.({ ...at, outcome: 'rolled_back' });
93
+ await fail(error, at);
94
+ return undefined;
95
+ }
96
+ },
97
+ };
98
+ return new Proxy(adapter, {
99
+ get(target, property) {
100
+ if (Object.prototype.hasOwnProperty.call(overrides, property)) {
101
+ return overrides[property];
102
+ }
103
+ const value = Reflect.get(target, property, target);
104
+ return typeof value === 'function' ? value.bind(target) : value;
105
+ },
106
+ });
107
+ }
108
+ //# sourceMappingURL=withHooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withHooks.js","sourceRoot":"","sources":["../../src/shared/withHooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/sql-storage-adapter",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "description": "Robust cross-platform SQL storage abstraction with automatic fallbacks and runtime detection",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",