node-firebird 2.3.3 → 2.4.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 (109) hide show
  1. package/README.md +544 -6
  2. package/lib/callback.d.ts +20 -0
  3. package/lib/callback.js +6 -16
  4. package/lib/firebird.msg.json +1370 -1370
  5. package/lib/gdscodes.d.ts +1519 -1520
  6. package/lib/gdscodes.js +5 -5
  7. package/lib/ieee754-decimal.d.ts +38 -0
  8. package/lib/ieee754-decimal.js +71 -118
  9. package/lib/index.d.ts +37 -338
  10. package/lib/index.js +97 -86
  11. package/lib/messages.d.ts +6 -0
  12. package/lib/messages.js +135 -162
  13. package/lib/pool.d.ts +23 -0
  14. package/lib/pool.js +34 -47
  15. package/lib/srp.d.ts +51 -0
  16. package/lib/srp.js +62 -72
  17. package/lib/types.d.ts +375 -0
  18. package/lib/types.js +22 -0
  19. package/lib/unix-crypt.d.ts +1 -0
  20. package/lib/unix-crypt.js +126 -152
  21. package/lib/utils.d.ts +16 -0
  22. package/lib/utils.js +24 -48
  23. package/lib/wire/connection.d.ts +100 -0
  24. package/lib/wire/connection.js +1029 -1009
  25. package/lib/wire/const.d.ts +567 -0
  26. package/lib/wire/const.js +620 -599
  27. package/lib/wire/database.d.ts +57 -0
  28. package/lib/wire/database.js +111 -108
  29. package/lib/wire/eventConnection.d.ts +16 -0
  30. package/lib/wire/eventConnection.js +29 -31
  31. package/lib/wire/fbEventManager.d.ts +45 -0
  32. package/lib/wire/fbEventManager.js +38 -57
  33. package/lib/wire/serialize.d.ts +97 -0
  34. package/lib/wire/serialize.js +42 -141
  35. package/lib/wire/service.d.ts +66 -0
  36. package/lib/wire/service.js +374 -401
  37. package/lib/wire/socket.d.ts +59 -0
  38. package/lib/wire/socket.js +79 -40
  39. package/lib/wire/statement.d.ts +25 -0
  40. package/lib/wire/statement.js +13 -9
  41. package/lib/wire/transaction.d.ts +21 -0
  42. package/lib/wire/transaction.js +33 -61
  43. package/lib/wire/xsqlvar.d.ts +175 -0
  44. package/lib/wire/xsqlvar.js +169 -269
  45. package/package.json +12 -4
  46. package/src/callback.ts +55 -0
  47. package/{poc/node_modules/node-firebird/lib/gdscodes.js → src/gdscodes.ts} +3 -3
  48. package/{poc/node_modules/node-firebird/lib/ieee754-decimal.js → src/ieee754-decimal.ts} +7 -14
  49. package/src/index.ts +157 -0
  50. package/{poc/node_modules/node-firebird/lib/messages.js → src/messages.ts} +163 -162
  51. package/src/pool.ts +209 -0
  52. package/{poc/node_modules/node-firebird/lib/srp.js → src/srp.ts} +74 -33
  53. package/src/types.ts +419 -0
  54. package/{poc/node_modules/node-firebird/lib/unix-crypt.js → src/unix-crypt.ts} +6 -12
  55. package/{poc/node_modules/node-firebird/lib/utils.js → src/utils.ts} +11 -20
  56. package/{poc/node_modules/node-firebird/lib/wire/connection.js → src/wire/connection.ts} +611 -129
  57. package/{poc/node_modules/node-firebird/lib/wire/const.js → src/wire/const.ts} +96 -9
  58. package/{poc/node_modules/node-firebird/lib/wire/database.js → src/wire/database.ts} +110 -44
  59. package/{poc/node_modules/node-firebird/lib/wire/eventConnection.js → src/wire/eventConnection.ts} +29 -14
  60. package/{poc/node_modules/node-firebird/lib/wire/fbEventManager.js → src/wire/fbEventManager.ts} +39 -30
  61. package/{poc/node_modules/node-firebird/lib/wire/serialize.js → src/wire/serialize.ts} +78 -59
  62. package/{poc/node_modules/node-firebird/lib/wire/service.js → src/wire/service.ts} +90 -88
  63. package/src/wire/socket.ts +262 -0
  64. package/src/wire/statement.ts +71 -0
  65. package/{poc/node_modules/node-firebird/lib/wire/transaction.js → src/wire/transaction.ts} +25 -19
  66. package/{poc/node_modules/node-firebird/lib/wire/xsqlvar.js → src/wire/xsqlvar.ts} +244 -143
  67. package/.eslintrc.json +0 -12
  68. package/.github/workflows/codeql.yml +0 -76
  69. package/.github/workflows/node.js.yml +0 -95
  70. package/BIGINT_MIGRATION.md +0 -374
  71. package/CI_DEBUGGING_GUIDE.md +0 -148
  72. package/ENCRYPTION_CALLBACK.md +0 -152
  73. package/FIREBIRD_LOG_FEATURE.md +0 -145
  74. package/MINIMAL_CHANGES_SUMMARY.md +0 -136
  75. package/PR_SUMMARY.md +0 -96
  76. package/ROADMAP.md +0 -223
  77. package/SRP_PROTOCOL.md +0 -482
  78. package/poc/README.md +0 -160
  79. package/poc/helpers.js +0 -59
  80. package/poc/node_modules/.package-lock.json +0 -14
  81. package/poc/node_modules/node-firebird/.eslintrc.json +0 -12
  82. package/poc/node_modules/node-firebird/.github/workflows/codeql.yml +0 -76
  83. package/poc/node_modules/node-firebird/.github/workflows/node.js.yml +0 -95
  84. package/poc/node_modules/node-firebird/BIGINT_MIGRATION.md +0 -374
  85. package/poc/node_modules/node-firebird/CI_DEBUGGING_GUIDE.md +0 -148
  86. package/poc/node_modules/node-firebird/ENCRYPTION_CALLBACK.md +0 -152
  87. package/poc/node_modules/node-firebird/FIREBIRD_LOG_FEATURE.md +0 -145
  88. package/poc/node_modules/node-firebird/LICENSE +0 -373
  89. package/poc/node_modules/node-firebird/MINIMAL_CHANGES_SUMMARY.md +0 -136
  90. package/poc/node_modules/node-firebird/PR_SUMMARY.md +0 -96
  91. package/poc/node_modules/node-firebird/README.md +0 -794
  92. package/poc/node_modules/node-firebird/ROADMAP.md +0 -223
  93. package/poc/node_modules/node-firebird/SRP_PROTOCOL.md +0 -482
  94. package/poc/node_modules/node-firebird/lib/callback.js +0 -38
  95. package/poc/node_modules/node-firebird/lib/gdscodes.d.ts +0 -1524
  96. package/poc/node_modules/node-firebird/lib/index.d.ts +0 -316
  97. package/poc/node_modules/node-firebird/lib/index.js +0 -128
  98. package/poc/node_modules/node-firebird/lib/pool.js +0 -108
  99. package/poc/node_modules/node-firebird/lib/wire/socket.js +0 -175
  100. package/poc/node_modules/node-firebird/lib/wire/statement.js +0 -48
  101. package/poc/node_modules/node-firebird/package.json +0 -38
  102. package/poc/node_modules/node-firebird/vitest.config.js +0 -24
  103. package/poc/package-lock.json +0 -21
  104. package/poc/package.json +0 -12
  105. package/poc/reproduce-fixed.js +0 -150
  106. package/poc/reproduce.js +0 -133
  107. package/vitest.config.js +0 -27
  108. /package/{poc/node_modules/node-firebird/lib → src}/firebird.msg +0 -0
  109. /package/{poc/node_modules/node-firebird/lib → src}/firebird.msg.json +0 -0
@@ -1,97 +1,95 @@
1
- const Events = require('events');
2
- const stream = require('stream');
3
- const Const = require('./const');
4
- const {BlrReader} = require('./serialize');
5
- const {doError} = require('../callback');
6
-
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const events_1 = __importDefault(require("events"));
6
+ const stream_1 = __importDefault(require("stream"));
7
+ const const_1 = __importDefault(require("./const"));
8
+ const serialize_1 = require("./serialize");
9
+ const callback_1 = require("../callback");
7
10
  /***************************************
8
11
  *
9
12
  * Helper Functions and Constants
10
13
  *
11
14
  ***************************************/
