pogi 3.0.0-beta → 3.0.0-beta2

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 (100) hide show
  1. package/lib/bin/generateInterface.js +1 -1
  2. package/lib/connectionOptions.d.ts +10 -0
  3. package/lib/index.d.ts +1 -1
  4. package/lib/pgConverters.d.ts +9 -10
  5. package/lib/pgConverters.js +44 -39
  6. package/lib/pgConverters.js.map +1 -1
  7. package/lib/{src/pgConverters.test.d.ts → pgConverters.test.d.ts} +0 -0
  8. package/lib/{src/pgConverters.test.js → pgConverters.test.js} +0 -0
  9. package/lib/pgConverters.test.js.map +1 -0
  10. package/lib/pgDb.d.ts +18 -27
  11. package/lib/pgDb.js +59 -62
  12. package/lib/pgDb.js.map +1 -1
  13. package/lib/{src/pgDb.test.d.ts → pgDb.test.d.ts} +0 -0
  14. package/lib/{src/pgDb.test.js → pgDb.test.js} +0 -0
  15. package/lib/pgDb.test.js.map +1 -0
  16. package/lib/pgDbInterface.d.ts +53 -0
  17. package/lib/{src/pgDbInterface.js → pgDbInterface.js} +0 -0
  18. package/lib/pgDbInterface.js.map +1 -0
  19. package/lib/pgDbOperators.d.ts +3 -3
  20. package/lib/pgDbOperators.js +4 -7
  21. package/lib/pgDbOperators.js.map +1 -1
  22. package/lib/{src/pgDbOperators.test.d.ts → pgDbOperators.test.d.ts} +0 -0
  23. package/lib/{src/pgDbOperators.test.js → pgDbOperators.test.js} +0 -0
  24. package/lib/pgDbOperators.test.js.map +1 -0
  25. package/lib/pgSchema.d.ts +10 -9
  26. package/lib/pgSchema.js.map +1 -1
  27. package/lib/{src/pgSchemaInterface.d.ts → pgSchemaInterface.d.ts} +0 -0
  28. package/lib/{src/pgSchemaInterface.js → pgSchemaInterface.js} +0 -0
  29. package/lib/pgSchemaInterface.js.map +1 -0
  30. package/lib/pgTable.d.ts +15 -40
  31. package/lib/pgTable.js +54 -54
  32. package/lib/pgTable.js.map +1 -1
  33. package/lib/{src/pgTableInterface.d.ts → pgTableInterface.d.ts} +3 -3
  34. package/lib/{src/pgTableInterface.js → pgTableInterface.js} +0 -0
  35. package/lib/pgTableInterface.js.map +1 -0
  36. package/lib/pgUtils.d.ts +13 -5
  37. package/lib/pgUtils.js +116 -23
  38. package/lib/pgUtils.js.map +1 -1
  39. package/lib/queryAble.d.ts +16 -64
  40. package/lib/queryAble.js +43 -42
  41. package/lib/queryAble.js.map +1 -1
  42. package/lib/{src/queryAbleInterface.d.ts → queryAbleInterface.d.ts} +2 -6
  43. package/lib/{src/queryAbleInterface.js → queryAbleInterface.js} +0 -0
  44. package/lib/queryAbleInterface.js.map +1 -0
  45. package/lib/queryWhere.d.ts +2 -2
  46. package/lib/queryWhere.js +19 -23
  47. package/lib/queryWhere.js.map +1 -1
  48. package/package.json +2 -1
  49. package/src/connectionOptions.ts +9 -7
  50. package/src/index.ts +1 -1
  51. package/src/pgDb.ts +3 -3
  52. package/src/pgDbInterface.ts +2 -2
  53. package/src/pgTable.ts +6 -6
  54. package/src/pgTableInterface.ts +20 -20
  55. package/src/pgUtils.ts +16 -6
  56. package/src/queryAbleInterface.ts +2 -6
  57. package/tsconfig.json +3 -5
  58. package/lib/src/bin/generateInterface.d.ts +0 -1
  59. package/lib/src/bin/generateInterface.js +0 -53
  60. package/lib/src/bin/generateInterface.js.map +0 -1
  61. package/lib/src/connectionOptions.d.ts +0 -34
  62. package/lib/src/connectionOptions.js +0 -3
  63. package/lib/src/connectionOptions.js.map +0 -1
  64. package/lib/src/index.d.ts +0 -6
  65. package/lib/src/index.js +0 -12
  66. package/lib/src/index.js.map +0 -1
  67. package/lib/src/pgConverters.d.ts +0 -9
  68. package/lib/src/pgConverters.js +0 -71
  69. package/lib/src/pgConverters.js.map +0 -1
  70. package/lib/src/pgConverters.test.js.map +0 -1
  71. package/lib/src/pgDb.d.ts +0 -79
  72. package/lib/src/pgDb.js +0 -764
  73. package/lib/src/pgDb.js.map +0 -1
  74. package/lib/src/pgDb.test.js.map +0 -1
  75. package/lib/src/pgDbInterface.js.map +0 -1
  76. package/lib/src/pgDbLogger.d.ts +0 -5
  77. package/lib/src/pgDbLogger.js +0 -3
  78. package/lib/src/pgDbLogger.js.map +0 -1
  79. package/lib/src/pgDbOperators.d.ts +0 -113
  80. package/lib/src/pgDbOperators.js +0 -41
  81. package/lib/src/pgDbOperators.js.map +0 -1
  82. package/lib/src/pgDbOperators.test.js.map +0 -1
  83. package/lib/src/pgSchema.d.ts +0 -17
  84. package/lib/src/pgSchema.js +0 -16
  85. package/lib/src/pgSchema.js.map +0 -1
  86. package/lib/src/pgSchemaInterface.js.map +0 -1
  87. package/lib/src/pgTable.d.ts +0 -105
  88. package/lib/src/pgTable.js +0 -322
  89. package/lib/src/pgTable.js.map +0 -1
  90. package/lib/src/pgTableInterface.js.map +0 -1
  91. package/lib/src/pgUtils.d.ts +0 -41
  92. package/lib/src/pgUtils.js +0 -282
  93. package/lib/src/pgUtils.js.map +0 -1
  94. package/lib/src/queryAble.d.ts +0 -40
  95. package/lib/src/queryAble.js +0 -338
  96. package/lib/src/queryAble.js.map +0 -1
  97. package/lib/src/queryAbleInterface.js.map +0 -1
  98. package/lib/src/queryWhere.d.ts +0 -8
  99. package/lib/src/queryWhere.js +0 -245
  100. package/lib/src/queryWhere.js.map +0 -1
