@electric-sql/drivers
Version:
ElectricSQL database drivers.
46 lines • 1.13 kB
JavaScript
import { SerialDatabaseAdapter as GenericDatabaseAdapter } from "../generic/adapter.js";
class DatabaseAdapter extends GenericDatabaseAdapter {
db;
defaultNamespace = "main";
#rowsModified = 0;
constructor(db) {
super();
this.db = db;
}
async exec(statement) {
return new Promise((resolve, reject) => {
const stmt = { sql: statement.sql, args: statement.args ?? [] };
this.db.execRawQuery([stmt], false, (err, result) => {
if (err) {
reject(err.message);
} else if (result) {
const [res] = result;
if ("error" in res) {
reject(res.error.message);
} else {
this.#rowsModified = res.rowsAffected;
resolve(res.rows);
}
} else {
resolve([]);
}
});
});
}
getRowsModified() {
return this.#rowsModified;
}
async _run(statement) {
await this.exec(statement);
return {
rowsAffected: this.getRowsModified()
};
}
_query(statement) {
return this.exec(statement);
}
}
export {
DatabaseAdapter
};
//# sourceMappingURL=adapter.js.map