@electric-sql/drivers
Version:
ElectricSQL database drivers.
36 lines • 985 B
JavaScript
import { BatchDatabaseAdapter as GenericDatabaseAdapter } from "../generic/adapter.js";
class DatabaseAdapter extends GenericDatabaseAdapter {
db;
defaultNamespace = "main";
constructor(db) {
super();
this.db = db;
}
async _query(statement) {
const result = await this.db.executeAsync(statement.sql, statement.args);
return result.rows._array.map(shallowClone);
}
async _run(statement) {
const result = await this.db.executeAsync(statement.sql, statement.args);
return { rowsAffected: result.rowsAffected };
}
async execBatch(statements) {
const set = statements.map(({ sql, args }) => [
sql,
args ?? []
]);
const result = await this.db.executeBatchAsync(set);
return { rowsAffected: result.rowsAffected };
}
}
function shallowClone(obj) {
const clonedObj = {};
for (const key in obj) {
clonedObj[key] = obj[key];
}
return clonedObj;
}
export {
DatabaseAdapter
};
//# sourceMappingURL=adapter.js.map