@@ -5,7 +5,7 @@ const pgDb_1 = require("../pgDb");
5
5
  const pgSchema_1 = require("../pgSchema");
6
6
  const pgTable_1 = require("../pgTable");
7
7
  (function () {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
9
9
  try {
10
10
  let pgdb = yield pgDb_1.PgDb.connect({
11
11
  logger: {
@@ -1,4 +1,10 @@
1
1
  import { PgDbLogger } from './pgDbLogger';
2
+ export interface ForceEscapeColumnsOptions {
3
+ select?: boolean;
4
+ where?: boolean;
5
+ orderBy?: boolean;
6
+ groupBy?: boolean;
7
+ }
2
8
  export interface ConnectionOptions {
3
9
  host?: string;
4
10
  user?: string;
@@ -6,6 +12,7 @@ export interface ConnectionOptions {
6
12
  password?: string;
7
13
  port?: number;
8
14
  poolSize?: number;
15
+ forceEscapeColumns?: boolean | ForceEscapeColumnsOptions;
9
16
  rows?: number;
10
17
  min?: number;
11
18
  max?: number;
@@ -22,4 +29,7 @@ export interface ConnectionOptions {
22
29
  idleTimeoutMillis?: number;
23
30
  logger?: PgDbLogger;
24
31
  skipUndefined?: 'all' | 'select' | 'none';
32
+ strictDdl?: boolean;
33
+ strictDdlSelect?: boolean;
34
+ strictDdlWhere?: boolean;
25
35
  }
package/lib/index.d.ts CHANGED
@@ -3,4 +3,4 @@ export { ConnectionOptions } from './connectionOptions';
3
3
  export { PgDbLogger } from './pgDbLogger';
4
4
  export { PgTable } from './pgTable';
5
5
  export { PgSchema } from './pgSchema';
6
- export { QueryOptions } from './queryAble';
6
+ export { QueryOptions } from './queryAbleInterface';
@@ -1,10 +1,9 @@
1
- export declare let arraySplit: (str: any) => any[];
2
- export declare let numWithValidation: (val: any) => number;
3
- export declare let numberOrNull: (val: any) => number;
4
- export declare let boolOrNull: (val: any) => boolean;
5
- export declare let arraySplitToBool: (val: any) => any;
6
- export declare let arraySplitToNum: (val: any) => any;
7
- export declare let arraySplitToNumWithValidation: (val: any) => any;
8
- export declare let stringArrayToNumWithValidation: (val: any) => any;
9
- export declare let arraySplitToDate: (val: any) => any;
10
- export declare let arraySplitToJson: (str: any) => any[];
1
+ export declare function parseArray(s: string): (string | null)[];
2
+ export declare function parseNumberWithValidation(s: string): number | null;
3
+ export declare function parseNumberOrNull(s: string): number | null;
4
+ export declare function parseBoolOrNull(s: string): boolean | null;
5
+ export declare let parseBooleanArray: (s: string) => (boolean | null)[];
6
+ export declare let parseNumberArray: (s: string) => (number | null)[];
7
+ export declare let parseNumberArrayWithValidation: (s: string[]) => (number | null)[];
8
+ export declare let parseDateArray: (s: string) => (Date | null)[];
9
+ export declare let parseJsonArray: (s: string) => (Object | null)[];
@@ -1,63 +1,68 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arraySplitToJson = exports.arraySplitToDate = exports.stringArrayToNumWithValidation = exports.arraySplitToNumWithValidation = exports.arraySplitToNum = exports.arraySplitToBool = exports.boolOrNull = exports.numberOrNull = exports.numWithValidation = exports.arraySplit = void 0;
3
+ exports.parseJsonArray = exports.parseDateArray = exports.parseNumberArrayWithValidation = exports.parseNumberArray = exports.parseBooleanArray = exports.parseBoolOrNull = exports.parseNumberOrNull = exports.parseNumberWithValidation = exports.parseArray = void 0;
4
4
  const moment = require("moment");
5
- let arraySplit = (str) => {
6
- if (str == "{}")
5
+ function parseArray(s) {
6
+ if (!s || s[0] !== '{' || s[s.length - 1] !== '}')
7
+ throw new Error('Invalid array value:' + s);
8
+ if (s == "{}")
7
9
  return [];
8
- str = str.substring(1, str.length - 1);
10
+ s = s.slice(1, s.length - 1);
9
11
  let e = /(?:("(?:[^"\\]|\\.)*")|([^,"]*))(?:,|$)/g;
10
12
  let valList = [];
11
13
  let parsingResult;
12
14
  do {
13
- parsingResult = e.exec(str);
14
- let valStr = (parsingResult[2] == 'NULL') ? null :
15
+ parsingResult = e.exec(s);
16
+ if (!parsingResult)
17
+ throw new Error('Invalid array value:' + s);
18
+ let valStr = (parsingResult[2] === 'NULL') ? null :
15
19
  (parsingResult[1] == null ? parsingResult[2] : unescapeString(parsingResult[1]));
16
20
  valList.push(valStr);
17
- } while (e.lastIndex < str.length);
21
+ } while (e.lastIndex < s.length);
18
22
  return valList;
19
- };
20
- exports.arraySplit = arraySplit;
21
- let numWithValidation = val => {
22
- if (val === 'NULL') {
23
+ }
24
+ exports.parseArray = parseArray;
25
+ ;
26
+ function parseNumberWithValidation(s) {
27
+ if (s === 'NULL') {
23
28
  return null;
24
29
  }
25
- let v = +val;
30
+ let v = +s;
26
31
  if (v > Number.MAX_SAFE_INTEGER || v < Number.MIN_SAFE_INTEGER) {
27
- throw new Error("Number can't be represented in javascript precisely: " + val);
32
+ throw new Error("Number can't be represented in javascript precisely: " + s);
28
33
  }
29
34
  return v;
30
- };
31
- exports.numWithValidation = numWithValidation;
32
- let numberOrNull = val => {
33
- if (val === 'NULL') {
35
+ }
36
+ exports.parseNumberWithValidation = parseNumberWithValidation;
37
+ ;
38
+ function parseNumberOrNull(s) {
39
+ if (s === 'NULL') {
34
40
  return null;
35
41
  }
36
- return +val;
37
- };
38
- exports.numberOrNull = numberOrNull;
39
- let boolOrNull = val => {
40
- if (val === 'NULL') {
42
+ return +s;
43
+ }
44
+ exports.parseNumberOrNull = parseNumberOrNull;
45
+ ;
46
+ function parseBoolOrNull(s) {
47
+ if (s === 'NULL') {
41
48
  return null;
42
49
  }
43
- return val == 't';
44
- };
45
- exports.boolOrNull = boolOrNull;
46
- let arraySplitToBool = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(exports.boolOrNull);
47
- exports.arraySplitToBool = arraySplitToBool;
48
- let arraySplitToNum = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(exports.numberOrNull);
49
- exports.arraySplitToNum = arraySplitToNum;
50
- let arraySplitToNumWithValidation = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(exports.numWithValidation);
51
- exports.arraySplitToNumWithValidation = arraySplitToNumWithValidation;
52
- let stringArrayToNumWithValidation = val => val.map(exports.numWithValidation);
53
- exports.stringArrayToNumWithValidation = stringArrayToNumWithValidation;
54
- let arraySplitToDate = val => val == "{}" ? [] : val.substring(1, val.length - 1).split(',').map(d => d == 'NULL' ? null : moment(d.substring(1, d.length - 1)).toDate());
55
- exports.arraySplitToDate = arraySplitToDate;
56
- let arraySplitToJson = (str) => {
57
- let vals = exports.arraySplit(str);
58
- return vals.map(s => typeof s === 'string' ? JSON.parse(s) : s);
50
+ return s == 't';
51
+ }
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) => {
62
+ let vals = parseArray(s);
63
+ return vals.map(s2 => typeof s2 === 'string' ? JSON.parse(s2) : s2);
59
64
  };
60
- exports.arraySplitToJson = arraySplitToJson;
65
+ exports.parseJsonArray = parseJsonArray;
61
66
  function unescapeString(s) {
62
67
  return s.slice(1, s.length - 1)
63
68
  .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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"}
@@ -0,0 +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"}
package/lib/pgDb.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { QueryAble, ResultFieldType, IPgDb, PostProcessResultFunc } from "./queryAble";
1
+ import { QueryAble } from "./queryAble";
2
+ import { IPgDb, ResultFieldType, PostProcessResultFunc, Notification, TranzactionIsolationLevel } from "./pgDbInterface";
2
3
  import { PgTable } from "./pgTable";
3
4
  import { PgSchema } from "./pgSchema";
5
+ import * as pg from 'pg';
4
6
  import { PgDbLogger } from './pgDbLogger';
5
7
  import { ConnectionOptions } from './connectionOptions';
6
8
  export declare enum FieldType {
@@ -9,26 +11,15 @@ export declare enum FieldType {
9
11
  TIME = 2,
10
12
  TSVECTOR = 3
11
13
  }
12
- export declare enum TranzactionIsolationLevel {
13
- serializable = "SERIALIZABLE",
14
- repeatableRead = "REPEATABLE READ",
15
- readCommitted = "READ COMMITTED",
16
- readUncommitted = "READ UNCOMMITTED"
17
- }
18
- export interface Notification {
19
- processId: number;
20
- channel: string;
21
- payload?: string;
22
- }
23
14
  export declare class PgDb extends QueryAble implements IPgDb {
24
15
  protected static instances: {
25
16
  [index: string]: Promise<PgDb>;
26
17
  };
27
- pool: any;
28
- connection: any;
18
+ pool: pg.Pool;
19
+ connection: pg.PoolClient | null;
29
20
  config: ConnectionOptions;
30
- defaultSchemas: any;
31
- db: PgDb;
21
+ defaultSchemas: string[];
22
+ db: IPgDb;
32
23
  schemas: {
33
24
  [name: string]: PgSchema;
34
25
  };
@@ -36,14 +27,14 @@ export declare class PgDb extends QueryAble implements IPgDb {
36
27
  [name: string]: PgTable<any>;
37
28
  };
38
29
  fn: {
39
- [name: string]: (...any: any[]) => any;
30
+ [name: string]: (...args: any[]) => any;
40
31
  };
41
32
  [name: string]: any | PgSchema;
42
- pgdbTypeParsers: Record<string, (string: any) => any>;
33
+ pgdbTypeParsers: Record<string, (s: any) => any>;
43
34
  knownOids: Record<number, boolean>;
44
- postProcessResult: PostProcessResultFunc;
35
+ postProcessResult: PostProcessResultFunc | undefined | null;
45
36
  private constructor();
46
- setPostProcessResult(f: (res: any[], fields: ResultFieldType[], logger: PgDbLogger) => void): void;
37
+ setPostProcessResult(f: null | ((res: any[], fields: ResultFieldType[], logger: PgDbLogger) => void)): void;
47
38
  static getInstance(config: ConnectionOptions): Promise<PgDb>;
48
39
  close(): Promise<void>;
49
40
  static connect(config: ConnectionOptions): Promise<PgDb>;
@@ -52,9 +43,9 @@ export declare class PgDb extends QueryAble implements IPgDb {
52
43
  private initSchemasAndTables;
53
44
  private setDefaultTablesAndFunctions;
54
45
  private initFieldTypes;
55
- setTypeParser(typeName: string, parser: (string: any) => any, schemaName?: string): Promise<void>;
56
- setPgDbTypeParser(typeName: string, parser: (string: any) => any, schemaName?: string): Promise<void>;
57
- resetMissingParsers(connection: any, oidList: number[]): Promise<void>;
46
+ setTypeParser(typeName: string, parser: (s: string) => any, schemaName?: string): Promise<void>;
47
+ setPgDbTypeParser(typeName: string, parser: (s: string) => any, schemaName?: string): Promise<void>;
48
+ resetMissingParsers(connection: pg.PoolClient, oidList: number[]): Promise<void>;
58
49
  dedicatedConnectionBegin(): Promise<PgDb>;
59
50
  dedicatedConnectionEnd(): Promise<PgDb>;
60
51
  savePoint(name: string): Promise<PgDb>;
@@ -69,19 +60,19 @@ export declare class PgDb extends QueryAble implements IPgDb {
69
60
  savePoint?: string;
70
61
  }): Promise<PgDb>;
71
62
  isTransactionActive(): boolean;
72
- execute(fileName: string, statementTransformerFunction?: (string: any) => string): Promise<void>;
63
+ execute(fileName: string, statementTransformerFunction?: (s: string) => string): Promise<void>;
73
64
  private listeners;
74
65
  private connectionForListen;
75
66
  private _needToRestartConnectionForListen;
76
67
  private restartConnectionForListen;
77
68
  listen(channel: string, callback: (notification: Notification) => void): Promise<void>;
78
- unlisten(channel: string, callback?: (Notification: any) => void): Promise<void>;
69
+ unlisten(channel: string, callback?: (notification: Notification) => void): Promise<void>;
79
70
  notify(channel: string, payload?: string): Promise<any[]>;
80
- runRestartConnectionForListen(): Promise<Error>;
71
+ runRestartConnectionForListen(): Promise<Error | null>;
81
72
  needToFixConnectionForListen(): boolean;
82
73
  private tryToFixConnectionForListenActively;
83
74
  notificationListener: (notification: Notification) => boolean;
84
- errorListener: (e: any) => void;
75
+ errorListener: (e: Error) => void;
85
76
  private initConnectionForListen;
86
77
  }
87
78
  export default PgDb;