pogi 3.0.1 → 3.2.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.
Files changed (56) hide show
  1. package/.env +6 -5
  2. package/.vscode/launch.json +51 -12
  3. package/CHANGELOG.md +48 -0
  4. package/jest.config.js +31 -21
  5. package/jest.globalSetup.js +18 -0
  6. package/jest.globalTeardown.js +6 -0
  7. package/jest.setup.ts +22 -0
  8. package/lib/bin/generateInterface.js +40 -45
  9. package/lib/bin/generateInterface.js.map +1 -1
  10. package/lib/connectionOptions.d.ts +1 -1
  11. package/lib/connectionOptions.js +1 -2
  12. package/lib/index.d.ts +6 -6
  13. package/lib/index.js +3 -9
  14. package/lib/index.js.map +1 -1
  15. package/lib/pgConverters.js +12 -22
  16. package/lib/pgConverters.js.map +1 -1
  17. package/lib/pgConverters.test.js +7 -10
  18. package/lib/pgConverters.test.js.map +1 -1
  19. package/lib/pgDb.d.ts +7 -7
  20. package/lib/pgDb.js +551 -596
  21. package/lib/pgDb.js.map +1 -1
  22. package/lib/pgDb.test.js +546 -548
  23. package/lib/pgDb.test.js.map +1 -1
  24. package/lib/pgDbInterface.d.ts +2 -2
  25. package/lib/pgDbInterface.js +2 -5
  26. package/lib/pgDbInterface.js.map +1 -1
  27. package/lib/pgDbLogger.js +1 -2
  28. package/lib/pgDbOperators.js +3 -5
  29. package/lib/pgDbOperators.js.map +1 -1
  30. package/lib/pgDbOperators.test.js +155 -158
  31. package/lib/pgDbOperators.test.js.map +1 -1
  32. package/lib/pgSchema.d.ts +2 -2
  33. package/lib/pgSchema.js +7 -8
  34. package/lib/pgSchema.js.map +1 -1
  35. package/lib/pgTable.d.ts +8 -9
  36. package/lib/pgTable.js +178 -217
  37. package/lib/pgTable.js.map +1 -1
  38. package/lib/pgTableInterface.d.ts +1 -1
  39. package/lib/pgTableInterface.js +1 -2
  40. package/lib/pgTableInterface.js.map +1 -1
  41. package/lib/pgUtils.d.ts +10 -10
  42. package/lib/pgUtils.js +36 -45
  43. package/lib/pgUtils.js.map +1 -1
  44. package/lib/queryAble.d.ts +5 -6
  45. package/lib/queryAble.js +248 -264
  46. package/lib/queryAble.js.map +1 -1
  47. package/lib/queryAbleInterface.d.ts +5 -6
  48. package/lib/queryAbleInterface.js +1 -2
  49. package/lib/queryAbleInterface.js.map +1 -1
  50. package/lib/queryWhere.d.ts +1 -1
  51. package/lib/queryWhere.js +20 -23
  52. package/lib/queryWhere.js.map +1 -1
  53. package/lib/test/pgServiceRestartTest.js +617 -648
  54. package/lib/test/pgServiceRestartTest.js.map +1 -1
  55. package/package.json +27 -26
  56. package/tsconfig.json +6 -12
package/.env CHANGED
@@ -1,5 +1,6 @@
1
- PGDATABASE=labcup
2
- PGHOST=172.55.0.2
3
- PGPORT=
4
- PGPASSWORD="labcup"
5
- PGUSER="labcup"
1
+ #PGDATABASE=labcup
2
+ PGHOST=127.0.0.1
3
+ PGPASSWORD="postgres"
4
+ PGUSER="postgres"
5
+ PGPORT=5432
6
+ NODE_OPTIONS=--experimental-vm-modules
@@ -4,6 +4,15 @@
4
4
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
5
  "version": "0.2.0",
