tedious 1.13.2 → 1.14.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 (46) hide show
  1. package/appveyor.yml +2 -0
  2. package/lib/all-headers.js +2 -5
  3. package/lib/buffertools.js +1 -1
  4. package/lib/bulk-load.js +18 -27
  5. package/lib/collation.js +78 -6
  6. package/lib/connection.js +120 -159
  7. package/lib/data-type.js +73 -72
  8. package/lib/debug.js +5 -17
  9. package/lib/errors.js +8 -16
  10. package/lib/guid-parser.js +2 -5
  11. package/lib/instance-lookup.js +7 -16
  12. package/lib/library.js +1 -5
  13. package/lib/login7-payload.js +16 -34
  14. package/lib/message-io.js +21 -35
  15. package/lib/metadata-parser.js +22 -18
  16. package/lib/ntlm-payload.js +9 -24
  17. package/lib/packet.js +11 -18
  18. package/lib/prelogin-payload.js +10 -19
  19. package/lib/request.js +15 -24
  20. package/lib/rpcrequest-payload.js +7 -16
  21. package/lib/special-stored-procedure.js +3 -7
  22. package/lib/sqlbatch-payload.js +7 -16
  23. package/lib/stream-parser.js +24 -36
  24. package/lib/tds-versions.js +2 -8
  25. package/lib/tedious.js +8 -52
  26. package/lib/token/colmetadata-token-parser.js +4 -14
  27. package/lib/token/done-token-parser.js +6 -9
  28. package/lib/token/env-change-token-parser.js +4 -9
  29. package/lib/token/infoerror-token-parser.js +9 -12
  30. package/lib/token/loginack-token-parser.js +8 -8
  31. package/lib/token/nbcrow-token-parser.js +5 -15
  32. package/lib/token/order-token-parser.js +3 -9
  33. package/lib/token/returnstatus-token-parser.js +3 -9
  34. package/lib/token/returnvalue-token-parser.js +7 -20
  35. package/lib/token/row-token-parser.js +5 -15
  36. package/lib/token/sspi-token-parser.js +3 -8
  37. package/lib/token/stream-parser.js +60 -58
  38. package/lib/token/token-stream-parser.js +14 -23
  39. package/lib/token/token.js +3 -7
  40. package/lib/tracking-buffer/bigint.js +2 -5
  41. package/lib/tracking-buffer/readable-tracking-buffer.js +6 -13
  42. package/lib/tracking-buffer/tracking-buffer.js +2 -16
  43. package/lib/tracking-buffer/writable-tracking-buffer.js +3 -15
  44. package/lib/transaction.js +7 -12
  45. package/lib/value-parser.js +95 -69
  46. package/package.json +6 -1
package/lib/request.js CHANGED
@@ -8,17 +8,11 @@ var _createClass = require('babel-runtime/helpers/create-class')['default'];
8
8
 
9
9
  var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
10
10
 
11
- Object.defineProperty(exports, '__esModule', {
12
- value: true
13
- });
11
+ var EventEmitter = require('events').EventEmitter;
12
+ var TYPES = require('./data-type').typeByName;
13
+ var RequestError = require('./errors').RequestError;
14
14
 
