UNPKG

@electric-sql/drivers

Version:

ElectricSQL database drivers.

47 lines 1.13 kB
class MockDatabase { name; inTransaction = false; memory = false; constructor(name) { this.name = name; } exec(_sql) { return this; } prepare(_sql) { const mockStatement = { database: this, readonly: false, source: _sql, run: () => ({ changes: 0, lastInsertRowid: 1234 }), get: () => ({ foo: "bar" }), all: (...params) => { if (typeof params[0] == "object" && params[0] && "shouldError" in params[0]) { throw new Error("Mock query error"); } return [{ foo: "bar" }, { foo: "baz" }]; }, iterate: () => [{ foo: "bar" }, { foo: "baz" }][Symbol.iterator]() }; return mockStatement; } transaction(fn) { const self = this; const baseFn = (...args) => { self.inTransaction = true; const retval = fn(...args); self.inTransaction = false; return retval; }; const txFn = baseFn; txFn.default = baseFn; txFn.deferred = baseFn; txFn.immediate = baseFn; txFn.exclusive = baseFn; return txFn; } } export { MockDatabase }; //# sourceMappingURL=mock.js.map