@op-engineering/op-sqlite 15.1.17 → 15.2.0-beta.0

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.
Files changed (51) hide show
  1. package/android/c_sources/tokenizers.cpp +88 -0
  2. package/android/c_sources/tokenizers.h +15 -0
  3. package/lib/commonjs/NativeOPSQLite.js +9 -0
  4. package/lib/commonjs/NativeOPSQLite.js.map +1 -0
  5. package/lib/commonjs/Storage.js +60 -0
  6. package/lib/commonjs/Storage.js.map +1 -0
  7. package/lib/commonjs/index.js +387 -0
  8. package/lib/commonjs/index.js.map +1 -0
  9. package/lib/commonjs/package.json +1 -0
  10. package/lib/module/functions.js +0 -5
  11. package/lib/module/functions.js.map +1 -1
  12. package/lib/typescript/node/src/database.d.ts +53 -0
  13. package/lib/typescript/node/src/database.d.ts.map +1 -0
  14. package/lib/typescript/node/src/index.d.ts +42 -0
  15. package/lib/typescript/node/src/index.d.ts.map +1 -0
  16. package/lib/typescript/node/src/test.spec.d.ts +2 -0
  17. package/lib/typescript/node/src/test.spec.d.ts.map +1 -0
  18. package/lib/typescript/node/src/types.d.ts +102 -0
  19. package/lib/typescript/node/src/types.d.ts.map +1 -0
  20. package/lib/typescript/src/functions.d.ts +1 -5
  21. package/lib/typescript/src/functions.d.ts.map +1 -1
  22. package/lib/typescript/src/types.d.ts +0 -4
  23. package/lib/typescript/src/types.d.ts.map +1 -1
  24. package/node/dist/database.d.ts +53 -0
  25. package/node/dist/database.d.ts.map +1 -0
  26. package/node/dist/database.js +277 -0
  27. package/node/dist/database.js.map +1 -0
  28. package/node/dist/example.d.ts +2 -0
  29. package/node/dist/example.d.ts.map +1 -0
  30. package/node/dist/example.js +145 -0
  31. package/node/dist/example.js.map +1 -0
  32. package/node/dist/index.d.ts +42 -0
  33. package/node/dist/index.d.ts.map +1 -0
  34. package/node/dist/index.js +47 -0
  35. package/node/dist/index.js.map +1 -0
  36. package/node/dist/test.d.ts +2 -0
  37. package/node/dist/test.d.ts.map +1 -0
  38. package/node/dist/test.js +196 -0
  39. package/node/dist/test.js.map +1 -0
  40. package/node/dist/test.spec.d.ts +2 -0
  41. package/node/dist/test.spec.d.ts.map +1 -0
  42. package/node/dist/test.spec.js +145 -0
  43. package/node/dist/test.spec.js.map +1 -0
  44. package/node/dist/types.d.ts +102 -0
  45. package/node/dist/types.d.ts.map +1 -0
  46. package/node/dist/types.js +2 -0
  47. package/node/dist/types.js.map +1 -0
  48. package/node/package.json +16 -0
  49. package/package.json +16 -4
  50. package/src/functions.ts +11 -18
  51. package/src/types.ts +0 -1
