pogi 3.0.0-beta2 → 3.0.0-beta3

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 (55) hide show
  1. package/.env +5 -0
  2. package/lib/connectionOptions.d.ts +1 -4
  3. package/lib/pgDb.d.ts +8 -8
  4. package/lib/pgDb.js +7 -7
  5. package/lib/pgDb.js.map +1 -1
  6. package/lib/pgDbInterface.d.ts +1 -32
  7. package/lib/pgDbInterface.js +8 -8
  8. package/lib/pgDbInterface.js.map +1 -1
  9. package/lib/pgSchema.d.ts +7 -9
  10. package/lib/pgSchema.js.map +1 -1
  11. package/lib/pgSchemaInterface.d.ts +0 -12
  12. package/lib/pgSchemaInterface.js +0 -1
  13. package/lib/pgTable.d.ts +4 -4
  14. package/lib/pgTableInterface.d.ts +0 -74
  15. package/lib/pgTableInterface.js.map +1 -1
  16. package/lib/pgUtils.d.ts +5 -5
  17. package/lib/pgUtils.js.map +1 -1
  18. package/lib/queryAble.d.ts +3 -4
  19. package/lib/queryAble.js +3 -3
  20. package/lib/queryAble.js.map +1 -1
  21. package/lib/queryAbleInterface.d.ts +4 -4
  22. package/lib/test/pgDbOperatorSpec.d.ts +1 -0
  23. package/lib/test/pgDbOperatorSpec.js +326 -0
  24. package/lib/test/pgDbOperatorSpec.js.map +1 -0
  25. package/lib/test/pgDbSpec.d.ts +1 -0
  26. package/lib/test/pgDbSpec.js +1139 -0
  27. package/lib/test/pgDbSpec.js.map +1 -0
  28. package/lib/test/pgServiceRestartTest.d.ts +1 -0
  29. package/lib/test/pgServiceRestartTest.js +1532 -0
  30. package/lib/test/pgServiceRestartTest.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/bin/generateInterface.ts +0 -54
  33. package/src/connectionOptions.ts +0 -77
  34. package/src/index.d.ts +0 -7
  35. package/src/index.ts +0 -6
  36. package/src/pgConverters.test.ts +0 -10
  37. package/src/pgConverters.ts +0 -59
  38. package/src/pgDb.test.ts +0 -1324
  39. package/src/pgDb.ts +0 -842
  40. package/src/pgDbInterface.ts +0 -57
  41. package/src/pgDbLogger.ts +0 -13
  42. package/src/pgDbOperators.test.ts +0 -478
  43. package/src/pgDbOperators.ts +0 -85
  44. package/src/pgSchema.ts +0 -16
  45. package/src/pgSchemaInterface.ts +0 -12
  46. package/src/pgTable.ts +0 -369
  47. package/src/pgTableInterface.ts +0 -131
  48. package/src/pgUtils.ts +0 -300
  49. package/src/queryAble.ts +0 -365
  50. package/src/queryAbleInterface.ts +0 -104
  51. package/src/queryWhere.ts +0 -325
  52. package/src/test/init.sql +0 -122
  53. package/src/test/pgServiceRestartTest.ts +0 -1500
  54. package/src/test/throw_exception.sql +0 -5
  55. package/src/test/tricky.sql +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgServiceRestartTest.js","sourceRoot":"","sources":["../../src/test/pgServiceRestartTest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pogi",
3
- "version": "3.0.0-beta2",
3
+ "version": "3.0.0-beta3",
4
4
  "description": "An easy PostgreSQL query handler on top of pg.js",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,54 +0,0 @@
