@op-engineering/op-sqlite 6.0.1 → 6.0.2-beta3
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/android/CMakeLists.txt +26 -15
- package/android/build.gradle +10 -1
- package/android/cpp-adapter.cpp +4 -0
- package/android/jniLibs/arm64-v8a/libsql_experimental.a +0 -0
- package/android/jniLibs/armeabi-v7a/libsql_experimental.a +0 -0
- package/android/jniLibs/x86/libsql_experimental.a +0 -0
- package/android/jniLibs/x86_64/libsql_experimental.a +0 -0
- package/cpp/DBHostObject.cpp +882 -0
- package/cpp/DBHostObject.h +61 -0
- package/cpp/PreparedStatementHostObject.cpp +29 -15
- package/cpp/PreparedStatementHostObject.h +18 -14
- package/cpp/bindings.cpp +24 -616
- package/cpp/bindings.h +5 -2
- package/cpp/bridge.cpp +55 -16
- package/cpp/bridge.h +5 -1
- package/cpp/libsql/bridge.cpp +629 -0
- package/cpp/libsql/bridge.h +88 -0
- package/cpp/libsql/libsql.h +133 -0
- package/cpp/sqlite3.h +0 -1
- package/cpp/types.h +5 -0
- package/cpp/utils.cpp +68 -6
- package/cpp/utils.h +5 -5
- package/ios/libsql.xcframework/Info.plist +48 -0
- package/ios/libsql.xcframework/ios-arm64/Headers/libsql.h +133 -0
- package/ios/libsql.xcframework/ios-arm64/libsql_experimental.a +0 -0
- package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/Headers/libsql.h +133 -0
- package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/libsql_experimental.a +0 -0
- package/lib/commonjs/index.js +143 -153
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +141 -152
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +28 -39
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/op-sqlite.podspec +20 -3
- package/package.json +1 -1
- package/src/index.ts +203 -272
- package/cpp/sqlbatchexecutor.cpp +0 -93
- package/cpp/sqlbatchexecutor.h +0 -30
package/lib/module/index.js
CHANGED
|
@@ -80,175 +80,161 @@ function enhanceQueryResult(result) {
|
|
|
80
80
|
result.rows.item = idx => result.rows?._array[idx];
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
const
|
|
84
|
-
OPSQLite.open
|
|
85
|
-
|
|
86
|
-
locks[options.name] = {
|
|
83
|
+
export const open = options => {
|
|
84
|
+
const db = OPSQLite.open(options);
|
|
85
|
+
const lock = {
|
|
87
86
|
queue: [],
|
|
88
87
|
inProgress: false
|
|
89
88
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
delete locks[dbName];
|
|
95
|
-
};
|
|
96
|
-
const _execute = OPSQLite.execute;
|
|
97
|
-
OPSQLite.execute = (dbName, query, params) => {
|
|
98
|
-
const sanitizedParams = params?.map(p => {
|
|
99
|
-
if (ArrayBuffer.isView(p)) {
|
|
100
|
-
return p.buffer;
|
|
89
|
+
const startNextTransaction = () => {
|
|
90
|
+
if (lock.inProgress) {
|
|
91
|
+
// Transaction is already in process bail out
|
|
92
|
+
return;
|
|
101
93
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (ArrayBuffer.isView(p)) {
|
|
112
|
-
return p.buffer;
|
|
94
|
+
if (lock.queue.length) {
|
|
95
|
+
lock.inProgress = true;
|
|
96
|
+
const tx = lock.queue.shift();
|
|
97
|
+
if (!tx) {
|
|
98
|
+
throw new Error('Could not get a operation on database');
|
|
99
|
+
}
|
|
100
|
+
setImmediate(() => {
|
|
101
|
+
tx.start();
|
|
102
|
+
});
|
|
113
103
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// spreading the object is not working, so we need to do it manually
|
|
107
|
+
let enhancedDb = {
|
|
108
|
+
delete: db.delete,
|
|
109
|
+
attach: db.attach,
|
|
110
|
+
detach: db.detach,
|
|
111
|
+
executeBatch: db.executeBatch,
|
|
112
|
+
executeBatchAsync: db.executeBatchAsync,
|
|
113
|
+
loadFile: db.loadFile,
|
|
114
|
+
updateHook: db.updateHook,
|
|
115
|
+
commitHook: db.commitHook,
|
|
116
|
+
rollbackHook: db.rollbackHook,
|
|
117
|
+
loadExtension: db.loadExtension,
|
|
118
|
+
executeRawAsync: db.executeRawAsync,
|
|
119
|
+
getDbPath: db.getDbPath,
|
|
120
|
+
reactiveExecute: db.reactiveExecute,
|
|
121
|
+
close: () => {
|
|
122
|
+
db.close();
|
|
123
|
+
delete locks[options.name];
|
|
124
|
+
},
|
|
125
|
+
execute: (query, params) => {
|
|
126
|
+
const sanitizedParams = params?.map(p => {
|
|
126
127
|
if (ArrayBuffer.isView(p)) {
|
|
127
128
|
return p.buffer;
|
|
128
129
|
}
|
|
129
130
|
return p;
|
|
130
131
|
});
|
|
131
|
-
|
|
132
|
+
const result = db.execute(query, sanitizedParams);
|
|
133
|
+
enhanceQueryResult(result);
|
|
134
|
+
return result;
|
|
132
135
|
},
|
|
133
|
-
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
};
|
|
140
|
-
OPSQLite.transaction = async (dbName, fn) => {
|
|
141
|
-
if (!locks[dbName]) {
|
|
142
|
-
throw Error(`SQLite Error: No lock found on db: ${dbName}`);
|
|
143
|
-
}
|
|
144
|
-
let isFinalized = false;
|
|
145
|
-
|
|
146
|
-
// Local transaction context object implementation
|
|
147
|
-
const execute = (query, params) => {
|
|
148
|
-
if (isFinalized) {
|
|
149
|
-
throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
|
|
150
|
-
}
|
|
151
|
-
return OPSQLite.execute(dbName, query, params);
|
|
152
|
-
};
|
|
153
|
-
const executeAsync = (query, params) => {
|
|
154
|
-
if (isFinalized) {
|
|
155
|
-
throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
|
|
156
|
-
}
|
|
157
|
-
return OPSQLite.executeAsync(dbName, query, params);
|
|
158
|
-
};
|
|
159
|
-
const commit = () => {
|
|
160
|
-
if (isFinalized) {
|
|
161
|
-
throw Error(`SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
|
|
162
|
-
}
|
|
163
|
-
const result = OPSQLite.execute(dbName, 'COMMIT');
|
|
164
|
-
isFinalized = true;
|
|
165
|
-
return result;
|
|
166
|
-
};
|
|
167
|
-
const rollback = () => {
|
|
168
|
-
if (isFinalized) {
|
|
169
|
-
throw Error(`SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
|
|
170
|
-
}
|
|
171
|
-
const result = OPSQLite.execute(dbName, 'ROLLBACK');
|
|
172
|
-
isFinalized = true;
|
|
173
|
-
return result;
|
|
174
|
-
};
|
|
175
|
-
async function run() {
|
|
176
|
-
try {
|
|
177
|
-
await OPSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
|
|
178
|
-
await fn({
|
|
179
|
-
commit,
|
|
180
|
-
execute,
|
|
181
|
-
executeAsync,
|
|
182
|
-
rollback
|
|
136
|
+
executeAsync: async (query, params) => {
|
|
137
|
+
const sanitizedParams = params?.map(p => {
|
|
138
|
+
if (ArrayBuffer.isView(p)) {
|
|
139
|
+
return p.buffer;
|
|
140
|
+
}
|
|
141
|
+
return p;
|
|
183
142
|
});
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
143
|
+
const result = await db.executeAsync(query, sanitizedParams);
|
|
144
|
+
enhanceQueryResult(result);
|
|
145
|
+
return result;
|
|
146
|
+
},
|
|
147
|
+
prepareStatement: query => {
|
|
148
|
+
const stmt = db.prepareStatement(query);
|
|
149
|
+
return {
|
|
150
|
+
bind: params => {
|
|
151
|
+
const sanitizedParams = params.map(p => {
|
|
152
|
+
if (ArrayBuffer.isView(p)) {
|
|
153
|
+
return p.buffer;
|
|
154
|
+
}
|
|
155
|
+
return p;
|
|
156
|
+
});
|
|
157
|
+
stmt.bind(sanitizedParams);
|
|
158
|
+
},
|
|
159
|
+
execute: () => {
|
|
160
|
+
const res = stmt.execute();
|
|
161
|
+
enhanceQueryResult(res);
|
|
162
|
+
return res;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
},
|
|
166
|
+
transaction: async fn => {
|
|
167
|
+
let isFinalized = false;
|
|
168
|
+
|
|
169
|
+
// Local transaction context object implementation
|
|
170
|
+
const execute = (query, params) => {
|
|
171
|
+
if (isFinalized) {
|
|
172
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
173
|
+
}
|
|
174
|
+
return enhancedDb.execute(query, params);
|
|
175
|
+
};
|
|
176
|
+
const executeAsync = (query, params) => {
|
|
177
|
+
if (isFinalized) {
|
|
178
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
179
|
+
}
|
|
180
|
+
return enhancedDb.executeAsync(query, params);
|
|
181
|
+
};
|
|
182
|
+
const commit = () => {
|
|
183
|
+
if (isFinalized) {
|
|
184
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
185
|
+
}
|
|
186
|
+
const result = enhancedDb.execute('COMMIT;');
|
|
187
|
+
isFinalized = true;
|
|
188
|
+
return result;
|
|
189
|
+
};
|
|
190
|
+
const rollback = () => {
|
|
191
|
+
if (isFinalized) {
|
|
192
|
+
throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
|
|
193
|
+
}
|
|
194
|
+
const result = enhancedDb.execute('ROLLBACK;');
|
|
195
|
+
isFinalized = true;
|
|
196
|
+
return result;
|
|
197
|
+
};
|
|
198
|
+
async function run() {
|
|
189
199
|
try {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
await enhancedDb.executeAsync('BEGIN TRANSACTION;');
|
|
201
|
+
await fn({
|
|
202
|
+
commit,
|
|
203
|
+
execute,
|
|
204
|
+
executeAsync,
|
|
205
|
+
rollback
|
|
206
|
+
});
|
|
207
|
+
if (!isFinalized) {
|
|
208
|
+
commit();
|
|
209
|
+
}
|
|
210
|
+
} catch (executionError) {
|
|
211
|
+
console.warn('transaction error', executionError);
|
|
212
|
+
if (!isFinalized) {
|
|
213
|
+
try {
|
|
214
|
+
rollback();
|
|
215
|
+
} catch (rollbackError) {
|
|
216
|
+
throw rollbackError;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
throw executionError;
|
|
220
|
+
} finally {
|
|
221
|
+
lock.inProgress = false;
|
|
222
|
+
isFinalized = false;
|
|
223
|
+
startNextTransaction();
|
|
193
224
|
}
|
|
194
225
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
start: () => {
|
|
205
|
-
run().then(resolve).catch(reject);
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
locks[dbName].queue.push(tx);
|
|
209
|
-
startNextTransaction(dbName);
|
|
210
|
-
});
|
|
211
|
-
};
|
|
212
|
-
const startNextTransaction = dbName => {
|
|
213
|
-
if (!locks[dbName]) {
|
|
214
|
-
throw Error(`Lock not found for db: ${dbName}`);
|
|
215
|
-
}
|
|
216
|
-
if (locks[dbName].inProgress) {
|
|
217
|
-
// Transaction is already in process bail out
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
if (locks[dbName].queue.length) {
|
|
221
|
-
locks[dbName].inProgress = true;
|
|
222
|
-
const tx = locks[dbName].queue.shift();
|
|
223
|
-
if (!tx) {
|
|
224
|
-
throw new Error('Could not get a operation on datebase');
|
|
226
|
+
return await new Promise((resolve, reject) => {
|
|
227
|
+
const tx = {
|
|
228
|
+
start: () => {
|
|
229
|
+
run().then(resolve).catch(reject);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
lock.queue.push(tx);
|
|
233
|
+
startNextTransaction();
|
|
234
|
+
});
|
|
225
235
|
}
|
|
226
|
-
setImmediate(() => {
|
|
227
|
-
tx.start();
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
export const open = options => {
|
|
232
|
-
OPSQLite.open(options);
|
|
233
|
-
return {
|
|
234
|
-
close: () => OPSQLite.close(options.name),
|
|
235
|
-
delete: () => OPSQLite.delete(options.name, options.location),
|
|
236
|
-
attach: (dbNameToAttach, alias, location) => OPSQLite.attach(options.name, dbNameToAttach, alias, location),
|
|
237
|
-
detach: alias => OPSQLite.detach(options.name, alias),
|
|
238
|
-
transaction: fn => OPSQLite.transaction(options.name, fn),
|
|
239
|
-
execute: (query, params) => OPSQLite.execute(options.name, query, params),
|
|
240
|
-
executeAsync: (query, params) => OPSQLite.executeAsync(options.name, query, params),
|
|
241
|
-
executeBatch: commands => OPSQLite.executeBatch(options.name, commands),
|
|
242
|
-
executeBatchAsync: commands => OPSQLite.executeBatchAsync(options.name, commands),
|
|
243
|
-
loadFile: location => OPSQLite.loadFile(options.name, location),
|
|
244
|
-
updateHook: callback => OPSQLite.updateHook(options.name, callback),
|
|
245
|
-
commitHook: callback => OPSQLite.commitHook(options.name, callback),
|
|
246
|
-
rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
|
|
247
|
-
prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
|
|
248
|
-
loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
|
|
249
|
-
executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params),
|
|
250
|
-
getDbPath: () => OPSQLite.getDbPath(options.name, options.location)
|
|
251
236
|
};
|
|
237
|
+
return enhancedDb;
|
|
252
238
|
};
|
|
253
239
|
export const moveAssetsDatabase = async args => {
|
|
254
240
|
return NativeModules.OPSQLite.moveAssetsDatabase(args);
|
|
@@ -256,4 +242,7 @@ export const moveAssetsDatabase = async args => {
|
|
|
256
242
|
export const isSQLCipher = () => {
|
|
257
243
|
return OPSQLite.isSQLCipher();
|
|
258
244
|
};
|
|
245
|
+
export const isLibsql = () => {
|
|
246
|
+
return OPSQLite.isLibsql();
|
|
247
|
+
};
|
|
259
248
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","
|
|
1
|
+
{"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","open","options","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","name","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","res","transaction","fn","isFinalized","commit","rollback","run","executionError","console","warn","rollbackError","Promise","resolve","reject","then","catch","push","moveAssetsDatabase","args","isSQLCipher","isLibsql"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ declare global {
|
|
|
2
2
|
function nativeCallSyncHook(): unknown;
|
|
3
3
|
var __OPSQLiteProxy: object | undefined;
|
|
4
4
|
}
|
|
5
|
-
export declare const OPSQLite:
|
|
5
|
+
export declare const OPSQLite: OPSQLiteProxy;
|
|
6
6
|
export declare const IOS_DOCUMENT_PATH: any, IOS_LIBRARY_PATH: any, ANDROID_DATABASE_PATH: any, ANDROID_FILES_PATH: any, ANDROID_EXTERNAL_FILES_PATH: any;
|
|
7
7
|
/**
|
|
8
8
|
* Object returned by SQL Query executions {
|
|
@@ -82,70 +82,59 @@ export type PreparedStatementObj = {
|
|
|
82
82
|
bind: (params: any[]) => void;
|
|
83
83
|
execute: () => QueryResult;
|
|
84
84
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
location?: string;
|
|
89
|
-
encryptionKey?: string;
|
|
90
|
-
}) => void;
|
|
91
|
-
close: (dbName: string) => void;
|
|
92
|
-
delete: (dbName: string, location?: string) => void;
|
|
85
|
+
export type DB = {
|
|
86
|
+
close: () => void;
|
|
87
|
+
delete: (location?: string) => void;
|
|
93
88
|
attach: (mainDbName: string, dbNameToAttach: string, alias: string, location?: string) => void;
|
|
94
89
|
detach: (mainDbName: string, alias: string) => void;
|
|
95
|
-
transaction: (dbName: string, fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
96
|
-
execute: (dbName: string, query: string, params?: any[]) => QueryResult;
|
|
97
|
-
executeAsync: (dbName: string, query: string, params?: any[]) => Promise<QueryResult>;
|
|
98
|
-
executeBatch: (dbName: string, commands: SQLBatchTuple[]) => BatchQueryResult;
|
|
99
|
-
executeBatchAsync: (dbName: string, commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
100
|
-
loadFile: (dbName: string, location: string) => Promise<FileLoadResult>;
|
|
101
|
-
updateHook: (dbName: string, callback?: ((params: {
|
|
102
|
-
table: string;
|
|
103
|
-
operation: UpdateHookOperation;
|
|
104
|
-
row?: any;
|
|
105
|
-
rowId: number;
|
|
106
|
-
}) => void) | null) => void;
|
|
107
|
-
commitHook: (dbName: string, callback?: (() => void) | null) => void;
|
|
108
|
-
rollbackHook: (dbName: string, callback?: (() => void) | null) => void;
|
|
109
|
-
prepareStatement: (dbName: string, query: string) => PreparedStatementObj;
|
|
110
|
-
loadExtension: (dbName: string, path: string, entryPoint?: string) => void;
|
|
111
|
-
executeRawAsync: (dbName: string, query: string, params?: any[]) => Promise<any[]>;
|
|
112
|
-
getDbPath: (dbName: string, location?: string) => string;
|
|
113
|
-
isSQLCipher: () => boolean;
|
|
114
|
-
}
|
|
115
|
-
export type OPSQLiteConnection = {
|
|
116
|
-
close: () => void;
|
|
117
|
-
delete: () => void;
|
|
118
|
-
attach: (dbNameToAttach: string, alias: string, location?: string) => void;
|
|
119
|
-
detach: (alias: string) => void;
|
|
120
90
|
transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
|
|
121
91
|
execute: (query: string, params?: any[]) => QueryResult;
|
|
122
92
|
executeAsync: (query: string, params?: any[]) => Promise<QueryResult>;
|
|
123
93
|
executeBatch: (commands: SQLBatchTuple[]) => BatchQueryResult;
|
|
124
94
|
executeBatchAsync: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
|
|
125
95
|
loadFile: (location: string) => Promise<FileLoadResult>;
|
|
126
|
-
updateHook: (callback
|
|
96
|
+
updateHook: (callback?: ((params: {
|
|
127
97
|
table: string;
|
|
128
98
|
operation: UpdateHookOperation;
|
|
129
99
|
row?: any;
|
|
130
100
|
rowId: number;
|
|
131
101
|
}) => void) | null) => void;
|
|
132
|
-
commitHook: (callback
|
|
133
|
-
rollbackHook: (callback
|
|
102
|
+
commitHook: (callback?: (() => void) | null) => void;
|
|
103
|
+
rollbackHook: (callback?: (() => void) | null) => void;
|
|
134
104
|
prepareStatement: (query: string) => PreparedStatementObj;
|
|
135
105
|
loadExtension: (path: string, entryPoint?: string) => void;
|
|
136
106
|
executeRawAsync: (query: string, params?: any[]) => Promise<any[]>;
|
|
137
|
-
getDbPath: () => string;
|
|
107
|
+
getDbPath: (location?: string) => string;
|
|
108
|
+
reactiveExecute: (params: {
|
|
109
|
+
query: string;
|
|
110
|
+
arguments: any[];
|
|
111
|
+
fireOn: {
|
|
112
|
+
table: string;
|
|
113
|
+
ids?: number[];
|
|
114
|
+
}[];
|
|
115
|
+
callback: (response: any) => void;
|
|
116
|
+
}) => () => void;
|
|
117
|
+
};
|
|
118
|
+
type OPSQLiteProxy = {
|
|
119
|
+
open: (options: {
|
|
120
|
+
name: string;
|
|
121
|
+
location?: string;
|
|
122
|
+
encryptionKey?: string;
|
|
123
|
+
}) => DB;
|
|
124
|
+
isSQLCipher: () => boolean;
|
|
125
|
+
isLibsql: () => boolean;
|
|
138
126
|
};
|
|
139
127
|
export declare const open: (options: {
|
|
140
128
|
name: string;
|
|
141
129
|
location?: string;
|
|
142
130
|
encryptionKey?: string;
|
|
143
|
-
}) =>
|
|
131
|
+
}) => DB;
|
|
144
132
|
export declare const moveAssetsDatabase: (args: {
|
|
145
133
|
filename: string;
|
|
146
134
|
path?: string;
|
|
147
135
|
overwrite?: boolean;
|
|
148
136
|
}) => Promise<boolean>;
|
|
149
137
|
export declare const isSQLCipher: () => boolean;
|
|
138
|
+
export declare const isLibsql: () => boolean;
|
|
150
139
|
export {};
|
|
151
140
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,CAAC;IACb,SAAS,kBAAkB,IAAI,OAAO,CAAC;IACvC,IAAI,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA8BD,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/op-sqlite.podspec
CHANGED
|
@@ -21,6 +21,7 @@ end
|
|
|
21
21
|
op_sqlite_config = app_package["op-sqlite"]
|
|
22
22
|
use_sqlcipher = false
|
|
23
23
|
use_crsqlite = false
|
|
24
|
+
use_libsql = false
|
|
24
25
|
performance_mode = "0"
|
|
25
26
|
phone_version = false
|
|
26
27
|
sqlite_flags = ""
|
|
@@ -29,6 +30,7 @@ fts5 = false
|
|
|
29
30
|
if(op_sqlite_config != nil)
|
|
30
31
|
use_sqlcipher = op_sqlite_config["sqlcipher"] == true
|
|
31
32
|
use_crsqlite = op_sqlite_config["crsqlite"] == true
|
|
33
|
+
use_libsql = op_sqlite_config["libsql"] == true
|
|
32
34
|
performance_mode = op_sqlite_config["performanceMode"] || "0"
|
|
33
35
|
phone_version = op_sqlite_config["iosSqlite"] == true
|
|
34
36
|
sqlite_flags = op_sqlite_config["sqliteFlags"] || ""
|
|
@@ -64,12 +66,15 @@ Pod::Spec.new do |s|
|
|
|
64
66
|
|
|
65
67
|
if use_sqlcipher then
|
|
66
68
|
log_message.call("[OP-SQLITE] using SQLCipher 🔒")
|
|
67
|
-
s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h"
|
|
69
|
+
s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/libsql/bridge.c", "cpp/libsql/bridge.h"
|
|
68
70
|
xcconfig[:GCC_PREPROCESSOR_DEFINITIONS] += " OP_SQLITE_USE_SQLCIPHER=1 HAVE_FULLFSYNC=1 SQLITE_HAS_CODEC SQLITE_TEMP_STORE=2"
|
|
69
|
-
s.dependency "OpenSSL-Universal"
|
|
71
|
+
s.dependency "OpenSSL-Universal"
|
|
72
|
+
elsif use_libsql then
|
|
73
|
+
log_message.call("[OP-SQLITE] using libsql 📘")
|
|
74
|
+
s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/bridge.h", "cpp/bridge.cpp"
|
|
70
75
|
else
|
|
71
76
|
log_message.call("[OP-SQLITE] using vanilla SQLite 📦")
|
|
72
|
-
s.exclude_files = "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h"
|
|
77
|
+
s.exclude_files = "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/bridge.c", "cpp/libsql/bridge.h"
|
|
73
78
|
end
|
|
74
79
|
|
|
75
80
|
s.dependency "React-callinvoker"
|
|
@@ -124,6 +129,18 @@ Pod::Spec.new do |s|
|
|
|
124
129
|
s.vendored_frameworks = "ios/crsqlite.xcframework"
|
|
125
130
|
end
|
|
126
131
|
|
|
132
|
+
if use_libsql then
|
|
133
|
+
if use_crsqlite then
|
|
134
|
+
raise "Cannot use CRSQLite and libsql at the same time"
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
if use_sqlcipher then
|
|
138
|
+
raise "Cannot use SQLCipher and libsql at the same time"
|
|
139
|
+
end
|
|
140
|
+
xcconfig[:GCC_PREPROCESSOR_DEFINITIONS] += " OP_SQLITE_USE_LIBSQL=1"
|
|
141
|
+
s.vendored_frameworks = "ios/libsql.xcframework"
|
|
142
|
+
end
|
|
143
|
+
|
|
127
144
|
if sqlite_flags != "" then
|
|
128
145
|
log_message.call("[OP-SQLITE] Custom SQLite flags: #{sqlite_flags}")
|
|
129
146
|
xcconfig[:OTHER_CFLAGS] += " #{sqlite_flags}"
|