@@ -0,0 +1,102 @@
1
+ export type Scalar = string | number | boolean | null | ArrayBuffer | ArrayBufferView;
2
+ export type QueryResult = {
3
+ insertId?: number;
4
+ rowsAffected: number;
5
+ res?: any[];
6
+ rows: Array<Record<string, Scalar>>;
7
+ rawRows?: Scalar[][];
8
+ columnNames?: string[];
9
+ metadata?: ColumnMetadata[];
10
+ };
11
+ export type ColumnMetadata = {
12
+ name: string;
13
+ type: string;
14
+ index: number;
15
+ };
16
+ export type SQLBatchTuple = [string] | [string, Scalar[]] | [string, Scalar[][]];
17
+ export type UpdateHookOperation = 'INSERT' | 'DELETE' | 'UPDATE';
18
+ export type BatchQueryResult = {
19
+ rowsAffected?: number;
20
+ };
21
+ export type FileLoadResult = BatchQueryResult & {
22
+ commands?: number;
23
+ };
24
+ export type Transaction = {
25
+ commit: () => Promise<QueryResult>;
26
+ execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
27
+ rollback: () => QueryResult;
28
+ };
29
+ export type PreparedStatement = {
30
+ bind: (params: any[]) => Promise<void>;
31
+ bindSync: (params: any[]) => void;
32
+ execute: () => Promise<QueryResult>;
33
+ };
34
+ export type DB = {
35
+ close: () => void;
36
+ delete: (location?: string) => void;
37
+ attach: (params: {
38
+ secondaryDbFileName: string;
39
+ alias: string;
40
+ location?: string;
41
+ }) => void;
42
+ detach: (alias: string) => void;
43
+ transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
44
+ executeSync: (query: string, params?: Scalar[]) => QueryResult;
45
+ execute: (query: string, params?: Scalar[]) => Promise<QueryResult>;
46
+ executeWithHostObjects: (query: string, params?: Scalar[]) => Promise<QueryResult>;
47
+ executeBatch: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
48
+ loadFile: (location: string) => Promise<FileLoadResult>;
49
+ updateHook: (callback?: ((params: {
50
+ table: string;
51
+ operation: UpdateHookOperation;
52
+ row?: any;
53
+ rowId: number;
54
+ }) => void) | null) => void;
55
+ commitHook: (callback?: (() => void) | null) => void;
56
+ rollbackHook: (callback?: (() => void) | null) => void;
57
+ prepareStatement: (query: string) => PreparedStatement;
58
+ loadExtension: (path: string, entryPoint?: string) => void;
59
+ executeRaw: (query: string, params?: Scalar[]) => Promise<any[]>;
60
+ executeRawSync: (query: string, params?: Scalar[]) => any[];
61
+ getDbPath: (location?: string) => string;
62
+ reactiveExecute: (params: {
63
+ query: string;
64
+ arguments: any[];
65
+ fireOn: {
66
+ table: string;
67
+ ids?: number[];
68
+ }[];
69
+ callback: (response: any) => void;
70
+ }) => () => void;
71
+ sync: () => void;
72
+ setReservedBytes: (reservedBytes: number) => void;
73
+ getReservedBytes: () => number;
74
+ flushPendingReactiveQueries: () => Promise<void>;
75
+ };
76
+ export type DBParams = {
77
+ url?: string;
78
+ authToken?: string;
79
+ name?: string;
80
+ location?: string;
81
+ syncInterval?: number;
82
+ };
83
+ export type OPSQLiteProxy = {
84
+ open: (options: {
85
+ name: string;
86
+ location?: string;
87
+ encryptionKey?: string;
88
+ }) => DB;
89
+ openV2: (options: {
90
+ path: string;
91
+ encryptionKey?: string;
92
+ }) => DB;
93
+ openRemote: (options: {
94
+ url: string;
95
+ authToken: string;
96
+ }) => DB;
97
+ openSync: (options: DBParams) => DB;
98
+ isSQLCipher: () => boolean;
99
+ isLibsql: () => boolean;
100
+ isIOSEmbedded: () => boolean;
101
+ };
102
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "node",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "private": true,
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
9
+ "example": "tsc && node example.js"
10
+ },
11
+ "devDependencies": {
12
+ "@types/jest": "^29.5.0",
13
+ "jest": "^29.5.0",
14
+ "ts-jest": "^29.1.0"
15
+ }
16
+ }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@op-engineering/op-sqlite",
3
- "version": "15.1.17",
4
- "description": "Fastest SQLite for React Native",
3
+ "version": "15.2.0-beta.0",
4
+ "description": "Fastest SQLite for React Native (with node.js support)",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
7
7
  "react-native": "src/index",
