diff --git a/.changeset/nice-mirrors-drive.md b/.changeset/nice-mirrors-drive.md new file mode 100644 index 0000000..07c9a4f --- /dev/null +++ b/.changeset/nice-mirrors-drive.md @@ -0,0 +1,5 @@ +--- +"d1-orm": patch +--- + +Feat: boolean support diff --git a/src/model.ts b/src/model.ts index 8e8e0eb..3b8b01f 100644 --- a/src/model.ts +++ b/src/model.ts @@ -291,9 +291,10 @@ export enum DataTypes { NUMERIC = "real", REAL = "real", BLOB = "blob", + BOOLEAN = "boolean", } -type InferJSTypeFromModelColumn = +type InferFromColumn = T["type"] extends DataTypes.INTEGER ? number : T["type"] extends DataTypes.REAL @@ -301,11 +302,13 @@ type InferJSTypeFromModelColumn = : T["type"] extends DataTypes.TEXT ? string : T["type"] extends DataTypes.BLOB - ? Uint32Array + ? ArrayBuffer + : T["type"] extends DataTypes.BOOLEAN + ? 1 | 0 : never; -type InferFromColumns> = { - [K in keyof T]: InferJSTypeFromModelColumn; +type InferFromColumns> = { + [K in keyof T]: InferFromColumn; }; /** @@ -321,8 +324,12 @@ type InferFromColumns> = { * D1Orm: MyD1OrmInstance, * }, * { - * name: DataTypes.STRING, - * age: DataTypes.NUMBER, + * name: { + * type: DataTypes.STRING + * }, + * age: { + * type: DataTypes.NUMBER + * }, * } * ); *