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.

Extension Types

SqlJsDatabase

Typed view over a sql.js Database instance.

SqlJsStatement

Typed view over a sql.js prepared Statement instance.

Functions

createStatement(SqlJsStatement jsStmt, SqlJsDatabase jsDb) Statement

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.

Typedefs

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.