emilsoftware-utilities 1.2.4 → 1.2.6
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.
- package/autobind.js +1 -1
- package/orm.d.ts +1 -0
- package/orm.js +66 -36
- package/package.json +1 -1
- package/src/autobind.ts +0 -1
- package/src/log-execution-time.ts +0 -2
- package/src/orm.ts +73 -38
package/autobind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// DECORATOR
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.boundClass = exports.boundMethod = void 0;
|
|
4
|
+
// DECORATOR
|
|
5
5
|
/**
|
|
6
6
|
* Return a descriptor removing the value and returning a getter
|
|
7
7
|
* The getter will return a .bind version of the function
|
package/orm.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ interface Orm {
|
|
|
9
9
|
startTransaction: (db: Database) => Promise<any>;
|
|
10
10
|
executeQueries: (transaction: Transaction, queries: string[], params: any[]) => any;
|
|
11
11
|
commitTransaction: (transaction: Transaction) => Promise<any>;
|
|
12
|
+
rollbackTransaction: (transaction: Transaction) => Promise<any>;
|
|
12
13
|
}
|
|
13
14
|
export declare const Orm: Orm;
|
|
14
15
|
export {};
|
package/orm.js
CHANGED
|
@@ -27,11 +27,12 @@ exports.Orm = void 0;
|
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
var Firebird = __importStar(require("es-node-firebird"));
|
|
29
29
|
var logger_1 = require("./logger");
|
|
30
|
+
var utilities_1 = require("./utilities");
|
|
31
|
+
var logger = new logger_1.Logger(__filename);
|
|
30
32
|
var quote = function (value) {
|
|
31
33
|
return "\"" + value + "\"";
|
|
32
34
|
};
|
|
33
35
|
var testConnection = function (options) {
|
|
34
|
-
var logger = new logger_1.Logger(__filename);
|
|
35
36
|
return new Promise(function (resolve) {
|
|
36
37
|
Firebird.attach(options, function (err, db) {
|
|
37
38
|
if (err) {
|
|
@@ -47,39 +48,57 @@ var testConnection = function (options) {
|
|
|
47
48
|
};
|
|
48
49
|
var query = function (options, query, parameters) {
|
|
49
50
|
if (parameters === void 0) { parameters = []; }
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (error) {
|
|
57
|
-
db.detach();
|
|
58
|
-
return reject(error);
|
|
51
|
+
try {
|
|
52
|
+
return new Promise(function (resolve, reject) {
|
|
53
|
+
Firebird.attach(options, function (err, db) {
|
|
54
|
+
if (err) {
|
|
55
|
+
logger.error(err);
|
|
56
|
+
return reject(err);
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
logger.info(utilities_1.Utilities.printQueryWithParams(query, parameters));
|
|
59
|
+
db.query(query, parameters, function (error, result) {
|
|
60
|
+
if (error) {
|
|
61
|
+
logger.error(error);
|
|
62
|
+
db.detach();
|
|
63
|
+
return reject(error);
|
|
64
|
+
}
|
|
65
|
+
db.detach();
|
|
66
|
+
return resolve(result);
|
|
67
|
+
});
|
|
62
68
|
});
|
|
63
69
|
});
|
|
64
|
-
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
logger.error(error);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
65
75
|
};
|
|
66
76
|
var execute = function (options, query, parameters) {
|
|
67
77
|
if (parameters === void 0) { parameters = []; }
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (error) {
|
|
75
|
-
db.detach();
|
|
76
|
-
return reject(error);
|
|
78
|
+
try {
|
|
79
|
+
return new Promise(function (resolve, reject) {
|
|
80
|
+
Firebird.attach(options, function (err, db) {
|
|
81
|
+
if (err) {
|
|
82
|
+
logger.error(err);
|
|
83
|
+
return reject(err);
|
|
77
84
|
}
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
logger.info(utilities_1.Utilities.printQueryWithParams(query, parameters));
|
|
86
|
+
db.execute(query, parameters, function (error, result) {
|
|
87
|
+
if (error) {
|
|
88
|
+
logger.error(error);
|
|
89
|
+
db.detach();
|
|
90
|
+
return reject(error);
|
|
91
|
+
}
|
|
92
|
+
db.detach();
|
|
93
|
+
return resolve(result);
|
|
94
|
+
});
|
|
80
95
|
});
|
|
81
96
|
});
|
|
82
|
-
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
logger.error(error);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
83
102
|
};
|
|
84
103
|
var trimParam = function (param) {
|
|
85
104
|
if (typeof param === "string" || param instanceof String) {
|
|
@@ -107,6 +126,26 @@ var startTransaction = function (db) {
|
|
|
107
126
|
});
|
|
108
127
|
});
|
|
109
128
|
};
|
|
129
|
+
var commitTransaction = function (transaction) {
|
|
130
|
+
return new Promise(function (resolve, reject) {
|
|
131
|
+
transaction.commit(function (err) {
|
|
132
|
+
if (err)
|
|
133
|
+
return reject(err);
|
|
134
|
+
else
|
|
135
|
+
return resolve('Transaction committed successfully.');
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
var rollbackTransaction = function (transaction) {
|
|
140
|
+
return new Promise(function (resolve, reject) {
|
|
141
|
+
transaction.rollback(function (err) {
|
|
142
|
+
if (err)
|
|
143
|
+
return reject(err);
|
|
144
|
+
else
|
|
145
|
+
return resolve('Transaction rolled back successfully.');
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
};
|
|
110
149
|
var executeQueries = function (transaction, queries, params) {
|
|
111
150
|
return queries.reduce(function (promiseChain, currentQuery, index) {
|
|
112
151
|
return promiseChain.then(function () { return new Promise(function (resolve, reject) {
|
|
@@ -119,16 +158,6 @@ var executeQueries = function (transaction, queries, params) {
|
|
|
119
158
|
}); });
|
|
120
159
|
}, Promise.resolve());
|
|
121
160
|
};
|
|
122
|
-
var commitTransaction = function (transaction) {
|
|
123
|
-
return new Promise(function (resolve, reject) {
|
|
124
|
-
transaction.commit(function (err) {
|
|
125
|
-
if (err)
|
|
126
|
-
return reject(err);
|
|
127
|
-
else
|
|
128
|
-
return resolve('Transaction committed successfully.');
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
161
|
exports.Orm = {
|
|
133
162
|
quote: quote,
|
|
134
163
|
testConnection: testConnection,
|
|
@@ -138,5 +167,6 @@ exports.Orm = {
|
|
|
138
167
|
connect: connect,
|
|
139
168
|
startTransaction: startTransaction,
|
|
140
169
|
executeQueries: executeQueries,
|
|
141
|
-
commitTransaction: commitTransaction
|
|
170
|
+
commitTransaction: commitTransaction,
|
|
171
|
+
rollbackTransaction: rollbackTransaction
|
|
142
172
|
};
|
package/package.json
CHANGED
package/src/autobind.ts
CHANGED
package/src/orm.ts
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
import * as Firebird from "es-node-firebird";
|
|
3
3
|
import {Logger} from "./logger";
|
|
4
4
|
import {Database, Options, Transaction} from "node-firebird";
|
|
5
|
+
import {Utilities} from "./utilities";
|
|
5
6
|
|
|
7
|
+
const logger: Logger = new Logger(__filename);
|
|
6
8
|
|
|
7
9
|
const quote = (value: string): string => {
|
|
8
10
|
return "\"" + value + "\"";
|
|
9
11
|
};
|
|
10
12
|
const testConnection = (options: Options): Promise<any> => {
|
|
11
|
-
const logger: Logger = new Logger(__filename);
|
|
12
13
|
return new Promise((resolve): void => {
|
|
13
14
|
Firebird.attach(options, (err: Error, db: Database): void => {
|
|
14
15
|
if (err) {
|
|
@@ -23,43 +24,56 @@ const testConnection = (options: Options): Promise<any> => {
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
const query = (options: Options, query: string, parameters: any[] = []): Promise<any> => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
db.query(query, parameters, (error: any, result: any) => {
|
|
34
|
-
if (error) {
|
|
35
|
-
db.detach();
|
|
36
|
-
return reject(error);
|
|
27
|
+
try {
|
|
28
|
+
return new Promise((resolve, reject): void => {
|
|
29
|
+
Firebird.attach(options, (err: any, db: Database) => {
|
|
30
|
+
if (err) {
|
|
31
|
+
logger.error(err);
|
|
32
|
+
return reject(err);
|
|
37
33
|
}
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
|
|
35
|
+
logger.info(Utilities.printQueryWithParams(query, parameters));
|
|
36
|
+
db.query(query, parameters, (error: any, result: any) => {
|
|
37
|
+
if (error) {
|
|
38
|
+
logger.error(error);
|
|
39
|
+
db.detach();
|
|
40
|
+
return reject(error);
|
|
41
|
+
}
|
|
42
|
+
db.detach();
|
|
43
|
+
return resolve(result);
|
|
44
|
+
});
|
|
40
45
|
});
|
|
41
46
|
});
|
|
42
|
-
})
|
|
47
|
+
} catch (error) {
|
|
48
|
+
logger.error(error);
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
43
51
|
}
|
|
44
52
|
const execute = (options: Options, query: string, parameters: any = []): Promise<any> => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
try {
|
|
54
|
+
return new Promise((resolve, reject): void => {
|
|
55
|
+
Firebird.attach(options, (err: any, db: Database) => {
|
|
56
|
+
if (err) {
|
|
57
|
+
logger.error(err);
|
|
58
|
+
return reject(err);
|
|
59
|
+
}
|
|
52
60
|
|
|
53
|
-
|
|
54
|
-
|
|
61
|
+
logger.info(Utilities.printQueryWithParams(query, parameters));
|
|
62
|
+
db.execute(query, parameters, (error, result: any): void => {
|
|
63
|
+
if (error) {
|
|
64
|
+
logger.error(error);
|
|
65
|
+
db.detach();
|
|
66
|
+
return reject(error);
|
|
67
|
+
}
|
|
55
68
|
db.detach();
|
|
56
|
-
return
|
|
57
|
-
}
|
|
58
|
-
db.detach();
|
|
59
|
-
return resolve(result);
|
|
69
|
+
return resolve(result);
|
|
70
|
+
});
|
|
60
71
|
});
|
|
61
72
|
});
|
|
62
|
-
})
|
|
73
|
+
} catch (error) {
|
|
74
|
+
logger.error(error);
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
63
77
|
}
|
|
64
78
|
|
|
65
79
|
const trimParam = (param: any): string => {
|
|
@@ -84,6 +98,24 @@ const startTransaction = (db: Database): Promise<any> => {
|
|
|
84
98
|
});
|
|
85
99
|
});
|
|
86
100
|
}
|
|
101
|
+
|
|
102
|
+
const commitTransaction = (transaction: Transaction): Promise<any> => {
|
|
103
|
+
return new Promise((resolve, reject): void => {
|
|
104
|
+
transaction.commit((err: any): void => {
|
|
105
|
+
if (err) return reject(err); else return resolve('Transaction committed successfully.');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const rollbackTransaction = (transaction: Transaction): Promise<any> => {
|
|
111
|
+
return new Promise((resolve, reject) => {
|
|
112
|
+
transaction.rollback(err => {
|
|
113
|
+
if (err) return reject(err); else return resolve('Transaction rolled back successfully.');
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
87
119
|
const executeQueries = (transaction: Transaction, queries: string[], params: any[]) => {
|
|
88
120
|
return queries.reduce((promiseChain: any, currentQuery: any, index: any) => {
|
|
89
121
|
return promiseChain.then(() => new Promise((resolve, reject): void => {
|
|
@@ -94,13 +126,6 @@ const executeQueries = (transaction: Transaction, queries: string[], params: any
|
|
|
94
126
|
}, Promise.resolve());
|
|
95
127
|
}
|
|
96
128
|
|
|
97
|
-
const commitTransaction = (transaction: Transaction): Promise<any> => {
|
|
98
|
-
return new Promise((resolve, reject): void => {
|
|
99
|
-
transaction.commit((err: any): void => {
|
|
100
|
-
if (err) return reject(err); else return resolve('Transaction committed successfully.');
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
129
|
|
|
105
130
|
interface Orm {
|
|
106
131
|
quote: (value: string) => string,
|
|
@@ -111,11 +136,21 @@ interface Orm {
|
|
|
111
136
|
connect: (options: Options) => Promise<any>,
|
|
112
137
|
startTransaction: (db: Database) => Promise<any>,
|
|
113
138
|
executeQueries: (transaction: Transaction, queries: string[], params: any[]) => any,
|
|
114
|
-
commitTransaction: (transaction: Transaction) => Promise<any
|
|
139
|
+
commitTransaction: (transaction: Transaction) => Promise<any>,
|
|
140
|
+
rollbackTransaction: (transaction: Transaction) => Promise<any>
|
|
115
141
|
}
|
|
116
142
|
|
|
117
143
|
export const Orm: Orm = {
|
|
118
|
-
quote,
|
|
144
|
+
quote,
|
|
145
|
+
testConnection,
|
|
146
|
+
query,
|
|
147
|
+
execute,
|
|
148
|
+
trimParam,
|
|
149
|
+
connect,
|
|
150
|
+
startTransaction,
|
|
151
|
+
executeQueries,
|
|
152
|
+
commitTransaction,
|
|
153
|
+
rollbackTransaction
|
|
119
154
|
}
|
|
120
155
|
|
|
121
156
|
|