UNPKG

cloudflare-d1-http-knex

Version:

An npm package that query [Cloudflare's D1](https://developers.cloudflare.com/d1/) through [Query D1 Database API](https://developers.cloudflare.com/api/operations/cloudflare-d1-query-database-query) and [Knex](https://knexjs.org/).

45 lines (42 loc) 1.25 kB
import { CloudflareD1HttpClient } from './chunk-7RMOKAKV.mjs'; // src/mock.ts var db; var mockedFetch = (_, options) => { return Promise.resolve({ json: async () => { if (!db) { const Sqlite3 = globalThis.require === undefined ? (await import('better-sqlite3')).default : globalThis.require("better-sqlite3"); db = new Sqlite3(":memory:"); } const req = JSON.parse(options.body); const prepare = db.prepare(req.sql); let results; let meta; try { results = prepare.all(req.params || []); } catch (error) { if (error.message.includes("Use run() instead")) { meta = prepare.run(req.params || []); } else return Promise.reject(Error(error.message)); } return Promise.resolve({ success: true, result: [ { results, meta } ] }); } }); }; var MockedCloudflareD1HttpClient = class extends CloudflareD1HttpClient { constructor() { super({ connection: { account_id: "", database_id: "", key: "", mockedFetch } }); } }; var mock_default = MockedCloudflareD1HttpClient; export { MockedCloudflareD1HttpClient, mock_default as default, mockedFetch };