@noormdev/sdk 1.0.0-alpha.13 → 1.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,5 +54,5 @@ function createBunSqliteConnection(config) {
54
54
  }
55
55
 
56
56
  export { BunSqliteDatabase, createBunSqliteConnection };
57
- //# sourceMappingURL=sqlite-bun-T3ZKX635.js.map
58
- //# sourceMappingURL=sqlite-bun-T3ZKX635.js.map
57
+ //# sourceMappingURL=sqlite-bun-AV7LHRJK.js.map
58
+ //# sourceMappingURL=sqlite-bun-AV7LHRJK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/connection/dialects/sqlite-bun.ts"],"names":[],"mappings":";;;;AAmBA,IAAM,qBAAN,MAAyB;AAAA,EAErB,KAAA;AAAA,EAEA,YAAY,IAAA,EAAuC;AAE/C,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,EAEjB;AAAA,EAEA,IAAI,MAAA,GAAkB;AAElB,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,MAAA,GAAS,CAAA;AAAA,EAE3C;AAAA,EAEA,IAAI,MAAA,EAA2C;AAE3C,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAAA,EAEnC;AAAA,EAEA,IAAI,MAAA,EAAgG;AAEhG,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAEvC,IAAA,OAAO;AAAA,MACH,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,iBAAiB,MAAA,CAAO;AAAA,KAC5B;AAAA,EAEJ;AAAA,EAEA,CAAC,QAAQ,MAAA,EAA2D;AAEhE,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAErC,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AAEpB,MAAA,MAAM,GAAA;AAAA,IAEV;AAAA,EAEJ;AAEJ,CAAA;AAKO,IAAM,oBAAN,MAAwB;AAAA,EAE3B,GAAA;AAAA,EAEA,YAAY,QAAA,EAAkB;AAE1B,IAAA,IAAA,CAAK,GAAA,GAAM,IAAI,QAAA,CAAS,QAAQ,CAAA;AAAA,EAEpC;AAAA,EAEA,KAAA,GAAc;AAEV,IAAA,IAAA,CAAK,IAAI,KAAA,EAAM;AAAA,EAEnB;AAAA,EAEA,QAAQ,GAAA,EAAiC;AAErC,IAAA,OAAO,IAAI,kBAAA,CAAmB,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAC,CAAA;AAAA,EAEvD;AAEJ;AAaO,SAAS,0BAA0B,MAAA,EAA4C;AAElF,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,QAAA,IAAY,MAAA,CAAO,QAAA;AAE3C,EAAA,MAAM,EAAA,GAAK,IAAI,MAAA,CAAgB;AAAA,IAC3B,OAAA,EAAS,IAAI,aAAA,CAAc;AAAA,MACvB,QAAA,EAAU,IAAI,iBAAA,CAAkB,QAAQ;AAAA,KAC3C;AAAA,GACJ,CAAA;AAED,EAAA,OAAO;AAAA,IACH,EAAA;AAAA,IACA,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,MAAM,EAAA,CAAG,OAAA;AAAQ,GAC9B;AAEJ","file":"sqlite-bun-AV7LHRJK.js","sourcesContent":["/**\n * Bun-native SQLite dialect adapter.\n *\n * Wraps bun:sqlite to match the interface Kysely's SqliteDialect expects.\n * Provides 3-6x faster SQLite operations compared to better-sqlite3\n * by leveraging Bun's built-in SQLite driver.\n */\nimport { Kysely, SqliteDialect } from 'kysely';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore — bun:sqlite resolution fails in dts-bundle-generator (Node-based tooling)\nimport { Database } from 'bun:sqlite';\nimport type { ConnectionConfig, ConnectionResult } from '../types.js';\n\n/**\n * Statement wrapper converting Kysely's array args to bun:sqlite's spread args.\n *\n * Kysely's SqliteDialect calls stmt.all(params) with a single ReadonlyArray,\n * while bun:sqlite expects spread arguments: stmt.all(...params).\n */\nclass BunSqliteStatement {\n\n #stmt: ReturnType<Database['prepare']>;\n\n constructor(stmt: ReturnType<Database['prepare']>) {\n\n this.#stmt = stmt;\n\n }\n\n get reader(): boolean {\n\n return this.#stmt.columnNames.length > 0;\n\n }\n\n all(params: ReadonlyArray<unknown>): unknown[] {\n\n return this.#stmt.all(...params);\n\n }\n\n run(params: ReadonlyArray<unknown>): { changes: number | bigint; lastInsertRowid: number | bigint } {\n\n const result = this.#stmt.run(...params);\n\n return {\n changes: result.changes,\n lastInsertRowid: result.lastInsertRowid,\n };\n\n }\n\n *iterate(params: ReadonlyArray<unknown>): IterableIterator<unknown> {\n\n const rows = this.#stmt.all(...params);\n\n for (const row of rows) {\n\n yield row;\n\n }\n\n }\n\n}\n\n/**\n * Database wrapper matching Kysely's expected SqliteDatabase interface.\n */\nexport class BunSqliteDatabase {\n\n #db: Database;\n\n constructor(filename: string) {\n\n this.#db = new Database(filename);\n\n }\n\n close(): void {\n\n this.#db.close();\n\n }\n\n prepare(sql: string): BunSqliteStatement {\n\n return new BunSqliteStatement(this.#db.prepare(sql));\n\n }\n\n}\n\n/**\n * Create a SQLite connection using bun:sqlite.\n *\n * Drop-in replacement for createSqliteConnection when running under Bun.\n * Uses Bun's native SQLite driver for significantly faster operations.\n *\n * @example\n * ```typescript\n * const conn = createBunSqliteConnection({ dialect: 'sqlite', database: './data.db' })\n * ```\n */\nexport function createBunSqliteConnection(config: ConnectionConfig): ConnectionResult {\n\n const filename = config.filename ?? config.database;\n\n const db = new Kysely<unknown>({\n dialect: new SqliteDialect({\n database: new BunSqliteDatabase(filename) as never,\n }),\n });\n\n return {\n db,\n dialect: 'sqlite',\n destroy: () => db.destroy(),\n };\n\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noormdev/sdk",
3
- "version": "1.0.0-alpha.13",
3
+ "version": "1.0.0-alpha.15",
4
4
  "description": "Database schema & changeset manager SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/connection/dialects/sqlite-bun.ts"],"names":[],"mappings":";;;;AAkBA,IAAM,qBAAN,MAAyB;AAAA,EAErB,KAAA;AAAA,EAEA,YAAY,IAAA,EAAuC;AAE/C,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,EAEjB;AAAA,EAEA,IAAI,MAAA,GAAkB;AAElB,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,MAAA,GAAS,CAAA;AAAA,EAE3C;AAAA,EAEA,IAAI,MAAA,EAA2C;AAG3C,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAAA,EAEnC;AAAA,EAEA,IAAI,MAAA,EAAgG;AAGhG,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAEvC,IAAA,OAAO;AAAA,MACH,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,iBAAiB,MAAA,CAAO;AAAA,KAC5B;AAAA,EAEJ;AAAA,EAEA,CAAC,QAAQ,MAAA,EAA2D;AAGhE,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,GAAG,MAAM,CAAA;AAErC,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AAEpB,MAAA,MAAM,GAAA;AAAA,IAEV;AAAA,EAEJ;AAEJ,CAAA;AAKO,IAAM,oBAAN,MAAwB;AAAA,EAE3B,GAAA;AAAA,EAEA,YAAY,QAAA,EAAkB;AAE1B,IAAA,IAAA,CAAK,GAAA,GAAM,IAAI,QAAA,CAAS,QAAQ,CAAA;AAAA,EAEpC;AAAA,EAEA,KAAA,GAAc;AAEV,IAAA,IAAA,CAAK,IAAI,KAAA,EAAM;AAAA,EAEnB;AAAA,EAEA,QAAQ,GAAA,EAAiC;AAErC,IAAA,OAAO,IAAI,kBAAA,CAAmB,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAC,CAAA;AAAA,EAEvD;AAEJ;AAaO,SAAS,0BAA0B,MAAA,EAA4C;AAElF,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,QAAA,IAAY,MAAA,CAAO,QAAA;AAE3C,EAAA,MAAM,EAAA,GAAK,IAAI,MAAA,CAAgB;AAAA,IAC3B,OAAA,EAAS,IAAI,aAAA,CAAc;AAAA,MACvB,QAAA,EAAU,IAAI,iBAAA,CAAkB,QAAQ;AAAA,KAC3C;AAAA,GACJ,CAAA;AAED,EAAA,OAAO;AAAA,IACH,EAAA;AAAA,IACA,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,MAAM,EAAA,CAAG,OAAA;AAAQ,GAC9B;AAEJ","file":"sqlite-bun-T3ZKX635.js","sourcesContent":["/**\n * Bun-native SQLite dialect adapter.\n *\n * Wraps bun:sqlite to match the interface Kysely's SqliteDialect expects.\n * Provides 3-6x faster SQLite operations compared to better-sqlite3\n * by leveraging Bun's built-in SQLite driver.\n */\nimport { Kysely, SqliteDialect } from 'kysely';\n// @ts-ignore — bun:sqlite is a Bun runtime module, types provided by bun-types or local .d.ts\nimport { Database } from 'bun:sqlite';\nimport type { ConnectionConfig, ConnectionResult } from '../types.js';\n\n/**\n * Statement wrapper converting Kysely's array args to bun:sqlite's spread args.\n *\n * Kysely's SqliteDialect calls stmt.all(params) with a single ReadonlyArray,\n * while bun:sqlite expects spread arguments: stmt.all(...params).\n */\nclass BunSqliteStatement {\n\n #stmt: ReturnType<Database['prepare']>;\n\n constructor(stmt: ReturnType<Database['prepare']>) {\n\n this.#stmt = stmt;\n\n }\n\n get reader(): boolean {\n\n return this.#stmt.columnNames.length > 0;\n\n }\n\n all(params: ReadonlyArray<unknown>): unknown[] {\n\n // @ts-ignore — Kysely passes unknown[], bun:sqlite expects SQLQueryBindings[]\n return this.#stmt.all(...params);\n\n }\n\n run(params: ReadonlyArray<unknown>): { changes: number | bigint; lastInsertRowid: number | bigint } {\n\n // @ts-ignore — Kysely passes unknown[], bun:sqlite expects SQLQueryBindings[]\n const result = this.#stmt.run(...params);\n\n return {\n changes: result.changes,\n lastInsertRowid: result.lastInsertRowid,\n };\n\n }\n\n *iterate(params: ReadonlyArray<unknown>): IterableIterator<unknown> {\n\n // @ts-ignore — Kysely passes unknown[], bun:sqlite expects SQLQueryBindings[]\n const rows = this.#stmt.all(...params);\n\n for (const row of rows) {\n\n yield row;\n\n }\n\n }\n\n}\n\n/**\n * Database wrapper matching Kysely's expected SqliteDatabase interface.\n */\nexport class BunSqliteDatabase {\n\n #db: Database;\n\n constructor(filename: string) {\n\n this.#db = new Database(filename);\n\n }\n\n close(): void {\n\n this.#db.close();\n\n }\n\n prepare(sql: string): BunSqliteStatement {\n\n return new BunSqliteStatement(this.#db.prepare(sql));\n\n }\n\n}\n\n/**\n * Create a SQLite connection using bun:sqlite.\n *\n * Drop-in replacement for createSqliteConnection when running under Bun.\n * Uses Bun's native SQLite driver for significantly faster operations.\n *\n * @example\n * ```typescript\n * const conn = createBunSqliteConnection({ dialect: 'sqlite', database: './data.db' })\n * ```\n */\nexport function createBunSqliteConnection(config: ConnectionConfig): ConnectionResult {\n\n const filename = config.filename ?? config.database;\n\n const db = new Kysely<unknown>({\n dialect: new SqliteDialect({\n database: new BunSqliteDatabase(filename) as never,\n }),\n });\n\n return {\n db,\n dialect: 'sqlite',\n destroy: () => db.destroy(),\n };\n\n}\n"]}