6
6
  "configurations": [
7
+ {
8
+ "name": "Attach",
9
+ "port": 9229,
10
+ "request": "attach",
11
+ "skipFiles": [
12
+ "<node_internals>/**"
13
+ ],
14
+ "type": "node"
15
+ },
7
16
  {
8
17
  "name": "Debug via npm",
9
18
  "type": "node",
@@ -23,16 +32,16 @@
23
32
  "cwd": "${workspaceFolder}",
24
33
  "program": "${workspaceFolder}/node_modules/jest/bin/jest",
25
34
  "args": [
26
- "--runInBand",
27
- "--config",
28
- "jest.config.js",
29
- "--runTestsByPath",
30
- "${relativeFile}",
31
- ],
32
- "console": "integratedTerminal",
33
- "internalConsoleOptions": "neverOpen",
34
- "disableOptimisticBPs": true,
35
- "skipFiles": [
35
+ "--runInBand",
36
+ "--config",
37
+ "jest.config.js",
38
+ "--runTestsByPath",
39
+ "${relativeFile}",
40
+ ],
41
+ "console": "integratedTerminal",
42
+ "internalConsoleOptions": "neverOpen",
43
+ "disableOptimisticBPs": true,
44
+ "skipFiles": [
36
45
  "fs.js",
37
46
  "typescript.js",
38
47
  "tslib.js",
@@ -50,10 +59,12 @@
50
59
  "--runInBand"
51
60
  ],
52
61
  "cwd": "${workspaceFolder}",
62
+ "env": {
63
+ "NODE_OPTIONS": "--experimental-vm-modules"
64
+ },
53
65
  "envFile": "${workspaceFolder}/.env",
54
66
  "console": "integratedTerminal",
55
67
  "internalConsoleOptions": "neverOpen",
56
- "disableOptimisticBPs": true,
57
68
  "outFiles": [
58
69
  "${workspaceFolder}/lib/*.js",
59
70
  "!${workspaceFolder}/node_modules/**/*",
@@ -62,6 +73,34 @@
62
73
  "${workspaceFolder}/node_modules/**/*.js",
63
74
  "<node_internals>/**/*.js"
64
75
  ],
65
- }
76
+ },
77
+ {
78
+ "type": "node",
79
+ "name": "vscode-jest-tests.v2",
80
+ "request": "launch",
81
+ "program": "${workspaceFolder}/node_modules/jest/bin/jest",
82
+ "args": [
83
+ "--runInBand",
84
+ "--config",
85
+ "jest.config.js",
86
+ "--testNamePattern",
87
+ "${jest.testNamePattern}",
88
+ "--runTestsByPath",
89
+ "${jest.testFile}"
90
+ ],
91
+ "env": {
92
+ "NODE_OPTIONS": "--experimental-vm-modules"
93
+ },
94
+ "cwd": "${workspaceFolder}",
95
+ "console": "integratedTerminal",
96
+ "internalConsoleOptions": "neverOpen",
97
+ "windows": {
98
+ "program": "${workspaceFolder}/node_modules/jest/bin/jest"
99
+ },
100
+ "skipFiles": [
101
+ "<node_internals>/**",
102
+ "**/node_modules/**",
103
+ ],
104
+ },
66
105
  ]
