@farming-labs/orm-kysely 0.0.8
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.cjs +55 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +17 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/package.json +40 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
createKyselyDriver: () => createKyselyDriver
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(index_exports);
|
|
26
|
+
var import_orm_sql = require("@farming-labs/orm-sql");
|
|
27
|
+
var import_kysely = require("kysely");
|
|
28
|
+
function toAffectedRows(value) {
|
|
29
|
+
if (typeof value === "bigint") return Number(value);
|
|
30
|
+
if (typeof value === "number") return value;
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
function createKyselyAdapter(db, dialect) {
|
|
34
|
+
return {
|
|
35
|
+
dialect,
|
|
36
|
+
async query(sql, params) {
|
|
37
|
+
const result = await db.executeQuery(import_kysely.CompiledQuery.raw(sql, [...params]));
|
|
38
|
+
return {
|
|
39
|
+
rows: result.rows ?? [],
|
|
40
|
+
affectedRows: toAffectedRows(result.numAffectedRows ?? result.numChangedRows)
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
async transaction(run) {
|
|
44
|
+
return db.transaction().execute(async (trx) => run(createKyselyAdapter(trx, dialect)));
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function createKyselyDriver(config) {
|
|
49
|
+
return (0, import_orm_sql.createSqlDriverFromAdapter)(createKyselyAdapter(config.db, config.dialect));
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
createKyselyDriver
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { OrmDriver, SchemaDefinition } from \"@farming-labs/orm\";\nimport { createSqlDriverFromAdapter, type SqlAdapterLike } from \"@farming-labs/orm-sql\";\nimport { CompiledQuery, type Compilable, type QueryResult } from \"kysely\";\n\nexport type KyselyDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type KyselyDatabaseLike = {\n executeQuery<R>(\n query: Readonly<ReturnType<typeof CompiledQuery.raw>> | Compilable<R>,\n ): Promise<Pick<QueryResult<R>, \"rows\" | \"numAffectedRows\" | \"numChangedRows\">>;\n transaction(): {\n execute<TResult>(run: (trx: KyselyDatabaseLike) => Promise<TResult>): Promise<TResult>;\n };\n};\n\nexport type KyselyDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db: KyselyDatabaseLike;\n dialect: KyselyDialect;\n};\n\nfunction toAffectedRows(value: bigint | number | undefined) {\n if (typeof value === \"bigint\") return Number(value);\n if (typeof value === \"number\") return value;\n return 0;\n}\n\nfunction createKyselyAdapter(db: KyselyDatabaseLike, dialect: KyselyDialect): SqlAdapterLike {\n return {\n dialect,\n async query(sql, params) {\n const result = await db.executeQuery(CompiledQuery.raw(sql, [...params]));\n\n return {\n rows: (result.rows ?? []) as Record<string, unknown>[],\n affectedRows: toAffectedRows(result.numAffectedRows ?? result.numChangedRows),\n };\n },\n async transaction(run) {\n return db.transaction().execute(async (trx) => run(createKyselyAdapter(trx, dialect)));\n },\n };\n}\n\nexport function createKyselyDriver<TSchema extends SchemaDefinition<any>>(\n config: KyselyDriverConfig<TSchema>,\n): OrmDriver<TSchema> {\n return createSqlDriverFromAdapter<TSchema>(createKyselyAdapter(config.db, config.dialect));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAgE;AAChE,oBAAiE;AAkBjE,SAAS,eAAe,OAAoC;AAC1D,MAAI,OAAO,UAAU,SAAU,QAAO,OAAO,KAAK;AAClD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO;AACT;AAEA,SAAS,oBAAoB,IAAwB,SAAwC;AAC3F,SAAO;AAAA,IACL;AAAA,IACA,MAAM,MAAM,KAAK,QAAQ;AACvB,YAAM,SAAS,MAAM,GAAG,aAAa,4BAAc,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;AAExE,aAAO;AAAA,QACL,MAAO,OAAO,QAAQ,CAAC;AAAA,QACvB,cAAc,eAAe,OAAO,mBAAmB,OAAO,cAAc;AAAA,MAC9E;AAAA,IACF;AAAA,IACA,MAAM,YAAY,KAAK;AACrB,aAAO,GAAG,YAAY,EAAE,QAAQ,OAAO,QAAQ,IAAI,oBAAoB,KAAK,OAAO,CAAC,CAAC;AAAA,IACvF;AAAA,EACF;AACF;AAEO,SAAS,mBACd,QACoB;AACpB,aAAO,2CAAoC,oBAAoB,OAAO,IAAI,OAAO,OAAO,CAAC;AAC3F;","names":[]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SchemaDefinition, OrmDriver } from '@farming-labs/orm';
|
|
2
|
+
import { CompiledQuery, Compilable, QueryResult } from 'kysely';
|
|
3
|
+
|
|
4
|
+
type KyselyDialect = "sqlite" | "mysql" | "postgres";
|
|
5
|
+
type KyselyDatabaseLike = {
|
|
6
|
+
executeQuery<R>(query: Readonly<ReturnType<typeof CompiledQuery.raw>> | Compilable<R>): Promise<Pick<QueryResult<R>, "rows" | "numAffectedRows" | "numChangedRows">>;
|
|
7
|
+
transaction(): {
|
|
8
|
+
execute<TResult>(run: (trx: KyselyDatabaseLike) => Promise<TResult>): Promise<TResult>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type KyselyDriverConfig<TSchema extends SchemaDefinition<any>> = {
|
|
12
|
+
db: KyselyDatabaseLike;
|
|
13
|
+
dialect: KyselyDialect;
|
|
14
|
+
};
|
|
15
|
+
declare function createKyselyDriver<TSchema extends SchemaDefinition<any>>(config: KyselyDriverConfig<TSchema>): OrmDriver<TSchema>;
|
|
16
|
+
|
|
17
|
+
export { type KyselyDatabaseLike, type KyselyDialect, type KyselyDriverConfig, createKyselyDriver };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SchemaDefinition, OrmDriver } from '@farming-labs/orm';
|
|
2
|
+
import { CompiledQuery, Compilable, QueryResult } from 'kysely';
|
|
3
|
+
|
|
4
|
+
type KyselyDialect = "sqlite" | "mysql" | "postgres";
|
|
5
|
+
type KyselyDatabaseLike = {
|
|
6
|
+
executeQuery<R>(query: Readonly<ReturnType<typeof CompiledQuery.raw>> | Compilable<R>): Promise<Pick<QueryResult<R>, "rows" | "numAffectedRows" | "numChangedRows">>;
|
|
7
|
+
transaction(): {
|
|
8
|
+
execute<TResult>(run: (trx: KyselyDatabaseLike) => Promise<TResult>): Promise<TResult>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type KyselyDriverConfig<TSchema extends SchemaDefinition<any>> = {
|
|
12
|
+
db: KyselyDatabaseLike;
|
|
13
|
+
dialect: KyselyDialect;
|
|
14
|
+
};
|
|
15
|
+
declare function createKyselyDriver<TSchema extends SchemaDefinition<any>>(config: KyselyDriverConfig<TSchema>): OrmDriver<TSchema>;
|
|
16
|
+
|
|
17
|
+
export { type KyselyDatabaseLike, type KyselyDialect, type KyselyDriverConfig, createKyselyDriver };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import { createSqlDriverFromAdapter } from "@farming-labs/orm-sql";
|
|
3
|
+
import { CompiledQuery } from "kysely";
|
|
4
|
+
function toAffectedRows(value) {
|
|
5
|
+
if (typeof value === "bigint") return Number(value);
|
|
6
|
+
if (typeof value === "number") return value;
|
|
7
|
+
return 0;
|
|
8
|
+
}
|
|
9
|
+
function createKyselyAdapter(db, dialect) {
|
|
10
|
+
return {
|
|
11
|
+
dialect,
|
|
12
|
+
async query(sql, params) {
|
|
13
|
+
const result = await db.executeQuery(CompiledQuery.raw(sql, [...params]));
|
|
14
|
+
return {
|
|
15
|
+
rows: result.rows ?? [],
|
|
16
|
+
affectedRows: toAffectedRows(result.numAffectedRows ?? result.numChangedRows)
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
async transaction(run) {
|
|
20
|
+
return db.transaction().execute(async (trx) => run(createKyselyAdapter(trx, dialect)));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function createKyselyDriver(config) {
|
|
25
|
+
return createSqlDriverFromAdapter(createKyselyAdapter(config.db, config.dialect));
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
createKyselyDriver
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { OrmDriver, SchemaDefinition } from \"@farming-labs/orm\";\nimport { createSqlDriverFromAdapter, type SqlAdapterLike } from \"@farming-labs/orm-sql\";\nimport { CompiledQuery, type Compilable, type QueryResult } from \"kysely\";\n\nexport type KyselyDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type KyselyDatabaseLike = {\n executeQuery<R>(\n query: Readonly<ReturnType<typeof CompiledQuery.raw>> | Compilable<R>,\n ): Promise<Pick<QueryResult<R>, \"rows\" | \"numAffectedRows\" | \"numChangedRows\">>;\n transaction(): {\n execute<TResult>(run: (trx: KyselyDatabaseLike) => Promise<TResult>): Promise<TResult>;\n };\n};\n\nexport type KyselyDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db: KyselyDatabaseLike;\n dialect: KyselyDialect;\n};\n\nfunction toAffectedRows(value: bigint | number | undefined) {\n if (typeof value === \"bigint\") return Number(value);\n if (typeof value === \"number\") return value;\n return 0;\n}\n\nfunction createKyselyAdapter(db: KyselyDatabaseLike, dialect: KyselyDialect): SqlAdapterLike {\n return {\n dialect,\n async query(sql, params) {\n const result = await db.executeQuery(CompiledQuery.raw(sql, [...params]));\n\n return {\n rows: (result.rows ?? []) as Record<string, unknown>[],\n affectedRows: toAffectedRows(result.numAffectedRows ?? result.numChangedRows),\n };\n },\n async transaction(run) {\n return db.transaction().execute(async (trx) => run(createKyselyAdapter(trx, dialect)));\n },\n };\n}\n\nexport function createKyselyDriver<TSchema extends SchemaDefinition<any>>(\n config: KyselyDriverConfig<TSchema>,\n): OrmDriver<TSchema> {\n return createSqlDriverFromAdapter<TSchema>(createKyselyAdapter(config.db, config.dialect));\n}\n"],"mappings":";AACA,SAAS,kCAAuD;AAChE,SAAS,qBAAwD;AAkBjE,SAAS,eAAe,OAAoC;AAC1D,MAAI,OAAO,UAAU,SAAU,QAAO,OAAO,KAAK;AAClD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO;AACT;AAEA,SAAS,oBAAoB,IAAwB,SAAwC;AAC3F,SAAO;AAAA,IACL;AAAA,IACA,MAAM,MAAM,KAAK,QAAQ;AACvB,YAAM,SAAS,MAAM,GAAG,aAAa,cAAc,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;AAExE,aAAO;AAAA,QACL,MAAO,OAAO,QAAQ,CAAC;AAAA,QACvB,cAAc,eAAe,OAAO,mBAAmB,OAAO,cAAc;AAAA,MAC9E;AAAA,IACF;AAAA,IACA,MAAM,YAAY,KAAK;AACrB,aAAO,GAAG,YAAY,EAAE,QAAQ,OAAO,QAAQ,IAAI,oBAAoB,KAAK,OAAO,CAAC,CAAC;AAAA,IACvF;AAAA,EACF;AACF;AAEO,SAAS,mBACd,QACoB;AACpB,SAAO,2BAAoC,oBAAoB,OAAO,IAAI,OAAO,OAAO,CAAC;AAC3F;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@farming-labs/orm-kysely",
|
|
3
|
+
"version": "0.0.8",
|
|
4
|
+
"files": [
|
|
5
|
+
"dist"
|
|
6
|
+
],
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.cjs",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"require": "./dist/index.cjs"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@farming-labs/orm": "0.0.8",
|
|
23
|
+
"@farming-labs/orm-sql": "0.0.8"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/pg": "^8.15.6",
|
|
27
|
+
"kysely": "^0.28.14",
|
|
28
|
+
"mysql2": "^3.15.2",
|
|
29
|
+
"pg": "^8.16.3",
|
|
30
|
+
"tsup": "^8.4.0"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"kysely": "^0.28.14"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsx ./scripts/build.ts",
|
|
37
|
+
"test": "vitest run --config vitest.local.config.ts",
|
|
38
|
+
"typecheck": "tsc --noEmit"
|
|
39
|
+
}
|
|
40
|
+
}
|