@syncular/dialect-expo-sqlite 0.0.6-73 → 0.0.6-80
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 +6 -2
- package/dist/index.d.ts +1 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -21
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/index.test.ts +10 -3
- package/src/index.ts +1 -22
package/README.md
CHANGED
|
@@ -12,9 +12,13 @@ npm install @syncular/dialect-expo-sqlite
|
|
|
12
12
|
|
|
13
13
|
```ts
|
|
14
14
|
import { openDatabaseSync } from 'expo-sqlite';
|
|
15
|
-
import {
|
|
15
|
+
import { createDatabase } from '@syncular/core';
|
|
16
|
+
import { createExpoSqliteDialect } from '@syncular/dialect-expo-sqlite';
|
|
16
17
|
|
|
17
|
-
const db =
|
|
18
|
+
const db = createDatabase<MyDb>({
|
|
19
|
+
dialect: createExpoSqliteDialect({ name: 'app.db', openDatabaseSync }),
|
|
20
|
+
family: 'sqlite',
|
|
21
|
+
});
|
|
18
22
|
```
|
|
19
23
|
|
|
20
24
|
## Documentation
|
package/dist/index.d.ts
CHANGED
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
* serialized through a single connection to prevent "database is locked"
|
|
10
10
|
* errors from concurrent access on the native handle.
|
|
11
11
|
*/
|
|
12
|
-
import type { DatabaseIntrospector, Dialect, DialectAdapter, Driver, QueryCompiler } from 'kysely';
|
|
13
|
-
import { Kysely } from 'kysely';
|
|
12
|
+
import type { DatabaseIntrospector, Dialect, DialectAdapter, Driver, Kysely, QueryCompiler } from 'kysely';
|
|
14
13
|
export type ExpoSqliteBindValue = null | string | number | Uint8Array;
|
|
15
14
|
export type ExpoSqliteBindParams = ExpoSqliteBindValue[];
|
|
16
15
|
export interface ExpoSqliteRunResult {
|
|
@@ -37,22 +36,6 @@ interface ExpoSqliteInstanceOptions {
|
|
|
37
36
|
database: ExpoSqliteDatabaseLike;
|
|
38
37
|
}
|
|
39
38
|
export type ExpoSqliteOptions = ExpoSqliteNameOptions | ExpoSqliteInstanceOptions;
|
|
40
|
-
/**
|
|
41
|
-
* Create a Kysely instance with Expo SQLite dialect.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* import { openDatabaseSync } from 'expo-sqlite';
|
|
45
|
-
*
|
|
46
|
-
* const db = createExpoSqliteDb<MyDb>({
|
|
47
|
-
* name: 'myapp.db',
|
|
48
|
-
* openDatabaseSync,
|
|
49
|
-
* });
|
|
50
|
-
*
|
|
51
|
-
* // Or with an existing database instance:
|
|
52
|
-
* const database = openDatabaseSync('myapp.db');
|
|
53
|
-
* const db = createExpoSqliteDb<MyDb>({ database });
|
|
54
|
-
*/
|
|
55
|
-
export declare function createExpoSqliteDb<T>(options: ExpoSqliteOptions): Kysely<T>;
|
|
56
39
|
/**
|
|
57
40
|
* Create the Expo SQLite dialect directly.
|
|
58
41
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,MAAM,EACN,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAQhB,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,CAAC,EAAE,CAAC;IAC9D,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IACxE,OAAO,CACL,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,SAAS,mBAAmB,EAAE,GACxC,mBAAmB,CAAC;IACvB,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,0DAA0D;AAC1D,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB,CAAC;AAEjE,UAAU,qBAAqB;IAC7B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,UAAU,yBAAyB;IACjC,gDAAgD;IAChD,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,GACrB,yBAAyB,CAAC;AAE9B;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GACzB,iBAAiB,CAEnB;AAkCD,cAAM,iBAAkB,YAAW,OAAO;;IAGxC,YAAY,OAAO,EAAE,iBAAiB,EAErC;IAED,aAAa,IAAI,cAAc,CAE9B;IAED,YAAY,IAAI,MAAM,CAErB;IAED,mBAAmB,IAAI,aAAa,CAEnC;IAED,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAE5D;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -9,27 +9,7 @@
|
|
|
9
9
|
* serialized through a single connection to prevent "database is locked"
|
|
10
10
|
* errors from concurrent access on the native handle.
|
|
11
11
|
*/
|
|
12
|
-
import { CompiledQuery,
|
|
13
|
-
/**
|
|
14
|
-
* Create a Kysely instance with Expo SQLite dialect.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* import { openDatabaseSync } from 'expo-sqlite';
|
|
18
|
-
*
|
|
19
|
-
* const db = createExpoSqliteDb<MyDb>({
|
|
20
|
-
* name: 'myapp.db',
|
|
21
|
-
* openDatabaseSync,
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* // Or with an existing database instance:
|
|
25
|
-
* const database = openDatabaseSync('myapp.db');
|
|
26
|
-
* const db = createExpoSqliteDb<MyDb>({ database });
|
|
27
|
-
*/
|
|
28
|
-
export function createExpoSqliteDb(options) {
|
|
29
|
-
return new Kysely({
|
|
30
|
-
dialect: createExpoSqliteDialect(options),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
12
|
+
import { CompiledQuery, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from 'kysely';
|
|
33
13
|
/**
|
|
34
14
|
* Create the Expo SQLite dialect directly.
|
|
35
15
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncular/dialect-expo-sqlite",
|
|
3
|
-
"version": "0.0.6-
|
|
3
|
+
"version": "0.0.6-80",
|
|
4
4
|
"description": "Expo SQLite dialect for the Syncular client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Benjamin Kniffler",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@syncular/config": "0.0.0",
|
|
52
|
+
"@syncular/core": "0.0.6-80",
|
|
52
53
|
"kysely": "*"
|
|
53
54
|
},
|
|
54
55
|
"files": [
|
package/src/index.test.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { afterEach, beforeEach, describe, expect, it } from 'bun:test';
|
|
3
|
+
import { createDatabase } from '@syncular/core';
|
|
3
4
|
import { type Kysely, sql } from 'kysely';
|
|
4
5
|
import type {
|
|
5
6
|
ExpoSqliteBindParams,
|
|
@@ -7,7 +8,7 @@ import type {
|
|
|
7
8
|
ExpoSqliteDatabaseLike,
|
|
8
9
|
ExpoSqliteRunResult,
|
|
9
10
|
} from './index';
|
|
10
|
-
import {
|
|
11
|
+
import { createExpoSqliteDialect } from './index';
|
|
11
12
|
|
|
12
13
|
interface TestDb {
|
|
13
14
|
tasks: {
|
|
@@ -64,7 +65,10 @@ describe('expo sqlite dialect RETURNING behavior', () => {
|
|
|
64
65
|
|
|
65
66
|
beforeEach(async () => {
|
|
66
67
|
fakeDb = new FakeExpoDatabase();
|
|
67
|
-
db =
|
|
68
|
+
db = createDatabase<TestDb>({
|
|
69
|
+
dialect: createExpoSqliteDialect({ database: fakeDb }),
|
|
70
|
+
family: 'sqlite',
|
|
71
|
+
});
|
|
68
72
|
// Run a no-op query to trigger driver init (PRAGMA statements).
|
|
69
73
|
// Then clear the tracking arrays so tests only see their own SQL.
|
|
70
74
|
await db
|
|
@@ -173,7 +177,10 @@ describe('expo sqlite dialect concurrency (real SQLite)', () => {
|
|
|
173
177
|
|
|
174
178
|
beforeEach(async () => {
|
|
175
179
|
adapter = new BunSqliteAdapter();
|
|
176
|
-
db =
|
|
180
|
+
db = createDatabase<ConcurrencyDb>({
|
|
181
|
+
dialect: createExpoSqliteDialect({ database: adapter }),
|
|
182
|
+
family: 'sqlite',
|
|
183
|
+
});
|
|
177
184
|
await sql`create table items (id integer primary key, value text)`.execute(
|
|
178
185
|
db
|
|
179
186
|
);
|
package/src/index.ts
CHANGED
|
@@ -16,13 +16,13 @@ import type {
|
|
|
16
16
|
Dialect,
|
|
17
17
|
DialectAdapter,
|
|
18
18
|
Driver,
|
|
19
|
+
Kysely,
|
|
19
20
|
QueryCompiler,
|
|
20
21
|
QueryResult,
|
|
21
22
|
TransactionSettings,
|
|
22
23
|
} from 'kysely';
|
|
23
24
|
import {
|
|
24
25
|
CompiledQuery,
|
|
25
|
-
Kysely,
|
|
26
26
|
SqliteAdapter,
|
|
27
27
|
SqliteIntrospector,
|
|
28
28
|
SqliteQueryCompiler,
|
|
@@ -67,27 +67,6 @@ export type ExpoSqliteOptions =
|
|
|
67
67
|
| ExpoSqliteNameOptions
|
|
68
68
|
| ExpoSqliteInstanceOptions;
|
|
69
69
|
|
|
70
|
-
/**
|
|
71
|
-
* Create a Kysely instance with Expo SQLite dialect.
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* import { openDatabaseSync } from 'expo-sqlite';
|
|
75
|
-
*
|
|
76
|
-
* const db = createExpoSqliteDb<MyDb>({
|
|
77
|
-
* name: 'myapp.db',
|
|
78
|
-
* openDatabaseSync,
|
|
79
|
-
* });
|
|
80
|
-
*
|
|
81
|
-
* // Or with an existing database instance:
|
|
82
|
-
* const database = openDatabaseSync('myapp.db');
|
|
83
|
-
* const db = createExpoSqliteDb<MyDb>({ database });
|
|
84
|
-
*/
|
|
85
|
-
export function createExpoSqliteDb<T>(options: ExpoSqliteOptions): Kysely<T> {
|
|
86
|
-
return new Kysely<T>({
|
|
87
|
-
dialect: createExpoSqliteDialect(options),
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
70
|
/**
|
|
92
71
|
* Create the Expo SQLite dialect directly.
|
|
93
72
|
*/
|