8
8
  "exports": {
9
9
  ".": {
10
10
  "source": "./src/index.ts",
11
+ "node": "./node/dist/index.js",
11
12
  "types": "./lib/typescript/src/index.d.ts",
12
13
  "default": "./lib/module/index.js"
13
14
  },
@@ -19,6 +20,8 @@
19
20
  "android",
20
21
  "ios",
21
22
  "cpp",
23
+ "node/dist",
24
+ "node/package.json",
22
25
  "*.podspec",
23
26
  "*.rb",
24
27
  "react-native.config.js",
@@ -35,9 +38,11 @@
35
38
  "!**/.*"
36
39
  ],
37
40
  "scripts": {
41
+ "test:node": "yarn workspace node test",
38
42
  "example": "yarn workspace op_sqlite_example",
39
43
  "typecheck": "tsc",
40
44
  "prepare": "bob build",
45
+ "build:node": "yarn workspace node build",
41
46
  "pods": "cd example && yarn pods",
42
47
  "clang-format-check": "clang-format -i cpp/*.cpp cpp/*.h"
43
48
  },
@@ -45,7 +50,9 @@
45
50
  "react-native",
46
51
  "ios",
47
52
  "android",
48
- "sqlite"
53
+ "node",
54
+ "sqlite",
55
+ "database"
49
56
  ],
50
57
  "repository": "https://github.com/OP-Engineering/op-sqlite",
51
58
  "author": "Oscar Franco <ospfranco@gmail.com> (https://github.com/ospfranco)",
@@ -57,8 +64,12 @@
57
64
  "publishConfig": {
58
65
  "registry": "https://registry.npmjs.org/"
59
66
  },
67
+ "dependencies": {
68
+ "better-sqlite3": "^11.0.0"
69
+ },
60
70
  "devDependencies": {
61
71
  "clang-format": "^1.8.0",
72
+ "jest": "^29.5.0",
62
73
  "react": "19.1.1",
63
74
  "react-native": "0.82.1",
64
75
  "react-native-builder-bob": "^0.40.15",
@@ -69,7 +80,8 @@
69
80
  "react-native": "*"
70
81
  },
71
82
  "workspaces": [
72
- "example"
83
+ "example",
84
+ "node"
73
85
  ],
74
86
  "prettier": {
75
87
  "quoteProps": "consistent",
package/src/functions.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
- import {
3
- type _InternalDB,
4
- type _PendingTransaction,
5
- type BatchQueryResult,
6
- type DB,
7
- type DBParams,
8
- type OPSQLiteProxy,
9
- type QueryResult,
10
- type Scalar,
11
- type SQLBatchTuple,
12
- type Transaction,
2
+ import type {
3
+ _InternalDB,
4
+ _PendingTransaction,
5
+ BatchQueryResult,
6
+ DB,
7
+ DBParams,
8
+ OPSQLiteProxy,
9
+ QueryResult,
10
+ Scalar,
11
+ SQLBatchTuple,
12
+ Transaction,
13
13
  } from './types';
14
14
 
15
15
  declare global {
@@ -419,13 +419,6 @@ export const open = (params: {
419
419
  return enhancedDb;
420
420
  };
421
421
 
422
- export function openV2(params: { path: string; encryptionKey?: string }) {
423
- const db = OPSQLite.openV2(params);
424
- const enhancedDb = enhanceDB(db, params as any);
425
-
426
- return enhancedDb;
427
- }
428
-
429
422
  /**
430
423
  * Moves the database from the assets folder to the default path (check the docs) or to a custom path
431
424
  * It DOES NOT OVERWRITE the database if it already exists in the destination path
package/src/types.ts CHANGED
@@ -317,7 +317,6 @@ export type OPSQLiteProxy = {
317
317
  location?: string;
318
318
  encryptionKey?: string;
319
319
  }) => _InternalDB;
320
- openV2: (options: { path: string; encryptionKey?: string }) => _InternalDB;
321
320
  openRemote: (options: { url: string; authToken: string }) => _InternalDB;
322
321
  openSync: (options: DBParams) => _InternalDB;
323
322
  isSQLCipher: () => boolean;