tedious 6.4.0 → 6.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/bulk-load.js +17 -22
- package/lib/connection.js +363 -251
- package/lib/connector.js +3 -1
- package/lib/data-type.js +111 -109
- package/lib/data-types/bigint.js +19 -7
- package/lib/data-types/binary.js +19 -10
- package/lib/data-types/bit.js +14 -4
- package/lib/data-types/bitn.js +26 -3
- package/lib/data-types/char.js +26 -13
- package/lib/data-types/date.js +18 -9
- package/lib/data-types/datetime.js +23 -5
- package/lib/data-types/datetime2.js +10 -22
- package/lib/data-types/datetimen.js +26 -3
- package/lib/data-types/datetimeoffset.js +11 -22
- package/lib/data-types/decimal.js +14 -6
- package/lib/data-types/decimaln.js +26 -5
- package/lib/data-types/float.js +14 -4
- package/lib/data-types/floatn.js +26 -3
- package/lib/data-types/image.js +12 -5
- package/lib/data-types/int.js +14 -4
- package/lib/data-types/intn.js +26 -3
- package/lib/data-types/money.js +14 -4
- package/lib/data-types/moneyn.js +26 -3
- package/lib/data-types/nchar.js +17 -6
- package/lib/data-types/ntext.js +26 -5
- package/lib/data-types/null.js +27 -3
- package/lib/data-types/numeric.js +14 -6
- package/lib/data-types/numericn.js +26 -5
- package/lib/data-types/nvarchar.js +20 -11
- package/lib/data-types/real.js +14 -4
- package/lib/data-types/smalldatetime.js +14 -4
- package/lib/data-types/smallint.js +14 -4
- package/lib/data-types/smallmoney.js +14 -4
- package/lib/data-types/sql-variant.js +23 -4
- package/lib/data-types/text.js +13 -7
- package/lib/data-types/time.js +9 -21
- package/lib/data-types/tinyint.js +14 -4
- package/lib/data-types/tvp.js +12 -3
- package/lib/data-types/udt.js +26 -3
- package/lib/data-types/uniqueidentifier.js +12 -5
- package/lib/data-types/varbinary.js +18 -8
- package/lib/data-types/varchar.js +19 -10
- package/lib/data-types/xml.js +26 -3
- package/lib/debug.js +3 -1
- package/lib/guid-parser.js +6 -6
- package/lib/incoming-message-stream.js +10 -7
- package/lib/instance-lookup.js +12 -6
- package/lib/library.js +6 -1
- package/lib/login7-payload.js +2 -3
- package/lib/message-io.js +14 -3
- package/lib/message.js +2 -3
- package/lib/metadata-parser.js +259 -136
- package/lib/ntlm-payload.js +12 -21
- package/lib/outgoing-message-stream.js +7 -6
- package/lib/packet.js +4 -5
- package/lib/prelogin-payload.js +3 -4
- package/lib/request.js +11 -11
- package/lib/rpcrequest-payload.js +28 -22
- package/lib/sender.js +25 -11
- package/lib/special-stored-procedure.js +9 -2
- package/lib/tds-versions.js +8 -2
- package/lib/tedious.js +75 -9
- package/lib/token/colmetadata-token-parser.js +20 -10
- package/lib/token/done-token-parser.js +32 -25
- package/lib/token/env-change-token-parser.js +50 -20
- package/lib/token/feature-ext-ack-parser.js +19 -14
- package/lib/token/fedauth-info-parser.js +17 -11
- package/lib/token/infoerror-token-parser.js +14 -14
- package/lib/token/loginack-token-parser.js +21 -12
- package/lib/token/nbcrow-token-parser.js +35 -23
- package/lib/token/order-token-parser.js +14 -7
- package/lib/token/returnstatus-token-parser.js +14 -7
- package/lib/token/returnvalue-token-parser.js +22 -11
- package/lib/token/row-token-parser.js +34 -22
- package/lib/token/sspi-token-parser.js +14 -8
- package/lib/token/stream-parser.js +95 -36
- package/lib/token/token-stream-parser.js +16 -10
- package/lib/token/token.js +396 -2
- package/lib/tracking-buffer/writable-tracking-buffer.js +37 -5
- package/lib/transaction.js +25 -16
- package/lib/transient-error-lookup.js +6 -1
- package/lib/value-parser.js +412 -315
- package/package.json +24 -21
- package/pull_request_template.md +1 -1
- package/tsconfig.json +1 -1
- package/lib/tracking-buffer/bigint.js +0 -102
package/lib/connector.js
CHANGED
|
@@ -11,7 +11,9 @@ var _dns = _interopRequireDefault(require("dns"));
|
|
|
11
11
|
|
|
12
12
|
var punycode = _interopRequireWildcard(require("punycode"));
|
|
13
13
|
|
|
14
|
-
function
|
|
14
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
17
|
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
|
package/lib/data-type.js
CHANGED
|
@@ -5,157 +5,159 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.typeByName = exports.TYPE = void 0;
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
var _null = _interopRequireDefault(require("./data-types/null"));
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
var _tinyint = _interopRequireDefault(require("./data-types/tinyint"));
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
var _bit = _interopRequireDefault(require("./data-types/bit"));
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var _smallint = _interopRequireDefault(require("./data-types/smallint"));
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
var _int = _interopRequireDefault(require("./data-types/int"));
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
var _smalldatetime = _interopRequireDefault(require("./data-types/smalldatetime"));
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
var _real = _interopRequireDefault(require("./data-types/real"));
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var _money = _interopRequireDefault(require("./data-types/money"));
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
var _datetime = _interopRequireDefault(require("./data-types/datetime"));
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
var _float = _interopRequireDefault(require("./data-types/float"));
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
var _decimal = _interopRequireDefault(require("./data-types/decimal"));
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
var _numeric = _interopRequireDefault(require("./data-types/numeric"));
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
var _smallmoney = _interopRequireDefault(require("./data-types/smallmoney"));
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
var _bigint = _interopRequireDefault(require("./data-types/bigint"));
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
var _image = _interopRequireDefault(require("./data-types/image"));
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
var _text = _interopRequireDefault(require("./data-types/text"));
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
var _uniqueidentifier = _interopRequireDefault(require("./data-types/uniqueidentifier"));
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
var _intn = _interopRequireDefault(require("./data-types/intn"));
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
var _ntext = _interopRequireDefault(require("./data-types/ntext"));
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
var _bitn = _interopRequireDefault(require("./data-types/bitn"));
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
var _decimaln = _interopRequireDefault(require("./data-types/decimaln"));
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
var _numericn = _interopRequireDefault(require("./data-types/numericn"));
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
var _floatn = _interopRequireDefault(require("./data-types/floatn"));
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
var _moneyn = _interopRequireDefault(require("./data-types/moneyn"));
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
var _datetimen = _interopRequireDefault(require("./data-types/datetimen"));
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
var _varbinary = _interopRequireDefault(require("./data-types/varbinary"));
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
var _varchar = _interopRequireDefault(require("./data-types/varchar"));
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
var _binary = _interopRequireDefault(require("./data-types/binary"));
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
var _char = _interopRequireDefault(require("./data-types/char"));
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
var _nvarchar = _interopRequireDefault(require("./data-types/nvarchar"));
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
var _nchar = _interopRequireDefault(require("./data-types/nchar"));
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
var _xml = _interopRequireDefault(require("./data-types/xml"));
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
var _time = _interopRequireDefault(require("./data-types/time"));
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
var _date = _interopRequireDefault(require("./data-types/date"));
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
var _datetime2 = _interopRequireDefault(require("./data-types/datetime2"));
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
var _datetimeoffset = _interopRequireDefault(require("./data-types/datetimeoffset"));
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
var _udt = _interopRequireDefault(require("./data-types/udt"));
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
var _tvp = _interopRequireDefault(require("./data-types/tvp"));
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
var _sqlVariant = _interopRequireDefault(require("./data-types/sql-variant"));
|
|
85
|
+
|
|
86
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
85
87
|
|
|
86
88
|
const TYPE = {
|
|
87
|
-
[
|
|
88
|
-
[
|
|
89
|
-
[
|
|
90
|
-
[
|
|
91
|
-
[
|
|
92
|
-
[
|
|
93
|
-
[
|
|
94
|
-
[
|
|
95
|
-
[
|
|
96
|
-
[
|
|
97
|
-
[
|
|
98
|
-
[
|
|
99
|
-
[
|
|
100
|
-
[
|
|
101
|
-
[
|
|
102
|
-
[
|
|
103
|
-
[
|
|
104
|
-
[
|
|
105
|
-
[
|
|
106
|
-
[
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
[
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
[
|
|
115
|
-
[
|
|
116
|
-
[
|
|
117
|
-
[
|
|
118
|
-
[
|
|
119
|
-
[
|
|
120
|
-
[
|
|
121
|
-
[
|
|
122
|
-
[
|
|
123
|
-
[
|
|
124
|
-
[
|
|
125
|
-
[
|
|
89
|
+
[_null.default.id]: _null.default,
|
|
90
|
+
[_tinyint.default.id]: _tinyint.default,
|
|
91
|
+
[_bit.default.id]: _bit.default,
|
|
92
|
+
[_smallint.default.id]: _smallint.default,
|
|
93
|
+
[_int.default.id]: _int.default,
|
|
94
|
+
[_smalldatetime.default.id]: _smalldatetime.default,
|
|
95
|
+
[_real.default.id]: _real.default,
|
|
96
|
+
[_money.default.id]: _money.default,
|
|
97
|
+
[_datetime.default.id]: _datetime.default,
|
|
98
|
+
[_float.default.id]: _float.default,
|
|
99
|
+
[_decimal.default.id]: _decimal.default,
|
|
100
|
+
[_numeric.default.id]: _numeric.default,
|
|
101
|
+
[_smallmoney.default.id]: _smallmoney.default,
|
|
102
|
+
[_bigint.default.id]: _bigint.default,
|
|
103
|
+
[_image.default.id]: _image.default,
|
|
104
|
+
[_text.default.id]: _text.default,
|
|
105
|
+
[_uniqueidentifier.default.id]: _uniqueidentifier.default,
|
|
106
|
+
[_intn.default.id]: _intn.default,
|
|
107
|
+
[_ntext.default.id]: _ntext.default,
|
|
108
|
+
[_bitn.default.id]: _bitn.default,
|
|
109
|
+
[_decimaln.default.id]: _decimaln.default,
|
|
110
|
+
[_numericn.default.id]: _numericn.default,
|
|
111
|
+
[_floatn.default.id]: _floatn.default,
|
|
112
|
+
[_moneyn.default.id]: _moneyn.default,
|
|
113
|
+
[_datetimen.default.id]: _datetimen.default,
|
|
114
|
+
[_varbinary.default.id]: _varbinary.default,
|
|
115
|
+
[_varchar.default.id]: _varchar.default,
|
|
116
|
+
[_binary.default.id]: _binary.default,
|
|
117
|
+
[_char.default.id]: _char.default,
|
|
118
|
+
[_nvarchar.default.id]: _nvarchar.default,
|
|
119
|
+
[_nchar.default.id]: _nchar.default,
|
|
120
|
+
[_xml.default.id]: _xml.default,
|
|
121
|
+
[_time.default.id]: _time.default,
|
|
122
|
+
[_date.default.id]: _date.default,
|
|
123
|
+
[_datetime2.default.id]: _datetime2.default,
|
|
124
|
+
[_datetimeoffset.default.id]: _datetimeoffset.default,
|
|
125
|
+
[_udt.default.id]: _udt.default,
|
|
126
|
+
[_tvp.default.id]: _tvp.default,
|
|
127
|
+
[_sqlVariant.default.id]: _sqlVariant.default
|
|
126
128
|
};
|
|
127
129
|
exports.TYPE = TYPE;
|
|
128
130
|
const typeByName = {
|
|
129
|
-
TinyInt,
|
|
130
|
-
Bit,
|
|
131
|
-
SmallInt,
|
|
132
|
-
Int,
|
|
133
|
-
SmallDateTime,
|
|
134
|
-
Real,
|
|
135
|
-
Money,
|
|
136
|
-
DateTime,
|
|
137
|
-
Float,
|
|
138
|
-
Decimal,
|
|
139
|
-
Numeric,
|
|
140
|
-
SmallMoney,
|
|
141
|
-
BigInt,
|
|
142
|
-
Image,
|
|
143
|
-
Text,
|
|
144
|
-
UniqueIdentifier,
|
|
145
|
-
NText,
|
|
146
|
-
VarBinary,
|
|
147
|
-
VarChar,
|
|
148
|
-
Binary,
|
|
149
|
-
Char,
|
|
150
|
-
NVarChar,
|
|
151
|
-
NChar,
|
|
152
|
-
Xml,
|
|
153
|
-
Time,
|
|
154
|
-
Date,
|
|
155
|
-
DateTime2,
|
|
156
|
-
DateTimeOffset,
|
|
157
|
-
UDT,
|
|
158
|
-
TVP,
|
|
159
|
-
Variant
|
|
131
|
+
TinyInt: _tinyint.default,
|
|
132
|
+
Bit: _bit.default,
|
|
133
|
+
SmallInt: _smallint.default,
|
|
134
|
+
Int: _int.default,
|
|
135
|
+
SmallDateTime: _smalldatetime.default,
|
|
136
|
+
Real: _real.default,
|
|
137
|
+
Money: _money.default,
|
|
138
|
+
DateTime: _datetime.default,
|
|
139
|
+
Float: _float.default,
|
|
140
|
+
Decimal: _decimal.default,
|
|
141
|
+
Numeric: _numeric.default,
|
|
142
|
+
SmallMoney: _smallmoney.default,
|
|
143
|
+
BigInt: _bigint.default,
|
|
144
|
+
Image: _image.default,
|
|
145
|
+
Text: _text.default,
|
|
146
|
+
UniqueIdentifier: _uniqueidentifier.default,
|
|
147
|
+
NText: _ntext.default,
|
|
148
|
+
VarBinary: _varbinary.default,
|
|
149
|
+
VarChar: _varchar.default,
|
|
150
|
+
Binary: _binary.default,
|
|
151
|
+
Char: _char.default,
|
|
152
|
+
NVarChar: _nvarchar.default,
|
|
153
|
+
NChar: _nchar.default,
|
|
154
|
+
Xml: _xml.default,
|
|
155
|
+
Time: _time.default,
|
|
156
|
+
Date: _date.default,
|
|
157
|
+
DateTime2: _datetime2.default,
|
|
158
|
+
DateTimeOffset: _datetimeoffset.default,
|
|
159
|
+
UDT: _udt.default,
|
|
160
|
+
TVP: _tvp.default,
|
|
161
|
+
Variant: _sqlVariant.default
|
|
160
162
|
};
|
|
161
163
|
exports.typeByName = typeByName;
|
package/lib/data-types/bigint.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
var _intn = _interopRequireDefault(require("./intn"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const BigInt = {
|
|
6
13
|
id: 0x7F,
|
|
7
14
|
type: 'INT8',
|
|
8
15
|
name: 'BigInt',
|
|
@@ -10,12 +17,14 @@ module.exports = {
|
|
|
10
17
|
return 'bigint';
|
|
11
18
|
},
|
|
12
19
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
13
|
-
buffer.writeUInt8(
|
|
20
|
+
buffer.writeUInt8(_intn.default.id);
|
|
14
21
|
buffer.writeUInt8(8);
|
|
15
22
|
},
|
|
16
|
-
writeParameterData: function writeParameterData(buffer, parameter,
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
writeParameterData: function writeParameterData(buffer, parameter, _options, cb) {
|
|
24
|
+
const value = parameter.value;
|
|
25
|
+
|
|
26
|
+
if (value != null) {
|
|
27
|
+
const val = typeof value !== 'number' ? parseInt(value) : value;
|
|
19
28
|
buffer.writeUInt8(8);
|
|
20
29
|
buffer.writeInt64LE(val);
|
|
21
30
|
} else {
|
|
@@ -44,4 +53,7 @@ module.exports = {
|
|
|
44
53
|
|
|
45
54
|
return value;
|
|
46
55
|
}
|
|
47
|
-
};
|
|
56
|
+
};
|
|
57
|
+
var _default = BigInt;
|
|
58
|
+
exports.default = _default;
|
|
59
|
+
module.exports = BigInt;
|
package/lib/data-types/binary.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
const NULL = (1 << 16) - 1;
|
|
4
|
-
|
|
8
|
+
const Binary = {
|
|
5
9
|
id: 0xAD,
|
|
6
10
|
type: 'BIGBinary',
|
|
7
11
|
name: 'Binary',
|
|
8
|
-
dataLengthLength: 2,
|
|
9
12
|
maximumLength: 8000,
|
|
10
13
|
declaration: function declaration(parameter) {
|
|
14
|
+
const value = parameter.value;
|
|
11
15
|
var length;
|
|
12
16
|
|
|
13
17
|
if (parameter.length) {
|
|
14
18
|
length = parameter.length;
|
|
15
|
-
} else if (
|
|
16
|
-
length =
|
|
17
|
-
} else if (
|
|
19
|
+
} else if (value != null) {
|
|
20
|
+
length = value.length || 1;
|
|
21
|
+
} else if (value === null && !parameter.output) {
|
|
18
22
|
length = 1;
|
|
19
23
|
} else {
|
|
20
24
|
length = this.maximumLength;
|
|
@@ -23,8 +27,10 @@ module.exports = {
|
|
|
23
27
|
return 'binary(' + length + ')';
|
|
24
28
|
},
|
|
25
29
|
resolveLength: function resolveLength(parameter) {
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
const value = parameter.value;
|
|
31
|
+
|
|
32
|
+
if (value != null) {
|
|
33
|
+
return value.length;
|
|
28
34
|
} else {
|
|
29
35
|
return this.maximumLength;
|
|
30
36
|
}
|
|
@@ -33,10 +39,10 @@ module.exports = {
|
|
|
33
39
|
buffer.writeUInt8(this.id);
|
|
34
40
|
buffer.writeUInt16LE(parameter.length);
|
|
35
41
|
},
|
|
36
|
-
writeParameterData: function writeParameterData(buffer, parameter,
|
|
42
|
+
writeParameterData: function writeParameterData(buffer, parameter, _options, cb) {
|
|
37
43
|
if (parameter.value != null) {
|
|
38
44
|
buffer.writeUInt16LE(parameter.length);
|
|
39
|
-
buffer.writeBuffer(parameter.value.slice(0, Math.min(parameter.length, this.maximumLength)));
|
|
45
|
+
buffer.writeBuffer(parameter.value.slice(0, parameter.length !== undefined ? Math.min(parameter.length, this.maximumLength) : this.maximumLength));
|
|
40
46
|
} else {
|
|
41
47
|
buffer.writeUInt16LE(NULL);
|
|
42
48
|
}
|
|
@@ -54,4 +60,7 @@ module.exports = {
|
|
|
54
60
|
|
|
55
61
|
return value;
|
|
56
62
|
}
|
|
57
|
-
};
|
|
63
|
+
};
|
|
64
|
+
var _default = Binary;
|
|
65
|
+
exports.default = _default;
|
|
66
|
+
module.exports = Binary;
|
package/lib/data-types/bit.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
var _bitn = _interopRequireDefault(require("./bitn"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const Bit = {
|
|
6
13
|
id: 0x32,
|
|
7
14
|
type: 'BIT',
|
|
8
15
|
name: 'Bit',
|
|
@@ -10,7 +17,7 @@ module.exports = {
|
|
|
10
17
|
return 'bit';
|
|
11
18
|
},
|
|
12
19
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
13
|
-
buffer.writeUInt8(
|
|
20
|
+
buffer.writeUInt8(_bitn.default.id);
|
|
14
21
|
buffer.writeUInt8(1);
|
|
15
22
|
},
|
|
16
23
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
@@ -34,4 +41,7 @@ module.exports = {
|
|
|
34
41
|
return false;
|
|
35
42
|
}
|
|
36
43
|
}
|
|
37
|
-
};
|
|
44
|
+
};
|
|
45
|
+
var _default = Bit;
|
|
46
|
+
exports.default = _default;
|
|
47
|
+
module.exports = Bit;
|
package/lib/data-types/bitn.js
CHANGED
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const BitN = {
|
|
4
8
|
id: 0x68,
|
|
5
9
|
type: 'BITN',
|
|
6
10
|
name: 'BitN',
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
|
|
12
|
+
declaration() {
|
|
13
|
+
throw new Error('not implemented');
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
writeTypeInfo() {
|
|
17
|
+
throw new Error('not implemented');
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
writeParameterData() {
|
|
21
|
+
throw new Error('not implemented');
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
validate() {
|
|
25
|
+
throw new Error('not implemented');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
};
|
|
29
|
+
var _default = BitN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = BitN;
|
package/lib/data-types/char.js
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
const NULL = (1 << 16) - 1;
|
|
4
|
-
|
|
8
|
+
const Char = {
|
|
5
9
|
id: 0xAF,
|
|
6
10
|
type: 'BIGCHAR',
|
|
7
11
|
name: 'Char',
|
|
8
|
-
hasCollation: true,
|
|
9
|
-
dataLengthLength: 2,
|
|
10
12
|
maximumLength: 8000,
|
|
11
13
|
declaration: function declaration(parameter) {
|
|
14
|
+
// const value = parameter.value as null | string | { toString(): string };
|
|
15
|
+
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
16
|
+
|
|
12
17
|
let length;
|
|
13
18
|
|
|
14
19
|
if (parameter.length) {
|
|
15
20
|
length = parameter.length;
|
|
16
|
-
} else if (
|
|
17
|
-
length =
|
|
18
|
-
} else if (
|
|
21
|
+
} else if (value != null) {
|
|
22
|
+
length = value.toString().length || 1;
|
|
23
|
+
} else if (value === null && !parameter.output) {
|
|
19
24
|
length = 1;
|
|
20
25
|
} else {
|
|
21
26
|
length = this.maximumLength;
|
|
@@ -27,14 +32,17 @@ module.exports = {
|
|
|
27
32
|
return 'char(' + this.maximumLength + ')';
|
|
28
33
|
}
|
|
29
34
|
},
|
|
35
|
+
// ParameterData<any> is temporary solution. TODO: need to understand what type ParameterData<...> can be.
|
|
30
36
|
resolveLength: function resolveLength(parameter) {
|
|
37
|
+
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
38
|
+
|
|
31
39
|
if (parameter.length != null) {
|
|
32
40
|
return parameter.length;
|
|
33
|
-
} else if (
|
|
34
|
-
if (Buffer.isBuffer(
|
|
35
|
-
return
|
|
41
|
+
} else if (value != null) {
|
|
42
|
+
if (Buffer.isBuffer(value)) {
|
|
43
|
+
return value.length || 1;
|
|
36
44
|
} else {
|
|
37
|
-
return
|
|
45
|
+
return value.toString().length || 1;
|
|
38
46
|
}
|
|
39
47
|
} else {
|
|
40
48
|
return this.maximumLength;
|
|
@@ -46,8 +54,10 @@ module.exports = {
|
|
|
46
54
|
buffer.writeBuffer(Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00]));
|
|
47
55
|
},
|
|
48
56
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
58
|
+
|
|
59
|
+
if (value != null) {
|
|
60
|
+
buffer.writeUsVarbyte(value, 'ascii');
|
|
51
61
|
} else {
|
|
52
62
|
buffer.writeUInt16LE(NULL);
|
|
53
63
|
}
|
|
@@ -69,4 +79,7 @@ module.exports = {
|
|
|
69
79
|
|
|
70
80
|
return value;
|
|
71
81
|
}
|
|
72
|
-
};
|
|
82
|
+
};
|
|
83
|
+
var _default = Char;
|
|
84
|
+
exports.default = _default;
|
|
85
|
+
module.exports = Char;
|
package/lib/data-types/date.js
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
// globalDate is to be used for JavaScript's global 'Date' object to avoid name clashing with the 'Date' constant below
|
|
8
|
+
const globalDate = global.Date;
|
|
9
|
+
const YEAR_ONE = new globalDate(2000, 0, -730118);
|
|
10
|
+
const UTC_YEAR_ONE = globalDate.UTC(2000, 0, -730118);
|
|
11
|
+
const Date = {
|
|
6
12
|
id: 0x28,
|
|
7
13
|
type: 'DATEN',
|
|
8
14
|
name: 'Date',
|
|
9
|
-
dataLengthLength: 1,
|
|
10
|
-
fixedDataLength: 3,
|
|
11
15
|
declaration: function declaration() {
|
|
12
16
|
return 'date';
|
|
13
17
|
},
|
|
14
18
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
15
19
|
buffer.writeUInt8(this.id);
|
|
16
20
|
},
|
|
21
|
+
// ParameterData<any> is temporary solution. TODO: need to understand what type ParameterData<...> can be.
|
|
17
22
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
18
23
|
if (parameter.value != null) {
|
|
19
24
|
buffer.writeUInt8(3);
|
|
@@ -22,7 +27,7 @@ module.exports = {
|
|
|
22
27
|
buffer.writeUInt24LE(Math.floor((+parameter.value - UTC_YEAR_ONE) / 86400000));
|
|
23
28
|
} else {
|
|
24
29
|
const dstDiff = -(parameter.value.getTimezoneOffset() - YEAR_ONE.getTimezoneOffset()) * 60 * 1000;
|
|
25
|
-
buffer.writeUInt24LE(Math.floor((+parameter.value - YEAR_ONE + dstDiff) / 86400000));
|
|
30
|
+
buffer.writeUInt24LE(Math.floor((+parameter.value - +YEAR_ONE + dstDiff) / 86400000));
|
|
26
31
|
}
|
|
27
32
|
} else {
|
|
28
33
|
buffer.writeUInt8(0);
|
|
@@ -30,13 +35,14 @@ module.exports = {
|
|
|
30
35
|
|
|
31
36
|
cb();
|
|
32
37
|
},
|
|
38
|
+
// TODO: value is techincally of type 'unknown'.
|
|
33
39
|
validate: function validate(value) {
|
|
34
40
|
if (value == null) {
|
|
35
41
|
return null;
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
if (!(value instanceof
|
|
39
|
-
value =
|
|
44
|
+
if (!(value instanceof globalDate)) {
|
|
45
|
+
value = globalDate.parse(value);
|
|
40
46
|
}
|
|
41
47
|
|
|
42
48
|
if (isNaN(value)) {
|
|
@@ -45,4 +51,7 @@ module.exports = {
|
|
|
45
51
|
|
|
46
52
|
return value;
|
|
47
53
|
}
|
|
48
|
-
};
|
|
54
|
+
};
|
|
55
|
+
var _default = Date;
|
|
56
|
+
exports.default = _default;
|
|
57
|
+
module.exports = Date;
|