@leonardovida-md/drizzle-neo-duckdb 1.2.2 → 1.3.0
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 +2 -0
- package/package.json +2 -3
- package/src/driver.ts +2 -2
- package/src/value-wrappers-core.ts +24 -12
package/README.md
CHANGED
|
@@ -19,6 +19,8 @@ Works with local DuckDB files, in-memory databases, and [MotherDuck](https://mot
|
|
|
19
19
|
|
|
20
20
|
> **Status:** Experimental. Core query building, migrations, and type inference work well. Some DuckDB-specific types and edge cases are still being refined.
|
|
21
21
|
|
|
22
|
+
> **Note:** The NPM package is `@leonardovida-md/drizzle-neo-duckdb` while the repository is `drizzle-duckdb`. This is due to a migration to preserve the existing NPM package name.
|
|
23
|
+
|
|
22
24
|
Docs tip: every docs page has a **Markdown (raw)** button for LLM-friendly source.
|
|
23
25
|
|
|
24
26
|
## Installation
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"module": "./dist/index.mjs",
|
|
4
4
|
"main": "./dist/index.mjs",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.3.0",
|
|
7
7
|
"description": "A drizzle ORM client for use with DuckDB. Based on drizzle's Postgres client.",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"scripts": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=18.17"
|
|
64
64
|
},
|
|
65
|
-
"packageManager": "bun@1.
|
|
65
|
+
"packageManager": "bun@1.3.6",
|
|
66
66
|
"keywords": [
|
|
67
67
|
"drizzle",
|
|
68
68
|
"duckdb"
|
|
@@ -79,7 +79,6 @@
|
|
|
79
79
|
"dist/**/*.d.ts"
|
|
80
80
|
],
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@duckdb/node-bindings-darwin-arm64": "^1.4.2-r.1",
|
|
83
82
|
"node-sql-parser": "^5.3.13"
|
|
84
83
|
}
|
|
85
84
|
}
|
package/src/driver.ts
CHANGED
|
@@ -269,8 +269,8 @@ export function drizzle<
|
|
|
269
269
|
|
|
270
270
|
export class DuckDBDatabase<
|
|
271
271
|
TFullSchema extends Record<string, unknown> = Record<string, never>,
|
|
272
|
-
TSchema extends
|
|
273
|
-
|
|
272
|
+
TSchema extends TablesRelationalConfig =
|
|
273
|
+
ExtractTablesWithRelations<TFullSchema>,
|
|
274
274
|
> extends PgDatabase<DuckDBQueryResultHKT, TFullSchema, TSchema> {
|
|
275
275
|
static readonly [entityKind]: string = 'DuckDBDatabase';
|
|
276
276
|
|
|
@@ -23,35 +23,47 @@ export interface DuckDBValueWrapper<
|
|
|
23
23
|
readonly data: TData;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export interface ListValueWrapper
|
|
27
|
-
|
|
26
|
+
export interface ListValueWrapper extends DuckDBValueWrapper<
|
|
27
|
+
'list',
|
|
28
|
+
unknown[]
|
|
29
|
+
> {
|
|
28
30
|
readonly elementType?: string;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
export interface ArrayValueWrapper
|
|
32
|
-
|
|
33
|
+
export interface ArrayValueWrapper extends DuckDBValueWrapper<
|
|
34
|
+
'array',
|
|
35
|
+
unknown[]
|
|
36
|
+
> {
|
|
33
37
|
readonly elementType?: string;
|
|
34
38
|
readonly fixedLength?: number;
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
export interface StructValueWrapper
|
|
38
|
-
|
|
41
|
+
export interface StructValueWrapper extends DuckDBValueWrapper<
|
|
42
|
+
'struct',
|
|
43
|
+
Record<string, unknown>
|
|
44
|
+
> {
|
|
39
45
|
readonly schema?: Record<string, string>;
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
export interface MapValueWrapper
|
|
43
|
-
|
|
48
|
+
export interface MapValueWrapper extends DuckDBValueWrapper<
|
|
49
|
+
'map',
|
|
50
|
+
Record<string, unknown>
|
|
51
|
+
> {
|
|
44
52
|
readonly valueType?: string;
|
|
45
53
|
}
|
|
46
54
|
|
|
47
|
-
export interface TimestampValueWrapper
|
|
48
|
-
|
|
55
|
+
export interface TimestampValueWrapper extends DuckDBValueWrapper<
|
|
56
|
+
'timestamp',
|
|
57
|
+
Date | string | number | bigint
|
|
58
|
+
> {
|
|
49
59
|
readonly withTimezone: boolean;
|
|
50
60
|
readonly precision?: number;
|
|
51
61
|
}
|
|
52
62
|
|
|
53
|
-
export interface BlobValueWrapper
|
|
54
|
-
|
|
63
|
+
export interface BlobValueWrapper extends DuckDBValueWrapper<
|
|
64
|
+
'blob',
|
|
65
|
+
Buffer | Uint8Array
|
|
66
|
+
> {}
|
|
55
67
|
|
|
56
68
|
export interface JsonValueWrapper extends DuckDBValueWrapper<'json', unknown> {}
|
|
57
69
|
|