@typesql/kysely 0.0.1 → 0.0.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/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -4
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +10 -5
- package/src/index.ts +7 -3
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompiledQuery, type QueryResult } from "kysely";
|
|
2
|
-
import type { Query, RowType } from "@typesql/core";
|
|
2
|
+
import type { Executor, Query, RowType } from "@typesql/core";
|
|
3
3
|
/**
|
|
4
4
|
* What the helpers use from a `Kysely<DB>` or `Transaction<DB>`. Queries run through
|
|
5
5
|
* `withoutPlugins()`: typesql's row types describe what the driver returns, so result
|
|
@@ -11,6 +11,8 @@ export interface KyselyExecutor {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
type AnyQuery = Query<unknown, readonly unknown[]>;
|
|
14
|
+
/** An `Executor` for core's `q.execute()`: runs queries on a Kysely instance (or transaction), without its plugins. */
|
|
15
|
+
export declare function executor(db: KyselyExecutor): Executor;
|
|
14
16
|
/** Run a typesql query on a Kysely instance (or transaction) and return its rows, typed from the query. */
|
|
15
17
|
export declare function query<Q extends AnyQuery>(db: KyselyExecutor, q: Q): Promise<RowType<Q>[]>;
|
|
16
18
|
/** Run a statement for its side effect and return the affected row count (`numAffectedRows`, or 0). */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,IAAI;QAAE,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CACzF;AAED,KAAK,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;AAMnD,uHAAuH;AACvH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,CAErD;AAED,2GAA2G;AAC3G,wBAAsB,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAG/F;AAED,uGAAuG;AACvG,wBAAsB,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E"}
|
package/dist/client.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { CompiledQuery } from "kysely";
|
|
2
|
-
function run(db,
|
|
3
|
-
return db.withoutPlugins().executeQuery(CompiledQuery.raw(
|
|
2
|
+
function run(db, text, values) {
|
|
3
|
+
return db.withoutPlugins().executeQuery(CompiledQuery.raw(text, Array.from(values)));
|
|
4
|
+
}
|
|
5
|
+
/** An `Executor` for core's `q.execute()`: runs queries on a Kysely instance (or transaction), without its plugins. */
|
|
6
|
+
export function executor(db) {
|
|
7
|
+
return async (text, values) => (await run(db, text, values)).rows;
|
|
4
8
|
}
|
|
5
9
|
/** Run a typesql query on a Kysely instance (or transaction) and return its rows, typed from the query. */
|
|
6
10
|
export async function query(db, q) {
|
|
7
|
-
const result = await run(db, q);
|
|
11
|
+
const result = await run(db, q.text, q.values);
|
|
8
12
|
return result.rows;
|
|
9
13
|
}
|
|
10
14
|
/** Run a statement for its side effect and return the affected row count (`numAffectedRows`, or 0). */
|
|
11
15
|
export async function execute(db, q) {
|
|
12
|
-
const result = await run(db, q);
|
|
16
|
+
const result = await run(db, q.text, q.values);
|
|
13
17
|
return Number(result.numAffectedRows ?? 0n);
|
|
14
18
|
}
|
|
15
19
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,QAAQ,CAAC;AAczD,SAAS,GAAG,CAAI,EAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,QAAQ,CAAC;AAczD,SAAS,GAAG,CAAI,EAAkB,EAAE,IAAY,EAAE,MAA0B;IAC1E,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAqB,CAAC,CAAC;AAC3G,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,QAAQ,CAAC,EAAkB;IACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,KAAK,CAAqB,EAAkB,EAAE,CAAI;IACtE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAkB,EAAE,CAAW;IAC3D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type DefaultTypeMap, type Sql } from "@typesql/core";
|
|
2
|
+
import { type KyselyExecutor } from "./client.js";
|
|
2
3
|
import type { FromKysely, KyselyOptions, KyselyOverrides } from "./from-kysely.js";
|
|
4
|
+
export { NoResultError, type Executor } from "@typesql/core";
|
|
3
5
|
export type { FromKysely, KyselyOverrides, KyselyOptions, TableOverride, ColumnOverride, InferColumn, SnakeCase } from "./from-kysely.js";
|
|
4
|
-
export { query, execute, type KyselyExecutor } from "./client.js";
|
|
6
|
+
export { query, execute, executor, type KyselyExecutor } from "./client.js";
|
|
5
7
|
/**
|
|
6
8
|
* `createSql` from core with a Kysely `DB` interface as the schema:
|
|
7
9
|
* `createSql<DB>()` is `createSql<FromKysely<DB>, DefaultTypeMap>()`.
|
|
@@ -9,6 +11,8 @@ export { query, execute, type KyselyExecutor } from "./client.js";
|
|
|
9
11
|
* const sql = createSql<DB>();
|
|
10
12
|
* const sql = createSql<DB, PgTypeMap, { users: { id: "int8" } }>();
|
|
11
13
|
* const sql = createSql<DB, DefaultTypeMap, {}, { camelCase: true }>();
|
|
14
|
+
*
|
|
15
|
+
* With a `db` (a `Kysely` instance or transaction), the queries' `execute*` methods run on it.
|
|
12
16
|
*/
|
|
13
|
-
export declare function createSql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}>(): Sql<FromKysely<DB, Overrides, Options>, TM>;
|
|
17
|
+
export declare function createSql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}>(db?: KyselyExecutor): Sql<FromKysely<DB, Overrides, Options>, TM>;
|
|
14
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,cAAc,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnF,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1I,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,cAAc,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1I,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,EAAE,EACF,EAAE,GAAG,cAAc,EACnB,SAAS,SAAS,eAAe,GAAG,EAAE,EACtC,OAAO,SAAS,aAAa,GAAG,EAAE,EAClC,EAAE,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAElE"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createSql as createCoreSql } from "@typesql/core";
|
|
2
|
-
|
|
2
|
+
import { executor } from "./client.js";
|
|
3
|
+
export { NoResultError } from "@typesql/core";
|
|
4
|
+
export { query, execute, executor } from "./client.js";
|
|
3
5
|
/**
|
|
4
6
|
* `createSql` from core with a Kysely `DB` interface as the schema:
|
|
5
7
|
* `createSql<DB>()` is `createSql<FromKysely<DB>, DefaultTypeMap>()`.
|
|
@@ -7,8 +9,10 @@ export { query, execute } from "./client.js";
|
|
|
7
9
|
* const sql = createSql<DB>();
|
|
8
10
|
* const sql = createSql<DB, PgTypeMap, { users: { id: "int8" } }>();
|
|
9
11
|
* const sql = createSql<DB, DefaultTypeMap, {}, { camelCase: true }>();
|
|
12
|
+
*
|
|
13
|
+
* With a `db` (a `Kysely` instance or transaction), the queries' `execute*` methods run on it.
|
|
10
14
|
*/
|
|
11
|
-
export function createSql() {
|
|
12
|
-
return createCoreSql();
|
|
15
|
+
export function createSql(db) {
|
|
16
|
+
return createCoreSql(db && executor(db));
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAiC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAiC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAiB,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAKvB,EAAmB;IACnB,OAAO,aAAa,CAAyC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typesql/kysely",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Use Kysely database interfaces (kysely-codegen, prisma-kysely) as a typesql schema.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@typesql/core": "0.0.
|
|
31
|
+
"@typesql/core": "0.0.2"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"kysely": ">=0.27"
|
package/src/client.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompiledQuery, type QueryResult } from "kysely";
|
|
2
|
-
import type { Query, RowType } from "@typesql/core";
|
|
2
|
+
import type { Executor, Query, RowType } from "@typesql/core";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* What the helpers use from a `Kysely<DB>` or `Transaction<DB>`. Queries run through
|
|
@@ -12,18 +12,23 @@ export interface KyselyExecutor {
|
|
|
12
12
|
|
|
13
13
|
type AnyQuery = Query<unknown, readonly unknown[]>;
|
|
14
14
|
|
|
15
|
-
function run<R>(db: KyselyExecutor,
|
|
16
|
-
return db.withoutPlugins().executeQuery(CompiledQuery.raw(
|
|
15
|
+
function run<R>(db: KyselyExecutor, text: string, values: readonly unknown[]): Promise<QueryResult<R>> {
|
|
16
|
+
return db.withoutPlugins().executeQuery(CompiledQuery.raw(text, Array.from(values)) as CompiledQuery<R>);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** An `Executor` for core's `q.execute()`: runs queries on a Kysely instance (or transaction), without its plugins. */
|
|
20
|
+
export function executor(db: KyselyExecutor): Executor {
|
|
21
|
+
return async (text, values) => (await run<unknown>(db, text, values)).rows;
|
|
17
22
|
}
|
|
18
23
|
|
|
19
24
|
/** Run a typesql query on a Kysely instance (or transaction) and return its rows, typed from the query. */
|
|
20
25
|
export async function query<Q extends AnyQuery>(db: KyselyExecutor, q: Q): Promise<RowType<Q>[]> {
|
|
21
|
-
const result = await run<RowType<Q>>(db, q);
|
|
26
|
+
const result = await run<RowType<Q>>(db, q.text, q.values);
|
|
22
27
|
return result.rows;
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
/** Run a statement for its side effect and return the affected row count (`numAffectedRows`, or 0). */
|
|
26
31
|
export async function execute(db: KyselyExecutor, q: AnyQuery): Promise<number> {
|
|
27
|
-
const result = await run<unknown>(db, q);
|
|
32
|
+
const result = await run<unknown>(db, q.text, q.values);
|
|
28
33
|
return Number(result.numAffectedRows ?? 0n);
|
|
29
34
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createSql as createCoreSql, type DefaultTypeMap, type Sql } from "@typesql/core";
|
|
2
|
+
import { executor, type KyselyExecutor } from "./client.js";
|
|
2
3
|
import type { FromKysely, KyselyOptions, KyselyOverrides } from "./from-kysely.js";
|
|
3
4
|
|
|
5
|
+
export { NoResultError, type Executor } from "@typesql/core";
|
|
4
6
|
export type { FromKysely, KyselyOverrides, KyselyOptions, TableOverride, ColumnOverride, InferColumn, SnakeCase } from "./from-kysely.js";
|
|
5
|
-
export { query, execute, type KyselyExecutor } from "./client.js";
|
|
7
|
+
export { query, execute, executor, type KyselyExecutor } from "./client.js";
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* `createSql` from core with a Kysely `DB` interface as the schema:
|
|
@@ -11,12 +13,14 @@ export { query, execute, type KyselyExecutor } from "./client.js";
|
|
|
11
13
|
* const sql = createSql<DB>();
|
|
12
14
|
* const sql = createSql<DB, PgTypeMap, { users: { id: "int8" } }>();
|
|
13
15
|
* const sql = createSql<DB, DefaultTypeMap, {}, { camelCase: true }>();
|
|
16
|
+
*
|
|
17
|
+
* With a `db` (a `Kysely` instance or transaction), the queries' `execute*` methods run on it.
|
|
14
18
|
*/
|
|
15
19
|
export function createSql<
|
|
16
20
|
DB,
|
|
17
21
|
TM = DefaultTypeMap,
|
|
18
22
|
Overrides extends KyselyOverrides = {},
|
|
19
23
|
Options extends KyselyOptions = {},
|
|
20
|
-
>(): Sql<FromKysely<DB, Overrides, Options>, TM> {
|
|
21
|
-
return createCoreSql<FromKysely<DB, Overrides, Options>, TM>();
|
|
24
|
+
>(db?: KyselyExecutor): Sql<FromKysely<DB, Overrides, Options>, TM> {
|
|
25
|
+
return createCoreSql<FromKysely<DB, Overrides, Options>, TM>(db && executor(db));
|
|
22
26
|
}
|