nodecommons-esm-database-postgres-pg 0.0.5 → 0.0.7

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.
@@ -6,6 +6,7 @@ export declare class CommonsPostgresPgPooledService extends CommonsPostgresPgSer
6
6
  private pool;
7
7
  constructor(credentials: ICommonsPostgresPgCredentials, maxPoolSize: number);
8
8
  connect(): Promise<void>;
9
+ end(): Promise<void>;
9
10
  internalSelect<ParamDbValuesT extends TCommonsDatabaseDbValues, ResultDbValuesT extends TCommonsDatabaseDbValues>(sql: string, params?: ParamDbValuesT): Promise<ResultDbValuesT[]>;
10
11
  protected internalTransactionBegin(): Promise<void>;
11
12
  protected internalTransactionCommit(): Promise<void>;
@@ -29,6 +29,11 @@ export class CommonsPostgresPgPooledService extends CommonsPostgresPgService {
29
29
  max: this.maxPoolSize
30
30
  });
31
31
  }
32
+ async end() {
33
+ if (!this.pool)
34
+ throw new Error('Database is not connected');
35
+ await this.pool.end();
36
+ }
32
37
  async internalSelect(sql, params) {
33
38
  if (!this.pool)
34
39
  throw new Error('Database not connected');
@@ -1 +1 @@
1
- {"version":3,"file":"commons-postgres-pg-pooled.service.mjs","sourceRoot":"","sources":["../../src/services/commons-postgres-pg-pooled.service.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAQzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,SAAS,mBAAmB,CAC1B,GAAW,EACX,MAAuB;IAExB,IAAI,CAAC,GAAW,CAAC,CAAC;IAClB,MAAM,YAAY,GAAc,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,CAAC,EAAE,CAAC;QACJ,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACvD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAE,GAAG,EAAE,YAAY,CAAE,CAAC;AAC9B,CAAC;AAED,MAAM,OAAO,8BAA+B,SAAQ,wBAAwB;IAKjE;IAJF,IAAI,CAAoB;IAEhC,YACE,WAA0C,EAClC,WAAmB;QAE5B,KAAK,CAAC,WAAW,CAAC,CAAC;QAFV,gBAAW,GAAX,WAAW,CAAQ;IAG7B,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC3B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC3B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;YACnC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC/B,GAAG,EAAE,IAAI,CAAC,WAAW;SACtB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc,CAIzB,GAAW,EACX,MAAuB;QAExB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAkB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC;YACJ,IAAI,MAAqC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAE,gBAAgB,EAAE,YAAY,CAAE,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE5E,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;oBAC1B,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;oBAC1B,IAAI,EAAE,GAAG;iBACV,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,IAAoC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACT,CAAC;gBAAS,CAAC;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAES,wBAAwB;QACjC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IAES,yBAAyB;QAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IAES,2BAA2B;QACpC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;CACD"}
1
+ {"version":3,"file":"commons-postgres-pg-pooled.service.mjs","sourceRoot":"","sources":["../../src/services/commons-postgres-pg-pooled.service.mts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { TCommonsDatabaseDbValues } from 'nodecommons-esm-database';
2
2
  import { CommonsSqlDatabaseService } from 'nodecommons-esm-database';
3
3
  import { ICommonsPostgresPgCredentials } from '../interfaces/icommons-postgres-pg-credentials.mjs';
4
4
  export declare abstract class CommonsPostgresPgService extends CommonsSqlDatabaseService<ICommonsPostgresPgCredentials> {
5
+ private static setTypeParsers;
5
6
  constructor(credentials: ICommonsPostgresPgCredentials);
6
7
  doesTableExist(name: string): Promise<boolean>;
7
8
  internalNone<ParamDbValuesT extends TCommonsDatabaseDbValues>(sql: string, params?: ParamDbValuesT): Promise<void>;
@@ -1,7 +1,17 @@
1
+ import * as pg from 'pg';
1
2
  import { ECommonsDatabaseEngine } from 'nodecommons-esm-database';
2
3
  import { CommonsSqlDatabaseService } from 'nodecommons-esm-database';
3
4
  export class CommonsPostgresPgService extends CommonsSqlDatabaseService {
5
+ static setTypeParsers() {
6
+ // Manually set the number parsers, in particular the INT8 one which is string by default
7
+ pg.types.setTypeParser(pg.types.builtins.INT2, parseInt);
8
+ pg.types.setTypeParser(pg.types.builtins.INT4, parseInt);
9
+ // We don't support true 64 bit integers anyway in JavaScript, so although this is not valid it makes little difference
10
+ pg.types.setTypeParser(pg.types.builtins.INT8, parseInt);
11
+ }
4
12
  constructor(credentials) {
13
+ // It's not ideal doing this 'globally' in a constructor, but pg.types doesn't seem to be possible on a per-Client/Pool level, and putting it in the outer code seems dangerous
14
+ CommonsPostgresPgService.setTypeParsers();
5
15
  super(ECommonsDatabaseEngine.POSTGRES, credentials);
6
16
  }
7
17
  async doesTableExist(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"commons-postgres-pg.service.mjs","sourceRoot":"","sources":["../../src/services/commons-postgres-pg.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA4B,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,OAAgB,wBAAyB,SAAQ,yBAAwD;IAC9G,YAAY,WAA0C;QACrD,KAAK,CACH,sBAAsB,CAAC,QAAQ,EAC/B,WAAW,CACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC;;;;uBAIb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;GACpC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAGvB,GAAW,EACX,MAAuB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;CACD"}
1
+ {"version":3,"file":"commons-postgres-pg.service.mjs","sourceRoot":"","sources":["../../src/services/commons-postgres-pg.service.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAA4B,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,OAAgB,wBAAyB,SAAQ,yBAAwD;IACtG,MAAM,CAAC,cAAc;QAC5B,yFAAyF;QACzF,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzD,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzD,uHAAuH;QACvH,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY,WAA0C;QACrD,+KAA+K;QAC/K,wBAAwB,CAAC,cAAc,EAAE,CAAC;QAE1C,KAAK,CACH,sBAAsB,CAAC,QAAQ,EAC/B,WAAW,CACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC;;;;uBAIb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;GACpC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAGvB,GAAW,EACX,MAAuB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodecommons-esm-database-postgres-pg",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "tsc": "./node_modules/typescript/bin/tsc",