@type32/tauri-sqlite-orm 0.2.0 → 0.2.2

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/dist/index.d.mts CHANGED
@@ -60,7 +60,8 @@ declare class BaseQueryBuilder {
60
60
  type NestedInclude = boolean | {
61
61
  with?: Record<string, NestedInclude>;
62
62
  };
63
- type IncludeRelations<T extends AnyTable> = Partial<Record<keyof T['relations'], NestedInclude>>;
63
+ type ExtractRelationNames<T extends AnyTable> = T['relations'] extends Record<string, any> ? keyof T['relations'] & string : never;
64
+ type IncludeRelations<T extends AnyTable> = T['relations'] extends Record<string, any> ? Partial<Record<ExtractRelationNames<T>, NestedInclude>> : Record<string, never>;
64
65
  declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable['_']['columns'])[] | undefined = undefined> extends BaseQueryBuilder {
65
66
  private table;
66
67
  private columns?;
@@ -202,7 +203,7 @@ declare class SQLiteColumn<TName extends string = string, TType extends ColumnDa
202
203
  primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
203
204
  autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true, TEnum, TCustomType>;
204
205
  unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
205
- references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
206
+ references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K | T['_']['columns'][K]): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
206
207
  $onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
207
208
  $type<T>(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, T>;
208
209
  as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
package/dist/index.d.ts CHANGED
@@ -60,7 +60,8 @@ declare class BaseQueryBuilder {
60
60
  type NestedInclude = boolean | {
61
61
  with?: Record<string, NestedInclude>;
62
62
  };
63
- type IncludeRelations<T extends AnyTable> = Partial<Record<keyof T['relations'], NestedInclude>>;
63
+ type ExtractRelationNames<T extends AnyTable> = T['relations'] extends Record<string, any> ? keyof T['relations'] & string : never;
64
+ type IncludeRelations<T extends AnyTable> = T['relations'] extends Record<string, any> ? Partial<Record<ExtractRelationNames<T>, NestedInclude>> : Record<string, never>;
64
65
  declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable['_']['columns'])[] | undefined = undefined> extends BaseQueryBuilder {
65
66
  private table;
66
67
  private columns?;
@@ -202,7 +203,7 @@ declare class SQLiteColumn<TName extends string = string, TType extends ColumnDa
202
203
  primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
203
204
  autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true, TEnum, TCustomType>;
204
205
  unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
205
- references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
206
+ references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K | T['_']['columns'][K]): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
206
207
  $onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
207
208
  $type<T>(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, T>;
208
209
  as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
package/dist/index.js CHANGED
@@ -1092,6 +1092,8 @@ var SQLiteColumn = class _SQLiteColumn {
1092
1092
  return new _SQLiteColumn(this._.name, this.type, { ...this.options, unique: true }, this._.mode);
1093
1093
  }
1094
1094
  references(ref, column) {
1095
+ const columnKey = typeof column === "string" ? column : column._.name;
1096
+ const columnObj = typeof column === "string" ? ref._.columns[column] : column;
1095
1097
  return new _SQLiteColumn(
1096
1098
  this._.name,
1097
1099
  this.type,
@@ -1099,7 +1101,7 @@ var SQLiteColumn = class _SQLiteColumn {
1099
1101
  ...this.options,
1100
1102
  references: {
1101
1103
  table: ref,
1102
- column: ref._.columns[column]
1104
+ column: columnObj
1103
1105
  }
1104
1106
  },
1105
1107
  this._.mode
package/dist/index.mjs CHANGED
@@ -993,6 +993,8 @@ var SQLiteColumn = class _SQLiteColumn {
993
993
  return new _SQLiteColumn(this._.name, this.type, { ...this.options, unique: true }, this._.mode);
994
994
  }
995
995
  references(ref, column) {
996
+ const columnKey = typeof column === "string" ? column : column._.name;
997
+ const columnObj = typeof column === "string" ? ref._.columns[column] : column;
996
998
  return new _SQLiteColumn(
997
999
  this._.name,
998
1000
  this.type,
@@ -1000,7 +1002,7 @@ var SQLiteColumn = class _SQLiteColumn {
1000
1002
  ...this.options,
1001
1003
  references: {
1002
1004
  table: ref,
1003
- column: ref._.columns[column]
1005
+ column: columnObj
1004
1006
  }
1005
1007
  },
1006
1008
  this._.mode
package/package.json CHANGED
@@ -1,40 +1,41 @@
1
1
  {
2
- "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.2.0",
4
- "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.mjs",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/index.mjs",
11
- "require": "./dist/index.js"
2
+ "name": "@type32/tauri-sqlite-orm",
3
+ "version": "0.2.2",
4
+ "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.mjs",
11
+ "require": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsup src/index.ts --format esm,cjs --dts",
19
+ "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
20
+ "test": "echo \"Error: no test specified\" && exit 1",
21
+ "release:minor": "bun run build && bun pm version minor && bun publish",
22
+ "release:patch": "bun run build && bun pm version patch && bun publish"
23
+ },
24
+ "keywords": [
25
+ "tauri",
26
+ "sqlite",
27
+ "orm",
28
+ "drizzle"
29
+ ],
30
+ "author": "Type-32",
31
+ "license": "MIT",
32
+ "devDependencies": {
33
+ "@types/node": "^24.10.0",
34
+ "tsup": "^8.5.0",
35
+ "typescript": "^5.9.3"
36
+ },
37
+ "dependencies": {
38
+ "@tauri-apps/plugin-sql": "^2.3.1",
39
+ "nuxt": "^4.2.1"
12
40
  }
13
- },
14
- "files": [
15
- "dist"
16
- ],
17
- "scripts": {
18
- "build": "tsup src/index.ts --format esm,cjs --dts",
19
- "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
20
- "test": "echo \"Error: no test specified\" && exit 1",
21
- "release:minor": "bun run build && bun pm version minor && bun publish"
22
- },
23
- "keywords": [
24
- "tauri",
25
- "sqlite",
26
- "orm",
27
- "drizzle"
28
- ],
29
- "author": "Type-32",
30
- "license": "MIT",
31
- "devDependencies": {
32
- "@types/node": "^24.10.0",
33
- "tsup": "^8.5.0",
34
- "typescript": "^5.9.3"
35
- },
36
- "dependencies": {
37
- "@tauri-apps/plugin-sql": "^2.3.1",
38
- "nuxt": "^4.2.1"
39
- }
40
41
  }