67
106
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,51 @@
1
+ # [3.2.0](https://github.com/holdfenytolvaj/pogi/compare/v3.1.0...v3.2.0) (2026-02-04)
2
+
3
+
4
+
5
+ # [3.1.0](https://github.com/holdfenytolvaj/pogi/compare/v3.0.5...v3.1.0) (2026-02-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * esm modules and package updates ([b7b231a](https://github.com/holdfenytolvaj/pogi/commit/b7b231a6a6ecdaf5a93cebda62064a32328146b5))
11
+
12
+
13
+
14
+ ## [3.0.5](https://github.com/holdfenytolvaj/pogi/compare/v3.0.4...v3.0.5) (2026-02-03)
15
+
16
+
17
+
18
+ ## [3.0.4](https://github.com/holdfenytolvaj/pogi/compare/v3.0.3...v3.0.4) (2026-02-03)
19
+
20
+
21
+
22
+ ## [3.0.3](https://github.com/holdfenytolvaj/pogi/compare/v3.0.2...v3.0.3) (2026-02-03)
23
+
24
+
25
+
26
+ ## [3.0.2](https://github.com/holdfenytolvaj/pogi/compare/v2.10.2...v3.0.2) (2026-02-03)
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * emitter leak ([3040a43](https://github.com/holdfenytolvaj/pogi/commit/3040a43c2cd6a8fee319f6dfe4cb66b7693e4443))
32
+ * oid fix ([bfaedd5](https://github.com/holdfenytolvaj/pogi/commit/bfaedd5a10810623d27be010e338abe324155494))
33
+ * oid fixes ([5af7146](https://github.com/holdfenytolvaj/pogi/commit/5af7146d727f0344e3411a2f9df1f02afbf998b2))
34
+ * orderBy ([33f2373](https://github.com/holdfenytolvaj/pogi/commit/33f23730a51c5c921c1e2f725ee1202b84138072))
35
+ * strict column escape ([e4eeff3](https://github.com/holdfenytolvaj/pogi/commit/e4eeff3558ccc3b0cd02875b46a95f19feb8781a))
36
+ * support node v24 ([234e44a](https://github.com/holdfenytolvaj/pogi/commit/234e44ac268213fc668913a3184be211d4f6d2b6))
37
+ * ts warnings ([a16231c](https://github.com/holdfenytolvaj/pogi/commit/a16231c5c1e5053d9c2cf4ef86a81990cc7963f4))
38
+ * typescript errors, build ([ac4210a](https://github.com/holdfenytolvaj/pogi/commit/ac4210a412717141151d0a1a870d3f23d0d450e8))
39
+ * wrongly implemented catch for non-transactional query ([f79de17](https://github.com/holdfenytolvaj/pogi/commit/f79de17a781e2d6c7873b4afc88eacbd020c836b))
40
+
41
+
42
+ ### Features
43
+
44
+ * improve sql injections prevention phase 2 ([880b9c4](https://github.com/holdfenytolvaj/pogi/commit/880b9c4b26b107b7bb3d2caae24319c761f95a4c))
45
+ * strictDDL for group by/order by/limit/offset ([54c866f](https://github.com/holdfenytolvaj/pogi/commit/54c866f1fcec9f1b8666c0a8a509663acc0af79c))
46
+
47
+
48
+
1
49
  # [2.11.0](https://github.com/holdfenytolvaj/pogi/compare/v2.10.0...v2.11.0) (2021-09-16)
2
50
 
3
51
  ### Features
package/jest.config.js CHANGED
@@ -1,23 +1,33 @@
1
- // For a detailed explanation regarding each configuration property, visit:
2
- // https://jestjs.io/docs/en/configuration.html
1
+ import 'dotenv/config';
2
+ //const { createDefaultEsmPreset } = require("ts-jest");
3
+ //import type { Config } from 'jest';
4
+ //import { createDefaultEsmPreset } from 'ts-jest';
3
5
 
4
- module.exports = {
5
- roots: ["./src"],
6
- testMatch: [
7
- "**/*.test.ts"
8
- ],
9
- testPathIgnorePatterns: ["/dist/", "/build/"],
6
+ // const tsJestTransformCfg = createDefaultPreset().transform;
10
7
 
11
- // A preset that is used as a base for Jest's configuration
12
- preset: "ts-jest",
13
- testEnvironment: "node",
14
- testRunner: "jest-jasmine2",
15
-
16
- globals: {
17
- "ts-jest": {
18
- tsconfig: "tsconfig.json",
19
- isolatedModules: true
20
- }
21
- },
22
- setupFiles: ['dotenv/config']
23
- };
8
+ /** @type {import("jest").Config} **/
9
+ export default {
10
+ rootDir: "./",
11
+ modulePaths: [
12
+ "<rootDir>"
13
+ ],
14
+ testMatch: [
15
+ "**/*.test.ts"
16
+ ],
17
+ testEnvironment: "node",
18
+ extensionsToTreatAsEsm: ['.ts'],
19
+ moduleNameMapper: {
20
+ "^(\\.{1,2}/.*)\\.js$": "$1",
21
+ },
22
+ // transform: {
23
+ // ...createDefaultEsmPreset().transform,
24
+ // },
25
+ transform: {
26
+ '^.+\\.tsx?$': '@swc/jest',
27
+ },
28
+ setupFilesAfterEnv: [
29
+ "<rootDir>/jest.setup.ts",
30
+ ],
31
+ globalSetup: "<rootDir>jest.globalSetup.js",
32
+ globalTeardown: "<rootDir>jest.globalTeardown.js",
33
+ };
@@ -0,0 +1,18 @@
1
+ let { GenericContainer, Wait } = require("testcontainers");
2
+ module.exports = async function (globalConfig, projectConfig) {
3
+ console.log('db starting...');
4
+ try {
5
+ globalThis.dbContainer = await new GenericContainer("postgres")
6
+ .withEnvironment({
7
+ POSTGRES_USER: process.env.PGUSER || 'postgres',
8
+ POSTGRES_PASSWORD: process.env.PGPASSWORD || 'postgres',
9
+ })
10
+ .withExposedPorts({ container: 5432, host: +process.env.PGPORT || 5432 })
11
+ .withWaitStrategy(Wait.forLogMessage("database system is ready to accept connections")) // it is a lie
12
+ .start();
13
+ await new Promise(r => setTimeout(r, 1000));
14
+ console.log('db started');
15
+ } catch (e) {
16
+ console.error('db start failed', e);
17
+ }
18
+ };
@@ -0,0 +1,6 @@
1
+ module.exports = async function (globalConfig, projectConfig) {
2
+ console.log('db stopping...');
3
+ globalThis.dbContainer?.stop();
4
+ console.log('db stopped');
5
+ };
6
+
package/jest.setup.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { expect, jest, test } from '@jest/globals';
2
+ import inspector from 'inspector';
3
+ if (process.env.DEBUG || inspector.url()) {
4
+ console.log('debugging jest, set some extra timeout');
5
+ jest.setTimeout(5 * 60 * 1000);
6
+ }
7
+ // let { GenericContainer, Wait } = require("testcontainers");
8
+ // /** @type {import("testcontainers").StartedTestContainer} */
9
+ // let dbContainer;
10
+ // beforeAll(async () => {
11
+ // console.log('db starting...');
12
+ // dbContainer = await new GenericContainer("postgres:18")
13
+ // .withExposedPorts({ container: 5432, host: 5432 })
14
+ // // .withWaitStrategy(Wait.forListeningPorts())
15
+ // .withWaitStrategy(Wait.forLogMessage("database system is ready to accept connections"))
16
+ // .start();
17
+ // console.log('db started');
18
+ // });
19
+
20
+ // afterAll(async () => {
21
+ // await dbContainer?.stop();
22
+ // });
@@ -1,53 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const pgDb_1 = require("../pgDb");
5
- const pgSchema_1 = require("../pgSchema");
6
- const pgTable_1 = require("../pgTable");
7
- (function () {
8
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
9
- try {
10
- let pgdb = yield pgDb_1.PgDb.connect({
11
- logger: {
12
- log: () => {
13
- }, error: console.error
14
- }
15
- });
16
- console.log('import {PgDb, PgSchema, PgTable} from "pogi";\n');
17
- console.log('export interface PgDbType extends PgDb {');
18
- for (let schemaName in pgdb.schemas) {
19
- if (!(pgdb[schemaName] instanceof pgSchema_1.PgSchema)) {
20
- throw new Error('Already existing property: ' + schemaName + '!');
1
+ import { PgDb } from "../pgDb";
2
+ import { PgSchema } from "../pgSchema";
3
+ import { PgTable } from "../pgTable";
4
+ (async function () {
5
+ try {
6
+ let pgdb = await PgDb.connect({
7
+ logger: {
8
+ log: () => {
9
+ }, error: console.error
10
+ }
11
+ });
12
+ console.log('import {PgDb, PgSchema, PgTable} from "pogi";\n');
13
+ console.log('export interface PgDbType extends PgDb {');
14
+ for (let schemaName in pgdb.schemas) {
15
+ if (!(pgdb[schemaName] instanceof PgSchema)) {
16
+ throw new Error('Already existing property: ' + schemaName + '!');
17
+ }
18
+ console.log(` '${schemaName}': PgSchema_${schemaName};`);
19
+ }
20
+ console.log(` 'schemas': {`);
21
+ for (let schemaName in pgdb.schemas) {
22
+ console.log(` '${schemaName}': PgSchema_${schemaName};`);
23
+ }
24
+ console.log(' }');
25
+ console.log('}');
26
+ for (let schemaName in pgdb.schemas) {
27
+ console.log(`export interface PgSchema_${schemaName} extends PgSchema {`);
28
+ for (let tableName in pgdb.schemas[schemaName].tables) {
29
+ if (!(pgdb[schemaName][tableName] instanceof PgTable)) {
30
+ throw new Error('Already existing property: ' + tableName + ' on schema:' + schemaName + '!');
21
31
  }
22
- console.log(` '${schemaName}': PgSchema_${schemaName};`);
32
+ console.log(` '${tableName}': PgTable<any>;`);
23
33
  }
24
- console.log(` 'schemas': {`);
25
- for (let schemaName in pgdb.schemas) {
26
- console.log(` '${schemaName}': PgSchema_${schemaName};`);
34
+ console.log(` tables: {`);
35
+ for (let tableName in pgdb.schemas[schemaName].tables) {
36
+ console.log(` '${tableName}': PgTable<any>;`);
27
37
  }
28
38
  console.log(' }');
29
39
  console.log('}');
30
- for (let schemaName in pgdb.schemas) {
31
- console.log(`export interface PgSchema_${schemaName} extends PgSchema {`);
32
- for (let tableName in pgdb.schemas[schemaName].tables) {
33
- if (!(pgdb[schemaName][tableName] instanceof pgTable_1.PgTable)) {
34
- throw new Error('Already existing property: ' + tableName + ' on schema:' + schemaName + '!');
35
- }
36
- console.log(` '${tableName}': PgTable<any>;`);
37
- }
38
- console.log(` tables: {`);
39
- for (let tableName in pgdb.schemas[schemaName].tables) {
40
- console.log(` '${tableName}': PgTable<any>;`);
41
- }
42
- console.log(' }');
43
- console.log('}');
44
- }
45
- pgdb.close();
46
- }
47
- catch (e) {
48
- console.error(e);
49
40
  }
50
- return Promise.resolve();
51
- });
41
+ pgdb.close();
42
+ }
43
+ catch (e) {
44
+ console.error(e);
45
+ }
46
+ return Promise.resolve();
52
47
  })();
53
48
  //# sourceMappingURL=generateInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateInterface.js","sourceRoot":"","sources":["../../src/bin/generateInterface.ts"],"names":[],"mappings":";;;AAAA,kCAA6B;AAC7B,0CAAqC;AACrC,wCAAmC;AAEnC,CAAC;;QACG,IAAI;YACA,IAAI,IAAI,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC;gBAC1B,MAAM,EAAE;oBACJ,GAAG,EAAE,GAAG,EAAE;oBACV,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;iBAC1B;aACJ,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAExD,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,mBAAQ,CAAC,EAAE;oBACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;iBACrE;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,eAAe,UAAU,GAAG,CAAC,CAAC;aAC/D;YAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,eAAe,UAAU,GAAG,CAAC,CAAC;aACnE;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,qBAAqB,CAAC,CAAC;gBAC1E,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;oBACnD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,iBAAO,CAAC,EAAE;wBACnD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;qBACjG;oBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,kBAAkB,CAAC,CAAC;iBACpD;gBACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;oBACnD,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,kBAAkB,CAAC,CAAC;iBACxD;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAErB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACpB;YAGD,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CAAA,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"generateInterface.js","sourceRoot":"","sources":["../../src/bin/generateInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAEnC,CAAC,KAAK;IACF,IAAI,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE;gBACJ,GAAG,EAAE,GAAG,EAAE;gBACV,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;aAC1B;SACJ,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAExD,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,QAAQ,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,eAAe,UAAU,GAAG,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,eAAe,UAAU,GAAG,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,qBAAqB,CAAC,CAAC;YAC1E,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,OAAO,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;gBAClG,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,kBAAkB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,kBAAkB,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAGD,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PgDbLogger } from './pgDbLogger';
1
+ import { PgDbLogger } from './pgDbLogger.js';
2
2
  export interface ForceEscapeColumnsOptions {
3
3
  select?: boolean;
4
4
  where?: boolean;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=connectionOptions.js.map
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { PgDb } from './pgDb';
2
- export { ConnectionOptions } from './connectionOptions';
3
- export { PgDbLogger } from './pgDbLogger';
4
- export { PgTable } from './pgTable';
5
- export { PgSchema } from './pgSchema';
6
- export { QueryOptions } from './queryAbleInterface';
1
+ export { ConnectionOptions } from './connectionOptions.js';
2
+ export { PgDb } from './pgDb.js';
3
+ export { PgDbLogger } from './pgDbLogger.js';
4
+ export { PgSchema } from './pgSchema.js';
5
+ export { PgTable } from './pgTable.js';
6
+ export { QueryOptions } from './queryAbleInterface.js';
package/lib/index.js CHANGED
@@ -1,10 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PgSchema = exports.PgTable = exports.PgDb = void 0;
4
- var pgDb_1 = require("./pgDb");
5
- Object.defineProperty(exports, "PgDb", { enumerable: true, get: function () { return pgDb_1.PgDb; } });
6
- var pgTable_1 = require("./pgTable");
7
- Object.defineProperty(exports, "PgTable", { enumerable: true, get: function () { return pgTable_1.PgTable; } });
8
- var pgSchema_1 = require("./pgSchema");
9
- Object.defineProperty(exports, "PgSchema", { enumerable: true, get: function () { return pgSchema_1.PgSchema; } });
1
+ export { PgDb } from './pgDb.js';
2
+ export { PgSchema } from './pgSchema.js';
3
+ export { PgTable } from './pgTable.js';
10
4
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,8 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseJsonArray = exports.parseDateArray = exports.parseNumberArrayWithValidation = exports.parseNumberArray = exports.parseBooleanArray = exports.parseBoolOrNull = exports.parseNumberOrNull = exports.parseNumberWithValidation = exports.parseArray = void 0;
4
- const moment = require("moment");
5
- function parseArray(s) {
1
+ import moment from 'moment';
2
+ export function parseArray(s) {
3
+ if (Array.isArray(s))
4
+ return s;
6
5
  if (!s || s[0] !== '{' || s[s.length - 1] !== '}')
7
6
  throw new Error('Invalid array value:' + s);
8
7
  if (s == "{}")
@@ -21,9 +20,8 @@ function parseArray(s) {
21
20
  } while (e.lastIndex < s.length);
22
21
  return valList;
23
22
  }
24
- exports.parseArray = parseArray;
25
23
  ;
26
- function parseNumberWithValidation(s) {
24
+ export function parseNumberWithValidation(s) {
27
25
  if (s === 'NULL') {
28
26
  return null;
29
27
  }
@@ -33,36 +31,28 @@ function parseNumberWithValidation(s) {
33
31
  }
34
32
  return v;
35
33
  }
36
- exports.parseNumberWithValidation = parseNumberWithValidation;
37
34
  ;
38
- function parseNumberOrNull(s) {
35
+ export function parseNumberOrNull(s) {
39
36
  if (s === 'NULL') {
40
37
  return null;
41
38
  }
42
39
  return +s;
43
40
  }
44
- exports.parseNumberOrNull = parseNumberOrNull;
45
41
  ;
46
- function parseBoolOrNull(s) {
42
+ export function parseBoolOrNull(s) {
47
43
  if (s === 'NULL') {
48
44
  return null;
49
45
  }
50
46
  return s == 't';
51
47
  }
52
- exports.parseBoolOrNull = parseBoolOrNull;
53
- let parseBooleanArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseBoolOrNull);
54
- exports.parseBooleanArray = parseBooleanArray;
55
- let parseNumberArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseNumberOrNull);
56
- exports.parseNumberArray = parseNumberArray;
57
- let parseNumberArrayWithValidation = (s) => s.map(parseNumberWithValidation);
58
- exports.parseNumberArrayWithValidation = parseNumberArrayWithValidation;
59
- let parseDateArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
60
- exports.parseDateArray = parseDateArray;
61
- let parseJsonArray = (s) => {
48
+ export let parseBooleanArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseBoolOrNull);
49
+ export let parseNumberArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseNumberOrNull);
50
+ export let parseNumberArrayWithValidation = (s) => s.map(parseNumberWithValidation);
51
+ export let parseDateArray = (s) => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
52
+ export let parseJsonArray = (s) => {
62
53
  let vals = parseArray(s);
63
54
  return vals.map(s2 => typeof s2 === 'string' ? JSON.parse(s2) : s2);
64
55
  };
65
- exports.parseJsonArray = parseJsonArray;
66
56
  function unescapeString(s) {
67
57
  return s.slice(1, s.length - 1)
68
58
  .replace(/\\"/g, '"')
@@ -1 +1 @@
1
- {"version":3,"file":"pgConverters.js","sourceRoot":"","sources":["../src/pgConverters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgConverters.js","sourceRoot":"","sources":["../src/pgConverters.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const pgConverters_1 = require("./pgConverters");
1
+ import { parseArray } from "./pgConverters.js";
5
2
  describe("pgConverters.test", () => {
6
- it("parseArray", () => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
7
- expect((0, pgConverters_1.parseArray)('{}')).toEqual([]);
8
- expect((0, pgConverters_1.parseArray)('{1,2}')).toEqual(['1', '2']);
9
- expect((0, pgConverters_1.parseArray)('{NULL,""}')).toEqual([null, '']);
10
- expect((0, pgConverters_1.parseArray)('{"\\\\","\\""}')).toEqual(['\\', '"']);
11
- }));
3
+ it("parseArray", async () => {
4
+ expect(parseArray('{}')).toEqual([]);
5
+ expect(parseArray('{1,2}')).toEqual(['1', '2']);
6
+ expect(parseArray('{NULL,""}')).toEqual([null, '']);
7
+ expect(parseArray('{"\\\\","\\""}')).toEqual(['\\', '"']);
8
+ });
12
9
  });
13
10
  //# sourceMappingURL=pgConverters.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pgConverters.test.js","sourceRoot":"","sources":["../src/pgConverters.test.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAE5C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;QACxB,MAAM,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,IAAA,yBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAA,yBAAU,EAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"pgConverters.test.js","sourceRoot":"","sources":["../src/pgConverters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/lib/pgDb.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import * as pg from 'pg';
2
- import { ConnectionOptions } from './connectionOptions';
3
- import { Notification, PostProcessResultFunc, ResultFieldType, TransactionIsolationLevel } from "./pgDbInterface";
4
- import { PgDbLogger } from './pgDbLogger';
5
- import { PgSchema } from "./pgSchema";
6
- import { PgTable } from "./pgTable";
7
- import { QueryAble } from "./queryAble";
1
+ import pg from 'pg';
2
+ import { ConnectionOptions } from './connectionOptions.js';
3
+ import { Notification, PostProcessResultFunc, ResultFieldType, TransactionIsolationLevel } from "./pgDbInterface.js";
4
+ import { PgDbLogger } from './pgDbLogger.js';
5
+ import { PgSchema } from "./pgSchema.js";
6
+ import { PgTable } from "./pgTable.js";
7
+ import { QueryAble } from "./queryAble.js";
8
8
  export declare enum FieldType {
9
9
  JSON = 0,
10
10
  ARRAY = 1,