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
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _datetimen = _interopRequireDefault(require("./datetimen"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
4
11
|
|
|
5
12
|
const EPOCH_DATE = new Date(1900, 0, 1);
|
|
6
13
|
const UTC_EPOCH_DATE = new Date(Date.UTC(1900, 0, 1));
|
|
7
|
-
|
|
14
|
+
const DateTime = {
|
|
8
15
|
id: 0x3D,
|
|
9
16
|
type: 'DATETIME',
|
|
10
17
|
name: 'DateTime',
|
|
@@ -12,9 +19,10 @@ module.exports = {
|
|
|
12
19
|
return 'datetime';
|
|
13
20
|
},
|
|
14
21
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
15
|
-
buffer.writeUInt8(
|
|
22
|
+
buffer.writeUInt8(_datetimen.default.id);
|
|
16
23
|
buffer.writeUInt8(8);
|
|
17
24
|
},
|
|
25
|
+
// ParameterData<any> is temporary solution. TODO: need to understand what type ParameterData<...> can be.
|
|
18
26
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
19
27
|
if (parameter.value != null) {
|
|
20
28
|
let days, dstDiff, milliseconds, seconds, threeHundredthsOfSecond;
|
|
@@ -35,7 +43,13 @@ module.exports = {
|
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
threeHundredthsOfSecond = milliseconds / (3 + 1 / 3);
|
|
38
|
-
threeHundredthsOfSecond = Math.round(threeHundredthsOfSecond);
|
|
46
|
+
threeHundredthsOfSecond = Math.round(threeHundredthsOfSecond); // 25920000 equals one day
|
|
47
|
+
|
|
48
|
+
if (threeHundredthsOfSecond === 25920000) {
|
|
49
|
+
days += 1;
|
|
50
|
+
threeHundredthsOfSecond = 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
39
53
|
buffer.writeUInt8(8);
|
|
40
54
|
buffer.writeInt32LE(days);
|
|
41
55
|
buffer.writeUInt32LE(threeHundredthsOfSecond);
|
|
@@ -45,6 +59,7 @@ module.exports = {
|
|
|
45
59
|
|
|
46
60
|
cb();
|
|
47
61
|
},
|
|
62
|
+
// TODO: type 'any' needs to be revisited.
|
|
48
63
|
validate: function validate(value) {
|
|
49
64
|
if (value == null) {
|
|
50
65
|
return null;
|
|
@@ -60,4 +75,7 @@ module.exports = {
|
|
|
60
75
|
|
|
61
76
|
return value;
|
|
62
77
|
}
|
|
63
|
-
};
|
|
78
|
+
};
|
|
79
|
+
var _default = DateTime;
|
|
80
|
+
exports.default = _default;
|
|
81
|
+
module.exports = DateTime;
|
|
@@ -1,30 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
const YEAR_ONE = new Date(2000, 0, -730118);
|
|
4
8
|
const UTC_YEAR_ONE = Date.UTC(2000, 0, -730118);
|
|
5
|
-
|
|
9
|
+
const DateTime2 = {
|
|
6
10
|
id: 0x2A,
|
|
7
11
|
type: 'DATETIME2N',
|
|
8
12
|
name: 'DateTime2',
|
|
9
|
-
hasScale: true,
|
|
10
|
-
dataLengthLength: 1,
|
|
11
|
-
dataLengthFromScale: function dataLengthFromScale(scale) {
|
|
12
|
-
switch (scale) {
|
|
13
|
-
case 0:
|
|
14
|
-
case 1:
|
|
15
|
-
case 2:
|
|
16
|
-
return 3;
|
|
17
|
-
|
|
18
|
-
case 3:
|
|
19
|
-
case 4:
|
|
20
|
-
return 4;
|
|
21
|
-
|
|
22
|
-
case 5:
|
|
23
|
-
case 6:
|
|
24
|
-
case 7:
|
|
25
|
-
return 5;
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
13
|
declaration: function declaration(parameter) {
|
|
29
14
|
return 'datetime2(' + this.resolveScale(parameter) + ')';
|
|
30
15
|
},
|
|
@@ -81,7 +66,7 @@ module.exports = {
|
|
|
81
66
|
buffer.writeUInt24LE(Math.floor((+parameter.value - UTC_YEAR_ONE) / 86400000));
|
|
82
67
|
} else {
|
|
83
68
|
const dstDiff = -(parameter.value.getTimezoneOffset() - YEAR_ONE.getTimezoneOffset()) * 60 * 1000;
|
|
84
|
-
buffer.writeUInt24LE(Math.floor((+parameter.value - YEAR_ONE + dstDiff) / 86400000));
|
|
69
|
+
buffer.writeUInt24LE(Math.floor((+parameter.value - +YEAR_ONE + dstDiff) / 86400000));
|
|
85
70
|
}
|
|
86
71
|
} else {
|
|
87
72
|
buffer.writeUInt8(0);
|
|
@@ -104,4 +89,7 @@ module.exports = {
|
|
|
104
89
|
|
|
105
90
|
return value;
|
|
106
91
|
}
|
|
107
|
-
};
|
|
92
|
+
};
|
|
93
|
+
var _default = DateTime2;
|
|
94
|
+
exports.default = _default;
|
|
95
|
+
module.exports = DateTime2;
|
|
@@ -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 DateTimeN = {
|
|
4
8
|
id: 0x6F,
|
|
5
9
|
type: 'DATETIMN',
|
|
6
10
|
name: 'DateTimeN',
|
|
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 = DateTimeN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = DateTimeN;
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
3
7
|
const UTC_YEAR_ONE = Date.UTC(2000, 0, -730118);
|
|
4
|
-
|
|
8
|
+
const DateTimeOffset = {
|
|
5
9
|
id: 0x2B,
|
|
6
10
|
type: 'DATETIMEOFFSETN',
|
|
7
11
|
name: 'DateTimeOffset',
|
|
8
|
-
hasScale: true,
|
|
9
|
-
dataLengthLength: 1,
|
|
10
|
-
dataLengthFromScale: function dataLengthFromScale(scale) {
|
|
11
|
-
switch (scale) {
|
|
12
|
-
case 0:
|
|
13
|
-
case 1:
|
|
14
|
-
case 2:
|
|
15
|
-
return 3;
|
|
16
|
-
|
|
17
|
-
case 3:
|
|
18
|
-
case 4:
|
|
19
|
-
return 4;
|
|
20
|
-
|
|
21
|
-
case 5:
|
|
22
|
-
case 6:
|
|
23
|
-
case 7:
|
|
24
|
-
return 5;
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
12
|
declaration: function declaration(parameter) {
|
|
28
13
|
return 'datetimeoffset(' + this.resolveScale(parameter) + ')';
|
|
29
14
|
},
|
|
@@ -46,7 +31,8 @@ module.exports = {
|
|
|
46
31
|
time.setUTCFullYear(1970);
|
|
47
32
|
time.setUTCMonth(0);
|
|
48
33
|
time.setUTCDate(1);
|
|
49
|
-
let timestamp
|
|
34
|
+
let timestamp;
|
|
35
|
+
timestamp = +time * Math.pow(10, parameter.scale - 3);
|
|
50
36
|
timestamp += (parameter.value.nanosecondDelta != null ? parameter.value.nanosecondDelta : 0) * Math.pow(10, parameter.scale);
|
|
51
37
|
timestamp = Math.round(timestamp);
|
|
52
38
|
const offset = -parameter.value.getTimezoneOffset();
|
|
@@ -95,4 +81,7 @@ module.exports = {
|
|
|
95
81
|
|
|
96
82
|
return value;
|
|
97
83
|
}
|
|
98
|
-
};
|
|
84
|
+
};
|
|
85
|
+
var _default = DateTimeOffset;
|
|
86
|
+
exports.default = _default;
|
|
87
|
+
module.exports = DateTimeOffset;
|
|
@@ -1,13 +1,18 @@
|
|
|
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 _decimaln = _interopRequireDefault(require("./decimaln"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const Decimal = {
|
|
6
13
|
id: 0x37,
|
|
7
14
|
type: 'DECIMAL',
|
|
8
15
|
name: 'Decimal',
|
|
9
|
-
hasPrecision: true,
|
|
10
|
-
hasScale: true,
|
|
11
16
|
declaration: function declaration(parameter) {
|
|
12
17
|
return 'decimal(' + this.resolvePrecision(parameter) + ', ' + this.resolveScale(parameter) + ')';
|
|
13
18
|
},
|
|
@@ -28,7 +33,7 @@ module.exports = {
|
|
|
28
33
|
}
|
|
29
34
|
},
|
|
30
35
|
writeTypeInfo: function writeTypeInfo(buffer, parameter) {
|
|
31
|
-
buffer.writeUInt8(
|
|
36
|
+
buffer.writeUInt8(_decimaln.default.id);
|
|
32
37
|
|
|
33
38
|
if (parameter.precision <= 9) {
|
|
34
39
|
buffer.writeUInt8(5);
|
|
@@ -87,4 +92,7 @@ module.exports = {
|
|
|
87
92
|
|
|
88
93
|
return value;
|
|
89
94
|
}
|
|
90
|
-
};
|
|
95
|
+
};
|
|
96
|
+
var _default = Decimal;
|
|
97
|
+
exports.default = _default;
|
|
98
|
+
module.exports = Decimal;
|
|
@@ -1,10 +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 DecimalN = {
|
|
4
8
|
id: 0x6A,
|
|
5
9
|
type: 'DECIMALN',
|
|
6
10
|
name: 'DecimalN',
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
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 = DecimalN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = DecimalN;
|
package/lib/data-types/float.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 _floatn = _interopRequireDefault(require("./floatn"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const Float = {
|
|
6
13
|
id: 0x3E,
|
|
7
14
|
type: 'FLT8',
|
|
8
15
|
name: 'Float',
|
|
@@ -10,7 +17,7 @@ module.exports = {
|
|
|
10
17
|
return 'float';
|
|
11
18
|
},
|
|
12
19
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
13
|
-
buffer.writeUInt8(
|
|
20
|
+
buffer.writeUInt8(_floatn.default.id);
|
|
14
21
|
buffer.writeUInt8(8);
|
|
15
22
|
},
|
|
16
23
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
@@ -36,4 +43,7 @@ module.exports = {
|
|
|
36
43
|
|
|
37
44
|
return value;
|
|
38
45
|
}
|
|
39
|
-
};
|
|
46
|
+
};
|
|
47
|
+
var _default = Float;
|
|
48
|
+
exports.default = _default;
|
|
49
|
+
module.exports = Float;
|
package/lib/data-types/floatn.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 FloatN = {
|
|
4
8
|
id: 0x6D,
|
|
5
9
|
type: 'FLTN',
|
|
6
10
|
name: 'FloatN',
|
|
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 = FloatN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = FloatN;
|
package/lib/data-types/image.js
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const Image = {
|
|
4
8
|
id: 0x22,
|
|
5
9
|
type: 'IMAGE',
|
|
6
10
|
name: 'Image',
|
|
7
11
|
hasTableName: true,
|
|
8
|
-
hasTextPointerAndTimestamp: true,
|
|
9
|
-
dataLengthLength: 4,
|
|
10
12
|
declaration: function declaration() {
|
|
11
13
|
return 'image';
|
|
12
14
|
},
|
|
13
15
|
resolveLength: function resolveLength(parameter) {
|
|
14
16
|
if (parameter.value != null) {
|
|
15
|
-
|
|
17
|
+
const value = parameter.value; // TODO: Temporary solution. Replace 'any' more with specific type;
|
|
18
|
+
|
|
19
|
+
return value.length;
|
|
16
20
|
} else {
|
|
17
21
|
return -1;
|
|
18
22
|
}
|
|
@@ -42,4 +46,7 @@ module.exports = {
|
|
|
42
46
|
|
|
43
47
|
return value;
|
|
44
48
|
}
|
|
45
|
-
};
|
|
49
|
+
};
|
|
50
|
+
var _default = Image;
|
|
51
|
+
exports.default = _default;
|
|
52
|
+
module.exports = Image;
|
package/lib/data-types/int.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 Int = {
|
|
6
13
|
id: 0x38,
|
|
7
14
|
type: 'INT4',
|
|
8
15
|
name: 'Int',
|
|
@@ -10,7 +17,7 @@ module.exports = {
|
|
|
10
17
|
return 'int';
|
|
11
18
|
},
|
|
12
19
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
13
|
-
buffer.writeUInt8(
|
|
20
|
+
buffer.writeUInt8(_intn.default.id);
|
|
14
21
|
buffer.writeUInt8(4);
|
|
15
22
|
},
|
|
16
23
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
@@ -40,4 +47,7 @@ module.exports = {
|
|
|
40
47
|
|
|
41
48
|
return value;
|
|
42
49
|
}
|
|
43
|
-
};
|
|
50
|
+
};
|
|
51
|
+
var _default = Int;
|
|
52
|
+
exports.default = _default;
|
|
53
|
+
module.exports = Int;
|
package/lib/data-types/intn.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 IntN = {
|
|
4
8
|
id: 0x26,
|
|
5
9
|
type: 'INTN',
|
|
6
10
|
name: 'IntN',
|
|
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 = IntN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = IntN;
|
package/lib/data-types/money.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 _moneyn = _interopRequireDefault(require("./moneyn"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const Money = {
|
|
6
13
|
id: 0x3C,
|
|
7
14
|
type: 'MONEY',
|
|
8
15
|
name: 'Money',
|
|
@@ -10,7 +17,7 @@ module.exports = {
|
|
|
10
17
|
return 'money';
|
|
11
18
|
},
|
|
12
19
|
writeTypeInfo: function writeTypeInfo(buffer) {
|
|
13
|
-
buffer.writeUInt8(
|
|
20
|
+
buffer.writeUInt8(_moneyn.default.id);
|
|
14
21
|
buffer.writeUInt8(8);
|
|
15
22
|
},
|
|
16
23
|
writeParameterData: function writeParameterData(buffer, parameter, options, cb) {
|
|
@@ -36,4 +43,7 @@ module.exports = {
|
|
|
36
43
|
|
|
37
44
|
return value;
|
|
38
45
|
}
|
|
39
|
-
};
|
|
46
|
+
};
|
|
47
|
+
var _default = Money;
|
|
48
|
+
exports.default = _default;
|
|
49
|
+
module.exports = Money;
|
package/lib/data-types/moneyn.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 MoneyN = {
|
|
4
8
|
id: 0x6E,
|
|
5
9
|
type: 'MONEYN',
|
|
6
10
|
name: 'MoneyN',
|
|
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 = MoneyN;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = MoneyN;
|
package/lib/data-types/nchar.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
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 NChar = {
|
|
5
9
|
id: 0xEF,
|
|
6
10
|
type: 'NCHAR',
|
|
7
11
|
name: 'NChar',
|
|
8
|
-
hasCollation: true,
|
|
9
|
-
dataLengthLength: 2,
|
|
10
12
|
maximumLength: 4000,
|
|
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
21
|
} else if (parameter.value != null) {
|
|
17
|
-
length =
|
|
22
|
+
length = value.toString().length || 1;
|
|
18
23
|
} else if (parameter.value === null && !parameter.output) {
|
|
19
24
|
length = 1;
|
|
20
25
|
} else {
|
|
@@ -28,13 +33,16 @@ module.exports = {
|
|
|
28
33
|
}
|
|
29
34
|
},
|
|
30
35
|
resolveLength: function resolveLength(parameter) {
|
|
36
|
+
// const value = parameter.value as null | string | { toString(): string };
|
|
37
|
+
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
38
|
+
|
|
31
39
|
if (parameter.length != null) {
|
|
32
40
|
return parameter.length;
|
|
33
41
|
} else if (parameter.value != null) {
|
|
34
42
|
if (Buffer.isBuffer(parameter.value)) {
|
|
35
43
|
return parameter.value.length / 2 || 1;
|
|
36
44
|
} else {
|
|
37
|
-
return
|
|
45
|
+
return value.toString().length || 1;
|
|
38
46
|
}
|
|
39
47
|
} else {
|
|
40
48
|
return this.maximumLength;
|
|
@@ -69,4 +77,7 @@ module.exports = {
|
|
|
69
77
|
|
|
70
78
|
return value;
|
|
71
79
|
}
|
|
72
|
-
};
|
|
80
|
+
};
|
|
81
|
+
var _default = NChar;
|
|
82
|
+
exports.default = _default;
|
|
83
|
+
module.exports = NChar;
|
package/lib/data-types/ntext.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const NText = {
|
|
4
8
|
id: 0x63,
|
|
5
9
|
type: 'NTEXT',
|
|
6
10
|
name: 'NText',
|
|
7
|
-
hasCollation: true,
|
|
8
11
|
hasTableName: true,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
declaration() {
|
|
14
|
+
throw new Error('not implemented');
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
writeTypeInfo() {
|
|
18
|
+
throw new Error('not implemented');
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
writeParameterData() {
|
|
22
|
+
throw new Error('not implemented');
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
validate() {
|
|
26
|
+
throw new Error('not implemented');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
};
|
|
30
|
+
var _default = NText;
|
|
31
|
+
exports.default = _default;
|
|
32
|
+
module.exports = NText;
|
package/lib/data-types/null.js
CHANGED
|
@@ -1,7 +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 Null = {
|
|
4
8
|
id: 0x1F,
|
|
5
9
|
type: 'NULL',
|
|
6
|
-
name: 'Null'
|
|
7
|
-
|
|
10
|
+
name: 'Null',
|
|
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 = Null;
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
module.exports = Null;
|