dart_node_sql_js library
Typed Dart bindings for sql.js (SQLite compiled to WebAssembly).
Provides synchronous SQLite3 access via WebAssembly.
Call initializeSqlJs once at startup, then use openDatabase.
Typed view over a sql.js Database instance.
SqlJsStatement
Typed view over a sql.js prepared Statement instance.
Create a Statement from a sql.js prepared statement.
initializeSqlJs()
→ Future<Result<SqlJsRuntime, String>>
Initialize sql.js. Call once at startup.
openDatabase(String path, {required SqlJsRuntime sqlJs})
→ Result<Database, String>
Open a sql.js database.
Database
= ({Result<void, String> Function() close, Result<void, String> Function(String sql) exec, bool Function() isOpen, Result<void, String> Function(String pragmaValue) pragma, Result<Statement, String> Function(String sql) prepare, Result<void, String> Function() save})
A sql.js database connection.
RunResult
= ({int changes, int lastInsertRowid})
Result of a statement run operation.
SqlJsRuntime
= ({JSFunction databaseConstructor})
Pre-initialized sql.js runtime.
Statement
= ({Result<List<Map<String, Object?>>, String> Function([List<Object?>? params]) all, Result<Map<String, Object?>?, String> Function([List<Object?>? params]) get, Result<RunResult, String> Function([List<Object?>? params]) run})
A prepared SQL statement.