@type32/tauri-sqlite-orm 0.2.7 → 0.2.9

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,26 @@ 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, TMode extends "default" | "json" = "default", TEnum extends readonly string[] = never>(name: TName, config?: {
400
- mode?: TMode;
401
- enum?: TEnum;
402
- }) => SQLiteColumn<TName, "TEXT", TMode, false, false, false, TEnum, never>;
403
- declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
404
- mode?: TMode;
405
- }) => SQLiteColumn<TName, "INTEGER", TMode, false, false, false, never, never>;
408
+ declare function text<TName extends string>(name: TName): SQLiteColumn<TName, 'TEXT', 'default', false, false, false, never, never>;
409
+ declare function text<TName extends string, const TConfig extends {
410
+ mode?: 'default' | 'json';
411
+ enum?: readonly string[];
412
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'TEXT', TConfig['mode'] extends 'json' ? 'json' : 'default', false, false, false, TConfig['enum'] extends readonly string[] ? TConfig['enum'] : never, never>;
413
+ declare function integer<TName extends string>(name: TName): SQLiteColumn<TName, 'INTEGER', 'default', false, false, false, never, never>;
414
+ declare function integer<TName extends string, const TConfig extends {
415
+ mode: Mode;
416
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'INTEGER', TConfig['mode'], false, false, false, never, never>;
406
417
  declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
407
- declare const blob: <TName extends string, TMode extends "json" | "bigint" | "default" = "default">(name: TName, config?: {
408
- mode?: TMode;
409
- }) => SQLiteColumn<TName, "BLOB", TMode, false, false, false, never, never>;
418
+ declare function blob<TName extends string>(name: TName): SQLiteColumn<TName, 'BLOB', 'default', false, false, false, never, never>;
419
+ declare function blob<TName extends string, const TConfig extends {
420
+ mode: 'json' | 'bigint' | 'default';
421
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'BLOB', TConfig['mode'], false, false, false, never, never>;
410
422
  declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
411
- declare const numeric: <TName extends string, TMode extends "bigint" | "default" = "default">(name: TName, config?: {
412
- mode?: TMode;
413
- }) => SQLiteColumn<TName, "NUMERIC", TMode, false, false, false, never, never>;
414
- declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues, never>;
423
+ declare function numeric<TName extends string>(name: TName): SQLiteColumn<TName, 'NUMERIC', 'default', false, false, false, never, never>;
424
+ declare function numeric<TName extends string, const TConfig extends {
425
+ mode: 'bigint' | 'default';
426
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'NUMERIC', TConfig['mode'], false, false, false, never, never>;
427
+ declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues extends readonly string[] ? TValues : never, never>;
415
428
 
416
429
  declare class TauriORMError extends Error {
417
430
  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,26 @@ 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, TMode extends "default" | "json" = "default", TEnum extends readonly string[] = never>(name: TName, config?: {
400
- mode?: TMode;
401
- enum?: TEnum;
402
- }) => SQLiteColumn<TName, "TEXT", TMode, false, false, false, TEnum, never>;
403
- declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
404
- mode?: TMode;
405
- }) => SQLiteColumn<TName, "INTEGER", TMode, false, false, false, never, never>;
408
+ declare function text<TName extends string>(name: TName): SQLiteColumn<TName, 'TEXT', 'default', false, false, false, never, never>;
409
+ declare function text<TName extends string, const TConfig extends {
410
+ mode?: 'default' | 'json';
411
+ enum?: readonly string[];
412
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'TEXT', TConfig['mode'] extends 'json' ? 'json' : 'default', false, false, false, TConfig['enum'] extends readonly string[] ? TConfig['enum'] : never, never>;
413
+ declare function integer<TName extends string>(name: TName): SQLiteColumn<TName, 'INTEGER', 'default', false, false, false, never, never>;
414
+ declare function integer<TName extends string, const TConfig extends {
415
+ mode: Mode;
416
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'INTEGER', TConfig['mode'], false, false, false, never, never>;
406
417
  declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
407
- declare const blob: <TName extends string, TMode extends "json" | "bigint" | "default" = "default">(name: TName, config?: {
408
- mode?: TMode;
409
- }) => SQLiteColumn<TName, "BLOB", TMode, false, false, false, never, never>;
418
+ declare function blob<TName extends string>(name: TName): SQLiteColumn<TName, 'BLOB', 'default', false, false, false, never, never>;
419
+ declare function blob<TName extends string, const TConfig extends {
420
+ mode: 'json' | 'bigint' | 'default';
421
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'BLOB', TConfig['mode'], false, false, false, never, never>;
410
422
  declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
411
- declare const numeric: <TName extends string, TMode extends "bigint" | "default" = "default">(name: TName, config?: {
412
- mode?: TMode;
413
- }) => SQLiteColumn<TName, "NUMERIC", TMode, false, false, false, never, never>;
414
- declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues, never>;
423
+ declare function numeric<TName extends string>(name: TName): SQLiteColumn<TName, 'NUMERIC', 'default', false, false, false, never, never>;
424
+ declare function numeric<TName extends string, const TConfig extends {
425
+ mode: 'bigint' | 'default';
426
+ }>(name: TName, config: TConfig): SQLiteColumn<TName, 'NUMERIC', TConfig['mode'], false, false, false, never, never>;
427
+ declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "default", false, false, false, TValues extends readonly string[] ? TValues : never, never>;
415
428
 
416
429
  declare class TauriORMError extends Error {
417
430
  constructor(message: string);
package/dist/index.js CHANGED
@@ -1564,12 +1564,20 @@ var scalarSubquery = (query) => {
1564
1564
  };
1565
1565
 
1566
1566
  // src/column-helpers.ts
1567
- var text = (name, config) => new SQLiteColumn(name, "TEXT", config);
1568
- var integer = (name, config) => new SQLiteColumn(name, "INTEGER", config);
1567
+ function text(name, config) {
1568
+ return new SQLiteColumn(name, "TEXT", config);
1569
+ }
1570
+ function integer(name, config) {
1571
+ return new SQLiteColumn(name, "INTEGER", config);
1572
+ }
1569
1573
  var real = (name) => new SQLiteColumn(name, "REAL");
1570
- var blob = (name, config) => new SQLiteColumn(name, "BLOB", config);
1574
+ function blob(name, config) {
1575
+ return new SQLiteColumn(name, "BLOB", config);
1576
+ }
1571
1577
  var boolean = (name) => new SQLiteColumn(name, "BOOLEAN");
1572
- var numeric = (name, config) => new SQLiteColumn(name, "NUMERIC", config);
1578
+ function numeric(name, config) {
1579
+ return new SQLiteColumn(name, "NUMERIC", config);
1580
+ }
1573
1581
  var enumType = (name, values) => text(name, { enum: values });
1574
1582
  // Annotate the CommonJS export names for ESM import in node:
1575
1583
  0 && (module.exports = {
package/dist/index.mjs CHANGED
@@ -1465,12 +1465,20 @@ var scalarSubquery = (query) => {
1465
1465
  };
1466
1466
 
1467
1467
  // src/column-helpers.ts
1468
- var text = (name, config) => new SQLiteColumn(name, "TEXT", config);
1469
- var integer = (name, config) => new SQLiteColumn(name, "INTEGER", config);
1468
+ function text(name, config) {
1469
+ return new SQLiteColumn(name, "TEXT", config);
1470
+ }
1471
+ function integer(name, config) {
1472
+ return new SQLiteColumn(name, "INTEGER", config);
1473
+ }
1470
1474
  var real = (name) => new SQLiteColumn(name, "REAL");
1471
- var blob = (name, config) => new SQLiteColumn(name, "BLOB", config);
1475
+ function blob(name, config) {
1476
+ return new SQLiteColumn(name, "BLOB", config);
1477
+ }
1472
1478
  var boolean = (name) => new SQLiteColumn(name, "BOOLEAN");
1473
- var numeric = (name, config) => new SQLiteColumn(name, "NUMERIC", config);
1479
+ function numeric(name, config) {
1480
+ return new SQLiteColumn(name, "NUMERIC", config);
1481
+ }
1474
1482
  var enumType = (name, values) => text(name, { enum: values });
1475
1483
  export {
1476
1484
  BaseQueryBuilder,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
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",