1
- import {PgDb} from "../pgDb";
2
- import {PgSchema} from "../pgSchema";
3
- import {PgTable} from "../pgTable";
4
-
5
- (async function () {
6
- try {
7
- let pgdb = await PgDb.connect({
8
- logger: {
9
- log: () => {
10
- }, error: console.error
11
- }
12
- }); //using PGUSER, PGPASSWORD + PGDATABASE env variables
13
-
14
- console.log('import {PgDb, PgSchema, PgTable} from "pogi";\n');
15
- console.log('export interface PgDbType extends PgDb {');
16
-
17
- for (let schemaName in pgdb.schemas) {
18
- if (!(pgdb[schemaName] instanceof PgSchema)) {
19
- throw new Error('Already existing property: ' + schemaName + '!');
20
- }
21
- console.log(` '${schemaName}': PgSchema_${schemaName};`); //need to add a PgSchema_ prefix in order to handle schemas starting with number
22
- }
23
-
24
- console.log(` 'schemas': {`);
25
- for (let schemaName in pgdb.schemas) {
26
- console.log(` '${schemaName}': PgSchema_${schemaName};`);
27
- }
28
- console.log(' }');
29
- console.log('}');
30
-
31
- for (let schemaName in pgdb.schemas) {
32
- console.log(`export interface PgSchema_${schemaName} extends PgSchema {`);
33
- for (let tableName in pgdb.schemas[schemaName].tables) {
34
- if (!(pgdb[schemaName][tableName] instanceof PgTable)) {
35
- throw new Error('Already existing property: ' + tableName + ' on schema:' + schemaName + '!');
36
- }
37
- console.log(` '${tableName}': PgTable<any>;`);
38
- }
39
- console.log(` tables: {`);
40
- for (let tableName in pgdb.schemas[schemaName].tables) {
41
- console.log(` '${tableName}': PgTable<any>;`);
42
- }
43
- console.log(' }');
44
-
45
- console.log('}');
46
- }
47
-
48
-
49
- pgdb.close();
50
- } catch (e) {
51
- console.error(e);
52
- }
53
- return Promise.resolve();
54
- })();
@@ -1,77 +0,0 @@
1
- import { PgDbLogger } from './pgDbLogger';
2
-
3
- export interface ForceEscapeColumnsOptions {
4
- select?: boolean
5
- where?: boolean
6
- orderBy?: boolean
7
- groupBy?: boolean
8
- //warningOnly?: boolean
9
- }
10
-
11
- /**
12
- * @property connectionString e.g.: "postgres://user@localhost/database"
13
- * @property host can be specified through PGHOST env variable
14
- * @property user can be specified through PGUSER env variable (defaults USER env var)
15
- * @property database can be specified through PGDATABASE env variable (defaults USER env var)
16
- * @property password can be specified through PGPASSWORD env variable
17
- * @property port can be specified through PGPORT env variable
18
- * @property idleTimeoutMillis how long a client is allowed to remain idle before being closed
19
- * @property skipUndefined if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined.
20
- * @property logSQLDetailsOnError - log sql and params in case of sql error (this might contain sensitive information)
21
- */
22
- export interface ConnectionOptions {
23
- /** host can be specified through PGHOST env variable (defaults USER env var) */
24
- host?: string;
25
- /** user can be specified through PGUSER env variable (defaults USER env var) */
26
- user?: string;
27
- /** can be specified through PGDATABASE env variable (defaults USER env var) */
28
- database?: string;
29
- /** can be specified through PGPASSWORD env variable */
30
- password?: string;
31
- /** can be specified through PGPORT env variable */
32
- port?: number;
33
- poolSize?: number;
34
-
35
- /**
36
- * Turn on some basic sql injection protection
37
- */
38
- forceEscapeColumns?: boolean | ForceEscapeColumnsOptions;
39
-
40
- //number of rows to return at a time from a prepared statement's portal. 0 will return all rows at once
41
- rows?: number;
42
- /** set min pool size */
43
- min?: number;
44
- /** set pool max size */
45
- max?: number;
46
-
47
- binary?: boolean;
48
- poolIdleTimeout?: number;
49
- reapIntervalMillis?: number;
50
- poolLog?: boolean;
51
- client_encoding?: string;
52
- ssl?: boolean | any; //| TlsOptions;
53
- /** default:process.env.PGAPPNAME - name displayed in the pg_stat_activity view and included in CSV log entries */
54
- application_name?: string;
55
- fallback_application_name?: string;
56
- parseInputDatesAsUTC?: boolean;
57
- /** e.g.: "postgres://user@localhost/database" */
58
- connectionString?: string;
59
- /** how long a client is allowed to remain idle before being closed */
60
- idleTimeoutMillis?: number;
61
-
62
- logger?: PgDbLogger;
63
- /** if there is a undefined value in the condition, what should pogi do. Default is 'none', meaning raise error if a value is undefined. */
64
- skipUndefined?: 'all' | 'select' | 'none';
65
-
66
- /**
67
- * escape all ddl parameter (select, from, where, order by, group by, ...), default: true
68
- * notes:
69
- * - insert statements columns are always quoted
70
- * - update statements "SET" columns are always quoted
71
- * */
72
- strictDdl?: boolean,
73
- /** escape all "SELECT" ddl parameter, default: true */
74
- strictDdlSelect?: boolean,
75
- /** escape all "WHERE" ddl parameter, default: true */
76
- strictDdlWhere?: boolean,
77
- }
package/src/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import * as pg from 'pg';
2
-
3
- declare module 'pg' {
4
- export interface PoolClient {
5
- processID: string,
6
- }
7
- }
package/src/index.ts DELETED
@@ -1,6 +0,0 @@
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,10 +0,0 @@
1
- import { parseArray } from "./pgConverters";
2
-
3
- describe("pgConverters.test", () => {
4
- it("parseArray", async () => {
5
- expect(parseArray('{}')).toEqual([]);
6
- expect(parseArray('{1,2}')).toEqual(['1', '2']);
7
- expect(parseArray('{NULL,""}')).toEqual([null, '']);
8
- expect(parseArray('{"\\\\","\\""}')).toEqual(['\\', '"']);
9
- });
10
- });
@@ -1,59 +0,0 @@
1
- import * as moment from 'moment';
2
-
3
- //--- add parsing for array types --------------------------------
4
- export function parseArray(s: string): (string | null)[] {
5
- if (!s || s[0] !== '{' || s[s.length - 1] !== '}') throw new Error('Invalid array value:' + s);
6
- if (s == "{}") return [];
7
- s = s.slice(1, s.length - 1); //cut off {}
8
- let e = /(?:("(?:[^"\\]|\\.)*")|([^,"]*))(?:,|$)/g; //has to be mutable because of exec
9
- let valList: (string | null)[] = [];
10
- let parsingResult;
11
- do {
12
- parsingResult = e.exec(s);
13
- if (!parsingResult) throw new Error('Invalid array value:' + s);
14
- let valStr = (parsingResult[2] === 'NULL') ? null :
15
- (parsingResult[1] == null ? parsingResult[2] : unescapeString(parsingResult[1])); // for string parsing, escape \
16
- valList.push(valStr);
17
- } while (e.lastIndex < s.length);
18
- return valList;
19
- };
20
-
21
- export function parseNumberWithValidation(s: string): number | null {
22
- if (s === 'NULL') {
23
- return null;
24
- }
25
- let v = +s;
26
- if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
27
- throw new Error("Number can't be represented in javascript precisely: " + s);
28
- }
29
- return v;
30
- };
31
-
32
- export function parseNumberOrNull(s: string): number | null {
33
- if (s === 'NULL') {
34
- return null;
35
- }
36
- return +s;
37
- };
38
-
39
- export function parseBoolOrNull(s: string): boolean | null {
40
- if (s === 'NULL') {
41
- return null;
42
- }
43
- return s == 't';
44
- }
45
-
46
- export let parseBooleanArray = (s: string): (boolean | null)[] => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseBoolOrNull);
47
- export let parseNumberArray = (s: string): (number | null)[] => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(parseNumberOrNull);
48
- export let parseNumberArrayWithValidation = (s: string[]) => s.map(parseNumberWithValidation);
49
- export let parseDateArray = (s: string): (Date | null)[] => s == "{}" ? [] : s.substring(1, s.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
50
- export let parseJsonArray = (s: string): (Object | null)[] => {
51
- let vals = parseArray(s);
52
- return vals.map(s2 => typeof s2 === 'string' ? JSON.parse(s2) : s2);
53
- };
54
-
55
- function unescapeString(s: string): string {
56
- return s.slice(1, s.length - 1) // cut the first and the last "
57
- .replace(/\\"/g, '"') // \" -> "
58
- .replace(/\\\\/g, '\\') // \\ -> \
59
- }