@type32/tauri-sqlite-orm 0.2.6 → 0.2.8

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.
package/README.md CHANGED
@@ -19,6 +19,8 @@ A Drizzle-like TypeScript ORM tailored for Tauri v2's `@tauri-apps/plugin-sql` (
19
19
  - **Simplified Migrations:** Keep your database schema in sync with your application's models using automatic schema detection and migration tools.
20
20
  - **Lightweight & Performant:** Designed to be a thin layer over the Tauri SQL plugin, ensuring minimal overhead.
21
21
 
22
+ Also, bun is the preferred package manager for developing this library, if you want to contribute.
23
+
22
24
  ### Installation
23
25
 
24
26
  ```bash
package/dist/index.d.mts CHANGED
@@ -18,7 +18,11 @@ interface ColumnOptions<TData, TEnum extends readonly string[] = readonly string
18
18
  $onUpdateFn?: () => TData;
19
19
  enum?: TEnum;
20
20
  }
21
- type ExtractColumnType<T extends AnySQLiteColumn> = T['_']['customType'] extends never ? T['_']['enum'] extends readonly string[] ? T['_']['notNull'] extends true ? T['_']['enum'][number] : T['_']['enum'][number] | null : T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : never : T['_']['notNull'] extends true ? T['_']['customType'] : T['_']['customType'] | null;
21
+ type ExtractColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault, infer TAutoincrement, infer TEnum, infer TCustomType> ? [
22
+ TCustomType
23
+ ] extends [never] ? [
24
+ TEnum
25
+ ] extends [never] ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : TNotNull extends true ? TEnum[number] : TEnum[number] | null : TNotNull extends true ? TCustomType : TCustomType | null : never;
22
26
  type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any, any, any>;
23
27
  type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
24
28
  type InferSelectModel<T extends AnyTable> = {
@@ -231,10 +235,15 @@ type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
231
235
  type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
232
236
  [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
233
237
  }[keyof TColumns];
238
+ type ExtractInsertColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault, infer TAutoincrement, infer TEnum, infer TCustomType> ? [
239
+ TCustomType
240
+ ] extends [never] ? [
241
+ TEnum
242
+ ] extends [never] ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : TNotNull extends true ? TEnum[number] : TEnum[number] | null : TNotNull extends true ? TCustomType : TCustomType | null : never;
234
243
  type InferInsertModel<T extends AnyTable> = {
235
- [K in RequiredColumns<T['_']['columns']>]: ExtractColumnType<T['_']['columns'][K]>;
244
+ [K in RequiredColumns<T['_']['columns']>]: ExtractInsertColumnType<T['_']['columns'][K]>;
236
245
  } & {
237
- [K in OptionalColumns<T['_']['columns']>]?: ExtractColumnType<T['_']['columns'][K]>;
246
+ [K in OptionalColumns<T['_']['columns']>]?: ExtractInsertColumnType<T['_']['columns'][K]>;
238
247
  };
239
248
  declare class Table<TColumns extends Record<string, AnySQLiteColumn>, TTableName extends string> {
240
249
  _: {
@@ -396,22 +405,22 @@ declare const as: <T>(aggregate: SQLAggregate<T>, alias: string) => SQLAggregate
396
405
  declare const subquery: <T extends AnyTable>(query: SelectQueryBuilder<T, any>) => SQLSubquery;
397
406
  declare const scalarSubquery: <T extends AnyTable>(query: SelectQueryBuilder<T, any>) => SQLSubquery;
398
407
 
399
- declare const text: <TName extends string, TEnum extends readonly string[]>(name: TName, config?: {
400
- mode?: "json";
408
+ declare const text: <TName extends string, TMode extends "default" | "json" = "default", TEnum extends readonly string[] = never>(name: TName, config?: {
409
+ mode?: TMode;
401
410
  enum?: TEnum;
402
- }) => SQLiteColumn<TName, "TEXT", any, false, false, false, TEnum, never>;
403
- declare const integer: <TName extends string>(name: TName, config?: {
404
- mode?: Mode;
405
- }) => SQLiteColumn<TName, "INTEGER", "default", false, false, false, never, never>;
411
+ }) => SQLiteColumn<TName, "TEXT", TMode, false, false, false, TEnum, never>;
412
+ declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
413
+ mode?: TMode;
414
+ }) => SQLiteColumn<TName, "INTEGER", TMode, false, false, false, never, never>;
406
415
  declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
407
- declare const blob: <TName extends string>(name: TName, config?: {
408
- mode: "json" | "bigint";
409
- }) => SQLiteColumn<TName, "BLOB", "default", false, false, false, never, never>;
416
+ declare const blob: <TName extends string, TMode extends "json" | "bigint" | "default" = "default">(name: TName, config?: {
417
+ mode?: TMode;
418
+ }) => SQLiteColumn<TName, "BLOB", TMode, false, false, false, never, never>;
410
419
  declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
411
- declare const numeric: <TName extends string>(name: TName, config?: {
412
- mode?: "bigint";
413
- }) => SQLiteColumn<TName, "NUMERIC", "default", false, false, false, never, never>;
414
- declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", any, false, false, false, TValues, never>;
420
+ declare const numeric: <TName extends string, TMode extends "bigint" | "default" = "default">(name: TName, config?: {
421
+ mode?: TMode;
422
+ }) => SQLiteColumn<TName, "NUMERIC", TMode, false, false, false, never, never>;
423
+ declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues, never>;
415
424
 
416
425
  declare class TauriORMError extends Error {
417
426
  constructor(message: string);
package/dist/index.d.ts CHANGED
@@ -18,7 +18,11 @@ interface ColumnOptions<TData, TEnum extends readonly string[] = readonly string
18
18
  $onUpdateFn?: () => TData;
19
19
  enum?: TEnum;
20
20
  }
21
- type ExtractColumnType<T extends AnySQLiteColumn> = T['_']['customType'] extends never ? T['_']['enum'] extends readonly string[] ? T['_']['notNull'] extends true ? T['_']['enum'][number] : T['_']['enum'][number] | null : T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : never : T['_']['notNull'] extends true ? T['_']['customType'] : T['_']['customType'] | null;
21
+ type ExtractColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault, infer TAutoincrement, infer TEnum, infer TCustomType> ? [
22
+ TCustomType
23
+ ] extends [never] ? [
24
+ TEnum
25
+ ] extends [never] ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : TNotNull extends true ? TEnum[number] : TEnum[number] | null : TNotNull extends true ? TCustomType : TCustomType | null : never;
22
26
  type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any, any, any>;
23
27
  type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
24
28
  type InferSelectModel<T extends AnyTable> = {
@@ -231,10 +235,15 @@ type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
231
235
  type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
232
236
  [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
233
237
  }[keyof TColumns];
238
+ type ExtractInsertColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault, infer TAutoincrement, infer TEnum, infer TCustomType> ? [
239
+ TCustomType
240
+ ] extends [never] ? [
241
+ TEnum
242
+ ] extends [never] ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null : TNotNull extends true ? TEnum[number] : TEnum[number] | null : TNotNull extends true ? TCustomType : TCustomType | null : never;
234
243
  type InferInsertModel<T extends AnyTable> = {
235
- [K in RequiredColumns<T['_']['columns']>]: ExtractColumnType<T['_']['columns'][K]>;
244
+ [K in RequiredColumns<T['_']['columns']>]: ExtractInsertColumnType<T['_']['columns'][K]>;
236
245
  } & {
237
- [K in OptionalColumns<T['_']['columns']>]?: ExtractColumnType<T['_']['columns'][K]>;
246
+ [K in OptionalColumns<T['_']['columns']>]?: ExtractInsertColumnType<T['_']['columns'][K]>;
238
247
  };
239
248
  declare class Table<TColumns extends Record<string, AnySQLiteColumn>, TTableName extends string> {
240
249
  _: {
@@ -396,22 +405,22 @@ declare const as: <T>(aggregate: SQLAggregate<T>, alias: string) => SQLAggregate
396
405
  declare const subquery: <T extends AnyTable>(query: SelectQueryBuilder<T, any>) => SQLSubquery;
397
406
  declare const scalarSubquery: <T extends AnyTable>(query: SelectQueryBuilder<T, any>) => SQLSubquery;
398
407
 
399
- declare const text: <TName extends string, TEnum extends readonly string[]>(name: TName, config?: {
400
- mode?: "json";
408
+ declare const text: <TName extends string, TMode extends "default" | "json" = "default", TEnum extends readonly string[] = never>(name: TName, config?: {
409
+ mode?: TMode;
401
410
  enum?: TEnum;
402
- }) => SQLiteColumn<TName, "TEXT", any, false, false, false, TEnum, never>;
403
- declare const integer: <TName extends string>(name: TName, config?: {
404
- mode?: Mode;
405
- }) => SQLiteColumn<TName, "INTEGER", "default", false, false, false, never, never>;
411
+ }) => SQLiteColumn<TName, "TEXT", TMode, false, false, false, TEnum, never>;
412
+ declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
413
+ mode?: TMode;
414
+ }) => SQLiteColumn<TName, "INTEGER", TMode, false, false, false, never, never>;
406
415
  declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
407
- declare const blob: <TName extends string>(name: TName, config?: {
408
- mode: "json" | "bigint";
409
- }) => SQLiteColumn<TName, "BLOB", "default", false, false, false, never, never>;
416
+ declare const blob: <TName extends string, TMode extends "json" | "bigint" | "default" = "default">(name: TName, config?: {
417
+ mode?: TMode;
418
+ }) => SQLiteColumn<TName, "BLOB", TMode, false, false, false, never, never>;
410
419
  declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
411
- declare const numeric: <TName extends string>(name: TName, config?: {
412
- mode?: "bigint";
413
- }) => SQLiteColumn<TName, "NUMERIC", "default", false, false, false, never, never>;
414
- declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", any, false, false, false, TValues, never>;
420
+ declare const numeric: <TName extends string, TMode extends "bigint" | "default" = "default">(name: TName, config?: {
421
+ mode?: TMode;
422
+ }) => SQLiteColumn<TName, "NUMERIC", TMode, false, false, false, never, never>;
423
+ declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues, never>;
415
424
 
416
425
  declare class TauriORMError extends Error {
417
426
  constructor(message: string);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -30,7 +30,7 @@
30
30
  "author": "Type-32",
31
31
  "license": "MIT",
32
32
  "devDependencies": {
33
- "@types/node": "^24.10.0",
33
+ "@types/node": "^24.10.1",
34
34
  "tsup": "^8.5.0",
35
35
  "typescript": "^5.9.3"
36
36
  },