15
- var _events = require('events');
16
-
17
- var _dataType = require('./data-type');
18
-
19
- var _errors = require('./errors');
20
-
21
- var Request = (function (_EventEmitter) {
15
+ module.exports = (function (_EventEmitter) {
22
16
  _inherits(Request, _EventEmitter);
23
17
 
24
18
  function Request(sqlTextOrProcedure, callback) {
@@ -79,7 +73,7 @@ var Request = (function (_EventEmitter) {
79
73
  if (paramsParameter.length > 0) {
80
74
  paramsParameter += ', ';
81
75
  }
82
- paramsParameter += "@" + parameter.name + " ";
76
+ paramsParameter += '@' + parameter.name + ' ';
83
77
  paramsParameter += parameter.type.declaration(parameter);
84
78
  if (parameter.output) {
85
79
  paramsParameter += ' OUTPUT';
@@ -96,9 +90,9 @@ var Request = (function (_EventEmitter) {
96
90
 
97
91
  this.originalParameters = this.parameters;
98
92
  this.parameters = [];
99
- this.addParameter('statement', _dataType.typeByName.NVarChar, this.sqlTextOrProcedure);
93
+ this.addParameter('statement', TYPES.NVarChar, this.sqlTextOrProcedure);
100
94
  if (this.originalParameters.length) {
101
- this.addParameter('params', _dataType.typeByName.NVarChar, this.makeParamsParameter(this.originalParameters));
95
+ this.addParameter('params', TYPES.NVarChar, this.makeParamsParameter(this.originalParameters));
102
96
  }
103
97
 
104
98
  for (var i = 0, len = this.originalParameters.length; i < len; i++) {
@@ -114,16 +108,16 @@ var Request = (function (_EventEmitter) {
114
108
 
115
109
  this.originalParameters = this.parameters;
116
110
  this.parameters = [];
117
- this.addOutputParameter('handle', _dataType.typeByName.Int);
118
- this.addParameter('params', _dataType.typeByName.NVarChar, this.makeParamsParameter(this.originalParameters));
119
- this.addParameter('stmt', _dataType.typeByName.NVarChar, this.sqlTextOrProcedure);
111
+ this.addOutputParameter('handle', TYPES.Int);
112
+ this.addParameter('params', TYPES.NVarChar, this.makeParamsParameter(this.originalParameters));
113
+ this.addParameter('stmt', TYPES.NVarChar, this.sqlTextOrProcedure);
120
114
  this.sqlTextOrProcedure = 'sp_prepare';
121
115
  this.preparing = true;
122
116
  return this.on('returnValue', function (name, value) {
123
117
  if (name === 'handle') {
124
118
  return _this.handle = value;
125
119
  } else {
126
- return _this.error = (0, _errors.RequestError)("Tedious > Unexpected output parameter " + name + " from sp_prepare");
120
+ return _this.error = RequestError('Tedious > Unexpected output parameter ' + name + ' from sp_prepare');
127
121
  }
128
122
  });
129
123
  }
@@ -131,14 +125,14 @@ var Request = (function (_EventEmitter) {
131
125
  key: 'transformIntoUnprepareRpc',
132
126
  value: function transformIntoUnprepareRpc() {
133
127
  this.parameters = [];
134
- this.addParameter('handle', _dataType.typeByName.Int, this.handle);
128
+ this.addParameter('handle', TYPES.Int, this.handle);
135
129
  return this.sqlTextOrProcedure = 'sp_unprepare';
136
130
  }
137
131
  }, {
138
132
  key: 'transformIntoExecuteRpc',
139
133
  value: function transformIntoExecuteRpc(parameters) {
140
134
  this.parameters = [];
141
- this.addParameter('handle', _dataType.typeByName.Int, this.handle);
135
+ this.addParameter('handle', TYPES.Int, this.handle);
142
136
 
143
137
  for (var i = 0, len = this.originalParameters.length; i < len; i++) {
144
138
  var parameter = this.originalParameters[i];
@@ -159,7 +153,7 @@ var Request = (function (_EventEmitter) {
159
153
  var parameter = this.parameters[i];
160
154
  var value = parameter.type.validate(parameter.value);
161
155
  if (value instanceof TypeError) {
162
- return this.error = new _errors.RequestError("Validation failed for parameter '" + parameter.name + "'. " + value.message, "EPARAM");
156
+ return this.error = new RequestError('Validation failed for parameter \'' + parameter.name + '\'. ' + value.message, 'EPARAM');
163
157
  }
164
158
  parameter.value = value;
165
159
  }
@@ -168,7 +162,4 @@ var Request = (function (_EventEmitter) {
168
162
  }]);
169
163
 
170
164
  return Request;
171
- })(_events.EventEmitter);
172
-
173
- exports['default'] = Request;
174
- module.exports = exports['default'];
165
+ })(EventEmitter);
@@ -4,13 +4,8 @@ var _createClass = require('babel-runtime/helpers/create-class')['default'];
4
4
 
5
5
  var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
6
6
 
7
- Object.defineProperty(exports, '__esModule', {
8
- value: true
9
- });
10
-
11
- var _trackingBufferTrackingBuffer = require('./tracking-buffer/tracking-buffer');
12
-
13
- var _allHeaders = require('./all-headers');
7
+ var WritableTrackingBuffer = require('./tracking-buffer/tracking-buffer').WritableTrackingBuffer;
8
+ var writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
14
9
 
15
10
  // const OPTION = {
16
11
  // WITH_RECOMPILE: 0x01,
@@ -26,18 +21,17 @@ var STATUS = {
26
21
  /*
27
22
  s2.2.6.5
28
23
  */
29
-
30
- var RpcRequestPayload = (function () {
24
+ module.exports = (function () {
31
25
  function RpcRequestPayload(request, txnDescriptor, options) {
32
26
  _classCallCheck(this, RpcRequestPayload);
33
27
 
34
28
  this.request = request;
35
29
  this.procedure = this.request.sqlTextOrProcedure;
36
30
 
37
- var buffer = new _trackingBufferTrackingBuffer.WritableTrackingBuffer(500);
31
+ var buffer = new WritableTrackingBuffer(500);
38
32
  if (options.tdsVersion >= '7_2') {
39
33
  var outstandingRequestCount = 1;
40
- (0, _allHeaders.writeToTrackingBuffer)(buffer, txnDescriptor, outstandingRequestCount);
34
+ writeAllHeaders(buffer, txnDescriptor, outstandingRequestCount);
41
35
  }
42
36
 
43
37
  if (typeof this.procedure === 'string') {
@@ -102,12 +96,9 @@ var RpcRequestPayload = (function () {
102
96
  key: 'toString',
103
97
  value: function toString(indent) {
104
98
  indent || (indent = '');
105
- return indent + ("RPC Request - " + this.procedure);
99
+ return indent + ('RPC Request - ' + this.procedure);
106
100
  }
107
101
  }]);
108
102
 
109
103
  return RpcRequestPayload;
110
- })();
111
-
112
- exports['default'] = RpcRequestPayload;
113
- module.exports = exports['default'];
104
+ })();
@@ -1,9 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = {
3
+ module.exports = {
7
4
  Sp_Cursor: 1,
8
5
  Sp_CursorOpen: 2,
9
6
  Sp_CursorPrepare: 3,
@@ -19,5 +16,4 @@ exports["default"] = {
19
16
  Sp_PrepExec: 13,
20
17
  Sp_PrepExecRpc: 14,
21
18
  Sp_Unprepare: 15
22
- };
23
- module.exports = exports["default"];
19
+ };
@@ -4,28 +4,22 @@ var _createClass = require('babel-runtime/helpers/create-class')['default'];
4
4
 
5
5
  var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
6
6
 
7
- Object.defineProperty(exports, '__esModule', {
8
- value: true
9
- });
10
-
11
- var _trackingBufferTrackingBuffer = require('./tracking-buffer/tracking-buffer');
12
-
13
- var _allHeaders = require('./all-headers');
7
+ var WritableTrackingBuffer = require('./tracking-buffer/tracking-buffer').WritableTrackingBuffer;
8
+ var writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
14
9
 
15
10
  /*
16
11
  s2.2.6.6
17
12
  */
18
-
19
- var SqlBatchPayload = (function () {
13
+ module.exports = (function () {
20
14
  function SqlBatchPayload(sqlText, txnDescriptor, options) {
21
15
  _classCallCheck(this, SqlBatchPayload);
22
16
 
23
17
  this.sqlText = sqlText;
24
18
 
25
- var buffer = new _trackingBufferTrackingBuffer.WritableTrackingBuffer(100 + 2 * this.sqlText.length, 'ucs2');
19
+ var buffer = new WritableTrackingBuffer(100 + 2 * this.sqlText.length, 'ucs2');
26
20
  if (options.tdsVersion >= '7_2') {
27
21
  var outstandingRequestCount = 1;
28
- (0, _allHeaders.writeToTrackingBuffer)(buffer, txnDescriptor, outstandingRequestCount);
22
+ writeAllHeaders(buffer, txnDescriptor, outstandingRequestCount);
29
23
  }
30
24
  buffer.writeString(this.sqlText, 'ucs2');
31
25
  this.data = buffer.data;
@@ -35,12 +29,9 @@ var SqlBatchPayload = (function () {
35
29
  key: 'toString',
36
30
  value: function toString(indent) {
37
31
  indent || (indent = '');
38
- return indent + ("SQL Batch - " + this.sqlText);
32
+ return indent + ('SQL Batch - ' + this.sqlText);
39
33
  }
40
34
  }]);
41
35
 
42
36
  return SqlBatchPayload;
43
- })();
44
-
45
- exports['default'] = SqlBatchPayload;
46
- module.exports = exports['default'];
37
+ })();
@@ -10,19 +10,8 @@ var _createClass = require('babel-runtime/helpers/create-class')['default'];
10
10
 
11
11
  var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];
12
12
 
13
- var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
14
-
15
- Object.defineProperty(exports, '__esModule', {
16
- value: true
17
- });
18
-
19
- var _readableStream = require('readable-stream');
20
-
21
- var _readableStream2 = _interopRequireDefault(_readableStream);
22
-
23
- var _bl = require('bl');
24
-
25
- var _bl2 = _interopRequireDefault(_bl);
13
+ var stream = require('readable-stream');
14
+ var BufferList = require('bl');
26
15
 
27
16
  var Job = function Job(length, execute) {
28
17
  _classCallCheck(this, Job);
@@ -37,58 +26,58 @@ var Job = function Job(length, execute) {
37
26
  ;
38
27
 
39
28
  var JOBS = {
40
- 'readInt8': new Job(1, function (buffer, offset) {
29
+ readInt8: new Job(1, function (buffer, offset) {
41
30
  return buffer.readInt8(offset);
42
31
  }),
43
- 'readUInt8': new Job(1, function (buffer, offset) {
32
+ readUInt8: new Job(1, function (buffer, offset) {
44
33
  return buffer.readUInt8(offset);
45
34
  }),
46
- 'readInt16LE': new Job(2, function (buffer, offset) {
35
+ readInt16LE: new Job(2, function (buffer, offset) {
47
36
  return buffer.readInt16LE(offset);
48
37
  }),
49
- 'readInt16BE': new Job(2, function (buffer, offset) {
38
+ readInt16BE: new Job(2, function (buffer, offset) {
50
39
  return buffer.readInt16BE(offset);
51
40
  }),
52
- 'readUInt16LE': new Job(2, function (buffer, offset) {
41
+ readUInt16LE: new Job(2, function (buffer, offset) {
53
42
  return buffer.readUInt16LE(offset);
54
43
  }),
55
- 'readUInt16BE': new Job(2, function (buffer, offset) {
44
+ readUInt16BE: new Job(2, function (buffer, offset) {
56
45
  return buffer.readUInt16BE(offset);
57
46
  }),
58
- 'readInt32LE': new Job(4, function (buffer, offset) {
47
+ readInt32LE: new Job(4, function (buffer, offset) {
59
48
  return buffer.readInt32LE(offset);
60
49
  }),
61
- 'readInt32BE': new Job(4, function (buffer, offset) {
50
+ readInt32BE: new Job(4, function (buffer, offset) {
62
51
  return buffer.readInt32BE(offset);
63
52
  }),
64
- 'readUInt32LE': new Job(4, function (buffer, offset) {
53
+ readUInt32LE: new Job(4, function (buffer, offset) {
65
54
  return buffer.readUInt32LE(offset);
66
55
  }),
67
- 'readUInt32BE': new Job(4, function (buffer, offset) {
56
+ readUInt32BE: new Job(4, function (buffer, offset) {
68
57
  return buffer.readUInt32BE(offset);
69
58
  }),
70
- 'readInt64LE': new Job(8, function (buffer, offset) {
59
+ readInt64LE: new Job(8, function (buffer, offset) {
71
60
  return Math.pow(2, 32) * buffer.readInt32LE(offset + 4) + (buffer[offset + 4] & 0x80 === 0x80 ? 1 : -1) * buffer.readUInt32LE(offset);
72
61
  }),
73
- 'readInt64BE': new Job(8, function (buffer, offset) {
62
+ readInt64BE: new Job(8, function (buffer, offset) {
74
63
  return Math.pow(2, 32) * buffer.readInt32BE(offset) + (buffer[offset] & 0x80 === 0x80 ? 1 : -1) * buffer.readUInt32BE(offset + 4);
75
64
  }),
76
- 'readUInt64LE': new Job(8, function (buffer, offset) {
65
+ readUInt64LE: new Job(8, function (buffer, offset) {
77
66
  return Math.pow(2, 32) * buffer.readUInt32LE(offset + 4) + buffer.readUInt32LE(offset);
78
67
  }),
79
- 'readUInt64BE': new Job(8, function (buffer, offset) {
68
+ readUInt64BE: new Job(8, function (buffer, offset) {
80
69
  return Math.pow(2, 32) * buffer.readUInt32BE(offset) + buffer.readUInt32BE(offset + 4);
81
70
  }),
82
- 'readFloatLE': new Job(4, function (buffer, offset) {
71
+ readFloatLE: new Job(4, function (buffer, offset) {
83
72
  return buffer.readFloatLE(offset);
84
73
  }),
85
- 'readFloatBE': new Job(4, function (buffer, offset) {
74
+ readFloatBE: new Job(4, function (buffer, offset) {
86
75
  return buffer.readFloatBE(offset);
87
76
  }),
88
- 'readDoubleLE': new Job(8, function (buffer, offset) {
77
+ readDoubleLE: new Job(8, function (buffer, offset) {
89
78
  return buffer.readDoubleLE(offset);
90
79
  }),
91
- 'readDoubleBE': new Job(8, function (buffer, offset) {
80
+ readDoubleBE: new Job(8, function (buffer, offset) {
92
81
  return buffer.readDoubleBE(offset);
93
82
  })
94
83
  };
@@ -107,7 +96,7 @@ var StreamParser = (function (_stream$Transform) {
107
96
 
108
97
  _get(Object.getPrototypeOf(StreamParser.prototype), 'constructor', this).call(this, options);
109
98
 
110
- this.buffer = new _bl2['default']();
99
+ this.buffer = new BufferList();
111
100
  this.generator = undefined;
112
101
  this.currentStep = undefined;
113
102
  }
@@ -174,13 +163,12 @@ var StreamParser = (function (_stream$Transform) {
174
163
  }]);
175
164
 
176
165
  return StreamParser;
177
- })(_readableStream2['default'].Transform);
166
+ })(stream.Transform);
178
167
 
179
- exports['default'] = StreamParser;
168
+ module.exports = StreamParser;
180
169
 
181
170
  _Object$keys(JOBS).forEach(function (jobName) {
182
171
  return StreamParser.prototype[jobName] = function () {
183
172
  return JOBS[jobName];
184
173
  };
185
- });
186
- module.exports = exports['default'];
174
+ });
@@ -1,10 +1,6 @@
1
- // Generated by CoffeeScript 1.9.3
2
1
  'use strict';
3
2
 
4
- Object.defineProperty(exports, '__esModule', {
5
- value: true
6
- });
7
- var versions = {
3
+ var versions = module.exports.versions = {
8
4
  '7_1': 0x71000001,
9
5
  '7_2': 0x72090002,
10
6
  '7_3_A': 0x730A0003,
@@ -12,10 +8,8 @@ var versions = {
12
8
  '7_4': 0x74000004
13
9
  };
14
10
 
15
- exports.versions = versions;
16
- var versionsByValue = {};
11
+ var versionsByValue = module.exports.versionsByValue = {};
17
12
 
18
- exports.versionsByValue = versionsByValue;
19
13
  for (var _name in versions) {
20
14
  versionsByValue[versions[_name]] = _name;
21
15
  }
package/lib/tedious.js CHANGED
@@ -1,54 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
4
-
5
- Object.defineProperty(exports, '__esModule', {
6
- value: true
7
- });
8
-
9
- var _bulkLoad = require('./bulk-load');
10
-
11
- var _bulkLoad2 = _interopRequireDefault(_bulkLoad);
12
-
13
- var _connection = require('./connection');
14
-
15
- var _connection2 = _interopRequireDefault(_connection);
16
-
17
- var _request = require('./request');
18
-
19
- var _request2 = _interopRequireDefault(_request);
20
-
21
- var _library = require('./library');
22
-
23
- var _library2 = _interopRequireDefault(_library);
24
-
25
- var _dataType = require('./data-type');
26
-
27
- Object.defineProperty(exports, 'TYPES', {
28
- enumerable: true,
29
- get: function get() {
30
- return _dataType.typeByName;
31
- }
32
- });
33
-
34
- var _transaction = require('./transaction');
35
-
36
- Object.defineProperty(exports, 'ISOLATION_LEVEL', {
37
- enumerable: true,
38
- get: function get() {
39
- return _transaction.ISOLATION_LEVEL;
40
- }
41
- });
42
-
43
- var _tdsVersions = require('./tds-versions');
44
-
45
- Object.defineProperty(exports, 'TDS_VERSION', {
46
- enumerable: true,
47
- get: function get() {
48
- return _tdsVersions.versions;
49
- }
50
- });
51
- exports.BulkLoad = _bulkLoad2['default'];
52
- exports.Connection = _connection2['default'];
53
- exports.Request = _request2['default'];
54
- exports.library = _library2['default'];
3
+ module.exports.BulkLoad = require('./bulk-load');
4
+ module.exports.Connection = require('./connection');
5
+ module.exports.Request = require('./request');
6
+ module.exports.library = require('./library');
7
+
8
+ module.exports.TYPES = require('./data-type').typeByName;
9
+ module.exports.ISOLATION_LEVEL = require('./transaction').ISOLATION_LEVEL;
10
+ module.exports.TDS_VERSION = require('./tds-versions').versions;
@@ -1,14 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
4
-
5
- Object.defineProperty(exports, '__esModule', {
6
- value: true
7
- });
8
-
9
- var _metadataParser = require('../metadata-parser');
10
-
11
- var _metadataParser2 = _interopRequireDefault(_metadataParser);
3
+ var metadataParse = require('../metadata-parser');
12
4
 
13
5
  function readTableName(parser, options, metadata, callback) {
14
6
  if (metadata.type.hasTableName) {
@@ -58,7 +50,7 @@ function readColumnName(parser, options, index, metadata, callback) {
58
50
  }
59
51
 
60
52
  function readColumn(parser, options, index, callback) {
61
- (0, _metadataParser2['default'])(parser, options, function (metadata) {
53
+ metadataParse(parser, options, function (metadata) {
62
54
  readTableName(parser, options, metadata, function (tableName) {
63
55
  readColumnName(parser, options, index, metadata, function (colName) {
64
56
  callback({
@@ -78,7 +70,7 @@ function readColumn(parser, options, index, callback) {
78
70
  });
79
71
  }
80
72
 
81
- exports['default'] = function (parser, colMetadata, options, callback) {
73
+ module.exports = function (parser, colMetadata, options, callback) {
82
74
  parser.readUInt16LE(function (columnCount) {
83
75
  var columns = [];
84
76
 
@@ -104,6 +96,4 @@ exports['default'] = function (parser, colMetadata, options, callback) {
104
96
  });
105
97
  });
106
98
  });
107
- };
108
-
109
- module.exports = exports['default'];
99
+ };
@@ -1,13 +1,7 @@
1
- // s2.2.7.5/6/7
2
-
3
1
  'use strict';
4
2
 
5
- Object.defineProperty(exports, '__esModule', {
6
- value: true
7
- });
8
- exports.doneParser = doneParser;
9
- exports.doneInProcParser = doneInProcParser;
10
- exports.doneProcParser = doneProcParser;
3
+ // s2.2.7.5/6/7
4
+
11
5
  var STATUS = {
12
6
  MORE: 0x0001,
13
7
  ERROR: 0x0002,
@@ -27,7 +21,7 @@ function parseToken(parser, options, callback) {
27
21
  var serverError = !!(status & STATUS.SRVERROR);
28
22
 
29
23
  parser.readUInt16LE(function (curCmd) {
30
- (options.tdsVersion < "7_2" ? parser.readUInt32LE : parser.readUInt64LE).call(parser, function (rowCount) {
24
+ (options.tdsVersion < '7_2' ? parser.readUInt32LE : parser.readUInt64LE).call(parser, function (rowCount) {
31
25
  callback({
32
26
  name: 'DONE',
33
27
  event: 'done',
@@ -43,6 +37,7 @@ function parseToken(parser, options, callback) {
43
37
  });
44
38
  }
45
39
 
40
+ module.exports.doneParser = doneParser;
46
41
  function doneParser(parser, colMetadata, options, callback) {
47
42
  parseToken(parser, options, function (token) {
48
43
  token.name = 'DONE';
@@ -51,6 +46,7 @@ function doneParser(parser, colMetadata, options, callback) {
51
46
  });
52
47
  }
53
48
 
49
+ module.exports.doneInProcParser = doneInProcParser;
54
50
  function doneInProcParser(parser, colMetadata, options, callback) {
55
51
  parseToken(parser, options, function (token) {
56
52
  token.name = 'DONEINPROC';
@@ -59,6 +55,7 @@ function doneInProcParser(parser, colMetadata, options, callback) {
59
55
  });
60
56
  }
61
57
 
58
+ module.exports.doneProcParser = doneProcParser;
62
59
  function doneProcParser(parser, colMetadata, options, callback) {
63
60
  parseToken(parser, options, function (token) {
64
61
  token.name = 'DONEPROC';
@@ -1,8 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
3
  var types = {
7
4
  1: {
8
5
  name: 'DATABASE',
@@ -117,7 +114,7 @@ function readNewAndOldValue(parser, length, type, callback) {
117
114
  break;
118
115
 
119
116
  default:
120
- console.error("Tedious > Unsupported ENVCHANGE type " + type.name);
117
+ console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);
121
118
  // skip unknown bytes
122
119
  parser.readBuffer(length - 1, function () {
123
120
  callback(undefined, undefined);
@@ -125,13 +122,13 @@ function readNewAndOldValue(parser, length, type, callback) {
125
122
  }
126
123
  }
127
124
 
128
- exports['default'] = function (parser, colMetadata, options, callback) {
125
+ module.exports = function (parser, colMetadata, options, callback) {
129
126
  parser.readUInt16LE(function (length) {
130
127
  parser.readUInt8(function (typeNumber) {
131
128
  var type = types[typeNumber];
132
129
 
133
130
  if (!type) {
134
- console.error("Tedious > Unsupported ENVCHANGE type " + typeNumber);
131
+ console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);
135
132
  // skip unknown bytes
136
133
  return parser.readBuffer(length - 1, function () {
137
134
  callback();
@@ -149,6 +146,4 @@ exports['default'] = function (parser, colMetadata, options, callback) {
149
146
  });
150
147
  });
151
148
  });
152
- };
153
-
154
- module.exports = exports['default'];
149
+ };
@@ -1,10 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
- exports.infoParser = infoParser;
7
- exports.errorParser = errorParser;
8
3
  function parseToken(parser, options, callback) {
9
4
  // length
10
5
  parser.readUInt16LE(function () {
@@ -16,13 +11,13 @@ function parseToken(parser, options, callback) {
16
11
  parser.readBVarChar(function (procName) {
17
12
  (options.tdsVersion < '7_2' ? parser.readUInt16LE : parser.readUInt32LE).call(parser, function (lineNumber) {
18
13
  callback({
19
- number: number,
20
- state: state,
21
- "class": clazz,
22
- message: message,
23
- serverName: serverName,
24
- procName: procName,
25
- lineNumber: lineNumber
14
+ 'number': number,
15
+ 'state': state,
16
+ 'class': clazz,
17
+ 'message': message,
18
+ 'serverName': serverName,
19
+ 'procName': procName,
20
+ 'lineNumber': lineNumber
26
21
  });
27
22
  });
28
23
  });
@@ -34,6 +29,7 @@ function parseToken(parser, options, callback) {
34
29
  });
35
30
  }
36
31
 
32
+ module.exports.infoParser = infoParser;
37
33
  function infoParser(parser, colMetadata, options, callback) {
38
34
  parseToken(parser, options, function (token) {
39
35
  token.name = 'INFO';
@@ -42,6 +38,7 @@ function infoParser(parser, colMetadata, options, callback) {
42
38
  });
43
39
  }
44
40
 
41
+ module.exports.errorParser = errorParser;
45
42
  function errorParser(parser, colMetadata, options, callback) {
46
43
  parseToken(parser, options, function (token) {
47
44
  token.name = 'ERROR';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _tdsVersions = require('../tds-versions');
3
+ var versions = require('../tds-versions').versionsByValue;
4
4
 
5
5
  var interfaceTypes = {
6
6
  0: 'SQL_DFLT',
@@ -13,19 +13,19 @@ module.exports = function (parser, colMetadata, options, callback) {
13
13
  parser.readUInt8(function (interfaceNumber) {
14
14
  var interfaceType = interfaceTypes[interfaceNumber];
15
15
  parser.readUInt32BE(function (tdsVersionNumber) {
16
- var tdsVersion = _tdsVersions.versionsByValue[tdsVersionNumber];
16
+ var tdsVersion = versions[tdsVersionNumber];
17
17
  parser.readBVarChar(function (progName) {
18
18
  parser.readUInt8(function (major) {
19
19
  parser.readUInt8(function (minor) {
20
20
  parser.readUInt8(function (buildNumHi) {
21
21
  parser.readUInt8(function (buildNumLow) {
22
22
  callback({
23
- name: 'LOGINACK',
24
- event: 'loginack',
25
- "interface": interfaceType,
26
- tdsVersion: tdsVersion,
27
- progName: progName,
28
- progVersion: {
23
+ 'name': 'LOGINACK',
24
+ 'event': 'loginack',
25
+ 'interface': interfaceType,
26
+ 'tdsVersion': tdsVersion,
27
+ 'progName': progName,
28
+ 'progVersion': {
29
29
  major: major,
30
30
  minor: minor,
31
31
  buildNumHi: buildNumHi,