@art-ws/db-context 1.0.4 → 2.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/{db-client → es/db-client}/db-client.d.ts +5 -4
- package/dist/es/db-client/db-client.js +1 -0
- package/dist/{db-client → es/db-client}/db-query-base.d.ts +3 -2
- package/dist/{db-client → es/db-client}/db-query-base.js +4 -9
- package/dist/{db-client → es/db-client}/index.d.ts +0 -1
- package/dist/es/db-client/index.js +3 -0
- package/dist/{db-context → es/db-context}/db-context.d.ts +6 -5
- package/dist/{db-context → es/db-context}/db-context.js +20 -11
- package/dist/es/db-context/db-model.d.ts +28 -0
- package/dist/es/db-context/db-model.js +235 -0
- package/dist/{db-context → es/db-context}/index.d.ts +0 -1
- package/dist/es/db-context/index.js +4 -0
- package/dist/{db-context → es/db-context}/types.d.ts +11 -4
- package/dist/es/db-context/types.js +1 -0
- package/dist/{index.d.ts → es/index.d.ts} +0 -1
- package/dist/es/index.js +5 -0
- package/dist/es/pg/index.d.ts +1 -0
- package/dist/es/pg/index.js +2 -0
- package/dist/{pg → es/pg}/pg-pool-base.d.ts +2 -2
- package/dist/{pg → es/pg}/pg-pool-base.js +27 -18
- package/dist/{pg-db-client → es/pg-db-client}/index.d.ts +0 -1
- package/dist/es/pg-db-client/index.js +3 -0
- package/dist/es/pg-db-client/pg-db-client.d.ts +13 -0
- package/dist/{pg-db-client → es/pg-db-client}/pg-db-client.js +15 -14
- package/dist/{pg-db-client → es/pg-db-client}/pg-db-query.d.ts +4 -3
- package/dist/{pg-db-client → es/pg-db-client}/pg-db-query.js +14 -8
- package/dist/es/pg-db-client/pg-type-parser.d.ts +10 -0
- package/dist/es/pg-db-client/pg-type-parser.js +57 -0
- package/package.json +24 -55
- package/dist/db-client/db-client.d.ts.map +0 -1
- package/dist/db-client/db-client.js +0 -3
- package/dist/db-client/db-client.js.map +0 -1
- package/dist/db-client/db-query-base.d.ts.map +0 -1
- package/dist/db-client/db-query-base.js.map +0 -1
- package/dist/db-client/index.d.ts.map +0 -1
- package/dist/db-client/index.js +0 -7
- package/dist/db-client/index.js.map +0 -1
- package/dist/db-context/db-context.d.ts.map +0 -1
- package/dist/db-context/db-context.js.map +0 -1
- package/dist/db-context/db-model.d.ts +0 -12
- package/dist/db-context/db-model.d.ts.map +0 -1
- package/dist/db-context/db-model.js +0 -56
- package/dist/db-context/db-model.js.map +0 -1
- package/dist/db-context/index.d.ts.map +0 -1
- package/dist/db-context/index.js +0 -8
- package/dist/db-context/index.js.map +0 -1
- package/dist/db-context/types.d.ts.map +0 -1
- package/dist/db-context/types.js +0 -3
- package/dist/db-context/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/pg/index.d.ts +0 -2
- package/dist/pg/index.d.ts.map +0 -1
- package/dist/pg/index.js +0 -6
- package/dist/pg/index.js.map +0 -1
- package/dist/pg/pg-pool-base.d.ts.map +0 -1
- package/dist/pg/pg-pool-base.js.map +0 -1
- package/dist/pg/pg-pool.d.ts +0 -24
- package/dist/pg/pg-pool.d.ts.map +0 -1
- package/dist/pg/pg-pool.js +0 -53
- package/dist/pg/pg-pool.js.map +0 -1
- package/dist/pg/pg-result.d.ts +0 -11
- package/dist/pg/pg-result.d.ts.map +0 -1
- package/dist/pg/pg-result.js +0 -22
- package/dist/pg/pg-result.js.map +0 -1
- package/dist/pg-db-client/index.d.ts.map +0 -1
- package/dist/pg-db-client/index.js +0 -7
- package/dist/pg-db-client/index.js.map +0 -1
- package/dist/pg-db-client/pg-db-client-base.d.ts +0 -14
- package/dist/pg-db-client/pg-db-client-base.d.ts.map +0 -1
- package/dist/pg-db-client/pg-db-client-base.js +0 -43
- package/dist/pg-db-client/pg-db-client-base.js.map +0 -1
- package/dist/pg-db-client/pg-db-client.d.ts +0 -14
- package/dist/pg-db-client/pg-db-client.d.ts.map +0 -1
- package/dist/pg-db-client/pg-db-client.js.map +0 -1
- package/dist/pg-db-client/pg-db-query.d.ts.map +0 -1
- package/dist/pg-db-client/pg-db-query.js.map +0 -1
@@ -1,23 +1,26 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const common_1 = require("@art-ws/common");
|
5
|
-
const slf_1 = require("@art-ws/slf");
|
1
|
+
import { racePromise } from "@art-ws/common";
|
2
|
+
import { getLogger } from "@art-ws/slf";
|
3
|
+
import { initPgTypesParsers } from "./pg-type-parser";
|
6
4
|
// https://node-postgres.com/api/client
|
7
5
|
// https://github.com/brianc/node-pg-types
|
8
|
-
|
6
|
+
initPgTypesParsers();
|
7
|
+
export class PgDbClient {
|
8
|
+
pgClientFactory;
|
9
|
+
logger = getLogger(PgDbClient);
|
9
10
|
constructor(pgClientFactory) {
|
10
11
|
this.pgClientFactory = pgClientFactory;
|
11
|
-
this.logger = slf_1.getLogger(PgDbClient);
|
12
12
|
}
|
13
|
+
pgClient;
|
13
14
|
dispose() {
|
14
|
-
|
15
|
-
|
15
|
+
const { pgClient, logger } = this;
|
16
|
+
if (pgClient) {
|
17
|
+
logger.trace(() => ["dispose"]);
|
18
|
+
pgClient.release();
|
16
19
|
}
|
17
20
|
}
|
18
21
|
async ensureClient() {
|
19
22
|
this.logger.trace(() => ["ensureClient"]);
|
20
|
-
return await
|
23
|
+
return await racePromise("ensureClient", async () => {
|
21
24
|
this.logger.trace(() => ["ensureClient(racePromise)"]);
|
22
25
|
if (!this.pgClient) {
|
23
26
|
this.logger.trace(() => ["call pgClientFactory"]);
|
@@ -28,7 +31,7 @@ class PgDbClient {
|
|
28
31
|
}
|
29
32
|
async queryInternal(queryConfig) {
|
30
33
|
await this.ensureClient();
|
31
|
-
this.logger.
|
34
|
+
this.logger.debug(() => [queryConfig, "queryInternal"]);
|
32
35
|
const result = await this.pgClient.query(queryConfig);
|
33
36
|
this.logger.trace(() => [{ result, queryConfig }, "QueryResult"]);
|
34
37
|
return result;
|
@@ -37,7 +40,5 @@ class PgDbClient {
|
|
37
40
|
await this.ensureClient();
|
38
41
|
return this.pgClient;
|
39
42
|
}
|
40
|
-
async cancel(
|
43
|
+
async cancel(_reason) { }
|
41
44
|
}
|
42
|
-
exports.PgDbClient = PgDbClient;
|
43
|
-
//# sourceMappingURL=pg-db-client.js.map
|
@@ -1,13 +1,14 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import type { PoolClient } from "pg";
|
2
|
+
import type { DbQueryConstructorArgs } from "../db-client";
|
3
3
|
import { DbQueryBase } from "../db-client/db-query-base";
|
4
4
|
export declare class PgDbQuery<T> extends DbQueryBase<T> {
|
5
5
|
private args;
|
6
6
|
static FACTORY: (args: DbQueryConstructorArgs<PoolClient, unknown[]>) => PgDbQuery<unknown>;
|
7
7
|
constructor(args: DbQueryConstructorArgs<PoolClient, any[]>);
|
8
|
+
getName(): string;
|
8
9
|
private getQueryConfig;
|
9
10
|
private getPgDbClient;
|
11
|
+
exec(): Promise<number>;
|
10
12
|
asArray(): Promise<T[]>;
|
11
13
|
cancel(reason?: string | Error): Promise<void>;
|
12
14
|
}
|
13
|
-
//# sourceMappingURL=pg-db-query.d.ts.map
|
@@ -1,12 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
import { DbQueryBase } from "../db-client/db-query-base";
|
2
|
+
import { PgDbClient } from "./pg-db-client";
|
3
|
+
export class PgDbQuery extends DbQueryBase {
|
4
|
+
args;
|
5
|
+
static FACTORY = (args) => new PgDbQuery(args);
|
6
6
|
constructor(args) {
|
7
7
|
super();
|
8
8
|
this.args = args;
|
9
9
|
}
|
10
|
+
getName() {
|
11
|
+
return this.args.name || "pg-db-query";
|
12
|
+
}
|
10
13
|
getQueryConfig() {
|
11
14
|
const { sql: text, params: values } = this.args;
|
12
15
|
return { text, values: values };
|
@@ -14,6 +17,12 @@ class PgDbQuery extends db_query_base_1.DbQueryBase {
|
|
14
17
|
async getPgDbClient() {
|
15
18
|
return (await this.args.dbClientFactory());
|
16
19
|
}
|
20
|
+
async exec() {
|
21
|
+
const dbClient = await this.getPgDbClient();
|
22
|
+
const queryResult = await dbClient.queryInternal(this.getQueryConfig());
|
23
|
+
const { rowCount } = queryResult;
|
24
|
+
return rowCount || 0;
|
25
|
+
}
|
17
26
|
async asArray() {
|
18
27
|
const dbClient = await this.getPgDbClient();
|
19
28
|
const queryResult = await dbClient.queryInternal(this.getQueryConfig());
|
@@ -25,6 +34,3 @@ class PgDbQuery extends db_query_base_1.DbQueryBase {
|
|
25
34
|
await dbClient.cancel(reason);
|
26
35
|
}
|
27
36
|
}
|
28
|
-
exports.PgDbQuery = PgDbQuery;
|
29
|
-
PgDbQuery.FACTORY = (args) => new PgDbQuery(args);
|
30
|
-
//# sourceMappingURL=pg-db-query.js.map
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare function initPgFloatParsers(): void;
|
2
|
+
export declare function initPgIntParsers(): void;
|
3
|
+
export declare enum PgTypeId {
|
4
|
+
_int2 = 1005,
|
5
|
+
_int4 = 1007,
|
6
|
+
_int8 = 1016
|
7
|
+
}
|
8
|
+
export declare function initPgNumberArrayParsers(): void;
|
9
|
+
export declare function initPgDateParsers(): void;
|
10
|
+
export declare function initPgTypesParsers(): void;
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { types } from "pg";
|
2
|
+
// https://github.com/brianc/node-postgres/issues/811
|
3
|
+
// https://github.com/brianc/node-pg-types
|
4
|
+
// SELECT * FROM pg_type where typcategory = 'N'
|
5
|
+
// https://github.com/brianc/node-pg-types/blob/master/lib/builtins.js
|
6
|
+
export function initPgFloatParsers() {
|
7
|
+
;
|
8
|
+
[
|
9
|
+
types.builtins.NUMERIC,
|
10
|
+
types.builtins.FLOAT4,
|
11
|
+
types.builtins.FLOAT8,
|
12
|
+
].forEach((oid) => {
|
13
|
+
types.setTypeParser(oid, parseFloat);
|
14
|
+
});
|
15
|
+
}
|
16
|
+
export function initPgIntParsers() {
|
17
|
+
;
|
18
|
+
[types.builtins.INT2, types.builtins.INT4, types.builtins.INT8].forEach((oid) => {
|
19
|
+
types.setTypeParser(oid, Number);
|
20
|
+
});
|
21
|
+
}
|
22
|
+
// https://github.com/brianc/node-pg-types/blob/master/lib/textParsers.js
|
23
|
+
export var PgTypeId;
|
24
|
+
(function (PgTypeId) {
|
25
|
+
PgTypeId[PgTypeId["_int2"] = 1005] = "_int2";
|
26
|
+
PgTypeId[PgTypeId["_int4"] = 1007] = "_int4";
|
27
|
+
PgTypeId[PgTypeId["_int8"] = 1016] = "_int8";
|
28
|
+
})(PgTypeId || (PgTypeId = {}));
|
29
|
+
function parseNumberArray(value) {
|
30
|
+
return value ? value.map(Number) : value;
|
31
|
+
}
|
32
|
+
export function initPgNumberArrayParsers() {
|
33
|
+
;
|
34
|
+
[PgTypeId._int2, PgTypeId._int4, PgTypeId._int8].forEach((oid) => {
|
35
|
+
const builtinTypeParser = types.getTypeParser(oid);
|
36
|
+
types.setTypeParser(oid, (value) => {
|
37
|
+
return parseNumberArray(builtinTypeParser(value));
|
38
|
+
});
|
39
|
+
});
|
40
|
+
}
|
41
|
+
function noop(value) {
|
42
|
+
return value;
|
43
|
+
}
|
44
|
+
// https://github.com/brianc/node-postgres/issues/818
|
45
|
+
// SELECT typname, oid FROM pg_type where typcategory = 'D' and typnamespace = 11
|
46
|
+
export function initPgDateParsers() {
|
47
|
+
;
|
48
|
+
[types.builtins.DATE, types.builtins.TIME].forEach((oid) => {
|
49
|
+
types.setTypeParser(oid, noop);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
export function initPgTypesParsers() {
|
53
|
+
initPgFloatParsers();
|
54
|
+
initPgIntParsers();
|
55
|
+
initPgNumberArrayParsers();
|
56
|
+
initPgDateParsers();
|
57
|
+
}
|
package/package.json
CHANGED
@@ -1,67 +1,36 @@
|
|
1
1
|
{
|
2
2
|
"name": "@art-ws/db-context",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.2",
|
4
4
|
"description": "db-context",
|
5
5
|
"license": "UNLICENSED",
|
6
|
+
"type": "module",
|
6
7
|
"main": "dist/index.js",
|
7
|
-
"types": "dist/
|
8
|
-
"scripts": {
|
9
|
-
"build": "tsc",
|
10
|
-
"watch": "tsc --watch",
|
11
|
-
"clean": "rimraf dist coverage *.tgz *.tsbuildinfo *.log",
|
12
|
-
"lint": "eslint --fix --ext .ts .",
|
13
|
-
"test": "jest",
|
14
|
-
"fmt": "prettier --write .",
|
15
|
-
"pack": "pnpm pack",
|
16
|
-
"link": "pnpm link",
|
17
|
-
"unlink": "pnpm unlink",
|
18
|
-
"ncu": "pnpx ncu",
|
19
|
-
"upgrade": "pnpx ncu -u",
|
20
|
-
"madge": "pnpx madge --circular --extensions ts .",
|
21
|
-
"cti": "pnpx cti -n -b -v ./src"
|
22
|
-
},
|
8
|
+
"types": "dist/es",
|
23
9
|
"files": [
|
24
10
|
"dist"
|
25
11
|
],
|
26
|
-
"engines": {
|
27
|
-
"node": ">=14"
|
28
|
-
},
|
29
12
|
"dependencies": {
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"@art-ws/
|
33
|
-
"
|
34
|
-
"@types/pg": "7.14.9"
|
13
|
+
"pg": "^8.16.3",
|
14
|
+
"tslib": "^2.8.1",
|
15
|
+
"@art-ws/common": "2.0.2",
|
16
|
+
"@art-ws/slf": "2.0.0"
|
35
17
|
},
|
36
18
|
"devDependencies": {
|
37
|
-
"@
|
38
|
-
"@
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"@art-ws/
|
42
|
-
"@
|
43
|
-
|
44
|
-
|
45
|
-
"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"
|
50
|
-
"
|
51
|
-
"
|
52
|
-
"
|
53
|
-
"jest": "26.6.3",
|
54
|
-
"ts-jest": "26.5.1",
|
55
|
-
"@types/jest": "26.0.20",
|
56
|
-
"jest-standard-reporter": "2.0.0",
|
57
|
-
"chai": "4.3.0",
|
58
|
-
"@types/chai": "4.2.15",
|
59
|
-
"eslint-config-standard-with-typescript": "20.0.0",
|
60
|
-
"eslint-config-prettier": "7.2.0",
|
61
|
-
"prettier": "2.2.1",
|
62
|
-
"madge": "4.0.0",
|
63
|
-
"npm-check-updates": "11.1.1",
|
64
|
-
"@art-ws/package-template": "latest",
|
65
|
-
"create-ts-index": "1.13.6"
|
19
|
+
"@types/node": "^24.3.0",
|
20
|
+
"@types/pg": "^8.15.5",
|
21
|
+
"eslint": "^9.34.0",
|
22
|
+
"typescript": "^5.9.2",
|
23
|
+
"@art-ws/config-eslint": "2.0.3",
|
24
|
+
"@art-ws/config-ts": "2.0.6"
|
25
|
+
},
|
26
|
+
"scripts": {
|
27
|
+
"build": "tsc",
|
28
|
+
"check": "pnpm clean && pnpm build && pnpm lint && pnpm test",
|
29
|
+
"clean": "rm -rf dist",
|
30
|
+
"clean:nm": "rm -rf node_modules",
|
31
|
+
"lint": "eslint .",
|
32
|
+
"test": "exit 0",
|
33
|
+
"test:watch": "exit 0",
|
34
|
+
"watch": "tsc --watch"
|
66
35
|
}
|
67
|
-
}
|
36
|
+
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-client.d.ts","sourceRoot":"","sources":["../../src/db-client/db-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,oBAAY,eAAe,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3D,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,CAAC,CAAA;CACX;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IAClB,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACvB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,IAAI,CAAC;IACpD,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC5E,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;CACpC;AAED,oBAAY,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAC9D,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAC5B,CAAC,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-client.js","sourceRoot":"","sources":["../../src/db-client/db-client.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-query-base.d.ts","sourceRoot":"","sources":["../../src/db-client/db-query-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,8BAAsB,WAAW,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,KAAK,EACnC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,EAC9D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAC7D,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAW7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;IAMpB,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;IAKnB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAKlB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIxC,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAI5C,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAEhC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CACxD"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-query-base.js","sourceRoot":"","sources":["../../src/db-client/db-query-base.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IAC/B,IAAI,CACF,WAA8D,EAC9D,UAA8D;QAE9D,OAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CACzB,CAAC,IAAI,EAAE,EAAE;YACP,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7C,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1C,CAAC,CAC8C,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACxE,OAAO,IAAI,CAAC,CAAC,CAAM,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,OAAO,IAAI,CAAC,CAAC,CAAM,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAM,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;IAED,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CAKF;AA1CD,kCA0CC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db-client/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA"}
|
package/dist/db-client/index.js
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// created from 'create-ts-index'
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
tslib_1.__exportStar(require("./db-client"), exports);
|
6
|
-
tslib_1.__exportStar(require("./db-query-base"), exports);
|
7
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db-client/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,sDAA2B;AAC3B,0DAA+B"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-context.d.ts","sourceRoot":"","sources":["../../src/db-context/db-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,OAAO,EACP,cAAc,EACd,WAAW,EACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAA;AAEzD,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;IASzE,OAAO,CAAC,cAAc;IARxB,OAAO,CAAC,QAAQ,CAAmB;IAEnC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,IAAI,CAA8B;gBAGxC,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,EACjC,cAAc,EAAE,cAAc;IAexC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI9B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ;IAIzC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;IAQlC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOrD,OAAO,IAAI,IAAI;CAKhB"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-context.js","sourceRoot":"","sources":["../../src/db-context/db-context.ts"],"names":[],"mappings":";;;AAQA,2CAAyD;AAEzD,MAAa,aAAa;IAOxB,YACE,eAAyC,EACjC,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QALhC,cAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;QACxC,SAAI,GAAG,IAAI,GAAG,EAAoB,CAAA;QAMxC,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CACtB,oBAAW,CACT,aAAa,EACb,KAAK,IAAI,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAA;aACxC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC,EACD,IAAI,CACL,CAAA;IACL,CAAC;IAED,UAAU,CAAI,IAAY;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAe,CAAM,CAAA;IACvC,CAAC;IAES,GAAG,CAAC,IAAa,EAAE,EAAY;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC;IAES,GAAG,CAAI,IAAa;QAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;SACjC;QACD,OAAO,GAAQ,CAAA;IACjB,CAAC;IAED,UAAU,CAAI,IAA0B;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC;YACzB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACzC,GAAG,IAAI;SACR,CAAe,CAAA;IAClB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;SACxB;IACH,CAAC;CACF;AApDD,sCAoDC"}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { DbContext } from "./types";
|
2
|
-
export declare class DbModel<T> implements DbContext.Model, DbContext.ModelApi<T> {
|
3
|
-
dbContext: DbContext.Context;
|
4
|
-
meta: DbContext.ModelInfo;
|
5
|
-
logger: import("@art-ws/slf").Logger;
|
6
|
-
primaryKeys: DbContext.Column[];
|
7
|
-
constructor(dbContext: DbContext.Context, meta: DbContext.ModelInfo);
|
8
|
-
findAll(paging?: DbContext.Paging): DbContext.Query<T>;
|
9
|
-
findById(id: unknown): DbContext.Query<T>;
|
10
|
-
findBy(values: Partial<T>): DbContext.Query<T>;
|
11
|
-
}
|
12
|
-
//# sourceMappingURL=db-model.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-model.d.ts","sourceRoot":"","sources":["../../src/db-context/db-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAoBnC,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAM9D,SAAS,EAAE,SAAS,CAAC,OAAO;IAC5B,IAAI,EAAE,SAAS,CAAC,SAAS;IANlC,MAAM,+BAAqB;IAE3B,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,CAAK;gBAG3B,SAAS,EAAE,SAAS,CAAC,OAAO,EAC5B,IAAI,EAAE,SAAS,CAAC,SAAS;IAMlC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAKtD,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAUzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CAU/C"}
|
@@ -1,56 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DbModel = void 0;
|
4
|
-
const slf_1 = require("@art-ws/slf");
|
5
|
-
function toPagingSQL(o, withDefaults) {
|
6
|
-
let s = "";
|
7
|
-
if (!o) {
|
8
|
-
if (withDefaults) {
|
9
|
-
o = {
|
10
|
-
limit: 100,
|
11
|
-
offset: 0,
|
12
|
-
};
|
13
|
-
}
|
14
|
-
else {
|
15
|
-
return s;
|
16
|
-
}
|
17
|
-
}
|
18
|
-
if (o.limit)
|
19
|
-
s += ` limit ${o.limit}`;
|
20
|
-
if (o.offset)
|
21
|
-
s += ` offset ${o.offset}`;
|
22
|
-
return s;
|
23
|
-
}
|
24
|
-
class DbModel {
|
25
|
-
constructor(dbContext, meta) {
|
26
|
-
this.dbContext = dbContext;
|
27
|
-
this.meta = meta;
|
28
|
-
this.logger = slf_1.getLogger(DbModel);
|
29
|
-
this.primaryKeys = [];
|
30
|
-
this.primaryKeys = meta.columns.filter((col) => col.isPrimaryKey);
|
31
|
-
}
|
32
|
-
// https://stackoverflow.com/questions/3984643/equivalent-of-found-rows-function-in-postgresql/22353886#22353886
|
33
|
-
findAll(paging) {
|
34
|
-
const sql = `select * from ${this.meta.table} ${toPagingSQL(paging, true)}`;
|
35
|
-
return this.dbContext.getDbQuery({ sql, params: [] });
|
36
|
-
}
|
37
|
-
findById(id) {
|
38
|
-
if (this.primaryKeys?.length !== 1)
|
39
|
-
throw Error(`Table '${this.meta.table}' must have just a single primary key, instead of ${this.primaryKeys.length}`);
|
40
|
-
const pk = this.primaryKeys[0];
|
41
|
-
const sql = `select * from ${this.meta.table} where ${pk.name} = $1`;
|
42
|
-
return this.dbContext.getDbQuery({ sql, params: [id] });
|
43
|
-
}
|
44
|
-
findBy(values) {
|
45
|
-
const params = [];
|
46
|
-
const s = [];
|
47
|
-
Object.keys(values).forEach((key, i) => {
|
48
|
-
s.push(`( ${key} = $${i + 1} )`);
|
49
|
-
params.push(values[key]);
|
50
|
-
});
|
51
|
-
const sql = `select * from ${this.meta.table} where ${s.join(" and ")}`;
|
52
|
-
return this.dbContext.getDbQuery({ sql, params });
|
53
|
-
}
|
54
|
-
}
|
55
|
-
exports.DbModel = DbModel;
|
56
|
-
//# sourceMappingURL=db-model.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"db-model.js","sourceRoot":"","sources":["../../src/db-context/db-model.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AAEvC,SAAS,WAAW,CAAC,CAAoB,EAAE,YAAsB;IAC/D,IAAI,CAAC,GAAG,EAAE,CAAA;IACV,IAAI,CAAC,CAAC,EAAE;QACN,IAAI,YAAY,EAAE;YAChB,CAAC,GAAG;gBACF,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,CAAC;aACV,CAAA;SACF;aAAM;YACL,OAAO,CAAC,CAAA;SACT;KACF;IACD,IAAI,CAAC,CAAC,KAAK;QAAE,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;IACrC,IAAI,CAAC,CAAC,MAAM;QAAE,CAAC,IAAI,WAAW,CAAC,CAAC,MAAM,EAAE,CAAA;IACxC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAa,OAAO;IAKlB,YACS,SAA4B,EAC5B,IAAyB;QADzB,cAAS,GAAT,SAAS,CAAmB;QAC5B,SAAI,GAAJ,IAAI,CAAqB;QANlC,WAAM,GAAG,eAAS,CAAC,OAAO,CAAC,CAAA;QAE3B,gBAAW,GAAuB,EAAE,CAAA;QAMlC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACnE,CAAC;IAED,gHAAgH;IAChH,OAAO,CAAC,MAAyB;QAC/B,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAA;QAC3E,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,QAAQ,CAAC,EAAW;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC;YAChC,MAAM,KAAK,CACT,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,qDAAqD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CACxG,CAAA;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,IAAI,OAAO,CAAA;QACpE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,MAAkB;QACvB,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACrC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACvE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;IACtD,CAAC;CACF;AAtCD,0BAsCC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db-context/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
package/dist/db-context/index.js
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// created from 'create-ts-index'
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
tslib_1.__exportStar(require("./db-context"), exports);
|
6
|
-
tslib_1.__exportStar(require("./db-model"), exports);
|
7
|
-
tslib_1.__exportStar(require("./types"), exports);
|
8
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db-context/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,uDAA4B;AAC5B,qDAA0B;AAC1B,kDAAuB"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db-context/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAE9E,yBAAiB,SAAS,CAAC;IACzB,UAAiB,MAAM;QACrB,IAAI,EAAE,MAAM,CAAA;QACZ,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,MAAM,CAAC,EAAE,GAAG,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,GAAG,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;IAED,UAAiB,SAAS;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACvB;IAED,UAAiB,MAAM;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB;IAED,UAAiB,KAAK;QACpB,SAAS,EAAE,OAAO,CAAA;KACnB;IAED,KAAY,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IAEjC,UAAiB,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;KACrC;IAED,UAAiB,OAAO;QACtB,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;QACrC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;KAC/B;CACF"}
|
package/dist/db-context/types.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/db-context/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,MAAM,CAAA;AACpB,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// created from 'create-ts-index'
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
tslib_1.__exportStar(require("./db-client"), exports);
|
6
|
-
tslib_1.__exportStar(require("./db-context"), exports);
|
7
|
-
tslib_1.__exportStar(require("./pg"), exports);
|
8
|
-
tslib_1.__exportStar(require("./pg-db-client"), exports);
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,sDAA2B;AAC3B,uDAA4B;AAC5B,+CAAoB;AACpB,yDAA8B"}
|
package/dist/pg/index.d.ts
DELETED
package/dist/pg/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAA"}
|
package/dist/pg/index.js
DELETED
package/dist/pg/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pg/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,yDAA8B"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-pool-base.d.ts","sourceRoot":"","sources":["../../src/pg/pg-pool-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,gBAAgB,CAAA;AAI7D,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,IAAI,CAAA;AAEjD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAeD,qBAAa,WAAW;IAGH,KAAK,EAAE,eAAe;IAAE,OAAO,CAAC,UAAU;IAF7D,MAAM,+BAAyB;gBAEZ,KAAK,EAAE,eAAe,EAAU,UAAU,EAAE,MAAM;IAE/D,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBjE;AAGD,qBAAa,MAAM;IAIE,GAAG,EAAE,MAAM;IAAS,OAAO,EAAE,mBAAmB;IAHnE,MAAM,+BAAoB;IAC1B,IAAI,EAAE,IAAI,CAAA;gBAES,GAAG,EAAE,MAAM,EAAS,OAAO,EAAE,mBAAmB;IAI7D,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAOpC,GAAG;CAMJ"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-pool-base.js","sourceRoot":"","sources":["../../src/pg/pg-pool-base.ts"],"names":[],"mappings":"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"}
|
package/dist/pg/pg-pool.d.ts
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
import { MemoryCacheBase } from "@art-ws/core";
|
2
|
-
import { Pool, PoolClient } from "pg";
|
3
|
-
export interface PgConnectionOptions {
|
4
|
-
PGHOST: string;
|
5
|
-
PGDATABASE: string;
|
6
|
-
PGPORT?: number;
|
7
|
-
PGUSER?: string;
|
8
|
-
PGPASSWORD?: string;
|
9
|
-
}
|
10
|
-
export declare class PgPoolsBase {
|
11
|
-
cache: MemoryCacheBase;
|
12
|
-
private timeToIdle;
|
13
|
-
constructor(cache: MemoryCacheBase, timeToIdle: number);
|
14
|
-
acquire(options: PgConnectionOptions): Promise<PoolClient>;
|
15
|
-
}
|
16
|
-
export declare class PgPool {
|
17
|
-
key: string;
|
18
|
-
options: PgConnectionOptions;
|
19
|
-
pool: Pool;
|
20
|
-
constructor(key: string, options: PgConnectionOptions);
|
21
|
-
acquire(): Promise<PoolClient>;
|
22
|
-
end(): void;
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=pg-pool.d.ts.map
|
package/dist/pg/pg-pool.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-pool.d.ts","sourceRoot":"","sources":["../../src/pg/pg-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,cAAc,CAAA;AAG3D,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,IAAI,CAAA;AAEjD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAeD,qBAAa,WAAW;IACH,KAAK,EAAE,eAAe;IAAE,OAAO,CAAC,UAAU;gBAA1C,KAAK,EAAE,eAAe,EAAU,UAAU,EAAE,MAAM;IAE/D,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAoBjE;AAGD,qBAAa,MAAM;IAGE,GAAG,EAAE,MAAM;IAAS,OAAO,EAAE,mBAAmB;IAFnE,IAAI,EAAE,IAAI,CAAA;gBAES,GAAG,EAAE,MAAM,EAAS,OAAO,EAAE,mBAAmB;IAI7D,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAKpC,GAAG;CAGJ"}
|
package/dist/pg/pg-pool.js
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.PgPool = exports.PgPoolsBase = void 0;
|
4
|
-
const core_1 = require("@art-ws/core");
|
5
|
-
// https://node-postgres.com/
|
6
|
-
// https://node-postgres.com/api/cursor
|
7
|
-
const pg_1 = require("pg");
|
8
|
-
const getPoolKey = (o) => `postgres://${o.PGHOST || "-"}:${o.PGPORT || "-"}/${o.PGDATABASE || "-"}`;
|
9
|
-
const toPoolConfig = (o) => {
|
10
|
-
return {
|
11
|
-
user: o.PGUSER || "postgres",
|
12
|
-
password: o.PGPASSWORD || "postgres",
|
13
|
-
database: o.PGDATABASE || "postgres",
|
14
|
-
port: o.PGPORT || 5432,
|
15
|
-
host: o.PGHOST || "localhost",
|
16
|
-
};
|
17
|
-
};
|
18
|
-
class PgPoolsBase {
|
19
|
-
constructor(cache, timeToIdle) {
|
20
|
-
this.cache = cache;
|
21
|
-
this.timeToIdle = timeToIdle;
|
22
|
-
}
|
23
|
-
async acquire(options) {
|
24
|
-
const key = getPoolKey(options);
|
25
|
-
return core_1.racePromise(key, async () => {
|
26
|
-
const pool = this.cache.getOrUpdate(key, () => new PgPool(key, options), {
|
27
|
-
timeToIdle: this.timeToIdle,
|
28
|
-
onRemove: (pool) => {
|
29
|
-
pool.end();
|
30
|
-
},
|
31
|
-
});
|
32
|
-
return pool.acquire();
|
33
|
-
}, this);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
exports.PgPoolsBase = PgPoolsBase;
|
37
|
-
// https://node-postgres.com/api/client
|
38
|
-
class PgPool {
|
39
|
-
constructor(key, options) {
|
40
|
-
this.key = key;
|
41
|
-
this.options = options;
|
42
|
-
this.pool = new pg_1.Pool(toPoolConfig(options));
|
43
|
-
}
|
44
|
-
async acquire() {
|
45
|
-
const client = await this.pool.connect();
|
46
|
-
return client;
|
47
|
-
}
|
48
|
-
end() {
|
49
|
-
this.pool.end();
|
50
|
-
}
|
51
|
-
}
|
52
|
-
exports.PgPool = PgPool;
|
53
|
-
//# sourceMappingURL=pg-pool.js.map
|
package/dist/pg/pg-pool.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../src/pg/pg-pool.ts"],"names":[],"mappings":";;;AAAA,uCAA2D;AAC3D,6BAA6B;AAC7B,uCAAuC;AACvC,2BAAiD;AAUjD,MAAM,UAAU,GAAG,CAAC,CAAsB,EAAE,EAAE,CAC5C,cAAc,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,EAAE,CAAA;AAE3E,MAAM,YAAY,GAAG,CAAC,CAAsB,EAAc,EAAE;IAC1D,OAAmB;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU;QAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU;QACpC,QAAQ,EAAE,CAAC,CAAC,UAAU,IAAI,UAAU;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;QACtB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;KAC9B,CAAA;AACH,CAAC,CAAA;AAED,MAAa,WAAW;IACtB,YAAmB,KAAsB,EAAU,UAAkB;QAAlD,UAAK,GAAL,KAAK,CAAiB;QAAU,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEzE,KAAK,CAAC,OAAO,CAAC,OAA4B;QACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,kBAAW,CAChB,GAAG,EACH,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CACzC,GAAG,EACH,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAC9B;gBACE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE;oBACzB,IAAI,CAAC,GAAG,EAAE,CAAA;gBACZ,CAAC;aACF,CACF,CAAA;YACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC,EACD,IAAI,CACL,CAAA;IACH,CAAC;CACF;AAvBD,kCAuBC;AAED,uCAAuC;AACvC,MAAa,MAAM;IAGjB,YAAmB,GAAW,EAAS,OAA4B;QAAhD,QAAG,GAAH,GAAG,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAqB;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,SAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IACjB,CAAC;CACF;AAfD,wBAeC"}
|
package/dist/pg/pg-result.d.ts
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
import { DbContext } from '../db-context/types';
|
2
|
-
import { PgDbClient } from '../pg-db-client/pg-db-client';
|
3
|
-
export declare class PgResult<T> implements DbContext.Result<T> {
|
4
|
-
dbClient: PgDbClient;
|
5
|
-
constructor(dbClient: PgDbClient);
|
6
|
-
single(): Promise<T>;
|
7
|
-
first(): Promise<T>;
|
8
|
-
asArray(): Promise<T[]>;
|
9
|
-
cancel(): Promise<void>;
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=pg-result.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-result.d.ts","sourceRoot":"","sources":["../../src/pg/pg-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAElC,QAAQ,EAAE,UAAU;gBAApB,QAAQ,EAAE,UAAU;IAEvC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;IAIpB,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;IAInB,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAIxB"}
|
package/dist/pg/pg-result.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.PgResult = void 0;
|
4
|
-
class PgResult {
|
5
|
-
constructor(dbClient) {
|
6
|
-
this.dbClient = dbClient;
|
7
|
-
}
|
8
|
-
single() {
|
9
|
-
throw new Error('Method not implemented.');
|
10
|
-
}
|
11
|
-
first() {
|
12
|
-
throw new Error('Method not implemented.');
|
13
|
-
}
|
14
|
-
asArray() {
|
15
|
-
throw new Error('Method not implemented.');
|
16
|
-
}
|
17
|
-
cancel() {
|
18
|
-
throw new Error('Method not implemented.');
|
19
|
-
}
|
20
|
-
}
|
21
|
-
exports.PgResult = PgResult;
|
22
|
-
//# sourceMappingURL=pg-result.js.map
|
package/dist/pg/pg-result.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pg-result.js","sourceRoot":"","sources":["../../src/pg/pg-result.ts"],"names":[],"mappings":";;;AAEA,MAAa,QAAQ;IAEnB,YAAmB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IAAE,CAAC;IAE1C,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CAEF;AApBD,4BAoBC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg-db-client/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA"}
|