@livestore/wa-sqlite 1.0.3-dev.2 → 1.0.3-dev.3
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/dist/fts5/wa-sqlite.mjs +1 -1
- package/dist/fts5/wa-sqlite.node.mjs +3 -1
- package/dist/fts5/wa-sqlite.node.wasm +0 -0
- package/dist/fts5/wa-sqlite.wasm +0 -0
- package/dist/wa-sqlite.mjs +1 -1
- package/dist/wa-sqlite.node.mjs +3 -1
- package/dist/wa-sqlite.node.wasm +0 -0
- package/dist/wa-sqlite.wasm +0 -0
- package/package.json +1 -1
- package/src/sqlite-api.js +57 -10
- package/src/types/index.d.ts +16 -0
package/dist/wa-sqlite.node.mjs
CHANGED
|
@@ -30,7 +30,7 @@ Module['ready'] = new Promise((resolve, reject) => {
|
|
|
30
30
|
readyPromiseResolve = resolve;
|
|
31
31
|
readyPromiseReject = reject;
|
|
32
32
|
});
|
|
33
|
-
["_RegisterExtensionFunctions","_main","_malloc","_free","_sqlite3_aggregate_context","_sqlite3_auto_extension","_sqlite3_autovacuum_pages","_sqlite3_backup_finish","_sqlite3_backup_init","_sqlite3_backup_pagecount","_sqlite3_backup_remaining","_sqlite3_backup_step","_sqlite3_bind_blob","_sqlite3_bind_blob64","_sqlite3_bind_double","_sqlite3_bind_int","_sqlite3_bind_int64","_sqlite3_bind_null","_sqlite3_bind_parameter_count","_sqlite3_bind_parameter_index","_sqlite3_bind_parameter_name","_sqlite3_bind_pointer","_sqlite3_bind_text","_sqlite3_bind_text16","_sqlite3_bind_text64","_sqlite3_bind_value","_sqlite3_bind_zeroblob","_sqlite3_bind_zeroblob64","_sqlite3_blob_bytes","_sqlite3_blob_close","_sqlite3_blob_open","_sqlite3_blob_read","_sqlite3_blob_reopen","_sqlite3_blob_write","_sqlite3_busy_handler","_sqlite3_busy_timeout","_sqlite3_cancel_auto_extension","_sqlite3_changes","_sqlite3_changes64","_sqlite3_clear_bindings","_sqlite3_close","_sqlite3_close_v2","_sqlite3_collation_needed","_sqlite3_collation_needed16","_sqlite3_column_blob","_sqlite3_column_bytes","_sqlite3_column_bytes16","_sqlite3_column_count","_sqlite3_column_double","_sqlite3_column_int","_sqlite3_column_int64","_sqlite3_column_name","_sqlite3_column_name16","_sqlite3_column_text","_sqlite3_column_text16","_sqlite3_column_type","_sqlite3_column_value","_sqlite3_commit_hook","_sqlite3_compileoption_get","_sqlite3_compileoption_used","_sqlite3_complete","_sqlite3_complete16","_sqlite3_config","_sqlite3_context_db_handle","_sqlite3_create_collation","_sqlite3_create_collation16","_sqlite3_create_collation_v2","_sqlite3_create_filename","_sqlite3_create_function","_sqlite3_create_function16","_sqlite3_create_function_v2","_sqlite3_create_module","_sqlite3_create_module_v2","_sqlite3_create_window_function","_sqlite3_data_count","_sqlite3_database_file_object","_sqlite3_db_cacheflush","_sqlite3_db_config","_sqlite3_db_filename","_sqlite3_db_handle","_sqlite3_db_mutex","_sqlite3_db_name","_sqlite3_db_readonly","_sqlite3_db_release_memory","_sqlite3_db_status","_sqlite3_declare_vtab","_sqlite3_deserialize","_sqlite3_drop_modules","_sqlite3_errcode","_sqlite3_errmsg","_sqlite3_errmsg16","_sqlite3_error_offset","_sqlite3_errstr","_sqlite3_exec","_sqlite3_expanded_sql","_sqlite3_extended_errcode","_sqlite3_extended_result_codes","_sqlite3_file_control","_sqlite3_filename_database","_sqlite3_filename_journal","_sqlite3_filename_wal","_sqlite3_finalize","_sqlite3_free","_sqlite3_free_filename","_sqlite3_free_table","_sqlite3_get_autocommit","_sqlite3_get_auxdata","_sqlite3_get_clientdata","_sqlite3_get_table","_sqlite3_hard_heap_limit64","_sqlite3_initialize","_sqlite3_interrupt","_sqlite3_is_interrupted","_sqlite3_keyword_check","_sqlite3_keyword_count","_sqlite3_keyword_name","_sqlite3_last_insert_rowid","_sqlite3_libversion","_sqlite3_libversion_number","_sqlite3_limit","_sqlite3_log","_sqlite3_malloc","_sqlite3_malloc64","_sqlite3_memory_highwater","_sqlite3_memory_used","_sqlite3_mprintf","_sqlite3_msize","_sqlite3_next_stmt","_sqlite3_open","_sqlite3_open16","_sqlite3_open_v2","_sqlite3_os_end","_sqlite3_os_init","_sqlite3_overload_function","_sqlite3_prepare","_sqlite3_prepare16","_sqlite3_prepare16_v2","_sqlite3_prepare16_v3","_sqlite3_prepare_v2","_sqlite3_prepare_v3","_sqlite3_progress_handler","_sqlite3_randomness","_sqlite3_realloc","_sqlite3_realloc64","_sqlite3_release_memory","_sqlite3_reset","_sqlite3_reset_auto_extension","_sqlite3_result_blob","_sqlite3_result_blob64","_sqlite3_result_double","_sqlite3_result_error","_sqlite3_result_error16","_sqlite3_result_error_code","_sqlite3_result_error_nomem","_sqlite3_result_error_toobig","_sqlite3_result_int","_sqlite3_result_int64","_sqlite3_result_null","_sqlite3_result_pointer","_sqlite3_result_subtype","_sqlite3_result_text","_sqlite3_result_text16","_sqlite3_result_text16be","_sqlite3_result_text16le","_sqlite3_result_text64","_sqlite3_result_value","_sqlite3_result_zeroblob","_sqlite3_result_zeroblob64","_sqlite3_rollback_hook","_sqlite3_serialize","_sqlite3_set_authorizer","_sqlite3_set_auxdata","_sqlite3_set_clientdata","_sqlite3_set_last_insert_rowid","_sqlite3_shutdown","_sqlite3_sleep","_sqlite3_snprintf","_sqlite3_soft_heap_limit64","_sqlite3_sourceid","_sqlite3_sql","_sqlite3_status","_sqlite3_status64","_sqlite3_step","_sqlite3_stmt_busy","_sqlite3_stmt_explain","_sqlite3_stmt_isexplain","_sqlite3_stmt_readonly","_sqlite3_stmt_status","_sqlite3_str_append","_sqlite3_str_appendall","_sqlite3_str_appendchar","_sqlite3_str_appendf","_sqlite3_str_errcode","_sqlite3_str_finish","_sqlite3_str_length","_sqlite3_str_new","_sqlite3_str_reset","_sqlite3_str_value","_sqlite3_str_vappendf","_sqlite3_strglob","_sqlite3_stricmp","_sqlite3_strlike","_sqlite3_strnicmp","_sqlite3_system_errno","_sqlite3_table_column_metadata","_sqlite3_test_control","_sqlite3_threadsafe","_sqlite3_total_changes","_sqlite3_total_changes64","_sqlite3_trace_v2","_sqlite3_txn_state","_sqlite3_update_hook","_sqlite3session_create","_sqlite3session_attach","_sqlite3session_enable","_sqlite3session_changeset","_sqlite3session_delete","_sqlite3changeset_invert","_sqlite3changeset_apply","_sqlite3_uri_boolean","_sqlite3_uri_int64","_sqlite3_uri_key","_sqlite3_uri_parameter","_sqlite3_user_data","_sqlite3_value_blob","_sqlite3_value_bytes","_sqlite3_value_bytes16","_sqlite3_value_double","_sqlite3_value_dup","_sqlite3_value_encoding","_sqlite3_value_free","_sqlite3_value_frombind","_sqlite3_value_int","_sqlite3_value_int64","_sqlite3_value_nochange","_sqlite3_value_numeric_type","_sqlite3_value_pointer","_sqlite3_value_subtype","_sqlite3_value_text","_sqlite3_value_text16","_sqlite3_value_text16be","_sqlite3_value_text16le","_sqlite3_value_type","_sqlite3_version","_sqlite3_vfs_find","_sqlite3_vfs_register","_sqlite3_vfs_unregister","_sqlite3_vmprintf","_sqlite3_vsnprintf","_sqlite3_vtab_collation","_sqlite3_vtab_config","_sqlite3_vtab_distinct","_sqlite3_vtab_in","_sqlite3_vtab_in_first","_sqlite3_vtab_in_next","_sqlite3_vtab_nochange","_sqlite3_vtab_on_conflict","_sqlite3_vtab_rhs_value","_sqlite3_wal_autocheckpoint","_sqlite3_wal_checkpoint","_sqlite3_wal_checkpoint_v2","_sqlite3_wal_hook","_memory","_getSqliteFree","_libauthorizer_set_authorizer","_libfunction_create_function","_libhook_update_hook","_libprogress_progress_handler","_libvfs_vfs_register","___indirect_function_table","_fflush","onRuntimeInitialized"].forEach((prop) => {
|
|
33
|
+
["_RegisterExtensionFunctions","_main","_malloc","_free","_sqlite3_aggregate_context","_sqlite3_auto_extension","_sqlite3_autovacuum_pages","_sqlite3_backup_finish","_sqlite3_backup_init","_sqlite3_backup_pagecount","_sqlite3_backup_remaining","_sqlite3_backup_step","_sqlite3_bind_blob","_sqlite3_bind_blob64","_sqlite3_bind_double","_sqlite3_bind_int","_sqlite3_bind_int64","_sqlite3_bind_null","_sqlite3_bind_parameter_count","_sqlite3_bind_parameter_index","_sqlite3_bind_parameter_name","_sqlite3_bind_pointer","_sqlite3_bind_text","_sqlite3_bind_text16","_sqlite3_bind_text64","_sqlite3_bind_value","_sqlite3_bind_zeroblob","_sqlite3_bind_zeroblob64","_sqlite3_blob_bytes","_sqlite3_blob_close","_sqlite3_blob_open","_sqlite3_blob_read","_sqlite3_blob_reopen","_sqlite3_blob_write","_sqlite3_busy_handler","_sqlite3_busy_timeout","_sqlite3_cancel_auto_extension","_sqlite3_changes","_sqlite3_changes64","_sqlite3_clear_bindings","_sqlite3_close","_sqlite3_close_v2","_sqlite3_collation_needed","_sqlite3_collation_needed16","_sqlite3_column_blob","_sqlite3_column_bytes","_sqlite3_column_bytes16","_sqlite3_column_count","_sqlite3_column_double","_sqlite3_column_int","_sqlite3_column_int64","_sqlite3_column_name","_sqlite3_column_name16","_sqlite3_column_text","_sqlite3_column_text16","_sqlite3_column_type","_sqlite3_column_value","_sqlite3_commit_hook","_sqlite3_compileoption_get","_sqlite3_compileoption_used","_sqlite3_complete","_sqlite3_complete16","_sqlite3_config","_sqlite3_context_db_handle","_sqlite3_create_collation","_sqlite3_create_collation16","_sqlite3_create_collation_v2","_sqlite3_create_filename","_sqlite3_create_function","_sqlite3_create_function16","_sqlite3_create_function_v2","_sqlite3_create_module","_sqlite3_create_module_v2","_sqlite3_create_window_function","_sqlite3_data_count","_sqlite3_database_file_object","_sqlite3_db_cacheflush","_sqlite3_db_config","_sqlite3_db_filename","_sqlite3_db_handle","_sqlite3_db_mutex","_sqlite3_db_name","_sqlite3_db_readonly","_sqlite3_db_release_memory","_sqlite3_db_status","_sqlite3_declare_vtab","_sqlite3_deserialize","_sqlite3_drop_modules","_sqlite3_errcode","_sqlite3_errmsg","_sqlite3_errmsg16","_sqlite3_error_offset","_sqlite3_errstr","_sqlite3_exec","_sqlite3_expanded_sql","_sqlite3_extended_errcode","_sqlite3_extended_result_codes","_sqlite3_file_control","_sqlite3_filename_database","_sqlite3_filename_journal","_sqlite3_filename_wal","_sqlite3_finalize","_sqlite3_free","_sqlite3_free_filename","_sqlite3_free_table","_sqlite3_get_autocommit","_sqlite3_get_auxdata","_sqlite3_get_clientdata","_sqlite3_get_table","_sqlite3_hard_heap_limit64","_sqlite3_initialize","_sqlite3_interrupt","_sqlite3_is_interrupted","_sqlite3_keyword_check","_sqlite3_keyword_count","_sqlite3_keyword_name","_sqlite3_last_insert_rowid","_sqlite3_libversion","_sqlite3_libversion_number","_sqlite3_limit","_sqlite3_log","_sqlite3_malloc","_sqlite3_malloc64","_sqlite3_memory_highwater","_sqlite3_memory_used","_sqlite3_mprintf","_sqlite3_msize","_sqlite3_next_stmt","_sqlite3_open","_sqlite3_open16","_sqlite3_open_v2","_sqlite3_os_end","_sqlite3_os_init","_sqlite3_overload_function","_sqlite3_prepare","_sqlite3_prepare16","_sqlite3_prepare16_v2","_sqlite3_prepare16_v3","_sqlite3_prepare_v2","_sqlite3_prepare_v3","_sqlite3_progress_handler","_sqlite3_randomness","_sqlite3_realloc","_sqlite3_realloc64","_sqlite3_release_memory","_sqlite3_reset","_sqlite3_reset_auto_extension","_sqlite3_result_blob","_sqlite3_result_blob64","_sqlite3_result_double","_sqlite3_result_error","_sqlite3_result_error16","_sqlite3_result_error_code","_sqlite3_result_error_nomem","_sqlite3_result_error_toobig","_sqlite3_result_int","_sqlite3_result_int64","_sqlite3_result_null","_sqlite3_result_pointer","_sqlite3_result_subtype","_sqlite3_result_text","_sqlite3_result_text16","_sqlite3_result_text16be","_sqlite3_result_text16le","_sqlite3_result_text64","_sqlite3_result_value","_sqlite3_result_zeroblob","_sqlite3_result_zeroblob64","_sqlite3_rollback_hook","_sqlite3_serialize","_sqlite3_set_authorizer","_sqlite3_set_auxdata","_sqlite3_set_clientdata","_sqlite3_set_last_insert_rowid","_sqlite3_shutdown","_sqlite3_sleep","_sqlite3_snprintf","_sqlite3_soft_heap_limit64","_sqlite3_sourceid","_sqlite3_sql","_sqlite3_status","_sqlite3_status64","_sqlite3_step","_sqlite3_stmt_busy","_sqlite3_stmt_explain","_sqlite3_stmt_isexplain","_sqlite3_stmt_readonly","_sqlite3_stmt_status","_sqlite3_str_append","_sqlite3_str_appendall","_sqlite3_str_appendchar","_sqlite3_str_appendf","_sqlite3_str_errcode","_sqlite3_str_finish","_sqlite3_str_length","_sqlite3_str_new","_sqlite3_str_reset","_sqlite3_str_value","_sqlite3_str_vappendf","_sqlite3_strglob","_sqlite3_stricmp","_sqlite3_strlike","_sqlite3_strnicmp","_sqlite3_system_errno","_sqlite3_table_column_metadata","_sqlite3_test_control","_sqlite3_threadsafe","_sqlite3_total_changes","_sqlite3_total_changes64","_sqlite3_trace_v2","_sqlite3_txn_state","_sqlite3_update_hook","_sqlite3changeset_start","_sqlite3changeset_finalize","_sqlite3session_create","_sqlite3session_attach","_sqlite3session_enable","_sqlite3session_changeset","_sqlite3session_delete","_sqlite3changeset_invert","_sqlite3changeset_apply","_sqlite3_uri_boolean","_sqlite3_uri_int64","_sqlite3_uri_key","_sqlite3_uri_parameter","_sqlite3_user_data","_sqlite3_value_blob","_sqlite3_value_bytes","_sqlite3_value_bytes16","_sqlite3_value_double","_sqlite3_value_dup","_sqlite3_value_encoding","_sqlite3_value_free","_sqlite3_value_frombind","_sqlite3_value_int","_sqlite3_value_int64","_sqlite3_value_nochange","_sqlite3_value_numeric_type","_sqlite3_value_pointer","_sqlite3_value_subtype","_sqlite3_value_text","_sqlite3_value_text16","_sqlite3_value_text16be","_sqlite3_value_text16le","_sqlite3_value_type","_sqlite3_version","_sqlite3_vfs_find","_sqlite3_vfs_register","_sqlite3_vfs_unregister","_sqlite3_vmprintf","_sqlite3_vsnprintf","_sqlite3_vtab_collation","_sqlite3_vtab_config","_sqlite3_vtab_distinct","_sqlite3_vtab_in","_sqlite3_vtab_in_first","_sqlite3_vtab_in_next","_sqlite3_vtab_nochange","_sqlite3_vtab_on_conflict","_sqlite3_vtab_rhs_value","_sqlite3_wal_autocheckpoint","_sqlite3_wal_checkpoint","_sqlite3_wal_checkpoint_v2","_sqlite3_wal_hook","_memory","_getSqliteFree","_libauthorizer_set_authorizer","_libfunction_create_function","_libhook_update_hook","_libprogress_progress_handler","_libvfs_vfs_register","___indirect_function_table","_fflush","onRuntimeInitialized"].forEach((prop) => {
|
|
34
34
|
if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) {
|
|
35
35
|
Object.defineProperty(Module['ready'], prop, {
|
|
36
36
|
get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
|
|
@@ -5592,6 +5592,8 @@ var _sqlite3session_delete = Module['_sqlite3session_delete'] = createExportWrap
|
|
|
5592
5592
|
var _sqlite3session_attach = Module['_sqlite3session_attach'] = createExportWrapper('sqlite3session_attach');
|
|
5593
5593
|
var _sqlite3session_changeset = Module['_sqlite3session_changeset'] = createExportWrapper('sqlite3session_changeset');
|
|
5594
5594
|
var _sqlite3session_enable = Module['_sqlite3session_enable'] = createExportWrapper('sqlite3session_enable');
|
|
5595
|
+
var _sqlite3changeset_start = Module['_sqlite3changeset_start'] = createExportWrapper('sqlite3changeset_start');
|
|
5596
|
+
var _sqlite3changeset_finalize = Module['_sqlite3changeset_finalize'] = createExportWrapper('sqlite3changeset_finalize');
|
|
5595
5597
|
var _sqlite3changeset_invert = Module['_sqlite3changeset_invert'] = createExportWrapper('sqlite3changeset_invert');
|
|
5596
5598
|
var _sqlite3changeset_apply = Module['_sqlite3changeset_apply'] = createExportWrapper('sqlite3changeset_apply');
|
|
5597
5599
|
var _sqlite3_sourceid = Module['_sqlite3_sourceid'] = createExportWrapper('sqlite3_sourceid');
|
package/dist/wa-sqlite.node.wasm
CHANGED
|
Binary file
|
package/dist/wa-sqlite.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/src/sqlite-api.js
CHANGED
|
@@ -938,8 +938,13 @@ export function Factory(Module) {
|
|
|
938
938
|
// Get the pointer to the changeset
|
|
939
939
|
const changesetPtr = Module.getValue(changesetPtrPtr, 'i32');
|
|
940
940
|
|
|
941
|
+
// Ensure the pointer is valid before accessing memory
|
|
942
|
+
if (changesetPtr === 0) {
|
|
943
|
+
throw new SQLiteError('Failed to retrieve changeset pointer', SQLite.SQLITE_ERROR);
|
|
944
|
+
}
|
|
945
|
+
|
|
941
946
|
// Copy the changeset data
|
|
942
|
-
const changeset = new Uint8Array(Module.HEAPU8.
|
|
947
|
+
const changeset = new Uint8Array(Module.HEAPU8.subarray(changesetPtr, changesetPtr + size));
|
|
943
948
|
|
|
944
949
|
// Free the allocated changeset memory
|
|
945
950
|
Module._sqlite3_free(changesetPtr);
|
|
@@ -948,7 +953,7 @@ export function Factory(Module) {
|
|
|
948
953
|
return {
|
|
949
954
|
result: result,
|
|
950
955
|
size: size,
|
|
951
|
-
changeset:
|
|
956
|
+
changeset: changeset
|
|
952
957
|
};
|
|
953
958
|
}
|
|
954
959
|
return check(fname, result);
|
|
@@ -972,35 +977,77 @@ export function Factory(Module) {
|
|
|
972
977
|
};
|
|
973
978
|
})();
|
|
974
979
|
|
|
980
|
+
sqlite3.changeset_start = (function() {
|
|
981
|
+
const fname = 'sqlite3changeset_start';
|
|
982
|
+
const f = Module.cwrap(fname, ...decl('nnn:n'));
|
|
983
|
+
return function(changesetData) {
|
|
984
|
+
// Allocate memory for the input changeset data
|
|
985
|
+
const inPtr = Module._sqlite3_malloc(changesetData.length);
|
|
986
|
+
Module.HEAPU8.subarray(inPtr).set(changesetData);
|
|
987
|
+
|
|
988
|
+
// Allocate memory for the changeset iterator pointer
|
|
989
|
+
const ppIter = Module._malloc(4);
|
|
990
|
+
|
|
991
|
+
try {
|
|
992
|
+
// Call the wrapped C function
|
|
993
|
+
const result = f(ppIter, changesetData.length, inPtr);
|
|
994
|
+
|
|
995
|
+
if (result !== SQLite.SQLITE_OK) {
|
|
996
|
+
check(fname, result); // Handle errors appropriately
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
// Retrieve the changeset iterator handle
|
|
1000
|
+
const pIter = Module.getValue(ppIter, 'i32');
|
|
1001
|
+
|
|
1002
|
+
return pIter;
|
|
1003
|
+
} finally {
|
|
1004
|
+
// Free allocated memory
|
|
1005
|
+
Module._sqlite3_free(inPtr);
|
|
1006
|
+
Module._free(ppIter);
|
|
1007
|
+
}
|
|
1008
|
+
};
|
|
1009
|
+
})();
|
|
1010
|
+
|
|
1011
|
+
sqlite3.changeset_finalize = (function() {
|
|
1012
|
+
const fname = 'sqlite3changeset_finalize';
|
|
1013
|
+
const f = Module.cwrap(fname, ...decl('n:n'));
|
|
1014
|
+
return function(pIter) {
|
|
1015
|
+
const result = f(pIter);
|
|
1016
|
+
return result;
|
|
1017
|
+
};
|
|
1018
|
+
})();
|
|
1019
|
+
|
|
975
1020
|
sqlite3.changeset_invert = (function() {
|
|
976
1021
|
const fname = 'sqlite3changeset_invert';
|
|
977
1022
|
const f = Module.cwrap(fname, ...decl('nn:nn'));
|
|
978
1023
|
return function(changesetData) {
|
|
979
|
-
|
|
1024
|
+
// Allocate memory for the input changeset data
|
|
980
1025
|
const inPtr = Module._sqlite3_malloc(changesetData.length);
|
|
981
1026
|
Module.HEAPU8.subarray(inPtr).set(changesetData);
|
|
982
1027
|
|
|
1028
|
+
// Allocate memory for the output changeset length and pointer
|
|
983
1029
|
const outLengthPtr = Module._malloc(4);
|
|
984
1030
|
const outPtrPtr = Module._malloc(4);
|
|
985
|
-
|
|
1031
|
+
|
|
1032
|
+
// Call the wrapped C function
|
|
986
1033
|
const result = f(changesetData.length, inPtr, outLengthPtr, outPtrPtr);
|
|
987
1034
|
|
|
988
1035
|
if (result !== SQLite.SQLITE_OK) {
|
|
989
|
-
check(fname, result);
|
|
1036
|
+
check(fname, result); // Handle errors appropriately
|
|
990
1037
|
}
|
|
991
1038
|
|
|
992
|
-
//
|
|
1039
|
+
// Retrieve the size and pointer of the inverted changeset
|
|
993
1040
|
const outLength = Module.getValue(outLengthPtr, 'i32');
|
|
994
|
-
// Get the pointer to the changeset
|
|
995
1041
|
const changesetOutPtr = Module.getValue(outPtrPtr, 'i32');
|
|
996
|
-
|
|
997
|
-
// Copy the changeset data
|
|
1042
|
+
|
|
1043
|
+
// Copy the inverted changeset data
|
|
998
1044
|
const changesetOut = new Uint8Array(Module.HEAPU8.buffer, changesetOutPtr, outLength);
|
|
999
1045
|
|
|
1046
|
+
// Free allocated memory
|
|
1000
1047
|
Module._sqlite3_free(inPtr);
|
|
1001
1048
|
Module._sqlite3_free(outLengthPtr);
|
|
1002
1049
|
Module._sqlite3_free(outPtrPtr);
|
|
1003
|
-
|
|
1050
|
+
|
|
1004
1051
|
return changesetOut;
|
|
1005
1052
|
};
|
|
1006
1053
|
})();
|
package/src/types/index.d.ts
CHANGED
|
@@ -969,6 +969,22 @@ interface SQLiteAPI {
|
|
|
969
969
|
*/
|
|
970
970
|
session_delete(pSession: number): void;
|
|
971
971
|
|
|
972
|
+
/**
|
|
973
|
+
* Start a changeset.
|
|
974
|
+
*
|
|
975
|
+
* @param changeset changeset blob to import from
|
|
976
|
+
* @returns changeset iterator pointer
|
|
977
|
+
*/
|
|
978
|
+
changeset_start(changesetBlob: Uint8Array): number;
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* Finalize a changeset iterator.
|
|
982
|
+
*
|
|
983
|
+
* @param pIter changeset iterator pointer
|
|
984
|
+
* @returns `SQLITE_OK` (throws exception on error)
|
|
985
|
+
*/
|
|
986
|
+
changeset_finalize(pIter: number): number;
|
|
987
|
+
|
|
972
988
|
/**
|
|
973
989
|
* Invert a changeset.
|
|
974
990
|
*
|