UNPKG

@cardog/corgi

Version:

Fast, offline VIN decoding for Node.js, browsers, and Cloudflare Workers. Powered by the NHTSA VPIC database.

45 lines (41 loc) 1.2 kB
import { D1Database } from '@cloudflare/workers-types'; /** * Common interface for database operations across different environments */ interface DatabaseAdapter { /** * Execute a SQL query with parameters and return the results * * @param query - SQL query to execute * @param params - Optional array of parameters to bind to the query * @returns Array of query results */ exec(query: string, params?: any[]): Promise<QueryResult[]>; /** * Close the database connection */ close(): Promise<void>; } /** * Result from a database query */ interface QueryResult { /** * Array of column names in the result set */ columns: string[]; /** * Two-dimensional array of values: * - First dimension: rows * - Second dimension: column values for each row */ values: any[][]; } declare class CloudflareD1Adapter implements DatabaseAdapter { private db; constructor(db: D1Database); exec(query: string, params?: any[]): Promise<QueryResult[]>; close(): Promise<void>; } declare function createD1Adapter(db: D1Database): DatabaseAdapter; export { CloudflareD1Adapter, createD1Adapter };