12
-
13
- function isEmpty(obj){
14
- for(var p in obj) return false;
15
+ function isEmpty(obj) {
16
+ for (var p in obj)
17
+ return false;
15
18
  return true;
16
19
  }
17
-
18
20
  const SHUTDOWN_KIND = {
19
- 0: Const.isc_spb_prp_shutdown_db,
20
- 1: Const.isc_spb_prp_deny_new_transactions,
21
- 2: Const.isc_spb_prp_deny_new_attachments
21
+ 0: const_1.default.isc_spb_prp_shutdown_db,
22
+ 1: const_1.default.isc_spb_prp_deny_new_transactions,
23
+ 2: const_1.default.isc_spb_prp_deny_new_attachments
22
24
  };
23
25
  const SHUTDOWNEX_KIND = {
24
- 0: Const.isc_spb_prp_force_shutdown,
25
- 1: Const.isc_spb_prp_transactions_shutdown,
26
- 2: Const.isc_spb_prp_attachments_shutdown
26
+ 0: const_1.default.isc_spb_prp_force_shutdown,
27
+ 1: const_1.default.isc_spb_prp_transactions_shutdown,
28
+ 2: const_1.default.isc_spb_prp_attachments_shutdown
27
29
  };
28
30
  const SHUTDOWNEX_MODE = {
29
31
  //0: isc_spb_prp_sm_normal,
30
- 1: Const.isc_spb_prp_sm_multi,
31
- 2: Const.isc_spb_prp_sm_single,
32
- 3: Const.isc_spb_prp_sm_full
32
+ 1: const_1.default.isc_spb_prp_sm_multi,
33
+ 2: const_1.default.isc_spb_prp_sm_single,
34
+ 3: const_1.default.isc_spb_prp_sm_full
33
35
  };
34
36
  const ShutdownMode = { NORMAL: 0, MULTI: 1, SINGLE: 2, FULL: 3 };
35
37
  const ShutdownKind = { FORCED: 0, DENY_TRANSACTION: 1, DENY_ATTACHMENT: 2 };
36
-
37
38
  /***************************************
38
39
  *
39
40
  * Service Manager
40
41
  *
41
42
  ***************************************/
42
-
43
- class ServiceManager extends Events.EventEmitter {
43
+ class ServiceManager extends events_1.default.EventEmitter {
44
+ static { this.ShutdownMode = ShutdownMode; }
45
+ static { this.ShutdownKind = ShutdownKind; }
44
46
  constructor(connection) {
45
47
  super();
48
+ this._infosmapping = {
49
+ "50" /*isc_info_svc_svr_db_info*/: "dbinfo",
50
+ "51" /*isc_info_svc_get_license*/: "licenses",
51
+ "52" /*isc_info_svc_get_license_mask*/: "licenseoptions",
52
+ "53" /*isc_info_svc_get_config*/: "fbconfig",
53
+ "54" /*isc_info_svc_version*/: "svcversion",
54
+ "55" /*isc_info_svc_server_version*/: "fbversion",
55
+ "56" /*isc_info_svc_implementation*/: "fbimplementation",
56
+ "57" /*isc_info_svc_capabilities*/: "fbcapatibilities",
57
+ "58" /*isc_info_svc_user_dbpath*/: "pathsecuritydb",
58
+ "59" /*isc_info_svc_get_env*/: "fbenv",
59
+ "60" /*isc_info_svc_get_env_lock*/: "fbenvlock",
60
+ "61" /*isc_info_svc_get_env_msg*/: "fbenvmsg",
61
+ "62" /*isc_info_svc_line*/: "",
62
+ "63" /*isc_info_svc_to_eof*/: "",
63
+ "64" /*isc_info_svc_timeout*/: "",
64
+ "65" /*isc_info_svc_get_licensed_users*/: "",
65
+ "66" /*isc_info_svc_limbo_trans*/: "limbotrans",
66
+ "67" /*isc_info_svc_running*/: "",
67
+ "68" /*isc_info_svc_get_users*/: "fbusers",
68
+ "78" /*isc_info_svc_stdin*/: ""
69
+ };
46
70
  this.connection = connection;
47
71
  connection.svc = this;
48
72
  }
49
-
50
73
  _createOutputStream(optread, buffersize, callback) {
51
74
  var self = this;
52
75
  optread = optread || 'byline';
53
- var t = new stream.Readable({ objectMode: optread === 'byline' }); // chunk by line
76
+ var t = new stream_1.default.Readable({ objectMode: optread === 'byline' }); // chunk by line
54
77
  t.__proto__._read = function () {
55
78
  var selfread = this;
56
79
  var fct = optread === 'byline' ? self.readline : self.readeof;
57
80
  fct.call(self, { buffersize: buffersize }, function (err, data) {
58
81
  if (err) {
59
- selfread.push(err.message, Const.DEFAULT_ENCODING);
82
+ selfread.push(err.message, const_1.default.DEFAULT_ENCODING);
60
83
  return;
61
84
  }
62
85
  if (data.line && data.line.length)
63
- selfread.push(data.line, Const.DEFAULT_ENCODING);
86
+ selfread.push(data.line, const_1.default.DEFAULT_ENCODING);
64
87
  else
65
88
  selfread.push(null);
66
89
  });
67
- }
68
-
90
+ };
69
91
  callback(null, t);
70
92
  }
71
-
72
- _infosmapping = {
73
- "50"/*isc_info_svc_svr_db_info*/ : "dbinfo",
74
- "51"/*isc_info_svc_get_license*/ : "licenses",
75
- "52"/*isc_info_svc_get_license_mask*/ : "licenseoptions",
76
- "53"/*isc_info_svc_get_config*/ : "fbconfig",
77
- "54"/*isc_info_svc_version*/ : "svcversion",
78
- "55"/*isc_info_svc_server_version*/ : "fbversion",
79
- "56"/*isc_info_svc_implementation*/ : "fbimplementation",
80
- "57"/*isc_info_svc_capabilities*/ : "fbcapatibilities",
81
- "58"/*isc_info_svc_user_dbpath*/ : "pathsecuritydb",
82
- "59"/*isc_info_svc_get_env*/ : "fbenv",
83
- "60"/*isc_info_svc_get_env_lock*/ : "fbenvlock",
84
- "61"/*isc_info_svc_get_env_msg*/ : "fbenvmsg",
85
- "62"/*isc_info_svc_line*/ : "",
86
- "63"/*isc_info_svc_to_eof*/ : "",
87
- "64"/*isc_info_svc_timeout*/ : "",
88
- "65"/*isc_info_svc_get_licensed_users*/ : "",
89
- "66"/*isc_info_svc_limbo_trans*/ : "limbotrans",
90
- "67"/*isc_info_svc_running*/ : "",
91
- "68"/*isc_info_svc_get_users*/ : "fbusers",
92
- "78"/*isc_info_svc_stdin*/ : ""
93
- };
94
-
95
93
  _processcapabilities(blr, res) {
96
94
  var capArray = [
97
95
  "WAL_SUPPORT",
@@ -108,168 +106,148 @@ class ServiceManager extends Events.EventEmitter {
108
106
  ];
109
107
  var dbcapa = res[this._infosmapping[57]] = [];
110
108
  var caps = blr.readInt32();
111
-
112
109
  for (var i = 0; i < capArray.length; ++i)
113
110
  if (caps & (1 << i))
114
111
  dbcapa.push(capArray[i]);
115
112
  }
116
-
117
113
  _processdbinfo(blr, res) {
118
114
  var tinfo = blr.readByteCode();
119
115
  var dbinfo = res[this._infosmapping[50]] = {};
120
-
121
116
  dbinfo.database = [];
122
- for (; tinfo != Const.isc_info_flag_end; tinfo = blr.readByteCode()) {
117
+ for (; tinfo != const_1.default.isc_info_flag_end; tinfo = blr.readByteCode()) {
123
118
  switch (tinfo) {
124
- case Const.isc_spb_dbname:
119
+ case const_1.default.isc_spb_dbname:
125
120
  dbinfo.database.push(blr.readString());
126
121
  break;
127
- case Const.isc_spb_num_att:
122
+ case const_1.default.isc_spb_num_att:
128
123
  dbinfo.nbattachment = blr.readInt32();
129
124
  break;
130
- case Const.isc_spb_num_db:
125
+ case const_1.default.isc_spb_num_db:
131
126
  dbinfo.nbdatabase = blr.readInt32();
132
127
  break;
133
128
  }
134
129
  }
135
130
  }
136
-
137
131
  _processquery(buffer, callback) {
138
132
  if (!Buffer.isBuffer(buffer)) {
139
- doError(new Error('Malformed service-manager response: missing BLR buffer'), callback);
133
+ (0, callback_1.doError)(new Error('Malformed service-manager response: missing BLR buffer'), callback);
140
134
  return;
141
135
  }
142
-
143
136
  try {
144
- var br = new BlrReader(buffer);
137
+ var br = new serialize_1.BlrReader(buffer);
145
138
  var tinfo = br.readByteCode();
146
139
  var res = {};
147
140
  res.result = 0;
148
- for (; tinfo !== Const.isc_info_end; tinfo = br.readByteCode()) {
141
+ for (; tinfo !== const_1.default.isc_info_end; tinfo = br.readByteCode()) {
149
142
  switch (tinfo) {
150
- case Const.isc_info_svc_server_version:
151
- case Const.isc_info_svc_implementation:
152
- case Const.isc_info_svc_user_dbpath:
153
- case Const.isc_info_svc_get_env:
154
- case Const.isc_info_svc_get_env_lock:
155
- case Const.isc_info_svc_get_env_msg:
143
+ case const_1.default.isc_info_svc_server_version:
144
+ case const_1.default.isc_info_svc_implementation:
145
+ case const_1.default.isc_info_svc_user_dbpath:
146
+ case const_1.default.isc_info_svc_get_env:
147
+ case const_1.default.isc_info_svc_get_env_lock:
148
+ case const_1.default.isc_info_svc_get_env_msg:
156
149
  res[this._infosmapping[tinfo]] = br.readString();
157
150
  break;
158
- case Const.isc_info_svc_version:
151
+ case const_1.default.isc_info_svc_version:
159
152
  res[this._infosmapping[tinfo]] = br.readInt32();
160
153
  break;
161
- case Const.isc_info_svc_svr_db_info:
154
+ case const_1.default.isc_info_svc_svr_db_info:
162
155
  this._processdbinfo(br, res);
163
156
  break;
164
- case Const.isc_info_svc_limbo_trans:
157
+ case const_1.default.isc_info_svc_limbo_trans:
165
158
  // not implemented
166
- for (; tinfo !== isc_info_flag_end; tinfo = br.readByteCode())
159
+ for (; tinfo !== const_1.default.isc_info_flag_end; tinfo = br.readByteCode())
167
160
  break;
168
- case Const.isc_info_svc_get_users:
169
- br.pos += 2
161
+ case const_1.default.isc_info_svc_get_users:
162
+ br.pos += 2;
170
163
  res[this._infosmapping[tinfo]] = [];
171
164
  break;
172
- case Const.isc_spb_sec_username:
165
+ case const_1.default.isc_spb_sec_username:
173
166
  var tuser = res[this._infosmapping[68]];
174
167
  tuser.push({});
175
168
  tuser[tuser.length - 1].username = br.readString();
176
169
  break;
177
- case Const.isc_spb_sec_firstname:
170
+ case const_1.default.isc_spb_sec_firstname:
178
171
  var tuser = res[this._infosmapping[68]];
179
- var user = tuser[tuser.length-1];
172
+ var user = tuser[tuser.length - 1];
180
173
  user.firstname = br.readString();
181
174
  break;
182
- case Const.isc_spb_sec_middlename:
175
+ case const_1.default.isc_spb_sec_middlename:
183
176
  var tuser = res[this._infosmapping[68]];
184
- var user = tuser[tuser.length-1];
177
+ var user = tuser[tuser.length - 1];
185
178
  user.middlename = br.readString();
186
179
  break;
187
- case Const.isc_spb_sec_lastname:
180
+ case const_1.default.isc_spb_sec_lastname:
188
181
  var tuser = res[this._infosmapping[68]];
189
- var user = tuser[tuser.length-1];
182
+ var user = tuser[tuser.length - 1];
190
183
  user.lastname = br.readString();
191
184
  break;
192
- case Const.isc_spb_sec_groupid:
185
+ case const_1.default.isc_spb_sec_groupid:
193
186
  var tuser = res[this._infosmapping[68]];
194
- var user = tuser[tuser.length-1];
187
+ var user = tuser[tuser.length - 1];
195
188
  user.groupid = br.readInt32();
196
189
  break;
197
- case Const.isc_spb_sec_userid:
190
+ case const_1.default.isc_spb_sec_userid:
198
191
  var tuser = res[this._infosmapping[68]];
199
- var user = tuser[tuser.length-1];
192
+ var user = tuser[tuser.length - 1];
200
193
  user.userid = br.readInt32();
201
-
202
194
  break;
203
- case Const.isc_spb_sec_admin:
195
+ case const_1.default.isc_spb_sec_admin:
204
196
  var tuser = res[this._infosmapping[68]];
205
- var user = tuser[tuser.length-1];
197
+ var user = tuser[tuser.length - 1];
206
198
  user.admin = br.readInt32();
207
199
  break;
208
-
209
- case Const.isc_info_svc_line:
200
+ case const_1.default.isc_info_svc_line:
210
201
  res.line = br.readString();
211
202
  break;
212
-
213
- case Const.isc_info_svc_to_eof:
203
+ case const_1.default.isc_info_svc_to_eof:
214
204
  res.line = br.readString();
215
205
  break;
216
-
217
- case Const.isc_info_truncated:
206
+ case const_1.default.isc_info_truncated:
218
207
  res.result = 1; // too much data for the result buffer increase size of it (buffersize parameter))
219
208
  break;
220
-
221
- case Const.isc_info_data_not_ready:
209
+ case const_1.default.isc_info_data_not_ready:
222
210
  res.result = 2;
223
211
  break;
224
-
225
- case Const.isc_info_svc_timeout:
212
+ case const_1.default.isc_info_svc_timeout:
226
213
  res.result = 3;
227
214
  break;
228
-
229
- case Const.isc_info_svc_stdin:
230
-
215
+ case const_1.default.isc_info_svc_stdin:
231
216
  break;
232
-
233
- case Const.isc_info_svc_capabilities:
217
+ case const_1.default.isc_info_svc_capabilities:
234
218
  this._processcapabilities(br, res);
235
219
  break;
236
220
  }
237
221
  }
238
222
  callback(null, res);
239
- } catch (err) {
240
- doError(new Error('Malformed service-manager response: ' + err.message), callback);
223
+ }
224
+ catch (err) {
225
+ (0, callback_1.doError)(new Error('Malformed service-manager response: ' + err.message), callback);
241
226
  }
242
227
  }
243
-
244
228
  detach(callback, force) {
245
229
  var self = this;
246
-
247
230
  if (!force && self.connection._pending.length > 0) {
248
231
  self.connection._detachAuto = true;
249
232
  self.connection._detachCallback = callback;
250
233
  return self;
251
234
  }
252
-
253
235
  self.connection.svcdetach(function (err, obj) {
254
-
255
236
  self.connection.disconnect();
256
237
  self.emit('detach', false);
257
-
258
238
  if (callback)
259
239
  callback(err, obj);
260
-
261
240
  }, force);
262
-
263
241
  return self;
264
242
  }
265
-
266
243
  backup(options, callback) {
267
244
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
268
245
  var verbose = options.verbose || false;
269
246
  // format of bckfile {filename:'name', sizefile:''} sizefile is length of part in bytes
270
247
  var bckfiles = options.backupfiles || options.files || null;
271
248
  // for convenience
272
- if (bckfiles) bckfiles = bckfiles.constructor !== Array?[{ filename: bckfiles, sizefile: '0' }]:bckfiles;
249
+ if (bckfiles)
250
+ bckfiles = bckfiles.constructor !== Array ? [{ filename: bckfiles, sizefile: '0' }] : bckfiles;
273
251
  var factor = options.factor || 0; //If backing up to a physical tape device, this switch lets you specify the tape's blocking factor
274
252
  var ignorechecksums = options.ignorechecksums || false;
275
253
  var ignorelimbo = options.ignorelimbo || false;
@@ -280,193 +258,200 @@ class ServiceManager extends Events.EventEmitter {
280
258
  var convert = options.convert || false;
281
259
  var expand = options.expand || false;
282
260
  var notriggers = options.notriggers || false;
283
-
284
261
  if (dbpath == null || dbpath.length === 0) {
285
- doError(new Error('No database specified'), callback);
262
+ (0, callback_1.doError)(new Error('No database specified'), callback);
286
263
  return;
287
264
  }
288
-
289
265
  if (bckfiles == null || bckfiles.length === 0) {
290
- doError(new Error('No backup path specified'), callback);
266
+ (0, callback_1.doError)(new Error('No backup path specified'), callback);
291
267
  return;
292
268
  }
293
-
294
269
  var blr = this.connection._blr;
295
270
  blr.pos = 0;
296
- blr.addByte(Const.isc_action_svc_backup);
297
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
271
+ blr.addByte(const_1.default.isc_action_svc_backup);
272
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
298
273
  for (var i = 0; i < bckfiles.length; i++) {
299
- blr.addString2(Const.isc_spb_bkp_file, bckfiles[i].filename, Const.DEFAULT_ENCODING);
274
+ blr.addString2(const_1.default.isc_spb_bkp_file, bckfiles[i].filename, const_1.default.DEFAULT_ENCODING);
300
275
  if (i !== bckfiles.length - 1) // not the end, so we need to write the size of this part (gsplit)
301
- blr.addString2(Const.isc_spb_bkp_length, bckfiles[i].sizefile, Const.DEFAULT_ENCODING);
276
+ blr.addString2(const_1.default.isc_spb_bkp_length, bckfiles[i].sizefile, const_1.default.DEFAULT_ENCODING);
302
277
  }
303
278
  if (factor)
304
- blr.addByteInt32(Const.isc_spb_bkp_factor, factor);
305
-
279
+ blr.addByteInt32(const_1.default.isc_spb_bkp_factor, factor);
306
280
  var opts = 0;
307
- if (ignorechecksums) opts = opts | Const.isc_spb_bkp_ignore_checksums;
308
- if (ignorelimbo) opts = opts | Const.isc_spb_bkp_ignore_limbo;
309
- if (metadataonly) opts = opts | Const.isc_spb_bkp_metadata_only;
310
- if (nogarbagecollect) opts = opts | Const.isc_spb_bkp_no_garbage_collect;
311
- if (olddescriptions) opts = opts | Const.isc_spb_bkp_old_descriptions;
312
- if (nontransportable) opts = opts | Const.isc_spb_bkp_non_transportable;
313
- if (convert) opts = opts | Const.isc_spb_bkp_convert;
314
- if (expand) opts = opts | Const.isc_spb_bkp_expand;
315
- if (notriggers) opts = opts | Const.isc_spb_bkp_no_triggers;
281
+ if (ignorechecksums)
282
+ opts = opts | const_1.default.isc_spb_bkp_ignore_checksums;
283
+ if (ignorelimbo)
284
+ opts = opts | const_1.default.isc_spb_bkp_ignore_limbo;
285
+ if (metadataonly)
286
+ opts = opts | const_1.default.isc_spb_bkp_metadata_only;
287
+ if (nogarbagecollect)
288
+ opts = opts | const_1.default.isc_spb_bkp_no_garbage_collect;
289
+ if (olddescriptions)
290
+ opts = opts | const_1.default.isc_spb_bkp_old_descriptions;
291
+ if (nontransportable)
292
+ opts = opts | const_1.default.isc_spb_bkp_non_transportable;
293
+ if (convert)
294
+ opts = opts | const_1.default.isc_spb_bkp_convert;
295
+ if (expand)
296
+ opts = opts | const_1.default.isc_spb_bkp_expand;
297
+ if (notriggers)
298
+ opts = opts | const_1.default.isc_spb_bkp_no_triggers;
316
299
  if (opts)
317
- blr.addByteInt32(Const.isc_spb_options, opts);
300
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
318
301
  if (verbose)
319
- blr.addByte(Const.isc_spb_verbose);
302
+ blr.addByte(const_1.default.isc_spb_verbose);
320
303
  var self = this;
321
304
  this.connection.svcstart(blr, function (err, data) {
322
305
  if (err) {
323
- doError(new Error(err), callback);
306
+ (0, callback_1.doError)(new Error(err), callback);
324
307
  return;
325
308
  }
326
309
  self._createOutputStream(options.optread, options.buffersize, callback);
327
310
  });
328
311
  }
329
-
330
312
  nbackup(options, callback) {
331
313
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
332
314
  var bckfile = options.backupfile || options.file || null;
333
315
  var level = options.level || 0; // nb day for incremental
334
316
  var notriggers = options.notriggers || false;
335
317
  var direct = options.direct || 'on'; // on or off direct write I/O
336
-
337
318
  if (dbpath == null || dbpath.length === 0) {
338
- doError(new Error('No database specified'), callback);
319
+ (0, callback_1.doError)(new Error('No database specified'), callback);
339
320
  return;
340
321
  }
341
-
342
322
  if (bckfile == null || bckfile.length === 0) {
343
- doError(new Error('No backup path specified'), callback);
323
+ (0, callback_1.doError)(new Error('No backup path specified'), callback);
344
324
  return;
345
325
  }
346
-
347
326
  var blr = this.connection._blr;
348
327
  blr.pos = 0;
349
- blr.addByte(Const.isc_action_svc_nbak);
350
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
351
- blr.addString2(Const.isc_spb_nbk_file, bckfile, Const.DEFAULT_ENCODING);
352
- blr.addByteInt32(Const.isc_spb_nbk_level, level);
353
- blr.addString2(Const.isc_spb_nbk_direct, direct, Const.DEFAULT_ENCODING);
328
+ blr.addByte(const_1.default.isc_action_svc_nbak);
329
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
330
+ blr.addString2(const_1.default.isc_spb_nbk_file, bckfile, const_1.default.DEFAULT_ENCODING);
331
+ blr.addByteInt32(const_1.default.isc_spb_nbk_level, level);
332
+ blr.addString2(const_1.default.isc_spb_nbk_direct, direct, const_1.default.DEFAULT_ENCODING);
354
333
  var opts = 0;
355
- if (notriggers) opts = opts | Const.isc_spb_nbk_no_triggers;
356
- blr.addByteInt32(Const.isc_spb_options, opts);
334
+ if (notriggers)
335
+ opts = opts | const_1.default.isc_spb_nbk_no_triggers;
336
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
357
337
  var self = this;
358
338
  this.connection.svcstart(blr, function (err, data) {
359
339
  if (err) {
360
- doError(new Error(err), callback);
340
+ (0, callback_1.doError)(new Error(err), callback);
361
341
  return;
362
342
  }
363
343
  self._createOutputStream(options.optread, options.buffersize, callback);
364
344
  });
365
345
  }
366
-
367
346
  restore(options, callback) {
368
347
  var bckfiles = options.backupfiles || options.files || null; // format bckfiles ['file1', 'file2', 'file3']
369
348
  // for convenience
370
- if (bckfiles) bckfiles = bckfiles.constructor !== Array?[bckfiles]:bckfiles;
371
- var dbfile = options.database || this.connection.options.filename || this.connection.options.database;;
349
+ if (bckfiles)
350
+ bckfiles = bckfiles.constructor !== Array ? [bckfiles] : bckfiles;
351
+ var dbfile = options.database || this.connection.options.filename || this.connection.options.database;
352
+ ;
372
353
  var verbose = options.verbose || false;
373
354
  var cachebuffers = options.cachebuffers || 2048; // gbak -buffers
374
355
  var pagesize = options.pagesize || 4096; // gbak -page_size
375
356
  var readonly = options.readonly || false; // gbak -mode
376
357
  var deactivateindexes = options.deactivateindexes || false;
377
- var noshadow = options.noshadow || false;
378
- var novalidity = options.novalidity || false;
379
- var individualcommit = options.individualcommit || true; // otherwise no data
380
- var replace = options.replace || false;
381
- var create = options.create || true;
358
+ var noshadow = options.noshadow || false;
359
+ var novalidity = options.novalidity || false;
360
+ var individualcommit = options.individualcommit || true; // otherwise no data
361
+ var replace = options.replace || false;
362
+ var create = options.create || true;
382
363
  var useallspace = options.useallspace || false;
383
364
  var metadataonly = options.metadataonly || false;
384
365
  var fixfssdata = options.fixfssdata || null;
385
366
  var fixfssmetadata = options.fixfssmetadata || null;
386
-
387
367
  if (bckfiles == null || bckfiles.length === 0) {
388
- doError(new Error('No backup file specified'), callback);
368
+ (0, callback_1.doError)(new Error('No backup file specified'), callback);
389
369
  return;
390
370
  }
391
-
392
371
  if (dbfile == null || dbfile.length === 0) {
393
- doError(new Error('No database path specified'), callback);
372
+ (0, callback_1.doError)(new Error('No database path specified'), callback);
394
373
  return;
395
374
  }
396
-
397
375
  var blr = this.connection._blr;
398
376
  blr.pos = 0;
399
- blr.addByte(Const.isc_action_svc_restore);
377
+ blr.addByte(const_1.default.isc_action_svc_restore);
400
378
  for (var i = 0; i < bckfiles.length; i++) {
401
- blr.addString2(Const.isc_spb_bkp_file, bckfiles[i], Const.DEFAULT_ENCODING);
379
+ blr.addString2(const_1.default.isc_spb_bkp_file, bckfiles[i], const_1.default.DEFAULT_ENCODING);
402
380
  }
403
- blr.addString2(Const.isc_spb_dbname, dbfile, Const.DEFAULT_ENCODING);
404
- blr.addByte(Const.isc_spb_res_buffers);
381
+ blr.addString2(const_1.default.isc_spb_dbname, dbfile, const_1.default.DEFAULT_ENCODING);
382
+ blr.addByte(const_1.default.isc_spb_res_buffers);
405
383
  blr.addInt32(cachebuffers);
406
- blr.addByte(Const.isc_spb_res_page_size);
384
+ blr.addByte(const_1.default.isc_spb_res_page_size);
407
385
  blr.addInt32(pagesize);
408
- blr.addByte(Const.isc_spb_res_access_mode);
386
+ blr.addByte(const_1.default.isc_spb_res_access_mode);
409
387
  if (readonly)
410
- blr.addByte(Const.isc_spb_prp_am_readonly);
388
+ blr.addByte(const_1.default.isc_spb_prp_am_readonly);
411
389
  else
412
- blr.addByte(Const.isc_spb_prp_am_readwrite);
413
- if (fixfssdata) blr.addString2(Const.isc_spb_res_fix_fss_data, fixfssdata, Const.DEFAULT_ENCODING);
414
- if (fixfssmetadata) blr.addString2(Const.isc_spb_res_fix_fss_metadata, fixfssmetadata, Const.DEFAULT_ENCODING);
390
+ blr.addByte(const_1.default.isc_spb_prp_am_readwrite);
391
+ if (fixfssdata)
392
+ blr.addString2(const_1.default.isc_spb_res_fix_fss_data, fixfssdata, const_1.default.DEFAULT_ENCODING);
393
+ if (fixfssmetadata)
394
+ blr.addString2(const_1.default.isc_spb_res_fix_fss_metadata, fixfssmetadata, const_1.default.DEFAULT_ENCODING);
415
395
  var opts = 0;
416
- if (deactivateindexes) opts = opts | Const.isc_spb_res_deactivate_idx;
417
- if (noshadow) opts = opts | Const.isc_spb_res_no_shadow;
418
- if (novalidity) opts = opts | Const.isc_spb_res_no_validity;
419
- if (individualcommit) opts = opts | Const.isc_spb_res_one_at_a_time;
420
- if (replace) opts = opts | Const.isc_spb_res_replace;
421
- if (create) opts = opts | Const.isc_spb_res_create;
422
- if (useallspace) opts = opts | Const.isc_spb_res_use_all_space;
423
- if (metadataonly) opts = opts | Const.isc_spb_res_fix_fss_metadata;
396
+ if (deactivateindexes)
397
+ opts = opts | const_1.default.isc_spb_res_deactivate_idx;
398
+ if (noshadow)
399
+ opts = opts | const_1.default.isc_spb_res_no_shadow;
400
+ if (novalidity)
401
+ opts = opts | const_1.default.isc_spb_res_no_validity;
402
+ if (individualcommit)
403
+ opts = opts | const_1.default.isc_spb_res_one_at_a_time;
404
+ if (replace)
405
+ opts = opts | const_1.default.isc_spb_res_replace;
406
+ if (create)
407
+ opts = opts | const_1.default.isc_spb_res_create;
408
+ if (useallspace)
409
+ opts = opts | const_1.default.isc_spb_res_use_all_space;
410
+ if (metadataonly)
411
+ opts = opts | const_1.default.isc_spb_res_fix_fss_metadata;
424
412
  if (opts)
425
- blr.addByteInt32(Const.isc_spb_options, opts);
413
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
426
414
  if (verbose)
427
- blr.addByte(Const.isc_spb_verbose);
415
+ blr.addByte(const_1.default.isc_spb_verbose);
428
416
  var self = this;
429
417
  this.connection.svcstart(blr, function (err, data) {
430
418
  if (err) {
431
- doError(new Error(err), callback);
419
+ (0, callback_1.doError)(new Error(err), callback);
432
420
  return;
433
421
  }
434
422
  self._createOutputStream(options.optread, options.buffersize, callback);
435
423
  });
436
424
  }
437
-
438
425
  nrestore(options, callback) {
439
426
  var bckfiles = options.backupfiles || options.files || null; // format bckfiles ['file1', 'file2', 'file3']
440
427
  // for convenience
441
- if (bckfiles) bckfiles = bckfiles.constructor !== Array?[bckfiles]:bckfiles;
428
+ if (bckfiles)
429
+ bckfiles = bckfiles.constructor !== Array ? [bckfiles] : bckfiles;
442
430
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
443
-
444
431
  if (bckfiles == null || bckfiles.length === 0) {
445
- doError(new Error('No backup file specified'), callback);
432
+ (0, callback_1.doError)(new Error('No backup file specified'), callback);
446
433
  return;
447
434
  }
448
-
449
435
  if (dbpath == null || bckfiles.length === 0) {
450
- doError(new Error('No database path specified'), callback);
436
+ (0, callback_1.doError)(new Error('No database path specified'), callback);
451
437
  return;
452
438
  }
453
439
  var blr = this.connection._blr;
454
440
  blr.pos = 0;
455
- blr.addByte(Const.isc_action_svc_nrest);
441
+ blr.addByte(const_1.default.isc_action_svc_nrest);
456
442
  for (var i = 0; i < bckfiles.length; i++) {
457
- blr.addString2(Const.isc_spb_nbk_file, bckfiles[i], Const.DEFAULT_ENCODING);
443
+ blr.addString2(const_1.default.isc_spb_nbk_file, bckfiles[i], const_1.default.DEFAULT_ENCODING);
458
444
  }
459
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
445
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
460
446
  var self = this;
461
447
  this.connection.svcstart(blr, function (err, data) {
462
448
  if (err) {
463
- doError(new Error(err), callback);
449
+ (0, callback_1.doError)(new Error(err), callback);
464
450
  return;
465
451
  }
466
452
  self._createOutputStream(options.optread, options.buffersize, callback);
467
453
  });
468
454
  }
469
-
470
455
  _fixpropertie(options, callback) {
471
456
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
472
457
  var dialect = options.dialect || null;
@@ -480,105 +465,102 @@ class ServiceManager extends Events.EventEmitter {
480
465
  var forcewrite = options.forcewrite;
481
466
  var reservespace = options.reservespace;
482
467
  var accessmode = options.accessmode; // 0 readonly 1 readwrite
483
-
484
468
  if (dbpath == null || dbpath.length === 0) {
485
- doError(new Error('No database specified'), callback);
469
+ (0, callback_1.doError)(new Error('No database specified'), callback);
486
470
  return;
487
471
  }
488
-
489
472
  var blr = this.connection._blr;
490
473
  blr.pos = 0;
491
- blr.addByte(Const.isc_action_svc_properties);
492
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
493
- if (dialect) blr.addByteInt32(Const.isc_spb_prp_set_sql_dialect, dialect);
494
- if (sweep) blr.addByteInt32(Const.isc_spb_prp_sweep_interval, sweep);
495
- if (pagebuffers) blr.addByteInt32(Const.isc_spb_prp_page_buffers, pagebuffers);
474
+ blr.addByte(const_1.default.isc_action_svc_properties);
475
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
476
+ if (dialect)
477
+ blr.addByteInt32(const_1.default.isc_spb_prp_set_sql_dialect, dialect);
478
+ if (sweep)
479
+ blr.addByteInt32(const_1.default.isc_spb_prp_sweep_interval, sweep);
480
+ if (pagebuffers)
481
+ blr.addByteInt32(const_1.default.isc_spb_prp_page_buffers, pagebuffers);
496
482
  if (shutdown != null) {
497
483
  if (shutdownmode != null) {
498
484
  if (SHUTDOWNEX_KIND[shutdown] === undefined) {
499
- doError(new Error('Invalid shutdown kind'), callback);
485
+ (0, callback_1.doError)(new Error('Invalid shutdown kind'), callback);
500
486
  return;
501
487
  }
502
488
  if (SHUTDOWNEX_MODE[shutdownmode] === undefined) {
503
- doError(new Error('Invalid shutdown mode'), callback);
489
+ (0, callback_1.doError)(new Error('Invalid shutdown mode'), callback);
504
490
  return;
505
491
  }
506
-
507
492
  // New shutdown with mode
508
- blr.addBytes([Const.isc_spb_prp_shutdown_mode, SHUTDOWNEX_MODE[shutdownmode]]);
493
+ blr.addBytes([const_1.default.isc_spb_prp_shutdown_mode, SHUTDOWNEX_MODE[shutdownmode]]);
509
494
  blr.addByteInt32(SHUTDOWNEX_KIND[shutdown], shutdowndelay);
510
- } else {
495
+ }
496
+ else {
511
497
  // Old shutdown
512
498
  blr.addByteInt32(SHUTDOWN_KIND[shutdown], shutdowndelay);
513
499
  }
514
500
  }
515
- if (forcewrite) blr.addBytes([Const.isc_spb_prp_write_mode, Const.isc_spb_prp_wm_sync]);
516
- if (forcewrite === false) blr.addBytes([Const.isc_spb_prp_write_mode, Const.isc_spb_prp_wm_async]);
517
- if (accessmode === 1) blr.addBytes([Const.isc_spb_prp_access_mode, Const.isc_spb_prp_am_readwrite]);
518
- if (accessmode === 0) blr.addBytes([Const.isc_spb_prp_access_mode, Const.isc_spb_prp_am_readonly]);
519
- if (reservespace) blr.addBytes([Const.isc_spb_prp_reserve_space, Const.isc_spb_prp_res]);
520
- if (reservespace != null && !reservespace) blr.addBytes([Const.isc_spb_prp_reserve_space, Const.isc_spb_prp_res_use_full]);
501
+ if (forcewrite)
502
+ blr.addBytes([const_1.default.isc_spb_prp_write_mode, const_1.default.isc_spb_prp_wm_sync]);
503
+ if (forcewrite === false)
504
+ blr.addBytes([const_1.default.isc_spb_prp_write_mode, const_1.default.isc_spb_prp_wm_async]);
505
+ if (accessmode === 1)
506
+ blr.addBytes([const_1.default.isc_spb_prp_access_mode, const_1.default.isc_spb_prp_am_readwrite]);
507
+ if (accessmode === 0)
508
+ blr.addBytes([const_1.default.isc_spb_prp_access_mode, const_1.default.isc_spb_prp_am_readonly]);
509
+ if (reservespace)
510
+ blr.addBytes([const_1.default.isc_spb_prp_reserve_space, const_1.default.isc_spb_prp_res]);
511
+ if (reservespace != null && !reservespace)
512
+ blr.addBytes([const_1.default.isc_spb_prp_reserve_space, const_1.default.isc_spb_prp_res_use_full]);
521
513
  var opts = 0;
522
- if (shadow) opts = opts | Const.isc_spb_prp_activate;
523
- if (online) opts = opts | Const.isc_spb_prp_db_online;
514
+ if (shadow)
515
+ opts = opts | const_1.default.isc_spb_prp_activate;
516
+ if (online)
517
+ opts = opts | const_1.default.isc_spb_prp_db_online;
524
518
  if (opts)
525
- blr.addByteInt32(Const.isc_spb_options, opts);
519
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
526
520
  var self = this;
527
521
  this.connection.svcstart(blr, function (err, data) {
528
522
  if (err) {
529
- doError(new Error(err), callback);
523
+ (0, callback_1.doError)(new Error(err), callback);
530
524
  return;
531
525
  }
532
526
  self._createOutputStream(options.optread, options.buffersize, callback);
533
527
  });
534
528
  }
535
-
536
529
  setDialect(db, dialect, callback) {
537
530
  this._fixpropertie({ database: db, dialect: dialect }, callback);
538
531
  }
539
-
540
532
  setSweepinterval(db, sweepinterval, callback) {
541
533
  this._fixpropertie({ database: db, sweepinterval: sweepinterval }, callback);
542
534
  }
543
-
544
535
  setCachebuffer(db, nbpages, callback) {
545
536
  this._fixpropertie({ database: db, nbpagebuffers: nbpages }, callback);
546
537
  }
547
-
548
538
  BringOnline(db, callback) {
549
539
  this._fixpropertie({ database: db, bringonline: true }, callback);
550
540
  }
551
-
552
541
  Shutdown(db, kind, delay, mode, callback) {
553
542
  // mode parameter is for server version >= 2.0
554
543
  if (mode instanceof Function) {
555
544
  callback = mode;
556
545
  mode = undefined;
557
546
  }
558
-
559
547
  this._fixpropertie({ database: db, shutdown: kind, shutdowndelay: delay, shutdownmode: mode }, callback);
560
548
  }
561
-
562
549
  setShadow(db, val, callback) {
563
- this._fixpropertie({ database: db, activateshadow : val }, callback);
550
+ this._fixpropertie({ database: db, activateshadow: val }, callback);
564
551
  }
565
-
566
552
  setForcewrite(db, val, callback) {
567
- this._fixpropertie({ database: db, forcewrite : val }, callback);
553
+ this._fixpropertie({ database: db, forcewrite: val }, callback);
568
554
  }
569
-
570
555
  setReservespace(db, val, callback) {
571
- this._fixpropertie({ database: db, reservespace : val }, callback);
556
+ this._fixpropertie({ database: db, reservespace: val }, callback);
572
557
  }
573
-
574
558
  setReadonlyMode(db, callback) {
575
- this._fixpropertie({ database: db, accessmode : 0 }, callback);
559
+ this._fixpropertie({ database: db, accessmode: 0 }, callback);
576
560
  }
577
-
578
561
  setReadwriteMode(db, callback) {
579
- this._fixpropertie({ database: db, accessmode : 1 }, callback);
562
+ this._fixpropertie({ database: db, accessmode: 1 }, callback);
580
563
  }
581
-
582
564
  validate(options, callback) {
583
565
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
584
566
  var checkdb = options.checkdb || false;
@@ -590,103 +572,103 @@ class ServiceManager extends Events.EventEmitter {
590
572
  var sweep = options.sweep || false;
591
573
  var listlimbo = options.listlimbo || false;
592
574
  var icu = options.icu || false;
593
-
594
575
  if (dbpath == null || dbpath.length === 0) {
595
- doError(new Error('No database specified'), callback);
576
+ (0, callback_1.doError)(new Error('No database specified'), callback);
596
577
  return;
597
578
  }
598
-
599
579
  var blr = this.connection._blr;
600
580
  blr.pos = 0;
601
- blr.addByte(Const.isc_action_svc_repair);
602
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
581
+ blr.addByte(const_1.default.isc_action_svc_repair);
582
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
603
583
  var opts = 0;
604
- if (checkdb) opts = opts | Const.isc_spb_rpr_check_db;
605
- if (ignorechecksums) opts = opts | Const.isc_spb_rpr_ignore_checksum;
606
- if (killshadows) opts = opts | Const.isc_spb_rpr_kill_shadows;
607
- if (mend) opts = opts | Const.isc_spb_rpr_mend_db;
608
- if (validate) opts = opts | Const.isc_spb_rpr_validate_db;
609
- if (full) opts = opts | Const.isc_spb_rpr_full;
610
- if (sweep) opts = opts | Const.isc_spb_rpr_sweep_db;
611
- if (listlimbo) opts = opts | Const.isc_spb_rpr_list_limbo_trans;
612
- if (icu) opts = opts | Const.isc_spb_rpr_icu;
613
- blr.addByteInt32(Const.isc_spb_options, opts);
584
+ if (checkdb)
585
+ opts = opts | const_1.default.isc_spb_rpr_check_db;
586
+ if (ignorechecksums)
587
+ opts = opts | const_1.default.isc_spb_rpr_ignore_checksum;
588
+ if (killshadows)
589
+ opts = opts | const_1.default.isc_spb_rpr_kill_shadows;
590
+ if (mend)
591
+ opts = opts | const_1.default.isc_spb_rpr_mend_db;
592
+ if (validate)
593
+ opts = opts | const_1.default.isc_spb_rpr_validate_db;
594
+ if (full)
595
+ opts = opts | const_1.default.isc_spb_rpr_full;
596
+ if (sweep)
597
+ opts = opts | const_1.default.isc_spb_rpr_sweep_db;
598
+ if (listlimbo)
599
+ opts = opts | const_1.default.isc_spb_rpr_list_limbo_trans;
600
+ if (icu)
601
+ opts = opts | const_1.default.isc_spb_rpr_icu;
602
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
614
603
  var self = this;
615
604
  this.connection.svcstart(blr, function (err, data) {
616
605
  if (err) {
617
- doError(new Error(err), callback);
606
+ (0, callback_1.doError)(new Error(err), callback);
618
607
  return;
619
608
  }
620
609
  self._createOutputStream(options.optread, options.buffersize, callback);
621
610
  });
622
611
  }
623
-
624
612
  commit(db, transactid, callback) {
625
613
  var dbpath = db || this.connection.options.filename || this.connection.options.database;
626
614
  if (dbpath == null || dbpath.length === 0) {
627
- doError(new Error('No database specified'), callback);
615
+ (0, callback_1.doError)(new Error('No database specified'), callback);
628
616
  return;
629
617
  }
630
-
631
618
  var blr = this.connection._blr;
632
619
  blr.pos = 0;
633
- blr.addByte(Const.isc_action_svc_repair);
634
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
635
- blr.addByteInt32(Const.isc_spb_rpr_commit_trans, transactid);
620
+ blr.addByte(const_1.default.isc_action_svc_repair);
621
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
622
+ blr.addByteInt32(const_1.default.isc_spb_rpr_commit_trans, transactid);
636
623
  var self = this;
637
624
  this.connection.svcstart(blr, function (err, data) {
638
625
  if (err) {
639
- doError(new Error(err), callback);
626
+ (0, callback_1.doError)(new Error(err), callback);
640
627
  return;
641
628
  }
642
629
  self._createOutputStream(null, null, callback);
643
630
  });
644
631
  }
645
-
646
632
  rollback(db, transactid, callback) {
647
633
  var dbpath = db || this.connection.options.filename || this.connection.options.database;
648
634
  if (dbpath == null || dbpath.length === 0) {
649
- doError(new Error('No database specified'), callback);
635
+ (0, callback_1.doError)(new Error('No database specified'), callback);
650
636
  return;
651
637
  }
652
-
653
638
  var blr = this.connection._blr;
654
639
  blr.pos = 0;
655
- blr.addByte(Const.isc_action_svc_repair);
656
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
657
- blr.addByteInt32(Const.isc_spb_rpr_rollback_trans, transactid);
640
+ blr.addByte(const_1.default.isc_action_svc_repair);
641
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
642
+ blr.addByteInt32(const_1.default.isc_spb_rpr_rollback_trans, transactid);
658
643
  var self = this;
659
644
  this.connection.svcstart(blr, function (err, data) {
660
645
  if (err) {
661
- doError(new Error(err), callback);
646
+ (0, callback_1.doError)(new Error(err), callback);
662
647
  return;
663
648
  }
664
649
  self._createOutputStream(null, null, callback);
665
650
  });
666
651
  }
667
-
668
652
  recover(db, transactid, callback) {
669
653
  var dbpath = db || this.connection.options.filename || this.connection.options.database;
670
654
  if (dbpath == null || dbpath.length === 0) {
671
- doError(new Error('No database specified'), callback);
655
+ (0, callback_1.doError)(new Error('No database specified'), callback);
672
656
  return;
673
657
  }
674
-
675
658
  var blr = this.connection._blr;
676
659
  blr.pos = 0;
677
- blr.addByte(Const.isc_action_svc_repair);
678
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
679
- blr.addByteInt32(Const.isc_spb_rpr_recover_two_phase, transactid);
660
+ blr.addByte(const_1.default.isc_action_svc_repair);
661
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
662
+ blr.addByteInt32(const_1.default.isc_spb_rpr_recover_two_phase, transactid);
680
663
  var self = this;
681
664
  this.connection.svcstart(blr, function (err, data) {
682
665
  if (err) {
683
- doError(new Error(err), callback);
666
+ (0, callback_1.doError)(new Error(err), callback);
684
667
  return;
685
668
  }
686
669
  self._createOutputStream(null, null, callback);
687
670
  });
688
671
  }
689
-
690
672
  getStats(options, callback) {
691
673
  var dbpath = options.database || this.connection.options.filename || this.connection.options.database;
692
674
  var record = options.record || false;
@@ -699,67 +681,72 @@ class ServiceManager extends Events.EventEmitter {
699
681
  var encryption = options.encryption || false;
700
682
  var objects = options.objects || null; // space-separated list of object index,table,systemtable
701
683
  if (dbpath == null || dbpath.length === 0) {
702
- doError(new Error('No database specified'), callback);
684
+ (0, callback_1.doError)(new Error('No database specified'), callback);
703
685
  return;
704
686
  }
705
-
706
687
  var blr = this.connection._blr;
707
688
  blr.pos = 0;
708
- blr.addByte(Const.isc_action_svc_db_stats);
709
- blr.addString2(Const.isc_spb_dbname, dbpath, Const.DEFAULT_ENCODING);
689
+ blr.addByte(const_1.default.isc_action_svc_db_stats);
690
+ blr.addString2(const_1.default.isc_spb_dbname, dbpath, const_1.default.DEFAULT_ENCODING);
710
691
  var opts = 0;
711
- if (record) opts = opts | Const.isc_spb_sts_record_versions;
712
- if (nocreation) opts = opts | Const.isc_spb_sts_nocreation;
713
- if (tables) opts = opts | Const.isc_spb_sts_table;
714
- if (pages) opts = opts | Const.isc_spb_sts_data_pages;
715
- if (header) opts = opts | Const.isc_spb_sts_hdr_pages;
716
- if (indexes) opts = opts | Const.isc_spb_sts_idx_pages;
717
- if (tablesystem) opts = opts | Const.isc_spb_sts_sys_relations;
718
- if (encryption) opts = opts | Const.isc_spb_sts_encryption;
692
+ if (record)
693
+ opts = opts | const_1.default.isc_spb_sts_record_versions;
694
+ if (nocreation)
695
+ opts = opts | const_1.default.isc_spb_sts_nocreation;
696
+ if (tables)
697
+ opts = opts | const_1.default.isc_spb_sts_table;
698
+ if (pages)
699
+ opts = opts | const_1.default.isc_spb_sts_data_pages;
700
+ if (header)
701
+ opts = opts | const_1.default.isc_spb_sts_hdr_pages;
702
+ if (indexes)
703
+ opts = opts | const_1.default.isc_spb_sts_idx_pages;
704
+ if (tablesystem)
705
+ opts = opts | const_1.default.isc_spb_sts_sys_relations;
706
+ if (encryption)
707
+ opts = opts | const_1.default.isc_spb_sts_encryption;
719
708
  if (opts)
720
- blr.addByteInt32(Const.isc_spb_options, opts);
721
- if (objects) blr.addString2(Const.isc_spb_command_line, objects, Const.DEFAULT_ENCODING);
709
+ blr.addByteInt32(const_1.default.isc_spb_options, opts);
710
+ if (objects)
711
+ blr.addString2(const_1.default.isc_spb_command_line, objects, const_1.default.DEFAULT_ENCODING);
722
712
  var self = this;
723
713
  this.connection.svcstart(blr, function (err, data) {
724
714
  if (err) {
725
- doError(new Error(err), callback);
715
+ (0, callback_1.doError)(new Error(err), callback);
726
716
  return;
727
717
  }
728
718
  self._createOutputStream(options.optread, options.buffersize, callback);
729
719
  });
730
-
731
720
  }
732
-
733
721
  getLog(options, callback) {
734
722
  var self = this;
735
723
  var blr = this.connection._blr;
736
724
  var optread = options.optread || 'byline';
737
725
  blr.pos = 0;
738
- blr.addByte(Const.isc_action_svc_get_fb_log);
726
+ blr.addByte(const_1.default.isc_action_svc_get_fb_log);
739
727
  this.connection.svcstart(blr, function (err, data) {
740
728
  if (err) {
741
- doError(new Error(err), callback);
729
+ (0, callback_1.doError)(new Error(err), callback);
742
730
  return;
743
731
  }
744
732
  self._createOutputStream(optread, options.buffersize, callback);
745
733
  });
746
734
  }
747
-
748
735
  getUsers(username, callback) {
749
736
  var self = this;
750
737
  var blr = this.connection._blr;
751
738
  blr.pos = 0;
752
- blr.addByte(Const.isc_action_svc_display_user);
753
- if (username) blr.addString2(Const.isc_spb_sec_username, username, Const.DEFAULT_ENCODING);
739
+ blr.addByte(const_1.default.isc_action_svc_display_user);
740
+ if (username)
741
+ blr.addString2(const_1.default.isc_spb_sec_username, username, const_1.default.DEFAULT_ENCODING);
754
742
  this.connection.svcstart(blr, function (err, data) {
755
743
  if (err) {
756
- doError(new Error(err), callback);
744
+ (0, callback_1.doError)(new Error(err), callback);
757
745
  return;
758
746
  }
759
747
  self.readusers({}, callback);
760
748
  });
761
749
  }
762
-
763
750
  addUser(username, password, options, callback) {
764
751
  var rolename = options.rolename || null;
765
752
  var groupname = options.groupname || null;
@@ -769,31 +756,36 @@ class ServiceManager extends Events.EventEmitter {
769
756
  var userid = options.userid || null;
770
757
  var groupid = options.groupid || null;
771
758
  var admin = options.admin || null;
772
-
773
759
  var blr = this.connection._blr;
774
760
  blr.pos = 0;
775
- blr.addByte(Const.isc_action_svc_add_user);
776
- blr.addString2(Const.isc_spb_sec_username, username, Const.DEFAULT_ENCODING);
777
- blr.addString2(Const.isc_spb_sec_password, password, Const.DEFAULT_ENCODING);
778
- if (rolename) blr.addString2(Const.isc_dpb_sql_role_name, rolename, Const.DEFAULT_ENCODING);
779
- if (groupname) blr.addString2(Const.isc_spb_sec_groupname, groupname, Const.DEFAULT_ENCODING);
780
- if (firsname) blr.addString2(Const.isc_spb_sec_firstname, firsname, Const.DEFAULT_ENCODING);
781
- if (middlename) blr.addString2(Const.isc_spb_sec_middlename, middlename, Const.DEFAULT_ENCODING);
782
- if (lastname) blr.addString2(Const.isc_spb_sec_lastname, lastname, Const.DEFAULT_ENCODING);
783
- if (userid != null) blr.addByteInt32(Const.isc_spb_sec_userid, userid);
784
- if (groupid != null) blr.addByteInt32(Const.isc_spb_sec_groupid, groupid);
785
- if (admin != null) blr.addByteInt32(Const.isc_spb_sec_admin, admin);
786
-
761
+ blr.addByte(const_1.default.isc_action_svc_add_user);
762
+ blr.addString2(const_1.default.isc_spb_sec_username, username, const_1.default.DEFAULT_ENCODING);
763
+ blr.addString2(const_1.default.isc_spb_sec_password, password, const_1.default.DEFAULT_ENCODING);
764
+ if (rolename)
765
+ blr.addString2(const_1.default.isc_dpb_sql_role_name, rolename, const_1.default.DEFAULT_ENCODING);
766
+ if (groupname)
767
+ blr.addString2(const_1.default.isc_spb_sec_groupname, groupname, const_1.default.DEFAULT_ENCODING);
768
+ if (firsname)
769
+ blr.addString2(const_1.default.isc_spb_sec_firstname, firsname, const_1.default.DEFAULT_ENCODING);
770
+ if (middlename)
771
+ blr.addString2(const_1.default.isc_spb_sec_middlename, middlename, const_1.default.DEFAULT_ENCODING);
772
+ if (lastname)
773
+ blr.addString2(const_1.default.isc_spb_sec_lastname, lastname, const_1.default.DEFAULT_ENCODING);
774
+ if (userid != null)
775
+ blr.addByteInt32(const_1.default.isc_spb_sec_userid, userid);
776
+ if (groupid != null)
777
+ blr.addByteInt32(const_1.default.isc_spb_sec_groupid, groupid);
778
+ if (admin != null)
779
+ blr.addByteInt32(const_1.default.isc_spb_sec_admin, admin);
787
780
  var self = this;
788
781
  this.connection.svcstart(blr, function (err, data) {
789
782
  if (err) {
790
- doError(new Error(err), callback);
783
+ (0, callback_1.doError)(new Error(err), callback);
791
784
  return;
792
785
  }
793
786
  self._createOutputStream(options.optread, options.buffersize, callback);
794
787
  });
795
788
  }
796
-
797
789
  editUser(username, options, callback) {
798
790
  var rolename = options.rolename || null;
799
791
  var groupname = options.groupname || null;
@@ -806,253 +798,234 @@ class ServiceManager extends Events.EventEmitter {
806
798
  var password = options.password || null;
807
799
  var blr = this.connection._blr;
808
800
  blr.pos = 0;
809
- blr.addByte(Const.isc_action_svc_modify_user);
810
- blr.addString2(Const.isc_spb_sec_username, username, Const.DEFAULT_ENCODING);
811
- if (password) blr.addString2(Const.isc_spb_sec_password, password, Const.DEFAULT_ENCODING);
812
- if (rolename) blr.addString2(Const.isc_dpb_sql_role_name, rolename, Const.DEFAULT_ENCODING);
813
- if (groupname) blr.addString2(Const.isc_spb_sec_groupname, groupname, Const.DEFAULT_ENCODING);
814
- if (firsname) blr.addString2(Const.isc_spb_sec_firstname, firsname, Const.DEFAULT_ENCODING);
815
- if (middlename) blr.addString2(Const.isc_spb_sec_middlename, middlename, Const.DEFAULT_ENCODING);
816
- if (lastname) blr.addString2(Const.isc_spb_sec_lastname, lastname, Const.DEFAULT_ENCODING);
817
- if (userid != null) blr.addByteInt32(Const.isc_spb_sec_userid, userid);
818
- if (groupid != null) blr.addByteInt32(Const.isc_spb_sec_groupid, groupid);
819
- if (admin != null) blr.addByteInt32(Const.isc_spb_sec_admin, admin);
820
-
801
+ blr.addByte(const_1.default.isc_action_svc_modify_user);
802
+ blr.addString2(const_1.default.isc_spb_sec_username, username, const_1.default.DEFAULT_ENCODING);
803
+ if (password)
804
+ blr.addString2(const_1.default.isc_spb_sec_password, password, const_1.default.DEFAULT_ENCODING);
805
+ if (rolename)
806
+ blr.addString2(const_1.default.isc_dpb_sql_role_name, rolename, const_1.default.DEFAULT_ENCODING);
807
+ if (groupname)
808
+ blr.addString2(const_1.default.isc_spb_sec_groupname, groupname, const_1.default.DEFAULT_ENCODING);
809
+ if (firsname)
810
+ blr.addString2(const_1.default.isc_spb_sec_firstname, firsname, const_1.default.DEFAULT_ENCODING);
811
+ if (middlename)
812
+ blr.addString2(const_1.default.isc_spb_sec_middlename, middlename, const_1.default.DEFAULT_ENCODING);
813
+ if (lastname)
814
+ blr.addString2(const_1.default.isc_spb_sec_lastname, lastname, const_1.default.DEFAULT_ENCODING);
815
+ if (userid != null)
816
+ blr.addByteInt32(const_1.default.isc_spb_sec_userid, userid);
817
+ if (groupid != null)
818
+ blr.addByteInt32(const_1.default.isc_spb_sec_groupid, groupid);
819
+ if (admin != null)
820
+ blr.addByteInt32(const_1.default.isc_spb_sec_admin, admin);
821
821
  var self = this;
822
822
  this.connection.svcstart(blr, function (err, data) {
823
823
  if (err) {
824
- doError(new Error(err), callback);
824
+ (0, callback_1.doError)(new Error(err), callback);
825
825
  return;
826
826
  }
827
827
  self._createOutputStream(options.optread, options.buffersize, callback);
828
828
  });
829
829
  }
830
-
831
830
  removeUser(username, rolename, callback) {
832
831
  var blr = this.connection._blr;
833
832
  blr.pos = 0;
834
- blr.addByte(Const.isc_action_svc_delete_user);
835
- blr.addString2(Const.isc_spb_sec_username, username, Const.DEFAULT_ENCODING);
836
- if (rolename) blr.addString2(Const.isc_dpb_sql_role_name, rolename, Const.DEFAULT_ENCODING);
837
-
833
+ blr.addByte(const_1.default.isc_action_svc_delete_user);
834
+ blr.addString2(const_1.default.isc_spb_sec_username, username, const_1.default.DEFAULT_ENCODING);
835
+ if (rolename)
836
+ blr.addString2(const_1.default.isc_dpb_sql_role_name, rolename, const_1.default.DEFAULT_ENCODING);
838
837
  var self = this, options = {};
839
838
  this.connection.svcstart(blr, function (err, data) {
840
839
  if (err) {
841
- doError(new Error(err), callback);
840
+ (0, callback_1.doError)(new Error(err), callback);
842
841
  return;
843
842
  }
844
843
  self._createOutputStream(options.optread, options.buffersize, callback);
845
844
  });
846
845
  }
847
-
848
846
  getFbserverInfos(infos, options, callback) {
849
847
  var buffersize = options.buffersize || 2048;
850
848
  var timeout = options.timeout || 1;
851
849
  var opts = {
852
- "dbinfo" : Const.isc_info_svc_svr_db_info,
853
- "fbconfig" : Const.isc_info_svc_get_config,
854
- "svcversion" : Const.isc_info_svc_version,
855
- "fbversion" : Const.isc_info_svc_server_version,
856
- "fbimplementation" : Const.isc_info_svc_implementation,
857
- "fbcapatibilities" : Const.isc_info_svc_capabilities,
858
- "pathsecuritydb" : Const.isc_info_svc_user_dbpath,
859
- "fbenv" : Const.isc_info_svc_get_env,
860
- "fbenvlock" : Const.isc_info_svc_get_env_lock,
861
- "fbenvmsg" : Const.isc_info_svc_get_env_msg
850
+ "dbinfo": const_1.default.isc_info_svc_svr_db_info,
851
+ "fbconfig": const_1.default.isc_info_svc_get_config,
852
+ "svcversion": const_1.default.isc_info_svc_version,
853
+ "fbversion": const_1.default.isc_info_svc_server_version,
854
+ "fbimplementation": const_1.default.isc_info_svc_implementation,
855
+ "fbcapatibilities": const_1.default.isc_info_svc_capabilities,
856
+ "pathsecuritydb": const_1.default.isc_info_svc_user_dbpath,
857
+ "fbenv": const_1.default.isc_info_svc_get_env,
858
+ "fbenvlock": const_1.default.isc_info_svc_get_env_lock,
859
+ "fbenvmsg": const_1.default.isc_info_svc_get_env_msg
862
860
  };
863
861
  // if infos is empty all options are asked to the service
864
-
865
862
  var tops = [], empty = isEmpty(infos);
866
863
  for (let popts in opts)
867
864
  if (empty || infos[popts])
868
865
  tops.push(opts[popts]);
869
-
870
866
  var self = this;
871
867
  this.connection.svcquery(tops, buffersize, timeout, function (err, data) {
872
868
  if (err || !data.buffer) {
873
- doError(new Error(err||'Bad query return'), callback);
869
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
874
870
  return;
875
871
  }
876
872
  self._processquery(data.buffer, callback);
877
873
  });
878
874
  }
879
-
880
875
  startTrace(options, callback) {
881
876
  var self = this;
882
877
  var blr = this.connection._blr;
883
878
  var configfile = options.configfile || '';
884
879
  var tracename = options.tracename || '';
885
-
886
880
  if (configfile.length === 0) {
887
- doError(new Error('No config filename specified'), callback);
881
+ (0, callback_1.doError)(new Error('No config filename specified'), callback);
888
882
  return;
889
883
  }
890
884
  if (tracename.length === 0) {
891
- doError(new Error('No tracename specified'), callback);
885
+ (0, callback_1.doError)(new Error('No tracename specified'), callback);
892
886
  return;
893
887
  }
894
-
895
888
  blr.pos = 0;
896
- blr.addByte(Const.isc_action_svc_trace_start);
897
- blr.addString2(Const.isc_spb_trc_cfg, configfile, Const.DEFAULT_ENCODING);
898
- blr.addString2(Const.isc_spb_trc_name, tracename, Const.DEFAULT_ENCODING);
889
+ blr.addByte(const_1.default.isc_action_svc_trace_start);
890
+ blr.addString2(const_1.default.isc_spb_trc_cfg, configfile, const_1.default.DEFAULT_ENCODING);
891
+ blr.addString2(const_1.default.isc_spb_trc_name, tracename, const_1.default.DEFAULT_ENCODING);
899
892
  this.connection.svcstart(blr, function (err, data) {
900
893
  if (err) {
901
- doError(new Error(err), callback);
894
+ (0, callback_1.doError)(new Error(err), callback);
902
895
  return;
903
896
  }
904
897
  self._createOutputStream(options.optread, options.buffersize, callback);
905
898
  });
906
899
  }
907
-
908
900
  suspendTrace(options, callback) {
909
901
  var self = this;
910
902
  var blr = this.connection._blr;
911
903
  var traceid = options.traceid || null;
912
-
913
904
  if (traceid == null) {
914
- doError(new Error('No traceid specified'), callback);
905
+ (0, callback_1.doError)(new Error('No traceid specified'), callback);
915
906
  return;
916
907
  }
917
-
918
908
  blr.pos = 0;
919
- blr.addByte(Const.isc_action_svc_trace_suspend);
920
- blr.addByteInt32(Const.isc_spb_trc_id, traceid);
909
+ blr.addByte(const_1.default.isc_action_svc_trace_suspend);
910
+ blr.addByteInt32(const_1.default.isc_spb_trc_id, traceid);
921
911
  this.connection.svcstart(blr, function (err, data) {
922
912
  if (err) {
923
- doError(new Error(err), callback);
913
+ (0, callback_1.doError)(new Error(err), callback);
924
914
  return;
925
915
  }
926
916
  self._createOutputStream(options.optread, options.buffersize, callback);
927
917
  });
928
918
  }
929
-
930
919
  resumeTrace(options, callback) {
931
920
  var self = this;
932
921
  var blr = this.connection._blr;
933
922
  var traceid = options.traceid || null;
934
-
935
923
  if (traceid == null) {
936
- doError(new Error('No traceid specified'), callback);
924
+ (0, callback_1.doError)(new Error('No traceid specified'), callback);
937
925
  return;
938
926
  }
939
-
940
927
  blr.pos = 0;
941
- blr.addByte(Const.isc_action_svc_trace_resume);
942
- blr.addByteInt32(Const.isc_spb_trc_id, traceid);
928
+ blr.addByte(const_1.default.isc_action_svc_trace_resume);
929
+ blr.addByteInt32(const_1.default.isc_spb_trc_id, traceid);
943
930
  this.connection.svcstart(blr, function (err, data) {
944
931
  if (err) {
945
- doError(new Error(err), callback);
932
+ (0, callback_1.doError)(new Error(err), callback);
946
933
  return;
947
934
  }
948
935
  self._createOutputStream(options.optread, options.buffersize, callback);
949
936
  });
950
937
  }
951
-
952
938
  stopTrace(options, callback) {
953
939
  var self = this;
954
940
  var blr = this.connection._blr;
955
941
  var traceid = options.traceid || null;
956
-
957
942
  if (traceid == null) {
958
- doError(new Error('No traceid specified'), callback);
943
+ (0, callback_1.doError)(new Error('No traceid specified'), callback);
959
944
  return;
960
945
  }
961
-
962
946
  blr.pos = 0;
963
- blr.addByte(Const.isc_action_svc_trace_stop);
964
- blr.addByteInt32(Const.isc_spb_trc_id, traceid);
947
+ blr.addByte(const_1.default.isc_action_svc_trace_stop);
948
+ blr.addByteInt32(const_1.default.isc_spb_trc_id, traceid);
965
949
  this.connection.svcstart(blr, function (err, data) {
966
950
  if (err) {
967
- doError(new Error(err), callback);
951
+ (0, callback_1.doError)(new Error(err), callback);
968
952
  return;
969
953
  }
970
954
  self._createOutputStream(options.optread, options.buffersize, callback);
971
955
  });
972
956
  }
973
-
974
957
  getTraceList(options, callback) {
975
958
  var self = this;
976
959
  var blr = this.connection._blr;
977
960
  blr.pos = 0;
978
- blr.addByte(Const.isc_action_svc_trace_list);
961
+ blr.addByte(const_1.default.isc_action_svc_trace_list);
979
962
  this.connection.svcstart(blr, function (err, data) {
980
963
  if (err) {
981
- doError(new Error(err), callback);
964
+ (0, callback_1.doError)(new Error(err), callback);
982
965
  return;
983
966
  }
984
967
  self._createOutputStream(options.optread, options.buffersize, callback);
985
968
  });
986
969
  }
987
-
988
970
  readline(options, callback) {
989
971
  var buffersize = options.buffersize || 2048;
990
972
  var timeout = options.timeout || 60;
991
973
  var self = this;
992
- this.connection.svcquery([Const.isc_info_svc_line], buffersize, timeout, function (err, data) {
974
+ this.connection.svcquery([const_1.default.isc_info_svc_line], buffersize, timeout, function (err, data) {
993
975
  if (err || !data.buffer) {
994
- doError(new Error(err||'Bad query return'), callback);
976
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
995
977
  return;
996
978
  }
997
979
  self._processquery(data.buffer, callback);
998
980
  });
999
981
  }
1000
-
1001
982
  readeof(options, callback) {
1002
983
  var buffersize = options.buffersize || (8 * 1024);
1003
984
  var timeout = options.timeout || 60;
1004
985
  var self = this;
1005
- this.connection.svcquery([Const.isc_info_svc_to_eof], buffersize, timeout, function (err, data) {
986
+ this.connection.svcquery([const_1.default.isc_info_svc_to_eof], buffersize, timeout, function (err, data) {
1006
987
  if (err || !data.buffer) {
1007
- doError(new Error(err||'Bad query return'), callback);
988
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
1008
989
  return;
1009
990
  }
1010
991
  self._processquery(data.buffer, callback);
1011
992
  });
1012
993
  }
1013
-
1014
994
  hasRunningAction(options, callback) {
1015
995
  var buffersize = options.buffersize || 2048;
1016
996
  var timeout = options.timeout || 60;
1017
997
  var self = this;
1018
- this.connection.svcquery([Const.isc_info_svc_running], buffersize, timeout, function (err, data) {
998
+ this.connection.svcquery([const_1.default.isc_info_svc_running], buffersize, timeout, function (err, data) {
1019
999
  if (err || !data.buffer) {
1020
- doError(new Error(err||'Bad query return'), callback);
1000
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
1021
1001
  return;
1022
1002
  }
1023
1003
  self._processquery(data.buffer, callback);
1024
1004
  });
1025
1005
  }
1026
-
1027
1006
  readusers(options, callback) {
1028
1007
  var buffersize = options.buffersize || 2048;
1029
1008
  var timeout = options.timeout || 60;
1030
1009
  var self = this;
1031
- this.connection.svcquery([Const.isc_info_svc_get_users], buffersize, timeout, function (err, data) {
1010
+ this.connection.svcquery([const_1.default.isc_info_svc_get_users], buffersize, timeout, function (err, data) {
1032
1011
  if (err || !data.buffer) {
1033
- doError(new Error(err||'Bad query return'), callback);
1012
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
1034
1013
  return;
1035
1014
  }
1036
1015
  self._processquery(data.buffer, callback);
1037
1016
  });
1038
1017
  }
1039
-
1040
1018
  readlimbo(options, callback) {
1041
1019
  var buffersize = options.buffersize || 2048;
1042
1020
  var timeout = options.timeout || 60;
1043
1021
  var self = this;
1044
- this.connection.svcquery([Const.isc_info_svc_limbo_trans], buffersize, timeout, function (err, data) {
1022
+ this.connection.svcquery([const_1.default.isc_info_svc_limbo_trans], buffersize, timeout, function (err, data) {
1045
1023
  if (err || !data.buffer) {
1046
- doError(new Error(err||'Bad query return'), callback);
1024
+ (0, callback_1.doError)(new Error(err || 'Bad query return'), callback);
1047
1025
  return;
1048
1026
  }
1049
1027
  self._processquery(data.buffer, callback);
1050
1028
  });
1051
1029
  }
1052
-
1053
1030
  }
1054
-
1055
- ServiceManager.ShutdownMode = ShutdownMode;
1056
- ServiceManager.ShutdownKind = ShutdownKind;
1057
-
1058
1031
  module.exports = ServiceManager;