anchordb 0.2.1 → 1.0.1

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/CHANGELOG.md CHANGED
@@ -5,6 +5,47 @@ All notable changes to the `anchordb` packages.
5
5
  This project follows [semantic versioning](https://semver.org/). While the version is `0.x`, minor
6
6
  releases may contain breaking changes.
7
7
 
8
+ ## 1.0.0
9
+
10
+ **Versioning changes with this release.** The major version now tracks the React / Angular major the
11
+ packages are built against: React 18 stays on the `0.x` line, React 19 begins at `1.x`. Projects on
12
+ React 18 remain on 0.2.1, preserved on the
13
+ [`release/0.x-react18`](https://github.com/knnadeera/anchordb/tree/release/0.x-react18) branch.
14
+
15
+ ### One install, ready to use
16
+
17
+ `npm install anchordb-react` now brings the database, the SQLite driver and the crypto polyfill —
18
+ and `createAnchorDB({ name })` needs no adapter wiring. `npm install anchordb-angular` does the
19
+ same, with `provideAnchorIonic` choosing Capacitor SQLite on a device and IndexedDB under
20
+ `ionic serve`.
21
+
22
+ - `anchordb-react` gains `createAnchorDB`, and depends on `expo-sqlite` and
23
+ `react-native-get-random-values`
24
+ - `anchordb-angular` gains `ionicAdapter` and `provideAnchorIonic`, and depends on
25
+ `@capacitor/core` and `@capacitor-community/sqlite`
26
+
27
+ ### Breaking
28
+
29
+ - **`anchordb-react` is now React Native only.** It imports `react-native-get-random-values`, which
30
+ imports React Native internals, so a React web build fails. Browser apps use `anchordb` directly
31
+ with `anchordb/storage/indexeddb`, which is unchanged.
32
+ - **React 19 is required** by `anchordb-react`, since `expo-sqlite` pulls React Native.
33
+
34
+ ### Fixed
35
+
36
+ - **Subpath imports were unusable under `moduleResolution: Node10`.** Neither `anchordb` nor
37
+ `anchordb-sync-server` declared `typesVersions`, so `anchordb/storage/expo-sqlite` and friends
38
+ resolved to nothing for any consumer on classic resolution — and broke this repo's own CommonJS
39
+ build. Every `node10` result in are-the-types-wrong is now green where most were previously
40
+ failing.
41
+ - **The `ExpoDatabase` interface did not match the real `expo-sqlite`.** `params` was declared
42
+ optional where the driver requires it, and typed `unknown[]` where SQLite accepts only five bind
43
+ types. The actual module was therefore not assignable to the interface, so every TypeScript user
44
+ following the documented usage got an error. Caught by typechecking against the real package for
45
+ the first time.
46
+ - **`sideEffects: false` on `anchordb-react`** would have let a bundler tree-shake away the crypto
47
+ polyfill, making the first `ObjectId` throw. It now names the built entries.
48
+
8
49
  ## 0.2.1
9
50
 
10
51
  Documentation and discoverability only — no code changes.
package/README.md CHANGED
@@ -110,7 +110,7 @@ Extended JSON has three modes, matching the ones MongoDB Compass offers: `canoni
110
110
 
111
111
  ## Status
112
112
 
113
- **0.2.1 — early, and 0.x means breaking changes are expected.**
113
+ **1.0.0 — early, and 0.x means breaking changes are expected.**
114
114
 
115
115
  **631 tests across 17 files.** Implemented and covered: the local database, Mongoose-shaped schema
116
116
  and validation, decorators, indexes with real `E11000` enforcement, the lazy query builder,
@@ -28,13 +28,15 @@ import { SqlAdapterBase, type SqlDriver } from "./sql-base.js";
28
28
  export interface ExpoSQLiteModule {
29
29
  openDatabaseAsync(name: string, options?: Record<string, unknown>): Promise<ExpoDatabase>;
30
30
  }
31
+ /** What SQLite can bind to a placeholder. Mirrors expo-sqlite's own `SQLiteBindValue`. */
32
+ export type ExpoBindValue = string | number | boolean | null | Uint8Array | ArrayBuffer;
31
33
  export interface ExpoDatabase {
32
34
  execAsync(source: string): Promise<void>;
33
- runAsync(source: string, params?: unknown[]): Promise<{
35
+ runAsync(source: string, params: ExpoBindValue[]): Promise<{
34
36
  changes: number;
35
37
  lastInsertRowId: number;
36
38
  }>;
37
- getAllAsync<T>(source: string, params?: unknown[]): Promise<T[]>;
39
+ getAllAsync<T>(source: string, params: ExpoBindValue[]): Promise<T[]>;
38
40
  withExclusiveTransactionAsync(task: (tx: ExpoDatabase) => Promise<void>): Promise<void>;
39
41
  closeAsync(): Promise<void>;
40
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expo-sqlite.d.ts","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,6BAA6B,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,EAAE,wBAAwB;cAa7B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAiCnD"}
1
+ {"version":3,"file":"expo-sqlite.d.ts","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,6BAA6B,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,EAAE,wBAAwB;cAa7B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAoCnD"}
@@ -23,6 +23,8 @@ class ExpoSqliteAdapter extends sql_base_ts_1.SqlAdapterBase {
23
23
  let inTransaction = false;
24
24
  return {
25
25
  name: "expo-sqlite",
26
+ // The SqlDriver contract is `unknown[]` because it is shared by every SQL adapter. The
27
+ // narrowing to SQLite's bind types happens here, at the boundary, and only here.
26
28
  run: async (sql, params = []) => {
27
29
  await db.runAsync(sql, params);
28
30
  },
@@ -1 +1 @@
1
- {"version":3,"file":"expo-sqlite.js","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":";;;AAAA,oDAAyD;AACzD,+CAA+D;AAiD/D,MAAa,iBAAkB,SAAQ,4BAAc;IAKnD,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QAL3B,SAAI,GAAG,aAAa,CAAC;QAM5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,6BAAiB,CACzB,kDAAkD;gBAChD,iEAAiE;gBACjE,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,6FAA6F;QAC7F,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAEjD,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;gBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAI,GAAG,EAAE,MAAM,CAAC;YACrF,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YACtC,WAAW,EAAE,KAAK,EAAK,EAAoB,EAAc,EAAE;gBACzD,2FAA2F;gBAC3F,sEAAsE;gBACtE,IAAI,aAAa;oBAAE,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,MAAU,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,6BAA6B,CAAC,KAAK,IAAI,EAAE;wBAChD,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC;CACF;AAnDD,8CAmDC"}
1
+ {"version":3,"file":"expo-sqlite.js","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":";;;AAAA,oDAAyD;AACzD,+CAA+D;AA0D/D,MAAa,iBAAkB,SAAQ,4BAAc;IAKnD,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QAL3B,SAAI,GAAG,aAAa,CAAC;QAM5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,6BAAiB,CACzB,kDAAkD;gBAChD,iEAAiE;gBACjE,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,6FAA6F;QAC7F,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAEjD,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,uFAAuF;YACvF,iFAAiF;YACjF,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;gBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAyB,CAAC,CAAC;YACpD,CAAC;YACD,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CACpD,EAAE,CAAC,WAAW,CAAI,GAAG,EAAE,MAAyB,CAAC;YACnD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YACtC,WAAW,EAAE,KAAK,EAAK,EAAoB,EAAc,EAAE;gBACzD,2FAA2F;gBAC3F,sEAAsE;gBACtE,IAAI,aAAa;oBAAE,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,MAAU,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,6BAA6B,CAAC,KAAK,IAAI,EAAE;wBAChD,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC;CACF;AAtDD,8CAsDC"}
@@ -28,13 +28,15 @@ import { SqlAdapterBase, type SqlDriver } from "./sql-base.js";
28
28
  export interface ExpoSQLiteModule {
29
29
  openDatabaseAsync(name: string, options?: Record<string, unknown>): Promise<ExpoDatabase>;
30
30
  }
31
+ /** What SQLite can bind to a placeholder. Mirrors expo-sqlite's own `SQLiteBindValue`. */
32
+ export type ExpoBindValue = string | number | boolean | null | Uint8Array | ArrayBuffer;
31
33
  export interface ExpoDatabase {
32
34
  execAsync(source: string): Promise<void>;
33
- runAsync(source: string, params?: unknown[]): Promise<{
35
+ runAsync(source: string, params: ExpoBindValue[]): Promise<{
34
36
  changes: number;
35
37
  lastInsertRowId: number;
36
38
  }>;
37
- getAllAsync<T>(source: string, params?: unknown[]): Promise<T[]>;
39
+ getAllAsync<T>(source: string, params: ExpoBindValue[]): Promise<T[]>;
38
40
  withExclusiveTransactionAsync(task: (tx: ExpoDatabase) => Promise<void>): Promise<void>;
39
41
  closeAsync(): Promise<void>;
40
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expo-sqlite.d.ts","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,6BAA6B,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,EAAE,wBAAwB;cAa7B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAiCnD"}
1
+ {"version":3,"file":"expo-sqlite.d.ts","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3F;AAED,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,6BAA6B,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,EAAE,wBAAwB;cAa7B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAoCnD"}
@@ -20,6 +20,8 @@ export class ExpoSqliteAdapter extends SqlAdapterBase {
20
20
  let inTransaction = false;
21
21
  return {
22
22
  name: "expo-sqlite",
23
+ // The SqlDriver contract is `unknown[]` because it is shared by every SQL adapter. The
24
+ // narrowing to SQLite's bind types happens here, at the boundary, and only here.
23
25
  run: async (sql, params = []) => {
24
26
  await db.runAsync(sql, params);
25
27
  },
@@ -1 +1 @@
1
- {"version":3,"file":"expo-sqlite.js","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AAiD/D,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAKnD,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QAL3B,SAAI,GAAG,aAAa,CAAC;QAM5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,iBAAiB,CACzB,kDAAkD;gBAChD,iEAAiE;gBACjE,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,6FAA6F;QAC7F,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAEjD,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;gBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAI,GAAG,EAAE,MAAM,CAAC;YACrF,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YACtC,WAAW,EAAE,KAAK,EAAK,EAAoB,EAAc,EAAE;gBACzD,2FAA2F;gBAC3F,sEAAsE;gBACtE,IAAI,aAAa;oBAAE,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,MAAU,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,6BAA6B,CAAC,KAAK,IAAI,EAAE;wBAChD,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"expo-sqlite.js","sourceRoot":"","sources":["../../../../src/storage/adapters/expo-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AA0D/D,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAKnD,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QAL3B,SAAI,GAAG,aAAa,CAAC;QAM5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,iBAAiB,CACzB,kDAAkD;gBAChD,iEAAiE;gBACjE,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,6FAA6F;QAC7F,6DAA6D;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAEjD,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,uFAAuF;YACvF,iFAAiF;YACjF,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;gBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAyB,CAAC,CAAC;YACpD,CAAC;YACD,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,SAAoB,EAAE,EAAE,EAAE,CACpD,EAAE,CAAC,WAAW,CAAI,GAAG,EAAE,MAAyB,CAAC;YACnD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YACtC,WAAW,EAAE,KAAK,EAAK,EAAoB,EAAc,EAAE;gBACzD,2FAA2F;gBAC3F,sEAAsE;gBACtE,IAAI,aAAa;oBAAE,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,MAAU,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,6BAA6B,CAAC,KAAK,IAAI,EAAE;wBAChD,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anchordb",
3
- "version": "0.2.1",
3
+ "version": "1.0.1",
4
4
  "description": "MongoDB + Mongoose for mobile apps. Offline-first local database with optional sync.",
5
5
  "keywords": [
6
6
  "mongodb",
@@ -166,5 +166,33 @@
166
166
  ],
167
167
  "profile": "node16"
168
168
  },
169
- "author": "Nisala Nadeera <knnadeera@gmail.com>"
169
+ "author": "Nisala Nadeera <knnadeera@gmail.com>",
170
+ "typesVersions": {
171
+ "*": {
172
+ "decorators": [
173
+ "./dist/esm/decorators/index.d.ts"
174
+ ],
175
+ "storage/node-sqlite": [
176
+ "./dist/esm/storage/adapters/node-sqlite.d.ts"
177
+ ],
178
+ "sync": [
179
+ "./dist/esm/sync/attach.d.ts"
180
+ ],
181
+ "inspector": [
182
+ "./dist/esm/inspector/agent.d.ts"
183
+ ],
184
+ "storage/expo-sqlite": [
185
+ "./dist/esm/storage/adapters/expo-sqlite.d.ts"
186
+ ],
187
+ "storage/capacitor-sqlite": [
188
+ "./dist/esm/storage/adapters/capacitor-sqlite.d.ts"
189
+ ],
190
+ "storage/indexeddb": [
191
+ "./dist/esm/storage/adapters/indexeddb.d.ts"
192
+ ],
193
+ "storage/memory": [
194
+ "./dist/esm/storage/adapters/memory.d.ts"
195
+ ]
196
+ }
197
+ }
170
198
  }