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 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
- return new Promise(function (resolve, reject) {
51
- Firebird.attach(options, function (err, db) {
52
- if (err) {
53
- return reject(err);
54
- }
55
- db.query(query, parameters, function (error, result) {
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
- db.detach();
61
- return resolve(result);
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
- return new Promise(function (resolve, reject) {
69
- Firebird.attach(options, function (err, db) {
70
- if (err) {
71
- return reject(err);
72
- }
73
- db.execute(query, parameters, function (error, result) {
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
- db.detach();
79
- return resolve(result);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emilsoftware-utilities",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "Utilities for EmilSoftware",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/autobind.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  // DECORATOR
2
-
3
2
  /**
4
3
  * Return a descriptor removing the value and returning a getter
5
4
  * The getter will return a .bind version of the function
@@ -19,7 +19,5 @@ export default function logExecutionTime(fileName: string = "") {
19
19
  }
20
20
  };
21
21
  return descriptor;
22
-
23
22
  }
24
-
25
23
  }
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
- return new Promise((resolve, reject): void => {
27
- Firebird.attach(options, (err: any, db: {
28
- query: (arg0: any, arg1: any[], arg2: (err: any, result: any) => void) => void; detach: () => void;
29
- }) => {
30
- if (err) {
31
- return reject(err);
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
- db.detach();
39
- return resolve(result);
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
- return new Promise((resolve, reject): void => {
46
- Firebird.attach(options, (err: any, db: {
47
- execute: (arg0: any, arg1: any, arg2: (error: any, result: any) => void) => void; detach: () => void;
48
- }) => {
49
- if (err) {
50
- return reject(err);
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
- db.execute(query, parameters, (error, result): void => {
54
- if (error) {
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 reject(error);
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, testConnection, query, execute, trimParam, connect, startTransaction, executeQueries, commitTransaction
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