node-firebird-driver 3.2.0 → 3.3.0

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 (42) hide show
  1. package/README.md +7 -4
  2. package/dist/lib/impl/attachment.d.ts +4 -4
  3. package/dist/lib/impl/attachment.js +8 -6
  4. package/dist/lib/impl/attachment.js.map +1 -1
  5. package/dist/lib/impl/blob.d.ts +0 -1
  6. package/dist/lib/impl/blob.js.map +1 -1
  7. package/dist/lib/impl/client.js +3 -2
  8. package/dist/lib/impl/client.js.map +1 -1
  9. package/dist/lib/impl/date-time.js +6 -6
  10. package/dist/lib/impl/date-time.js.map +1 -1
  11. package/dist/lib/impl/events.js +2 -1
  12. package/dist/lib/impl/events.js.map +1 -1
  13. package/dist/lib/impl/fb-util.d.ts +2 -2
  14. package/dist/lib/impl/fb-util.js +107 -88
  15. package/dist/lib/impl/fb-util.js.map +1 -1
  16. package/dist/lib/impl/resultset.js +11 -5
  17. package/dist/lib/impl/resultset.js.map +1 -1
  18. package/dist/lib/impl/statement.js +4 -2
  19. package/dist/lib/impl/statement.js.map +1 -1
  20. package/dist/lib/impl/time-zones.js +7 -6
  21. package/dist/lib/impl/time-zones.js.map +1 -1
  22. package/dist/lib/impl/transaction.js +2 -1
  23. package/dist/lib/impl/transaction.js.map +1 -1
  24. package/dist/lib/index.d.ts +8 -2
  25. package/dist/lib/index.js +7 -1
  26. package/dist/lib/index.js.map +1 -1
  27. package/dist/test/tests.js +177 -70
  28. package/dist/test/tests.js.map +1 -1
  29. package/package.json +6 -5
  30. package/src/lib/impl/attachment.ts +290 -253
  31. package/src/lib/impl/blob.ts +37 -35
  32. package/src/lib/impl/client.ts +60 -61
  33. package/src/lib/impl/date-time.ts +33 -33
  34. package/src/lib/impl/events.ts +17 -18
  35. package/src/lib/impl/fb-util.ts +552 -448
  36. package/src/lib/impl/resultset.ts +94 -86
  37. package/src/lib/impl/statement.ts +154 -127
  38. package/src/lib/impl/time-zones.ts +643 -641
  39. package/src/lib/impl/transaction.ts +37 -38
  40. package/src/lib/index.ts +325 -285
  41. package/src/test/tests.ts +996 -860
  42. package/tsconfig.json +7 -13
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.com/asfernandes/node-firebird-drivers.svg?branch=master)](https://travis-ci.com/asfernandes/node-firebird-drivers)
1
+ [![CI](https://github.com/asfernandes/node-firebird-drivers/workflows/CI/badge.svg)](https://github.com/asfernandes/node-firebird-drivers/actions?query=workflow%3ACI)
2
2
  [![npm version](https://badge.fury.io/js/node-firebird-driver.svg)](https://www.npmjs.com/package/node-firebird-driver)
3
3
 
4
4
  # Firebird client interfaces for Node.js / TypeScript
@@ -16,12 +16,15 @@ There is also plan to create a socket-based (pure Node.js) driver.
16
16
 
17
17
  ## Installation
18
18
 
19
+ ```sh
19
20
  yarn add node-firebird-driver
21
+ ```
20
22
 
21
23
  # Donation
22
24
 
23
25
  If this project help you reduce time to develop, you can show your appreciation with a donation.
24
26
 
25
- [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X3JMTGW92LQEL)
26
-
27
- BTC: 1Q1W3tLD1xbk81kTeFqobiyrEXcKN1GfHG
27
+ - GitHub Sponsor: https://github.com/sponsors/asfernandes
28
+ - Pix (Brazil): 278dd4e5-8226-494d-93a9-f3fb8a027a99
29
+ - BTC: 1Q1W3tLD1xbk81kTeFqobiyrEXcKN1GfHG
30
+ - [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X3JMTGW92LQEL)
@@ -40,20 +40,20 @@ export declare abstract class AbstractAttachment implements Attachment {
40
40
  executeOptions?: ExecuteOptions;
41
41
  }): Promise<void>;
42
42
  /** Executes a statement that returns a single record. */
43
- executeSingleton(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>, options?: {
43
+ executeSingleton(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[], options?: {
44
44
  prepareOptions?: PrepareOptions;
45
45
  executeOptions?: ExecuteOptions;
46
- }): Promise<Array<any>>;
46
+ }): Promise<any[]>;
47
47
  /** Executes a statement that returns a single record in object form. */
48
48
  executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[], options?: {
49
49
  prepareOptions?: PrepareOptions;
50
50
  executeOptions?: ExecuteOptions;
51
51
  }): Promise<T>;
52
52
  /** Executes a statement that returns a single record. */
53
- executeReturning(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>, options?: {
53
+ executeReturning(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[], options?: {
54
54
  prepareOptions?: PrepareOptions;
55
55
  executeOptions?: ExecuteOptions;
56
- }): Promise<Array<any>>;
56
+ }): Promise<any[]>;
57
57
  /** Executes a statement that returns a single record in object form. */
58
58
  executeReturningAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[], options?: {
59
59
  prepareOptions?: PrepareOptions;
@@ -103,10 +103,11 @@ class AbstractAttachment {
103
103
  }
104
104
  async queueEvents(names, callBack) {
105
105
  this.check();
106
- const trimmedNames = names.map(name => {
106
+ const trimmedNames = names.map((name) => {
107
107
  const trimmedName = name.trimRight();
108
- if (Buffer.from(trimmedName).byteLength > 255)
108
+ if (Buffer.from(trimmedName).byteLength > 255) {
109
109
  throw new Error(`Invalid event name: ${name}.`);
110
+ }
110
111
  return trimmedName;
111
112
  });
112
113
  const events = await this.internalQueueEvents(trimmedNames, callBack);
@@ -137,14 +138,15 @@ class AbstractAttachment {
137
138
  return !!this.client;
138
139
  }
139
140
  check() {
140
- if (!this.isValid)
141
+ if (!this.isValid) {
141
142
  throw new Error('Attachment is already disconnected.');
143
+ }
142
144
  }
143
145
  async preDispose() {
144
146
  try {
145
- await Promise.all(Array.from(this.events).map(events => events.cancel()));
146
- await Promise.all(Array.from(this.statements).map(statement => statement.dispose()));
147
- await Promise.all(Array.from(this.transactions).map(transaction => transaction.rollback()));
147
+ await Promise.all(Array.from(this.events).map((events) => events.cancel()));
148
+ await Promise.all(Array.from(this.statements).map((statement) => statement.dispose()));
149
+ await Promise.all(Array.from(this.transactions).map((transaction) => transaction.rollback()));
148
150
  }
149
151
  finally {
150
152
  this.events.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/lib/impl/attachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/lib/impl/attachment.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractAttachment } from './attachment';
3
2
  import { Blob, BlobSeekWhence, BlobStream } from '..';
4
3
  /** AbstractBlobStream implementation. */
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/lib/impl/blob.ts"],"names":[],"mappings":";;;AAEA,0BAAsD;AAGtD,yCAAyC;AACzC,MAAsB,kBAAmB,SAAQ,cAAU;IAC1D,YAAsB,IAAU,EAAS,UAA8B;QACtE,KAAK,CAAC,IAAI,CAAC,CAAC;QAD4B,eAAU,GAAV,UAAU,CAAoB;IAEvE,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACV,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACX,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAuB;QACjD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CAQD;AAnCD,gDAmCC"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/lib/impl/blob.ts"],"names":[],"mappings":";;;AAEA,0BAAsD;AAEtD,yCAAyC;AACzC,MAAsB,kBAAmB,SAAQ,cAAU;IACzD,YACE,IAAU,EACH,UAA8B;QAErC,KAAK,CAAC,IAAI,CAAC,CAAC;QAFL,eAAU,GAAV,UAAU,CAAoB;IAGvC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAuB;QAChD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CAQF;AAtCD,gDAsCC"}
@@ -11,7 +11,7 @@ class AbstractClient {
11
11
  async dispose() {
12
12
  this.check();
13
13
  try {
14
- await Promise.all(Array.from(this.attachments).map(attachment => attachment.disconnect()));
14
+ await Promise.all(Array.from(this.attachments).map((attachment) => attachment.disconnect()));
15
15
  }
16
16
  finally {
17
17
  this.attachments.clear();
@@ -37,8 +37,9 @@ class AbstractClient {
37
37
  return !!this.connected;
38
38
  }
39
39
  check() {
40
- if (!this.isValid)
40
+ if (!this.isValid) {
41
41
  throw new Error('Client is already disposed.');
42
+ }
42
43
  }
43
44
  }
44
45
  exports.AbstractClient = AbstractClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/impl/client.ts"],"names":[],"mappings":";;;AAcA,qCAAqC;AACrC,MAAsB,cAAc;IAApC;QACC,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAqE7C,CAAC;IA9CA,wCAAwC;IACxC,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;gBACO,CAAC;YACR,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,OAAwB;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAA+B;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACxG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;CAKD;AAvED,wCAuEC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/impl/client.ts"],"names":[],"mappings":";;;AAaA,qCAAqC;AACrC,MAAsB,cAAc;IAApC;QACE,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAqE9C,CAAC;IA9CC,wCAAwC;IACxC,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,OAAwB;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAA+B;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACxG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CAKF;AAvED,wCAuEC"}
@@ -22,7 +22,10 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
22
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
23
  *******************************************************************************/
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.encodeTime = exports.decodeTime = exports.encodeDate = exports.decodeDate = void 0;
25
+ exports.decodeDate = decodeDate;
26
+ exports.encodeDate = encodeDate;
27
+ exports.decodeTime = decodeTime;
28
+ exports.encodeTime = encodeTime;
26
29
  // These functions was adapted from https://github.com/nakagami/firebirdsql
27
30
  /** Decode a date. */
28
31
  function decodeDate(date) {
@@ -37,15 +40,15 @@ function decodeDate(date) {
37
40
  day = 5 * day - 3 - 153 * month;
38
41
  day = Math.trunc((day + 5) / 5);
39
42
  let year = 100 * century + nday;
40
- if (month < 10)
43
+ if (month < 10) {
41
44
  month += 3;
45
+ }
42
46
  else {
43
47
  month -= 9;
44
48
  year += 1;
45
49
  }
46
50
  return { year, month, day };
47
51
  }
48
- exports.decodeDate = decodeDate;
49
52
  /** Encode a date. */
50
53
  function encodeDate(year, month, day) {
51
54
  const i = month + 9;
@@ -56,7 +59,6 @@ function encodeDate(year, month, day) {
56
59
  const j = Math.trunc((146097 * c) / 4) + Math.trunc((1461 * jy) / 4) + Math.trunc((153 * jm + 2) / 5) + day - 678882;
57
60
  return j;
58
61
  }
59
- exports.encodeDate = encodeDate;
60
62
  /** Descode a time. */
61
63
  function decodeTime(time) {
62
64
  let seconds = Math.trunc(time / 10000);
@@ -67,10 +69,8 @@ function decodeTime(time) {
67
69
  const fractions = time % 10000;
68
70
  return { hours, minutes, seconds, fractions };
69
71
  }
70
- exports.decodeTime = decodeTime;
71
72
  /** Encode a time. */
72
73
  function encodeTime(hours, minutes, seconds, fractions) {
73
74
  return (hours * 3600 + minutes * 60 + seconds) * 10000 + fractions;
74
75
  }
75
- exports.encodeTime = encodeTime;
76
76
  //# sourceMappingURL=date-time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-time.js","sourceRoot":"","sources":["../../../src/lib/impl/date-time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-time.js","sourceRoot":"","sources":["../../../src/lib/impl/date-time.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,9 @@ class AbstractEvents {
17
17
  return !!this.attachment;
18
18
  }
19
19
  check() {
20
- if (!this.isValid)
20
+ if (!this.isValid) {
21
21
  throw new Error('Events are already cancelled.');
22
+ }
22
23
  }
23
24
  }
24
25
  exports.AbstractEvents = AbstractEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/impl/events.ts"],"names":[],"mappings":";;;AAKA,wCAAwC;AACxC,MAAsB,cAAc;IACnC,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAC5D,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,MAAM;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;CAGD;AAxBD,wCAwBC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/impl/events.ts"],"names":[],"mappings":";;;AAIA,wCAAwC;AACxC,MAAsB,cAAc;IAClC,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEhE,qCAAqC;IACrC,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CAGF;AAxBD,wCAwBC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Attachment, ConnectOptions, CreateBlobOptions, CreateDatabaseOptions, Transaction, TransactionOptions } from '..';
3
2
  /** SQL_* type constants */
4
3
  export declare namespace sqlTypes {
@@ -31,6 +30,7 @@ export declare namespace dpb {
31
30
  const user_name = 28;
32
31
  const password = 29;
33
32
  const sql_role_name = 60;
33
+ const set_db_readonly = 64;
34
34
  }
35
35
  /** TPB constants. */
36
36
  export declare namespace tpb {
@@ -127,7 +127,7 @@ export type DataReader = (attachment: Attachment, transaction: Transaction, buff
127
127
  export type ItemReader = (attachment: Attachment, transaction: Transaction, buffer: Uint8Array) => Promise<any>;
128
128
  /** Creates a data reader. */
129
129
  export declare function createDataReader(descriptors: Descriptor[]): DataReader;
130
- export type DataWriter = (attachment: Attachment, transaction: Transaction, buffer: Uint8Array, values: Array<any> | undefined) => Promise<void>;
130
+ export type DataWriter = (attachment: Attachment, transaction: Transaction, buffer: Uint8Array, values: any[] | undefined) => Promise<void>;
131
131
  export type ItemWriter = (attachment: Attachment, transaction: Transaction, buffer: Uint8Array, values: any) => Promise<void>;
132
132
  /** Creates a data writer. */
133
133
  export declare function createDataWriter(descriptors: Descriptor[]): DataWriter;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDataWriter = exports.createDataReader = exports.getPortableInteger = exports.createBpb = exports.createTpb = exports.createDpb = exports.charSets = exports.cancelType = exports.commonInfo = exports.statementInfo = exports.blobInfo = exports.epb = exports.bpb = exports.tpb = exports.dpb = exports.sqlTypes = void 0;
3
+ exports.charSets = exports.cancelType = exports.commonInfo = exports.statementInfo = exports.blobInfo = exports.epb = exports.bpb = exports.tpb = exports.dpb = exports.sqlTypes = void 0;
4
+ exports.createDpb = createDpb;
5
+ exports.createTpb = createTpb;
6
+ exports.createBpb = createBpb;
7
+ exports.getPortableInteger = getPortableInteger;
8
+ exports.createDataReader = createDataReader;
9
+ exports.createDataWriter = createDataWriter;
4
10
  const os = require("os");
5
11
  const littleEndian = os.endianness() === 'LE';
6
12
  const stringDecoder = require("string_decoder");
@@ -37,19 +43,17 @@ var sqlTypes;
37
43
  /** DPB constants. */
38
44
  var dpb;
39
45
  (function (dpb) {
40
- /* tslint:disable */
41
46
  dpb.version1 = 1;
42
47
  dpb.lc_ctype = 48;
43
48
  dpb.force_write = 24;
44
49
  dpb.user_name = 28;
45
50
  dpb.password = 29;
46
51
  dpb.sql_role_name = 60;
47
- /* tslint:enable */
52
+ dpb.set_db_readonly = 64;
48
53
  })(dpb || (exports.dpb = dpb = {}));
49
54
  /** TPB constants. */
50
55
  var tpb;
51
56
  (function (tpb) {
52
- /* tslint:disable */
53
57
  tpb.version1 = 1;
54
58
  tpb.consistency = 1;
55
59
  tpb.concurrency = 2;
@@ -64,12 +68,10 @@ var tpb;
64
68
  tpb.no_rec_version = 18;
65
69
  tpb.restart_requests = 19;
66
70
  tpb.no_auto_undo = 20;
67
- /* tslint:enable */
68
71
  })(tpb || (exports.tpb = tpb = {}));
69
72
  /** BPB constants. */
70
73
  var bpb;
71
74
  (function (bpb) {
72
- /* tslint:disable */
73
75
  bpb.version1 = 1;
74
76
  bpb.source_type = 1;
75
77
  bpb.target_type = 2;
@@ -82,14 +84,11 @@ var bpb;
82
84
  bpb.type_stream = 0x1;
83
85
  bpb.storage_main = 0x0;
84
86
  bpb.storage_temp = 0x2;
85
- /* tslint:enable */
86
87
  })(bpb || (exports.bpb = bpb = {}));
87
88
  /** EPB constants. */
88
89
  var epb;
89
90
  (function (epb) {
90
- /* tslint:disable */
91
91
  epb.version1 = 1;
92
- /* tslint:enable */
93
92
  })(epb || (exports.epb = epb = {}));
94
93
  /** Blob info. */
95
94
  var blobInfo;
@@ -126,29 +125,39 @@ function createDpb(options) {
126
125
  const code = (c) => String.fromCharCode(c);
127
126
  const charSet = 'utf8';
128
127
  let ret = `${code(dpb.version1)}${code(dpb.lc_ctype)}${code(charSet.length)}${charSet}`;
129
- if (!options)
128
+ if (!options) {
130
129
  options = {};
131
- if (!options.username)
130
+ }
131
+ if (!options.username) {
132
132
  options.username = process.env.ISC_USER;
133
- if (!options.password)
133
+ }
134
+ if (!options.password) {
134
135
  options.password = process.env.ISC_PASSWORD;
135
- if (options.username)
136
+ }
137
+ if (options.username) {
136
138
  ret += `${code(dpb.user_name)}${code(options.username.length)}${options.username}`;
137
- if (options.password)
139
+ }
140
+ if (options.password) {
138
141
  ret += `${code(dpb.password)}${code(options.password.length)}${options.password}`;
139
- if (options.role)
142
+ }
143
+ if (options.role) {
140
144
  ret += `${code(dpb.sql_role_name)}${code(options.role.length)}${options.role}`;
145
+ }
141
146
  const createOptions = options;
142
- if (createOptions.forcedWrite != undefined)
147
+ if (createOptions.forcedWrite != undefined) {
143
148
  ret += `${code(dpb.force_write)}${code(1)}${code(createOptions.forcedWrite ? 1 : 0)}`;
149
+ }
150
+ if (options.setDatabaseReadWriteMode) {
151
+ ret += `${code(dpb.set_db_readonly)}${code(1)}${code(options.setDatabaseReadWriteMode == __1.DatabaseReadWriteMode.READ_ONLY ? 1 : 0)}`;
152
+ }
144
153
  return Buffer.from(ret);
145
154
  }
146
- exports.createDpb = createDpb;
147
155
  function createTpb(options) {
148
156
  const code = (c) => String.fromCharCode(c);
149
157
  let ret = code(tpb.version1);
150
- if (!options)
158
+ if (!options) {
151
159
  options = {};
160
+ }
152
161
  switch (options.accessMode) {
153
162
  case 'READ_ONLY':
154
163
  ret += code(tpb.read);
@@ -173,26 +182,31 @@ function createTpb(options) {
173
182
  ret += code(tpb.concurrency);
174
183
  break;
175
184
  case __1.TransactionIsolation.READ_COMMITTED:
176
- ret += code(tpb.read_committed) +
177
- code(options.readCommittedMode == 'RECORD_VERSION' ? tpb.rec_version : tpb.no_rec_version);
185
+ ret +=
186
+ code(tpb.read_committed) +
187
+ code(options.readCommittedMode == 'RECORD_VERSION' ? tpb.rec_version : tpb.no_rec_version);
178
188
  break;
179
189
  }
180
- if (options.noAutoUndo)
190
+ if (options.noAutoUndo) {
181
191
  ret += code(tpb.no_auto_undo);
182
- if (options.ignoreLimbo)
192
+ }
193
+ if (options.ignoreLimbo) {
183
194
  ret += code(tpb.ignore_limbo);
184
- if (options.restartRequests)
195
+ }
196
+ if (options.restartRequests) {
185
197
  ret += code(tpb.restart_requests);
186
- if (options.autoCommit)
198
+ }
199
+ if (options.autoCommit) {
187
200
  ret += code(tpb.autocommit);
201
+ }
188
202
  return Buffer.from(ret);
189
203
  }
190
- exports.createTpb = createTpb;
191
204
  function createBpb(options) {
192
205
  const code = (c) => String.fromCharCode(c);
193
206
  let ret = code(bpb.version1);
194
- if (!options)
207
+ if (!options) {
195
208
  options = {};
209
+ }
196
210
  switch (options.type) {
197
211
  case 'SEGMENTED':
198
212
  ret += `${code(bpb.type)}${code(1)}${code(bpb.type_segmented)}`;
@@ -203,7 +217,6 @@ function createBpb(options) {
203
217
  }
204
218
  return Buffer.from(ret);
205
219
  }
206
- exports.createBpb = createBpb;
207
220
  /** Changes a number from a scale to another. */
208
221
  /***
209
222
  export function changeScale(value: number, inputScale: number, outputScale: number): number {
@@ -221,15 +234,16 @@ export function changeScale(value: number, inputScale: number, outputScale: numb
221
234
  ***/
222
235
  /** Emulate Firebird isc_portable_integer. */
223
236
  function getPortableInteger(buffer, length) {
224
- if (!buffer || length <= 0 || length > 8)
237
+ if (!buffer || length <= 0 || length > 8) {
225
238
  return 0;
239
+ }
226
240
  let value = 0;
227
241
  let pos = 0;
228
- for (let shift = 0; --length >= 0; shift += 8)
242
+ for (let shift = 0; --length >= 0; shift += 8) {
229
243
  value += buffer[pos++] << shift;
244
+ }
230
245
  return value;
231
246
  }
232
- exports.getPortableInteger = getPortableInteger;
233
247
  /** Creates a data reader. */
234
248
  function createDataReader(descriptors) {
235
249
  const mappers = new Array(descriptors.length);
@@ -237,8 +251,9 @@ function createDataReader(descriptors) {
237
251
  const descriptor = descriptors[i];
238
252
  mappers[i] = async (attachment, transaction, buffer) => {
239
253
  const dataView = new DataView(buffer.buffer);
240
- if (dataView.getInt16(descriptor.nullOffset, littleEndian) == -1)
254
+ if (dataView.getInt16(descriptor.nullOffset, littleEndian) == -1) {
241
255
  return null;
256
+ }
242
257
  switch (descriptor.type) {
243
258
  // SQL_TEXT is handled changing its descriptor to SQL_VARYING with IMetadataBuilder.
244
259
  case sqlTypes.SQL_VARYING: {
@@ -249,17 +264,17 @@ function createDataReader(descriptors) {
249
264
  return decoder.end(buf);
250
265
  }
251
266
  /***
252
- case sqlTypes.SQL_SHORT:
253
- return changeScale(dataView.getInt16(descriptor.offset, littleEndian), descriptor.scale, 0);
254
-
255
- case sqlTypes.SQL_LONG:
256
- return changeScale(dataView.getInt32(descriptor.offset, littleEndian), descriptor.scale, 0);
257
-
258
- //// TODO: sqlTypes.SQL_INT64
259
-
260
- case sqlTypes.SQL_FLOAT:
261
- return dataView.getFloat32(descriptor.offset, littleEndian);
262
- ***/
267
+ case sqlTypes.SQL_SHORT:
268
+ return changeScale(dataView.getInt16(descriptor.offset, littleEndian), descriptor.scale, 0);
269
+
270
+ case sqlTypes.SQL_LONG:
271
+ return changeScale(dataView.getInt32(descriptor.offset, littleEndian), descriptor.scale, 0);
272
+
273
+ //// TODO: sqlTypes.SQL_INT64
274
+
275
+ case sqlTypes.SQL_FLOAT:
276
+ return dataView.getFloat32(descriptor.offset, littleEndian);
277
+ ***/
263
278
  case sqlTypes.SQL_DOUBLE:
264
279
  return dataView.getFloat64(descriptor.offset, littleEndian);
265
280
  case sqlTypes.SQL_TYPE_TIME: {
@@ -276,13 +291,14 @@ function createDataReader(descriptors) {
276
291
  return {
277
292
  date,
278
293
  timeZone,
279
- offset
294
+ offset,
280
295
  };
281
296
  }
282
297
  case sqlTypes.SQL_TYPE_DATE: {
283
298
  const decodedDate = (0, date_time_1.decodeDate)(dataView.getInt32(descriptor.offset, littleEndian));
284
- if (decodedDate.year >= 100)
299
+ if (decodedDate.year >= 100) {
285
300
  return new Date(decodedDate.year, decodedDate.month - 1, decodedDate.day);
301
+ }
286
302
  else {
287
303
  const date = new Date(2000, decodedDate.month - 1, decodedDate.day);
288
304
  date.setFullYear(decodedDate.year);
@@ -317,7 +333,7 @@ function createDataReader(descriptors) {
317
333
  return {
318
334
  date,
319
335
  timeZone,
320
- offset
336
+ offset,
321
337
  };
322
338
  }
323
339
  case sqlTypes.SQL_BOOLEAN:
@@ -332,10 +348,9 @@ function createDataReader(descriptors) {
332
348
  };
333
349
  }
334
350
  return async (attachment, transaction, buffer) => {
335
- return await Promise.all(mappers.map(mapper => mapper(attachment, transaction, buffer)));
351
+ return await Promise.all(mappers.map((mapper) => mapper(attachment, transaction, buffer)));
336
352
  };
337
353
  }
338
- exports.createDataReader = createDataReader;
339
354
  /** Creates a data writer. */
340
355
  function createDataWriter(descriptors) {
341
356
  const mappers = new Array(descriptors.length);
@@ -360,25 +375,26 @@ function createDataWriter(descriptors) {
360
375
  `greater than maximum expect length ${descriptor.length}.`);
361
376
  }
362
377
  dataView.setUint16(descriptor.offset, bytesArray.length, littleEndian);
363
- for (let j = 0; j < bytesArray.length; ++j)
378
+ for (let j = 0; j < bytesArray.length; ++j) {
364
379
  buffer[descriptor.offset + 2 + j] = bytesArray[j];
380
+ }
365
381
  break;
366
382
  }
367
383
  /***
368
- case sqlTypes.SQL_SHORT:
369
- dataView.setInt16(descriptor.offset, changeScale(value, 0, descriptor.scale), littleEndian);
370
- break;
371
-
372
- case sqlTypes.SQL_LONG:
373
- dataView.setInt32(descriptor.offset, changeScale(value, 0, descriptor.scale), littleEndian);
374
- break;
375
-
376
- //// TODO: sqlTypes.SQL_INT64
377
-
378
- case sqlTypes.SQL_FLOAT:
379
- dataView.setFloat32(descriptor.offset, value, littleEndian);
380
- break;
381
- ***/
384
+ case sqlTypes.SQL_SHORT:
385
+ dataView.setInt16(descriptor.offset, changeScale(value, 0, descriptor.scale), littleEndian);
386
+ break;
387
+
388
+ case sqlTypes.SQL_LONG:
389
+ dataView.setInt32(descriptor.offset, changeScale(value, 0, descriptor.scale), littleEndian);
390
+ break;
391
+
392
+ //// TODO: sqlTypes.SQL_INT64
393
+
394
+ case sqlTypes.SQL_FLOAT:
395
+ dataView.setFloat32(descriptor.offset, value, littleEndian);
396
+ break;
397
+ ***/
382
398
  case sqlTypes.SQL_DOUBLE:
383
399
  dataView.setFloat64(descriptor.offset, value, littleEndian);
384
400
  break;
@@ -416,33 +432,36 @@ function createDataWriter(descriptors) {
416
432
  case sqlTypes.SQL_BOOLEAN:
417
433
  dataView.setInt8(descriptor.offset, value ? 1 : 0);
418
434
  break;
419
- case sqlTypes.SQL_BLOB:
420
- {
421
- const targetBlobId = buffer.subarray(descriptor.offset, descriptor.offset + 8);
422
- if (value instanceof __1.BlobStream)
423
- value = value.blob;
424
- if (value instanceof Buffer) {
425
- const blobStream = await attachment.createBlob(transaction);
426
- try {
427
- await blobStream.write(value);
428
- }
429
- catch (e) {
430
- await blobStream.cancel();
431
- throw e;
432
- }
433
- await blobStream.close();
434
- targetBlobId.set(blobStream.blob.id);
435
+ case sqlTypes.SQL_BLOB: {
436
+ const targetBlobId = buffer.subarray(descriptor.offset, descriptor.offset + 8);
437
+ if (value instanceof __1.BlobStream) {
438
+ value = value.blob;
439
+ }
440
+ if (value instanceof Buffer) {
441
+ const blobStream = await attachment.createBlob(transaction);
442
+ try {
443
+ await blobStream.write(value);
444
+ }
445
+ catch (e) {
446
+ await blobStream.cancel();
447
+ throw e;
435
448
  }
436
- else if (value instanceof __1.Blob) {
437
- if (value.attachment == attachment)
438
- targetBlobId.set(value.id);
439
- else
440
- throw new Error('Cannot pass a BLOB from another attachment as parameter.'); //// TODO: add support for it
449
+ await blobStream.close();
450
+ targetBlobId.set(blobStream.blob.id);
451
+ }
452
+ else if (value instanceof __1.Blob) {
453
+ if (value.attachment == attachment) {
454
+ targetBlobId.set(value.id);
441
455
  }
442
- else
443
- throw new Error('Unrecognized type used as BLOB. Must be: Buffer or Blob.');
444
- break;
456
+ else {
457
+ throw new Error('Cannot pass a BLOB from another attachment as parameter.');
458
+ } //// TODO: add support for it
459
+ }
460
+ else {
461
+ throw new Error('Unrecognized type used as BLOB. Must be: Buffer or Blob.');
445
462
  }
463
+ break;
464
+ }
446
465
  case sqlTypes.SQL_NULL:
447
466
  break;
448
467
  default:
@@ -451,10 +470,10 @@ function createDataWriter(descriptors) {
451
470
  };
452
471
  }
453
472
  return async (attachment, transaction, buffer, values) => {
454
- if ((values || []).length !== descriptors.length)
473
+ if ((values || []).length !== descriptors.length) {
455
474
  throw new Error(`Incorrect number of parameters: expected ${descriptors.length}, received ${(values || []).length}.`);
475
+ }
456
476
  await Promise.all(mappers.map((mapper, index) => mapper(attachment, transaction, buffer, values[index])));
457
477
  };
458
478
  }
459
- exports.createDataWriter = createDataWriter;
460
479
  //# sourceMappingURL=fb-util.js.map