d1-kyt 0.6.1 → 0.6.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/executor.d.ts +3 -2
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +20 -5
- package/dist/executor.js.map +1 -1
- package/package.json +1 -1
package/dist/executor.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CompiledQuery } from 'kysely';
|
|
2
|
+
import type { SchemaTable } from './schema.js';
|
|
2
3
|
/**
|
|
3
4
|
* D1 query result with metadata
|
|
4
5
|
*/
|
|
@@ -47,7 +48,7 @@ interface D1Result<T = unknown> {
|
|
|
47
48
|
* const users = await queryAll(env.DB, queries.listUsers());
|
|
48
49
|
* ```
|
|
49
50
|
*/
|
|
50
|
-
export declare function queryAll<T>(db: D1Database, query: CompiledQuery<T>): Promise<T[]>;
|
|
51
|
+
export declare function queryAll<T>(db: D1Database, query: CompiledQuery<T>, table?: SchemaTable<any, any>): Promise<T[]>;
|
|
51
52
|
/**
|
|
52
53
|
* Execute query and return first row or null
|
|
53
54
|
*
|
|
@@ -56,7 +57,7 @@ export declare function queryAll<T>(db: D1Database, query: CompiledQuery<T>): Pr
|
|
|
56
57
|
* const user = await queryFirst(env.DB, queries.getUserById({ id: 1 }));
|
|
57
58
|
* ```
|
|
58
59
|
*/
|
|
59
|
-
export declare function queryFirst<T>(db: D1Database, query: CompiledQuery<T>): Promise<T | null>;
|
|
60
|
+
export declare function queryFirst<T>(db: D1Database, query: CompiledQuery<T>, table?: SchemaTable<any, any>): Promise<T | null>;
|
|
60
61
|
/**
|
|
61
62
|
* Execute query without returning rows (INSERT/UPDATE/DELETE)
|
|
62
63
|
*
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2B/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC1C,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC/E;AAED,UAAU,mBAAmB;IAC3B,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC;IAChD,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC;AAED,UAAU,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,CAAC,EAAE,CAAC,CAOd;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAOnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,CAStB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,GACzC,OAAO,CAAC,WAAW,EAAE,CAAC,CASxB"}
|
package/dist/executor.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sqlTypeFromSchema } from './schema.js';
|
|
1
2
|
/**
|
|
2
3
|
* Serialize a query parameter for D1 binding.
|
|
3
4
|
* D1 accepts: null | string | number | boolean | ArrayBuffer | ArrayBufferView.
|
|
@@ -12,6 +13,17 @@ function serializeParam(p) {
|
|
|
12
13
|
return p;
|
|
13
14
|
return JSON.stringify(p);
|
|
14
15
|
}
|
|
16
|
+
function deserializeRow(row, table) {
|
|
17
|
+
const result = { ...row };
|
|
18
|
+
for (const col of Object.keys(table._columns)) {
|
|
19
|
+
if (col in result && typeof result[col] === 'string') {
|
|
20
|
+
if (sqlTypeFromSchema(table._columns[col]).isJson) {
|
|
21
|
+
result[col] = JSON.parse(result[col]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
15
27
|
/**
|
|
16
28
|
* Execute query and return all rows
|
|
17
29
|
*
|
|
@@ -20,12 +32,13 @@ function serializeParam(p) {
|
|
|
20
32
|
* const users = await queryAll(env.DB, queries.listUsers());
|
|
21
33
|
* ```
|
|
22
34
|
*/
|
|
23
|
-
export async function queryAll(db, query) {
|
|
35
|
+
export async function queryAll(db, query, table) {
|
|
24
36
|
const result = await db
|
|
25
37
|
.prepare(query.sql)
|
|
26
38
|
.bind(...query.parameters.map(serializeParam))
|
|
27
39
|
.all();
|
|
28
|
-
|
|
40
|
+
const rows = result.results ?? [];
|
|
41
|
+
return table ? rows.map((r) => deserializeRow(r, table)) : rows;
|
|
29
42
|
}
|
|
30
43
|
/**
|
|
31
44
|
* Execute query and return first row or null
|
|
@@ -35,12 +48,14 @@ export async function queryAll(db, query) {
|
|
|
35
48
|
* const user = await queryFirst(env.DB, queries.getUserById({ id: 1 }));
|
|
36
49
|
* ```
|
|
37
50
|
*/
|
|
38
|
-
export async function queryFirst(db, query) {
|
|
51
|
+
export async function queryFirst(db, query, table) {
|
|
39
52
|
const result = await db
|
|
40
53
|
.prepare(query.sql)
|
|
41
54
|
.bind(...query.parameters.map(serializeParam))
|
|
42
55
|
.first();
|
|
43
|
-
|
|
56
|
+
if (result == null)
|
|
57
|
+
return null;
|
|
58
|
+
return table ? deserializeRow(result, table) : result;
|
|
44
59
|
}
|
|
45
60
|
/**
|
|
46
61
|
* Execute query without returning rows (INSERT/UPDATE/DELETE)
|
|
@@ -73,7 +88,7 @@ export async function queryRun(db, query) {
|
|
|
73
88
|
* ```
|
|
74
89
|
*/
|
|
75
90
|
export async function queryBatch(db, queries) {
|
|
76
|
-
const statements = queries.map((q) => db.prepare(q.sql).bind(...q.parameters));
|
|
91
|
+
const statements = queries.map((q) => db.prepare(q.sql).bind(...q.parameters.map(serializeParam)));
|
|
77
92
|
const results = await db.batch(statements);
|
|
78
93
|
return results.map((r) => ({
|
|
79
94
|
success: r.success,
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACvF,IAAI,CAAC,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AA8CD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAc,EACd,KAAuB;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|