Skip to content

Commit fb3318a

Browse files
author
Laszlo Radics
committed
feat: add notify and listen functions
fix: dedicatedConnectionBegin always start new connection, not just give back the previous one
1 parent f5b50b8 commit fb3318a

20 files changed

+206
-55
lines changed

lib/bin/generateInterface.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
export {};

lib/bin/generateInterface.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/pgConverters.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/pgDb.d.ts

+19-9
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,21 @@ export declare enum FieldType {
77
JSON = 0,
88
ARRAY = 1,
99
TIME = 2,
10-
TSVECTOR = 3
10+
TSVECTOR = 3,
1111
}
1212
export declare type PostProcessResultFunc = (res: any[], fields: ResultFieldType[], logger: PgDbLogger) => void;
13+
export interface Notification {
14+
processId: number;
15+
channel: string;
16+
payload?: string;
17+
}
1318
export declare class PgDb extends QueryAble {
1419
protected static instances: {
1520
[index: string]: Promise<PgDb>;
1621
};
1722
pool: any;
1823
connection: any;
24+
protected connectionForListen: any;
1925
config: ConnectionOptions;
2026
defaultSchemas: any;
2127
db: any;
@@ -26,7 +32,7 @@ export declare class PgDb extends QueryAble {
2632
[name: string]: PgTable<any>;
2733
};
2834
fn: {
29-
[name: string]: (...any: any[]) => any;
35+
[name: string]: (...any) => any;
3036
};
3137
[name: string]: any | PgSchema;
3238
pgdbTypeParsers: {};
@@ -36,19 +42,23 @@ export declare class PgDb extends QueryAble {
3642
static getInstance(config: ConnectionOptions): Promise<PgDb>;
3743
close(): Promise<void>;
3844
static connect(config: ConnectionOptions): Promise<PgDb>;
39-
private init;
45+
private init();
4046
reload(): Promise<void>;
41-
private initSchemasAndTables;
42-
private setDefaultTablesAndFunctions;
43-
private initFieldTypes;
44-
setTypeParser(typeName: string, parser: (string: any) => any, schemaName?: string): Promise<void>;
45-
setPgDbTypeParser(typeName: string, parser: (string: any) => any, schemaName?: string): Promise<void>;
47+
private initSchemasAndTables();
48+
private setDefaultTablesAndFunctions();
49+
private initFieldTypes();
50+
setTypeParser(typeName: string, parser: (string) => any, schemaName?: string): Promise<void>;
51+
setPgDbTypeParser(typeName: string, parser: (string) => any, schemaName?: string): Promise<void>;
4652
dedicatedConnectionBegin(): Promise<PgDb>;
4753
dedicatedConnectionEnd(): Promise<PgDb>;
4854
transactionBegin(): Promise<PgDb>;
4955
transactionCommit(): Promise<PgDb>;
5056
transactionRollback(): Promise<PgDb>;
5157
isTransactionActive(): boolean;
52-
execute(fileName: any, statementTransformerFunction?: (string: any) => string): Promise<void>;
58+
execute(fileName: any, statementTransformerFunction?: (string) => string): Promise<void>;
59+
private listeners;
60+
listen(channel: string, callback: (notification: Notification) => void): Promise<void>;
61+
unlisten(channel: string, callback?: (Notification) => void): Promise<void>;
62+
notify(channel: string, payload?: string): Promise<any>;
5363
}
5464
export default PgDb;

lib/pgDb.js

+49-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)