From b73309e9d5348d128d002f137577649bb7393d7f Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Thu, 16 Apr 2026 17:18:50 +0100 Subject: [PATCH] Bugfix --- dist/lib/sqlite/db-generate-type-defs.js | 15 +++++++-------- dist/utils/sql-insert-generator.js | 2 +- package.json | 2 +- src/lib/sqlite/db-generate-type-defs.ts | 23 ++++++++++++----------- src/utils/sql-insert-generator.ts | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/dist/lib/sqlite/db-generate-type-defs.js b/dist/lib/sqlite/db-generate-type-defs.js index ca89d0d..f3de510 100644 --- a/dist/lib/sqlite/db-generate-type-defs.js +++ b/dist/lib/sqlite/db-generate-type-defs.js @@ -10,21 +10,20 @@ export default function generateTypeDefinition({ paradigm, table, query, typeDef const fields = table.fields; function typeMap(schemaType) { if (schemaType.options && schemaType.options.length > 0) { - return schemaType.options - .map((opt) => schemaType.dataType?.match(/int/i) || - typeof opt == "number" + let opts = schemaType.options.map((opt) => schemaType.dataType?.match(/int/i) || typeof opt == "number" ? `${opt}` - : `"${opt}"`) - .join(" | "); + : `"${opt}"`); + opts.push(`""`); + return opts.join(" | "); } if (schemaType.dataType?.match(/blob/i)) { - return "Float32Array | Buffer"; + return `Float32Array | Buffer | null`; } if (schemaType.dataType?.match(/int|double|decimal|real/i)) { - return "number"; + return `number | ""`; } if (schemaType.dataType?.match(/text|varchar|timestamp/i)) { - return "string"; + return `string`; } if (schemaType.dataType?.match(/boolean/i)) { return "0 | 1"; diff --git a/dist/utils/sql-insert-generator.js b/dist/utils/sql-insert-generator.js index 1d6d49e..2168122 100644 --- a/dist/utils/sql-insert-generator.js +++ b/dist/utils/sql-insert-generator.js @@ -29,7 +29,7 @@ export default function sqlInsertGenerator({ tableName, data, dbFullName, }) { ? value : null; if (!finalValue) { - queryValues.push(""); + queryValues.push(null); return "?"; } queryValues.push(finalValue); diff --git a/package.json b/package.json index 8855131..01eae07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/bun-sqlite", - "version": "1.0.40", + "version": "1.0.41", "description": "SQLite manager for Bun", "author": "Benjamin Toby", "main": "dist/index.js", diff --git a/src/lib/sqlite/db-generate-type-defs.ts b/src/lib/sqlite/db-generate-type-defs.ts index e0421f7..fe44389 100644 --- a/src/lib/sqlite/db-generate-type-defs.ts +++ b/src/lib/sqlite/db-generate-type-defs.ts @@ -36,26 +36,27 @@ export default function generateTypeDefinition({ function typeMap(schemaType: BUN_SQLITE_FieldSchemaType) { if (schemaType.options && schemaType.options.length > 0) { - return schemaType.options - .map((opt) => - schemaType.dataType?.match(/int/i) || - typeof opt == "number" - ? `${opt}` - : `"${opt}"`, - ) - .join(" | "); + let opts = schemaType.options.map((opt) => + schemaType.dataType?.match(/int/i) || typeof opt == "number" + ? `${opt}` + : `"${opt}"`, + ); + + opts.push(`""`); + + return opts.join(" | "); } if (schemaType.dataType?.match(/blob/i)) { - return "Float32Array | Buffer"; + return `Float32Array | Buffer | null`; } if (schemaType.dataType?.match(/int|double|decimal|real/i)) { - return "number"; + return `number | ""`; } if (schemaType.dataType?.match(/text|varchar|timestamp/i)) { - return "string"; + return `string`; } if (schemaType.dataType?.match(/boolean/i)) { diff --git a/src/utils/sql-insert-generator.ts b/src/utils/sql-insert-generator.ts index 5645269..86bd612 100644 --- a/src/utils/sql-insert-generator.ts +++ b/src/utils/sql-insert-generator.ts @@ -47,7 +47,7 @@ export default function sqlInsertGenerator({ : null; if (!finalValue) { - queryValues.push(""); + queryValues.push(null); return "?"; }