tedious 16.2.0 → 16.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/all-headers.js +1 -2
- package/lib/all-headers.js.map +1 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +9 -31
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js.map +1 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +9 -24
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
- package/lib/always-encrypted/cek-entry.js +8 -12
- package/lib/always-encrypted/cek-entry.js.map +1 -0
- package/lib/always-encrypted/get-parameter-encryption-metadata.js +2 -24
- package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
- package/lib/always-encrypted/key-crypto.js +5 -30
- package/lib/always-encrypted/key-crypto.js.map +1 -0
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js +11 -72
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
- package/lib/always-encrypted/symmetric-key-cache.js +2 -13
- package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
- package/lib/always-encrypted/symmetric-key.js +3 -8
- package/lib/always-encrypted/symmetric-key.js.map +1 -0
- package/lib/always-encrypted/types.js +19 -27
- package/lib/always-encrypted/types.js.map +1 -0
- package/lib/always-encrypted/utils.js +2 -6
- package/lib/always-encrypted/utils.js.map +1 -0
- package/lib/bulk-load-payload.js +7 -15
- package/lib/bulk-load-payload.js.map +1 -0
- package/lib/bulk-load.js +58 -131
- package/lib/bulk-load.js.map +1 -0
- package/lib/collation.js +7 -15
- package/lib/collation.js.map +1 -0
- package/lib/connection.js +290 -531
- package/lib/connection.js.map +1 -0
- package/lib/connector.js +6 -37
- package/lib/connector.js.map +1 -0
- package/lib/data-type.js +2 -43
- package/lib/data-type.js.map +1 -0
- package/lib/data-types/bigint.js +1 -15
- package/lib/data-types/bigint.js.map +1 -0
- package/lib/data-types/binary.js +1 -12
- package/lib/data-types/binary.js.map +1 -0
- package/lib/data-types/bit.js +1 -11
- package/lib/data-types/bit.js.map +1 -0
- package/lib/data-types/bitn.js +1 -7
- package/lib/data-types/bitn.js.map +1 -0
- package/lib/data-types/char.js +1 -20
- package/lib/data-types/char.js.map +1 -0
- package/lib/data-types/date.js +1 -15
- package/lib/data-types/date.js.map +1 -0
- package/lib/data-types/datetime.js +3 -20
- package/lib/data-types/datetime.js.map +1 -0
- package/lib/data-types/datetime2.js +1 -26
- package/lib/data-types/datetime2.js.map +1 -0
- package/lib/data-types/datetimen.js +1 -7
- package/lib/data-types/datetimen.js.map +1 -0
- package/lib/data-types/datetimeoffset.js +1 -23
- package/lib/data-types/datetimeoffset.js.map +1 -0
- package/lib/data-types/decimal.js +1 -18
- package/lib/data-types/decimal.js.map +1 -0
- package/lib/data-types/decimaln.js +1 -7
- package/lib/data-types/decimaln.js.map +1 -0
- package/lib/data-types/float.js +1 -13
- package/lib/data-types/float.js.map +1 -0
- package/lib/data-types/floatn.js +1 -7
- package/lib/data-types/floatn.js.map +1 -0
- package/lib/data-types/image.js +1 -10
- package/lib/data-types/image.js.map +1 -0
- package/lib/data-types/int.js +1 -14
- package/lib/data-types/int.js.map +1 -0
- package/lib/data-types/intn.js +1 -7
- package/lib/data-types/intn.js.map +1 -0
- package/lib/data-types/money.js +1 -12
- package/lib/data-types/money.js.map +1 -0
- package/lib/data-types/moneyn.js +1 -7
- package/lib/data-types/moneyn.js.map +1 -0
- package/lib/data-types/nchar.js +1 -14
- package/lib/data-types/nchar.js.map +1 -0
- package/lib/data-types/ntext.js +1 -10
- package/lib/data-types/ntext.js.map +1 -0
- package/lib/data-types/null.js +1 -7
- package/lib/data-types/null.js.map +1 -0
- package/lib/data-types/numeric.js +1 -18
- package/lib/data-types/numeric.js.map +1 -0
- package/lib/data-types/numericn.js +1 -7
- package/lib/data-types/numericn.js.map +1 -0
- package/lib/data-types/nvarchar.js +1 -22
- package/lib/data-types/nvarchar.js.map +1 -0
- package/lib/data-types/real.js +1 -13
- package/lib/data-types/real.js.map +1 -0
- package/lib/data-types/smalldatetime.js +1 -14
- package/lib/data-types/smalldatetime.js.map +1 -0
- package/lib/data-types/smallint.js +1 -14
- package/lib/data-types/smallint.js.map +1 -0
- package/lib/data-types/smallmoney.js +1 -13
- package/lib/data-types/smallmoney.js.map +1 -0
- package/lib/data-types/sql-variant.js +1 -6
- package/lib/data-types/sql-variant.js.map +1 -0
- package/lib/data-types/text.js +1 -18
- package/lib/data-types/text.js.map +1 -0
- package/lib/data-types/time.js +1 -22
- package/lib/data-types/time.js.map +1 -0
- package/lib/data-types/tinyint.js +1 -14
- package/lib/data-types/tinyint.js.map +1 -0
- package/lib/data-types/tvp.js +11 -27
- package/lib/data-types/tvp.js.map +1 -0
- package/lib/data-types/udt.js +1 -7
- package/lib/data-types/udt.js.map +1 -0
- package/lib/data-types/uniqueidentifier.js +1 -11
- package/lib/data-types/uniqueidentifier.js.map +1 -0
- package/lib/data-types/varbinary.js +1 -22
- package/lib/data-types/varbinary.js.map +1 -0
- package/lib/data-types/varchar.js +1 -23
- package/lib/data-types/varchar.js.map +1 -0
- package/lib/data-types/xml.js +1 -7
- package/lib/data-types/xml.js.map +1 -0
- package/lib/debug.js +4 -16
- package/lib/debug.js.map +1 -0
- package/lib/errors/abort-error.js +2 -5
- package/lib/errors/abort-error.js.map +1 -0
- package/lib/errors/timeout-error.js +2 -5
- package/lib/errors/timeout-error.js.map +1 -0
- package/lib/errors.js +10 -16
- package/lib/errors.js.map +1 -0
- package/lib/guid-parser.js +1 -7
- package/lib/guid-parser.js.map +1 -0
- package/lib/incoming-message-stream.js +9 -29
- package/lib/incoming-message-stream.js.map +1 -0
- package/lib/instance-lookup.js +3 -34
- package/lib/instance-lookup.js.map +1 -0
- package/lib/library.js +1 -1
- package/lib/library.js.map +1 -0
- package/lib/login7-payload.js +99 -100
- package/lib/login7-payload.js.map +1 -0
- package/lib/message-io.js +17 -45
- package/lib/message-io.js.map +1 -0
- package/lib/message.js +4 -8
- package/lib/message.js.map +1 -0
- package/lib/metadata-parser.js +1 -22
- package/lib/metadata-parser.js.map +1 -0
- package/lib/ntlm-payload.js +2 -22
- package/lib/ntlm-payload.js.map +1 -0
- package/lib/ntlm.js +1 -4
- package/lib/ntlm.js.map +1 -0
- package/lib/outgoing-message-stream.js +12 -21
- package/lib/outgoing-message-stream.js.map +1 -0
- package/lib/packet.js +2 -47
- package/lib/packet.js.map +1 -0
- package/lib/prelogin-payload.js +11 -54
- package/lib/prelogin-payload.js.map +1 -0
- package/lib/request.js +88 -66
- package/lib/request.js.map +1 -0
- package/lib/rpcrequest-payload.js +8 -35
- package/lib/rpcrequest-payload.js.map +1 -0
- package/lib/sender.js +1 -24
- package/lib/sender.js.map +1 -0
- package/lib/special-stored-procedure.js +1 -1
- package/lib/special-stored-procedure.js.map +1 -0
- package/lib/sqlbatch-payload.js +5 -18
- package/lib/sqlbatch-payload.js.map +1 -0
- package/lib/tds-versions.js +3 -3
- package/lib/tds-versions.js.map +1 -0
- package/lib/tedious.js +1 -12
- package/lib/tedious.js.map +1 -0
- package/lib/token/colmetadata-token-parser.js +1 -17
- package/lib/token/colmetadata-token-parser.js.map +1 -0
- package/lib/token/done-token-parser.js +2 -8
- package/lib/token/done-token-parser.js.map +1 -0
- package/lib/token/env-change-token-parser.js +7 -28
- package/lib/token/env-change-token-parser.js.map +1 -0
- package/lib/token/feature-ext-ack-parser.js +1 -10
- package/lib/token/feature-ext-ack-parser.js.map +1 -0
- package/lib/token/fedauth-info-parser.js +2 -10
- package/lib/token/fedauth-info-parser.js.map +1 -0
- package/lib/token/handler.js +39 -149
- package/lib/token/handler.js.map +1 -0
- package/lib/token/infoerror-token-parser.js +1 -5
- package/lib/token/infoerror-token-parser.js.map +1 -0
- package/lib/token/loginack-token-parser.js +1 -6
- package/lib/token/loginack-token-parser.js.map +1 -0
- package/lib/token/nbcrow-token-parser.js +2 -15
- package/lib/token/nbcrow-token-parser.js.map +1 -0
- package/lib/token/order-token-parser.js +2 -7
- package/lib/token/order-token-parser.js.map +1 -0
- package/lib/token/returnstatus-token-parser.js +2 -4
- package/lib/token/returnstatus-token-parser.js.map +1 -0
- package/lib/token/returnvalue-token-parser.js +4 -9
- package/lib/token/returnvalue-token-parser.js.map +1 -0
- package/lib/token/row-token-parser.js +2 -11
- package/lib/token/row-token-parser.js.map +1 -0
- package/lib/token/sspi-token-parser.js +1 -5
- package/lib/token/sspi-token-parser.js.map +1 -0
- package/lib/token/stream-parser.js +24 -86
- package/lib/token/stream-parser.js.map +1 -0
- package/lib/token/token-stream-parser.js +4 -13
- package/lib/token/token-stream-parser.js.map +1 -0
- package/lib/token/token.js +88 -168
- package/lib/token/token.js.map +1 -0
- package/lib/tracking-buffer/writable-tracking-buffer.js +20 -60
- package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
- package/lib/transaction.js +9 -33
- package/lib/transaction.js.map +1 -0
- package/lib/transient-error-lookup.js +1 -4
- package/lib/transient-error-lookup.js.map +1 -0
- package/lib/utils/with-timeout.js +1 -9
- package/lib/utils/with-timeout.js.map +1 -0
- package/lib/value-parser.js +1 -143
- package/lib/value-parser.js.map +1 -0
- package/package.json +27 -71
|
@@ -4,32 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _metadataParser = _interopRequireDefault(require("../metadata-parser"));
|
|
9
|
-
|
|
10
8
|
var _token = require("./token");
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
function readTableName(parser, options, metadata, callback) {
|
|
15
11
|
if (metadata.type.hasTableName) {
|
|
16
12
|
if (options.tdsVersion >= '7_2') {
|
|
17
13
|
parser.readUInt8(numberOfTableNameParts => {
|
|
18
14
|
const tableName = [];
|
|
19
15
|
let i = 0;
|
|
20
|
-
|
|
21
16
|
function next(done) {
|
|
22
17
|
if (numberOfTableNameParts === i) {
|
|
23
18
|
return done();
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
parser.readUsVarChar(part => {
|
|
27
21
|
tableName.push(part);
|
|
28
22
|
i++;
|
|
29
23
|
next(done);
|
|
30
24
|
});
|
|
31
25
|
}
|
|
32
|
-
|
|
33
26
|
next(() => {
|
|
34
27
|
callback(tableName);
|
|
35
28
|
});
|
|
@@ -41,7 +34,6 @@ function readTableName(parser, options, metadata, callback) {
|
|
|
41
34
|
callback(undefined);
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
function readColumnName(parser, options, index, metadata, callback) {
|
|
46
38
|
parser.readBVarChar(colName => {
|
|
47
39
|
if (options.columnNameReplacer) {
|
|
@@ -55,7 +47,6 @@ function readColumnName(parser, options, index, metadata, callback) {
|
|
|
55
47
|
}
|
|
56
48
|
});
|
|
57
49
|
}
|
|
58
|
-
|
|
59
50
|
function readColumn(parser, options, index, callback) {
|
|
60
51
|
(0, _metadataParser.default)(parser, options, metadata => {
|
|
61
52
|
readTableName(parser, options, metadata, tableName => {
|
|
@@ -77,36 +68,29 @@ function readColumn(parser, options, index, callback) {
|
|
|
77
68
|
});
|
|
78
69
|
});
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
async function colMetadataParser(parser) {
|
|
82
72
|
while (parser.buffer.length - parser.position < 2) {
|
|
83
73
|
await parser.streamBuffer.waitForChunk();
|
|
84
74
|
}
|
|
85
|
-
|
|
86
75
|
const columnCount = parser.buffer.readUInt16LE(parser.position);
|
|
87
76
|
parser.position += 2;
|
|
88
77
|
const columns = [];
|
|
89
|
-
|
|
90
78
|
for (let i = 0; i < columnCount; i++) {
|
|
91
79
|
let column;
|
|
92
80
|
readColumn(parser, parser.options, i, c => {
|
|
93
81
|
column = c;
|
|
94
82
|
});
|
|
95
|
-
|
|
96
83
|
while (parser.suspended) {
|
|
97
84
|
await parser.streamBuffer.waitForChunk();
|
|
98
85
|
parser.suspended = false;
|
|
99
86
|
const next = parser.next;
|
|
100
87
|
next();
|
|
101
88
|
}
|
|
102
|
-
|
|
103
89
|
columns.push(column);
|
|
104
90
|
}
|
|
105
|
-
|
|
106
91
|
return new _token.ColMetadataToken(columns);
|
|
107
92
|
}
|
|
108
|
-
|
|
109
93
|
var _default = colMetadataParser;
|
|
110
94
|
exports.default = _default;
|
|
111
95
|
module.exports = colMetadataParser;
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWV0YWRhdGFQYXJzZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl90b2tlbiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicmVhZFRhYmxlTmFtZSIsInBhcnNlciIsIm9wdGlvbnMiLCJtZXRhZGF0YSIsImNhbGxiYWNrIiwidHlwZSIsImhhc1RhYmxlTmFtZSIsInRkc1ZlcnNpb24iLCJyZWFkVUludDgiLCJudW1iZXJPZlRhYmxlTmFtZVBhcnRzIiwidGFibGVOYW1lIiwiaSIsIm5leHQiLCJkb25lIiwicmVhZFVzVmFyQ2hhciIsInBhcnQiLCJwdXNoIiwidW5kZWZpbmVkIiwicmVhZENvbHVtbk5hbWUiLCJpbmRleCIsInJlYWRCVmFyQ2hhciIsImNvbE5hbWUiLCJjb2x1bW5OYW1lUmVwbGFjZXIiLCJjYW1lbENhc2VDb2x1bW5zIiwicmVwbGFjZSIsInMiLCJ0b0xvd2VyQ2FzZSIsInJlYWRDb2x1bW4iLCJtZXRhZGF0YVBhcnNlIiwidXNlclR5cGUiLCJmbGFncyIsImNvbGxhdGlvbiIsInByZWNpc2lvbiIsInNjYWxlIiwidWR0SW5mbyIsImRhdGFMZW5ndGgiLCJzY2hlbWEiLCJjb2xNZXRhZGF0YVBhcnNlciIsImJ1ZmZlciIsImxlbmd0aCIsInBvc2l0aW9uIiwic3RyZWFtQnVmZmVyIiwid2FpdEZvckNodW5rIiwiY29sdW1uQ291bnQiLCJyZWFkVUludDE2TEUiLCJjb2x1bW5zIiwiY29sdW1uIiwiYyIsInN1c3BlbmRlZCIsIkNvbE1ldGFkYXRhVG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vY29sbWV0YWRhdGEtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXRhZGF0YVBhcnNlLCB7IE1ldGFkYXRhIH0gZnJvbSAnLi4vbWV0YWRhdGEtcGFyc2VyJztcblxuaW1wb3J0IFBhcnNlciwgeyBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcbmltcG9ydCB7IENvbE1ldGFkYXRhVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5NZXRhZGF0YSBleHRlbmRzIE1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBjb2x1bW4ncyBuYW1l44CCXG4gICAqL1xuICBjb2xOYW1lOiBzdHJpbmc7XG5cbiAgdGFibGVOYW1lPzogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHJlYWRUYWJsZU5hbWUocGFyc2VyOiBQYXJzZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMsIG1ldGFkYXRhOiBNZXRhZGF0YSwgY2FsbGJhY2s6ICh0YWJsZU5hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZCkge1xuICBpZiAobWV0YWRhdGEudHlwZS5oYXNUYWJsZU5hbWUpIHtcbiAgICBpZiAob3B0aW9ucy50ZHNWZXJzaW9uID49ICc3XzInKSB7XG4gICAgICBwYXJzZXIucmVhZFVJbnQ4KChudW1iZXJPZlRhYmxlTmFtZVBhcnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhYmxlTmFtZTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZ1bmN0aW9uIG5leHQoZG9uZTogKCkgPT4gdm9pZCkge1xuICAgICAgICAgIGlmIChudW1iZXJPZlRhYmxlTmFtZVBhcnRzID09PSBpKSB7XG4gICAgICAgICAgICByZXR1cm4gZG9uZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBhcnNlci5yZWFkVXNWYXJDaGFyKChwYXJ0KSA9PiB7XG4gICAgICAgICAgICB0YWJsZU5hbWUucHVzaChwYXJ0KTtcblxuICAgICAgICAgICAgaSsrO1xuXG4gICAgICAgICAgICBuZXh0KGRvbmUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgbmV4dCgoKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2sodGFibGVOYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VyLnJlYWRVc1ZhckNoYXIoY2FsbGJhY2spO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjYWxsYmFjayh1bmRlZmluZWQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRDb2x1bW5OYW1lKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBpbmRleDogbnVtYmVyLCBtZXRhZGF0YTogTWV0YWRhdGEsIGNhbGxiYWNrOiAoY29sTmFtZTogc3RyaW5nKSA9PiB2b2lkKSB7XG4gIHBhcnNlci5yZWFkQlZhckNoYXIoKGNvbE5hbWUpID0+IHtcbiAgICBpZiAob3B0aW9ucy5jb2x1bW5OYW1lUmVwbGFjZXIpIHtcbiAgICAgIGNhbGxiYWNrKG9wdGlvbnMuY29sdW1uTmFtZVJlcGxhY2VyKGNvbE5hbWUsIGluZGV4LCBtZXRhZGF0YSkpO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5jYW1lbENhc2VDb2x1bW5zKSB7XG4gICAgICBjYWxsYmFjayhjb2xOYW1lLnJlcGxhY2UoL15bQS1aXS8sIGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgcmV0dXJuIHMudG9Mb3dlckNhc2UoKTtcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FsbGJhY2soY29sTmFtZSk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVhZENvbHVtbihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgaW5kZXg6IG51bWJlciwgY2FsbGJhY2s6IChjb2x1bW46IENvbHVtbk1ldGFkYXRhKSA9PiB2b2lkKSB7XG4gIG1ldGFkYXRhUGFyc2UocGFyc2VyLCBvcHRpb25zLCAobWV0YWRhdGEpID0+IHtcbiAgICByZWFkVGFibGVOYW1lKHBhcnNlciwgb3B0aW9ucywgbWV0YWRhdGEsICh0YWJsZU5hbWUpID0+IHtcbiAgICAgIHJlYWRDb2x1bW5OYW1lKHBhcnNlciwgb3B0aW9ucywgaW5kZXgsIG1ldGFkYXRhLCAoY29sTmFtZSkgPT4ge1xuICAgICAgICBjYWxsYmFjayh7XG4gICAgICAgICAgdXNlclR5cGU6IG1ldGFkYXRhLnVzZXJUeXBlLFxuICAgICAgICAgIGZsYWdzOiBtZXRhZGF0YS5mbGFncyxcbiAgICAgICAgICB0eXBlOiBtZXRhZGF0YS50eXBlLFxuICAgICAgICAgIGNvbGxhdGlvbjogbWV0YWRhdGEuY29sbGF0aW9uLFxuICAgICAgICAgIHByZWNpc2lvbjogbWV0YWRhdGEucHJlY2lzaW9uLFxuICAgICAgICAgIHNjYWxlOiBtZXRhZGF0YS5zY2FsZSxcbiAgICAgICAgICB1ZHRJbmZvOiBtZXRhZGF0YS51ZHRJbmZvLFxuICAgICAgICAgIGRhdGFMZW5ndGg6IG1ldGFkYXRhLmRhdGFMZW5ndGgsXG4gICAgICAgICAgc2NoZW1hOiBtZXRhZGF0YS5zY2hlbWEsXG4gICAgICAgICAgY29sTmFtZTogY29sTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY29sTWV0YWRhdGFQYXJzZXIocGFyc2VyOiBQYXJzZXIpOiBQcm9taXNlPENvbE1ldGFkYXRhVG9rZW4+IHtcbiAgd2hpbGUgKHBhcnNlci5idWZmZXIubGVuZ3RoIC0gcGFyc2VyLnBvc2l0aW9uIDwgMikge1xuICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG4gIH1cblxuICBjb25zdCBjb2x1bW5Db3VudCA9IHBhcnNlci5idWZmZXIucmVhZFVJbnQxNkxFKHBhcnNlci5wb3NpdGlvbik7XG4gIHBhcnNlci5wb3NpdGlvbiArPSAyO1xuXG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbk1ldGFkYXRhW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5Db3VudDsgaSsrKSB7XG4gICAgbGV0IGNvbHVtbjogQ29sdW1uTWV0YWRhdGE7XG5cbiAgICByZWFkQ29sdW1uKHBhcnNlciwgcGFyc2VyLm9wdGlvbnMsIGksIChjKSA9PiB7XG4gICAgICBjb2x1bW4gPSBjO1xuICAgIH0pO1xuXG4gICAgd2hpbGUgKHBhcnNlci5zdXNwZW5kZWQpIHtcbiAgICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG5cbiAgICAgIHBhcnNlci5zdXNwZW5kZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG5leHQgPSBwYXJzZXIubmV4dCE7XG5cbiAgICAgIG5leHQoKTtcbiAgICB9XG5cbiAgICBjb2x1bW5zLnB1c2goY29sdW1uISk7XG4gIH1cblxuICByZXR1cm4gbmV3IENvbE1ldGFkYXRhVG9rZW4oY29sdW1ucyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNvbE1ldGFkYXRhUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBjb2xNZXRhZGF0YVBhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsZUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQTJDLFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBVzNDLFNBQVNHLGFBQWFBLENBQUNDLE1BQWMsRUFBRUMsT0FBc0IsRUFBRUMsUUFBa0IsRUFBRUMsUUFBaUQsRUFBRTtFQUNwSSxJQUFJRCxRQUFRLENBQUNFLElBQUksQ0FBQ0MsWUFBWSxFQUFFO0lBQzlCLElBQUlKLE9BQU8sQ0FBQ0ssVUFBVSxJQUFJLEtBQUssRUFBRTtNQUMvQk4sTUFBTSxDQUFDTyxTQUFTLENBQUVDLHNCQUFzQixJQUFLO1FBQzNDLE1BQU1DLFNBQW1CLEdBQUcsRUFBRTtRQUU5QixJQUFJQyxDQUFDLEdBQUcsQ0FBQztRQUNULFNBQVNDLElBQUlBLENBQUNDLElBQWdCLEVBQUU7VUFD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colmetadata-token-parser.js","names":["_metadataParser","_interopRequireDefault","require","_token","obj","__esModule","default","readTableName","parser","options","metadata","callback","type","hasTableName","tdsVersion","readUInt8","numberOfTableNameParts","tableName","i","next","done","readUsVarChar","part","push","undefined","readColumnName","index","readBVarChar","colName","columnNameReplacer","camelCaseColumns","replace","s","toLowerCase","readColumn","metadataParse","userType","flags","collation","precision","scale","udtInfo","dataLength","schema","colMetadataParser","buffer","length","position","streamBuffer","waitForChunk","columnCount","readUInt16LE","columns","column","c","suspended","ColMetadataToken","_default","exports","module"],"sources":["../../src/token/colmetadata-token-parser.ts"],"sourcesContent":["import metadataParse, { Metadata } from '../metadata-parser';\n\nimport Parser, { ParserOptions } from './stream-parser';\nimport { ColMetadataToken } from './token';\n\nexport interface ColumnMetadata extends Metadata {\n /**\n * The column's name。\n */\n colName: string;\n\n tableName?: string | string[] | undefined;\n}\n\nfunction readTableName(parser: Parser, options: ParserOptions, metadata: Metadata, callback: (tableName?: string | string[]) => void) {\n if (metadata.type.hasTableName) {\n if (options.tdsVersion >= '7_2') {\n parser.readUInt8((numberOfTableNameParts) => {\n const tableName: string[] = [];\n\n let i = 0;\n function next(done: () => void) {\n if (numberOfTableNameParts === i) {\n return done();\n }\n\n parser.readUsVarChar((part) => {\n tableName.push(part);\n\n i++;\n\n next(done);\n });\n }\n\n next(() => {\n callback(tableName);\n });\n });\n } else {\n parser.readUsVarChar(callback);\n }\n } else {\n callback(undefined);\n }\n}\n\nfunction readColumnName(parser: Parser, options: ParserOptions, index: number, metadata: Metadata, callback: (colName: string) => void) {\n parser.readBVarChar((colName) => {\n if (options.columnNameReplacer) {\n callback(options.columnNameReplacer(colName, index, metadata));\n } else if (options.camelCaseColumns) {\n callback(colName.replace(/^[A-Z]/, function(s) {\n return s.toLowerCase();\n }));\n } else {\n callback(colName);\n }\n });\n}\n\nfunction readColumn(parser: Parser, options: ParserOptions, index: number, callback: (column: ColumnMetadata) => void) {\n metadataParse(parser, options, (metadata) => {\n readTableName(parser, options, metadata, (tableName) => {\n readColumnName(parser, options, index, metadata, (colName) => {\n callback({\n userType: metadata.userType,\n flags: metadata.flags,\n type: metadata.type,\n collation: metadata.collation,\n precision: metadata.precision,\n scale: metadata.scale,\n udtInfo: metadata.udtInfo,\n dataLength: metadata.dataLength,\n schema: metadata.schema,\n colName: colName,\n tableName: tableName\n });\n });\n });\n });\n}\n\nasync function colMetadataParser(parser: Parser): Promise<ColMetadataToken> {\n while (parser.buffer.length - parser.position < 2) {\n await parser.streamBuffer.waitForChunk();\n }\n\n const columnCount = parser.buffer.readUInt16LE(parser.position);\n parser.position += 2;\n\n const columns: ColumnMetadata[] = [];\n for (let i = 0; i < columnCount; i++) {\n let column: ColumnMetadata;\n\n readColumn(parser, parser.options, i, (c) => {\n column = c;\n });\n\n while (parser.suspended) {\n await parser.streamBuffer.waitForChunk();\n\n parser.suspended = false;\n const next = parser.next!;\n\n next();\n }\n\n columns.push(column!);\n }\n\n return new ColMetadataToken(columns);\n}\n\nexport default colMetadataParser;\nmodule.exports = colMetadataParser;\n"],"mappings":"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"}
|
|
@@ -6,10 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.doneInProcParser = doneInProcParser;
|
|
7
7
|
exports.doneParser = doneParser;
|
|
8
8
|
exports.doneProcParser = doneProcParser;
|
|
9
|
-
|
|
10
9
|
var _token = require("./token");
|
|
11
|
-
|
|
12
10
|
// s2.2.7.5/6/7
|
|
11
|
+
|
|
13
12
|
const STATUS = {
|
|
14
13
|
MORE: 0x0001,
|
|
15
14
|
ERROR: 0x0002,
|
|
@@ -19,7 +18,6 @@ const STATUS = {
|
|
|
19
18
|
ATTN: 0x0020,
|
|
20
19
|
SRVERROR: 0x0100
|
|
21
20
|
};
|
|
22
|
-
|
|
23
21
|
function parseToken(parser, options, callback) {
|
|
24
22
|
parser.readUInt16LE(status => {
|
|
25
23
|
const more = !!(status & STATUS.MORE);
|
|
@@ -38,7 +36,6 @@ function parseToken(parser, options, callback) {
|
|
|
38
36
|
curCmd: curCmd
|
|
39
37
|
});
|
|
40
38
|
};
|
|
41
|
-
|
|
42
39
|
if (options.tdsVersion < '7_2') {
|
|
43
40
|
parser.readUInt32LE(next);
|
|
44
41
|
} else {
|
|
@@ -49,22 +46,19 @@ function parseToken(parser, options, callback) {
|
|
|
49
46
|
});
|
|
50
47
|
});
|
|
51
48
|
}
|
|
52
|
-
|
|
53
49
|
function doneParser(parser, options, callback) {
|
|
54
50
|
parseToken(parser, options, data => {
|
|
55
51
|
callback(new _token.DoneToken(data));
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
|
-
|
|
59
54
|
function doneInProcParser(parser, options, callback) {
|
|
60
55
|
parseToken(parser, options, data => {
|
|
61
56
|
callback(new _token.DoneInProcToken(data));
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
|
-
|
|
65
59
|
function doneProcParser(parser, options, callback) {
|
|
66
60
|
parseToken(parser, options, data => {
|
|
67
61
|
callback(new _token.DoneProcToken(data));
|
|
68
62
|
});
|
|
69
63
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiU1RBVFVTIiwiTU9SRSIsIkVSUk9SIiwiSU5YQUNUIiwiQ09VTlQiLCJBVFROIiwiU1JWRVJST1IiLCJwYXJzZVRva2VuIiwicGFyc2VyIiwib3B0aW9ucyIsImNhbGxiYWNrIiwicmVhZFVJbnQxNkxFIiwic3RhdHVzIiwibW9yZSIsInNxbEVycm9yIiwicm93Q291bnRWYWxpZCIsImF0dGVudGlvbiIsInNlcnZlckVycm9yIiwiY3VyQ21kIiwibmV4dCIsInJvd0NvdW50IiwidW5kZWZpbmVkIiwidGRzVmVyc2lvbiIsInJlYWRVSW50MzJMRSIsInJlYWRCaWdVSW50NjRMRSIsIk51bWJlciIsImRvbmVQYXJzZXIiLCJkYXRhIiwiRG9uZVRva2VuIiwiZG9uZUluUHJvY1BhcnNlciIsIkRvbmVJblByb2NUb2tlbiIsImRvbmVQcm9jUGFyc2VyIiwiRG9uZVByb2NUb2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9kb25lLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2VyLCB7IFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuaW1wb3J0IHsgRG9uZVRva2VuLCBEb25lSW5Qcm9jVG9rZW4sIERvbmVQcm9jVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuLy8gczIuMi43LjUvNi83XG5cbmNvbnN0IFNUQVRVUyA9IHtcbiAgTU9SRTogMHgwMDAxLFxuICBFUlJPUjogMHgwMDAyLFxuICAvLyBUaGlzIGJpdCBpcyBub3QgeWV0IGluIHVzZSBieSBTUUwgU2VydmVyLCBzbyBpcyBub3QgZXhwb3NlZCBpbiB0aGUgcmV0dXJuZWQgdG9rZW5cbiAgSU5YQUNUOiAweDAwMDQsXG4gIENPVU5UOiAweDAwMTAsXG4gIEFUVE46IDB4MDAyMCxcbiAgU1JWRVJST1I6IDB4MDEwMFxufTtcblxuaW50ZXJmYWNlIFRva2VuRGF0YSB7XG4gIG1vcmU6IGJvb2xlYW47XG4gIHNxbEVycm9yOiBib29sZWFuO1xuICBhdHRlbnRpb246IGJvb2xlYW47XG4gIHNlcnZlckVycm9yOiBib29sZWFuO1xuICByb3dDb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjdXJDbWQ6IG51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFyc2VUb2tlbihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6IChkYXRhOiBUb2tlbkRhdGEpID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVSW50MTZMRSgoc3RhdHVzKSA9PiB7XG4gICAgY29uc3QgbW9yZSA9ICEhKHN0YXR1cyAmIFNUQVRVUy5NT1JFKTtcbiAgICBjb25zdCBzcWxFcnJvciA9ICEhKHN0YXR1cyAmIFNUQVRVUy5FUlJPUik7XG4gICAgY29uc3Qgcm93Q291bnRWYWxpZCA9ICEhKHN0YXR1cyAmIFNUQVRVUy5DT1VOVCk7XG4gICAgY29uc3QgYXR0ZW50aW9uID0gISEoc3RhdHVzICYgU1RBVFVTLkFUVE4pO1xuICAgIGNvbnN0IHNlcnZlckVycm9yID0gISEoc3RhdHVzICYgU1RBVFVTLlNSVkVSUk9SKTtcblxuICAgIHBhcnNlci5yZWFkVUludDE2TEUoKGN1ckNtZCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IChyb3dDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKHtcbiAgICAgICAgICBtb3JlOiBtb3JlLFxuICAgICAgICAgIHNxbEVycm9yOiBzcWxFcnJvcixcbiAgICAgICAgICBhdHRlbnRpb246IGF0dGVudGlvbixcbiAgICAgICAgICBzZXJ2ZXJFcnJvcjogc2VydmVyRXJyb3IsXG4gICAgICAgICAgcm93Q291bnQ6IHJvd0NvdW50VmFsaWQgPyByb3dDb3VudCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBjdXJDbWQ6IGN1ckNtZFxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChvcHRpb25zLnRkc1ZlcnNpb24gPCAnN18yJykge1xuICAgICAgICBwYXJzZXIucmVhZFVJbnQzMkxFKG5leHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyc2VyLnJlYWRCaWdVSW50NjRMRSgocm93Q291bnQpID0+IHtcbiAgICAgICAgICBuZXh0KE51bWJlcihyb3dDb3VudCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb25lUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBEb25lVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VUb2tlbihwYXJzZXIsIG9wdGlvbnMsIChkYXRhKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IERvbmVUb2tlbihkYXRhKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9uZUluUHJvY1BhcnNlcihwYXJzZXI6IFBhcnNlciwgb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogRG9uZUluUHJvY1Rva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlVG9rZW4ocGFyc2VyLCBvcHRpb25zLCAoZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBEb25lSW5Qcm9jVG9rZW4oZGF0YSkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvbmVQcm9jUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBEb25lUHJvY1Rva2VuKSA9PiB2b2lkKSB7XG4gIHBhcnNlVG9rZW4ocGFyc2VyLCBvcHRpb25zLCAoZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKG5ldyBEb25lUHJvY1Rva2VuKGRhdGEpKTtcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUE7O0FBRUEsTUFBTUMsTUFBTSxHQUFHO0VBQ2JDLElBQUksRUFBRSxNQUFN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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"done-token-parser.js","names":["_token","require","STATUS","MORE","ERROR","INXACT","COUNT","ATTN","SRVERROR","parseToken","parser","options","callback","readUInt16LE","status","more","sqlError","rowCountValid","attention","serverError","curCmd","next","rowCount","undefined","tdsVersion","readUInt32LE","readBigUInt64LE","Number","doneParser","data","DoneToken","doneInProcParser","DoneInProcToken","doneProcParser","DoneProcToken"],"sources":["../../src/token/done-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\nimport { DoneToken, DoneInProcToken, DoneProcToken } from './token';\n\n// s2.2.7.5/6/7\n\nconst STATUS = {\n MORE: 0x0001,\n ERROR: 0x0002,\n // This bit is not yet in use by SQL Server, so is not exposed in the returned token\n INXACT: 0x0004,\n COUNT: 0x0010,\n ATTN: 0x0020,\n SRVERROR: 0x0100\n};\n\ninterface TokenData {\n more: boolean;\n sqlError: boolean;\n attention: boolean;\n serverError: boolean;\n rowCount: number | undefined;\n curCmd: number;\n}\n\nfunction parseToken(parser: Parser, options: ParserOptions, callback: (data: TokenData) => void) {\n parser.readUInt16LE((status) => {\n const more = !!(status & STATUS.MORE);\n const sqlError = !!(status & STATUS.ERROR);\n const rowCountValid = !!(status & STATUS.COUNT);\n const attention = !!(status & STATUS.ATTN);\n const serverError = !!(status & STATUS.SRVERROR);\n\n parser.readUInt16LE((curCmd) => {\n const next = (rowCount: number) => {\n callback({\n more: more,\n sqlError: sqlError,\n attention: attention,\n serverError: serverError,\n rowCount: rowCountValid ? rowCount : undefined,\n curCmd: curCmd\n });\n };\n\n if (options.tdsVersion < '7_2') {\n parser.readUInt32LE(next);\n } else {\n parser.readBigUInt64LE((rowCount) => {\n next(Number(rowCount));\n });\n }\n });\n });\n}\n\nexport function doneParser(parser: Parser, options: ParserOptions, callback: (token: DoneToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneToken(data));\n });\n}\n\nexport function doneInProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneInProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneInProcToken(data));\n });\n}\n\nexport function doneProcParser(parser: Parser, options: ParserOptions, callback: (token: DoneProcToken) => void) {\n parseToken(parser, options, (data) => {\n callback(new DoneProcToken(data));\n });\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA;;AAEA,MAAMC,MAAM,GAAG;EACbC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,MAAM;EACb;EACAC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE;AACZ,CAAC;AAWD,SAASC,UAAUA,CAACC,MAAc,EAAEC,OAAsB,EAAEC,QAAmC,EAAE;EAC/FF,MAAM,CAACG,YAAY,CAAEC,MAAM,IAAK;IAC9B,MAAMC,IAAI,GAAG,CAAC,EAAED,MAAM,GAAGZ,MAAM,CAACC,IAAI,CAAC;IACrC,MAAMa,QAAQ,GAAG,CAAC,EAAEF,MAAM,GAAGZ,MAAM,CAACE,KAAK,CAAC;IAC1C,MAAMa,aAAa,GAAG,CAAC,EAAEH,MAAM,GAAGZ,MAAM,CAACI,KAAK,CAAC;IAC/C,MAAMY,SAAS,GAAG,CAAC,EAAEJ,MAAM,GAAGZ,MAAM,CAACK,IAAI,CAAC;IAC1C,MAAMY,WAAW,GAAG,CAAC,EAAEL,MAAM,GAAGZ,MAAM,CAACM,QAAQ,CAAC;IAEhDE,MAAM,CAACG,YAAY,CAAEO,MAAM,IAAK;MAC9B,MAAMC,IAAI,GAAIC,QAAgB,IAAK;QACjCV,QAAQ,CAAC;UACPG,IAAI,EAAEA,IAAI;UACVC,QAAQ,EAAEA,QAAQ;UAClBE,SAAS,EAAEA,SAAS;UACpBC,WAAW,EAAEA,WAAW;UACxBG,QAAQ,EAAEL,aAAa,GAAGK,QAAQ,GAAGC,SAAS;UAC9CH,MAAM,EAAEA;QACV,CAAC,CAAC;MACJ,CAAC;MAED,IAAIT,OAAO,CAACa,UAAU,GAAG,KAAK,EAAE;QAC9Bd,MAAM,CAACe,YAAY,CAACJ,IAAI,CAAC;MAC3B,CAAC,MAAM;QACLX,MAAM,CAACgB,eAAe,CAAEJ,QAAQ,IAAK;UACnCD,IAAI,CAACM,MAAM,CAACL,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASM,UAAUA,CAAClB,MAAc,EAAEC,OAAsB,EAAEC,QAAoC,EAAE;EACvGH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIkB,gBAAS,CAACD,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC;AACJ;AAEO,SAASE,gBAAgBA,CAACrB,MAAc,EAAEC,OAAsB,EAAEC,QAA0C,EAAE;EACnHH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIoB,sBAAe,CAACH,IAAI,CAAC,CAAC;EACrC,CAAC,CAAC;AACJ;AAEO,SAASI,cAAcA,CAACvB,MAAc,EAAEC,OAAsB,EAAEC,QAAwC,EAAE;EAC/GH,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAGkB,IAAI,IAAK;IACpCjB,QAAQ,CAAC,IAAIsB,oBAAa,CAACL,IAAI,CAAC,CAAC;EACnC,CAAC,CAAC;AACJ"}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _collation = require("../collation");
|
|
9
|
-
|
|
10
8
|
var _token = require("./token");
|
|
11
|
-
|
|
12
9
|
const types = {
|
|
13
10
|
1: {
|
|
14
11
|
name: 'DATABASE',
|
|
@@ -58,7 +55,6 @@ const types = {
|
|
|
58
55
|
event: 'routingChange'
|
|
59
56
|
}
|
|
60
57
|
};
|
|
61
|
-
|
|
62
58
|
function readNewAndOldValue(parser, length, type, callback) {
|
|
63
59
|
switch (type.name) {
|
|
64
60
|
case 'DATABASE':
|
|
@@ -71,22 +67,17 @@ function readNewAndOldValue(parser, length, type, callback) {
|
|
|
71
67
|
switch (type.name) {
|
|
72
68
|
case 'PACKET_SIZE':
|
|
73
69
|
return callback(new _token.PacketSizeEnvChangeToken(parseInt(newValue), parseInt(oldValue)));
|
|
74
|
-
|
|
75
70
|
case 'DATABASE':
|
|
76
71
|
return callback(new _token.DatabaseEnvChangeToken(newValue, oldValue));
|
|
77
|
-
|
|
78
72
|
case 'LANGUAGE':
|
|
79
73
|
return callback(new _token.LanguageEnvChangeToken(newValue, oldValue));
|
|
80
|
-
|
|
81
74
|
case 'CHARSET':
|
|
82
75
|
return callback(new _token.CharsetEnvChangeToken(newValue, oldValue));
|
|
83
|
-
|
|
84
76
|
case 'DATABASE_MIRRORING_PARTNER':
|
|
85
77
|
return callback(new _token.DatabaseMirroringPartnerEnvChangeToken(newValue, oldValue));
|
|
86
78
|
}
|
|
87
79
|
});
|
|
88
80
|
});
|
|
89
|
-
|
|
90
81
|
case 'SQL_COLLATION':
|
|
91
82
|
case 'BEGIN_TXN':
|
|
92
83
|
case 'COMMIT_TXN':
|
|
@@ -101,22 +92,17 @@ function readNewAndOldValue(parser, length, type, callback) {
|
|
|
101
92
|
const oldCollation = oldValue.length ? _collation.Collation.fromBuffer(oldValue) : undefined;
|
|
102
93
|
return callback(new _token.CollationChangeToken(newCollation, oldCollation));
|
|
103
94
|
}
|
|
104
|
-
|
|
105
95
|
case 'BEGIN_TXN':
|
|
106
96
|
return callback(new _token.BeginTransactionEnvChangeToken(newValue, oldValue));
|
|
107
|
-
|
|
108
97
|
case 'COMMIT_TXN':
|
|
109
98
|
return callback(new _token.CommitTransactionEnvChangeToken(newValue, oldValue));
|
|
110
|
-
|
|
111
99
|
case 'ROLLBACK_TXN':
|
|
112
100
|
return callback(new _token.RollbackTransactionEnvChangeToken(newValue, oldValue));
|
|
113
|
-
|
|
114
101
|
case 'RESET_CONNECTION':
|
|
115
102
|
return callback(new _token.ResetConnectionEnvChangeToken(newValue, oldValue));
|
|
116
103
|
}
|
|
117
104
|
});
|
|
118
105
|
});
|
|
119
|
-
|
|
120
106
|
case 'ROUTING_CHANGE':
|
|
121
107
|
return parser.readUInt16LE(valueLength => {
|
|
122
108
|
// Routing Change:
|
|
@@ -126,14 +112,12 @@ function readNewAndOldValue(parser, length, type, callback) {
|
|
|
126
112
|
// Bytes 6-*: Server name in unicode characters
|
|
127
113
|
parser.readBuffer(valueLength, routePacket => {
|
|
128
114
|
const protocol = routePacket.readUInt8(0);
|
|
129
|
-
|
|
130
115
|
if (protocol !== 0) {
|
|
131
116
|
throw new Error('Unknown protocol byte in routing change event');
|
|
132
117
|
}
|
|
133
|
-
|
|
134
118
|
const port = routePacket.readUInt16LE(1);
|
|
135
|
-
const serverLen = routePacket.readUInt16LE(3);
|
|
136
|
-
|
|
119
|
+
const serverLen = routePacket.readUInt16LE(3);
|
|
120
|
+
// 2 bytes per char, starting at offset 5
|
|
137
121
|
const server = routePacket.toString('ucs2', 5, 5 + serverLen * 2);
|
|
138
122
|
const newValue = {
|
|
139
123
|
protocol: protocol,
|
|
@@ -147,37 +131,32 @@ function readNewAndOldValue(parser, length, type, callback) {
|
|
|
147
131
|
});
|
|
148
132
|
});
|
|
149
133
|
});
|
|
150
|
-
|
|
151
134
|
default:
|
|
152
|
-
console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);
|
|
153
|
-
|
|
135
|
+
console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);
|
|
136
|
+
// skip unknown bytes
|
|
154
137
|
parser.readBuffer(length - 1, () => {
|
|
155
138
|
callback(undefined);
|
|
156
139
|
});
|
|
157
140
|
}
|
|
158
141
|
}
|
|
159
|
-
|
|
160
142
|
function envChangeParser(parser, _options, callback) {
|
|
161
143
|
parser.readUInt16LE(length => {
|
|
162
144
|
parser.readUInt8(typeNumber => {
|
|
163
145
|
const type = types[typeNumber];
|
|
164
|
-
|
|
165
146
|
if (!type) {
|
|
166
|
-
console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);
|
|
167
|
-
|
|
147
|
+
console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);
|
|
148
|
+
// skip unknown bytes
|
|
168
149
|
return parser.readBuffer(length - 1, () => {
|
|
169
150
|
callback(undefined);
|
|
170
151
|
});
|
|
171
152
|
}
|
|
172
|
-
|
|
173
153
|
readNewAndOldValue(parser, length, type, token => {
|
|
174
154
|
callback(token);
|
|
175
155
|
});
|
|
176
156
|
});
|
|
177
157
|
});
|
|
178
158
|
}
|
|
179
|
-
|
|
180
159
|
var _default = envChangeParser;
|
|
181
160
|
exports.default = _default;
|
|
182
161
|
module.exports = envChangeParser;
|
|
183
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0eXBlcyIsIm5hbWUiLCJldmVudCIsInJlYWROZXdBbmRPbGRWYWx1ZSIsInBhcnNlciIsImxlbmd0aCIsInR5cGUiLCJjYWxsYmFjayIsInJlYWRCVmFyQ2hhciIsIm5ld1ZhbHVlIiwib2xkVmFsdWUiLCJQYWNrZXRTaXplRW52Q2hhbmdlVG9rZW4iLCJwYXJzZUludCIsIkRhdGFiYXNlRW52Q2hhbmdlVG9rZW4iLCJMYW5ndWFnZUVudkNoYW5nZVRva2VuIiwiQ2hhcnNldEVudkNoYW5nZVRva2VuIiwiRGF0YWJhc2VNaXJyb3JpbmdQYXJ0bmVyRW52Q2hhbmdlVG9rZW4iLCJyZWFkQlZhckJ5dGUiLCJuZXdDb2xsYXRpb24iLCJDb2xsYXRpb24iLCJmcm9tQnVmZmVyIiwidW5kZWZpbmVkIiwib2xkQ29sbGF0aW9uIiwiQ29sbGF0aW9uQ2hhbmdlVG9rZW4iLCJCZWdpblRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJDb21taXRUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIiwiUm9sbGJhY2tUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIiwiUmVzZXRDb25uZWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJyZWFkVUludDE2TEUiLCJ2YWx1ZUxlbmd0aCIsInJlYWRCdWZmZXIiLCJyb3V0ZVBhY2tldCIsInByb3RvY29sIiwicmVhZFVJbnQ4IiwiRXJyb3IiLCJwb3J0Iiwic2VydmVyTGVuIiwic2VydmVyIiwidG9TdHJpbmciLCJvbGRWYWx1ZUxlbmd0aCIsIlJvdXRpbmdFbnZDaGFuZ2VUb2tlbiIsImNvbnNvbGUiLCJlcnJvciIsImVudkNoYW5nZVBhcnNlciIsIl9vcHRpb25zIiwidHlwZU51bWJlciIsInRva2VuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9lbnYtY2hhbmdlLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2VyLCB7IFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi4vY29sbGF0aW9uJztcblxuaW1wb3J0IHtcbiAgRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbixcbiAgTGFuZ3VhZ2VFbnZDaGFuZ2VUb2tlbixcbiAgQ2hhcnNldEVudkNoYW5nZVRva2VuLFxuICBQYWNrZXRTaXplRW52Q2hhbmdlVG9rZW4sXG4gIEJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbixcbiAgQ29tbWl0VHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbixcbiAgUm9sbGJhY2tUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuLFxuICBEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbixcbiAgUmVzZXRDb25uZWN0aW9uRW52Q2hhbmdlVG9rZW4sXG4gIFJvdXRpbmdFbnZDaGFuZ2VUb2tlbixcbiAgQ29sbGF0aW9uQ2hhbmdlVG9rZW5cbn0gZnJvbSAnLi90b2tlbic7XG5cbnR5cGUgRW52Q2hhbmdlVG9rZW4gPVxuICBEYXRhYmFzZUVudkNoYW5nZVRva2VuIHxcbiAgTGFuZ3VhZ2VFbnZDaGFuZ2VUb2tlbiB8XG4gIENoYXJzZXRFbnZDaGFuZ2VUb2tlbiB8XG4gIFBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbiB8XG4gIEJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIENvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4gfFxuICBSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4gfFxuICBEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbiB8XG4gIFJlc2V0Q29ubmVjdGlvbkVudkNoYW5nZVRva2VuIHxcbiAgUm91dGluZ0VudkNoYW5nZVRva2VuIHxcbiAgQ29sbGF0aW9uQ2hhbmdlVG9rZW47XG5cbmNvbnN0IHR5cGVzOiB7IFtrZXk6IG51bWJlcl06IHsgbmFtZTogc3RyaW5nLCBldmVudD86IHN0cmluZyB9fSA9IHtcbiAgMToge1xuICAgIG5hbWU6ICdEQVRBQkFTRScsXG4gICAgZXZlbnQ6ICdkYXRhYmFzZUNoYW5nZSdcbiAgfSxcbiAgMjoge1xuICAgIG5hbWU6ICdMQU5HVUFHRScsXG4gICAgZXZlbnQ6ICdsYW5ndWFnZUNoYW5nZSdcbiAgfSxcbiAgMzoge1xuICAgIG5hbWU6ICdDSEFSU0VUJyxcbiAgICBldmVudDogJ2NoYXJzZXRDaGFuZ2UnXG4gIH0sXG4gIDQ6IHtcbiAgICBuYW1lOiAnUEFDS0VUX1NJWkUnLFxuICAgIGV2ZW50OiAncGFja2V0U2l6ZUNoYW5nZSdcbiAgfSxcbiAgNzoge1xuICAgIG5hbWU6ICdTUUxfQ09MTEFUSU9OJyxcbiAgICBldmVudDogJ3NxbENvbGxhdGlvbkNoYW5nZSdcbiAgfSxcbiAgODoge1xuICAgIG5hbWU6ICdCRUdJTl9UWE4nLFxuICAgIGV2ZW50OiAnYmVnaW5UcmFuc2FjdGlvbidcbiAgfSxcbiAgOToge1xuICAgIG5hbWU6ICdDT01NSVRfVFhOJyxcbiAgICBldmVudDogJ2NvbW1pdFRyYW5zYWN0aW9uJ1xuICB9LFxuICAxMDoge1xuICAgIG5hbWU6ICdST0xMQkFDS19UWE4nLFxuICAgIGV2ZW50OiAncm9sbGJhY2tUcmFuc2FjdGlvbidcbiAgfSxcbiAgMTM6IHtcbiAgICBuYW1lOiAnREFUQUJBU0VfTUlSUk9SSU5HX1BBUlRORVInLFxuICAgIGV2ZW50OiAncGFydG5lck5vZGUnXG4gIH0sXG4gIDE3OiB7XG4gICAgbmFtZTogJ1RYTl9FTkRFRCdcbiAgfSxcbiAgMTg6IHtcbiAgICBuYW1lOiAnUkVTRVRfQ09OTkVDVElPTicsXG4gICAgZXZlbnQ6ICdyZXNldENvbm5lY3Rpb24nXG4gIH0sXG4gIDIwOiB7XG4gICAgbmFtZTogJ1JPVVRJTkdfQ0hBTkdFJyxcbiAgICBldmVudDogJ3JvdXRpbmdDaGFuZ2UnXG4gIH1cbn07XG5cbmZ1bmN0aW9uIHJlYWROZXdBbmRPbGRWYWx1ZShwYXJzZXI6IFBhcnNlciwgbGVuZ3RoOiBudW1iZXIsIHR5cGU6IHsgbmFtZTogc3RyaW5nLCBldmVudD86IHN0cmluZyB9LCBjYWxsYmFjazogKHRva2VuOiBFbnZDaGFuZ2VUb2tlbiB8IHVuZGVmaW5lZCkgPT4gdm9pZCkge1xuICBzd2l0Y2ggKHR5cGUubmFtZSkge1xuICAgIGNhc2UgJ0RBVEFCQVNFJzpcbiAgICBjYXNlICdMQU5HVUFHRSc6XG4gICAgY2FzZSAnQ0hBUlNFVCc6XG4gICAgY2FzZSAnUEFDS0VUX1NJWkUnOlxuICAgIGNhc2UgJ0RBVEFCQVNFX01JUlJPUklOR19QQVJUTkVSJzpcbiAgICAgIHJldHVybiBwYXJzZXIucmVhZEJWYXJDaGFyKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICBwYXJzZXIucmVhZEJWYXJDaGFyKChvbGRWYWx1ZSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAodHlwZS5uYW1lKSB7XG4gICAgICAgICAgICBjYXNlICdQQUNLRVRfU0laRSc6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgUGFja2V0U2l6ZUVudkNoYW5nZVRva2VuKHBhcnNlSW50KG5ld1ZhbHVlKSwgcGFyc2VJbnQob2xkVmFsdWUpKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0RBVEFCQVNFJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBEYXRhYmFzZUVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdMQU5HVUFHRSc6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgTGFuZ3VhZ2VFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnQ0hBUlNFVCc6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgQ2hhcnNldEVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdEQVRBQkFTRV9NSVJST1JJTkdfUEFSVE5FUic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRGF0YWJhc2VNaXJyb3JpbmdQYXJ0bmVyRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgY2FzZSAnU1FMX0NPTExBVElPTic6XG4gICAgY2FzZSAnQkVHSU5fVFhOJzpcbiAgICBjYXNlICdDT01NSVRfVFhOJzpcbiAgICBjYXNlICdST0xMQkFDS19UWE4nOlxuICAgIGNhc2UgJ1JFU0VUX0NPTk5FQ1RJT04nOlxuICAgICAgcmV0dXJuIHBhcnNlci5yZWFkQlZhckJ5dGUoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIHBhcnNlci5yZWFkQlZhckJ5dGUoKG9sZFZhbHVlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0eXBlLm5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ1NRTF9DT0xMQVRJT04nOiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NvbGxhdGlvbiA9IG5ld1ZhbHVlLmxlbmd0aCA/IENvbGxhdGlvbi5mcm9tQnVmZmVyKG5ld1ZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgY29uc3Qgb2xkQ29sbGF0aW9uID0gb2xkVmFsdWUubGVuZ3RoID8gQ29sbGF0aW9uLmZyb21CdWZmZXIob2xkVmFsdWUpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgQ29sbGF0aW9uQ2hhbmdlVG9rZW4obmV3Q29sbGF0aW9uLCBvbGRDb2xsYXRpb24pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSAnQkVHSU5fVFhOJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBCZWdpblRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0NPTU1JVF9UWE4nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IENvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ1JPTExCQUNLX1RYTic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgUm9sbGJhY2tUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdSRVNFVF9DT05ORUNUSU9OJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBjYXNlICdST1VUSU5HX0NIQU5HRSc6XG4gICAgICByZXR1cm4gcGFyc2VyLnJlYWRVSW50MTZMRSgodmFsdWVMZW5ndGgpID0+IHtcbiAgICAgICAgLy8gUm91dGluZyBDaGFuZ2U6XG4gICAgICAgIC8vIEJ5dGUgMTogUHJvdG9jb2wgKG11c3QgYmUgMClcbiAgICAgICAgLy8gQnl0ZXMgMi0zIChVU0hPUlQpOiBQb3J0IG51bWJlclxuICAgICAgICAvLyBCeXRlcyA0LTUgKFVTSE9SVCk6IExlbmd0aCBvZiBzZXJ2ZXIgZGF0YSBpbiB1bmljb2RlICgyYnl0ZSBjaGFycylcbiAgICAgICAgLy8gQnl0ZXMgNi0qOiBTZXJ2ZXIgbmFtZSBpbiB1bmljb2RlIGNoYXJhY3RlcnNcbiAgICAgICAgcGFyc2VyLnJlYWRCdWZmZXIodmFsdWVMZW5ndGgsIChyb3V0ZVBhY2tldCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3RvY29sID0gcm91dGVQYWNrZXQucmVhZFVJbnQ4KDApO1xuXG4gICAgICAgICAgaWYgKHByb3RvY29sICE9PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcHJvdG9jb2wgYnl0ZSBpbiByb3V0aW5nIGNoYW5nZSBldmVudCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHBvcnQgPSByb3V0ZVBhY2tldC5yZWFkVUludDE2TEUoMSk7XG4gICAgICAgICAgY29uc3Qgc2VydmVyTGVuID0gcm91dGVQYWNrZXQucmVhZFVJbnQxNkxFKDMpO1xuICAgICAgICAgIC8vIDIgYnl0ZXMgcGVyIGNoYXIsIHN0YXJ0aW5nIGF0IG9mZnNldCA1XG4gICAgICAgICAgY29uc3Qgc2VydmVyID0gcm91dGVQYWNrZXQudG9TdHJpbmcoJ3VjczInLCA1LCA1ICsgKHNlcnZlckxlbiAqIDIpKTtcblxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0ge1xuICAgICAgICAgICAgcHJvdG9jb2w6IHByb3RvY29sLFxuICAgICAgICAgICAgcG9ydDogcG9ydCxcbiAgICAgICAgICAgIHNlcnZlcjogc2VydmVyXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHBhcnNlci5yZWFkVUludDE2TEUoKG9sZFZhbHVlTGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICBwYXJzZXIucmVhZEJ1ZmZlcihvbGRWYWx1ZUxlbmd0aCwgKG9sZFZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBSb3V0aW5nRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICBjb25zb2xlLmVycm9yKCdUZWRpb3VzID4gVW5zdXBwb3J0ZWQgRU5WQ0hBTkdFIHR5cGUgJyArIHR5cGUubmFtZSk7XG4gICAgICAvLyBza2lwIHVua25vd24gYnl0ZXNcbiAgICAgIHBhcnNlci5yZWFkQnVmZmVyKGxlbmd0aCAtIDEsICgpID0+IHtcbiAgICAgICAgY2FsbGJhY2sodW5kZWZpbmVkKTtcbiAgICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVudkNoYW5nZVBhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IEVudkNoYW5nZVRva2VuIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSB7XG4gIHBhcnNlci5yZWFkVUludDE2TEUoKGxlbmd0aCkgPT4ge1xuICAgIHBhcnNlci5yZWFkVUludDgoKHR5cGVOdW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSB0eXBlc1t0eXBlTnVtYmVyXTtcblxuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RlZGlvdXMgPiBVbnN1cHBvcnRlZCBFTlZDSEFOR0UgdHlwZSAnICsgdHlwZU51bWJlcik7XG4gICAgICAgIC8vIHNraXAgdW5rbm93biBieXRlc1xuICAgICAgICByZXR1cm4gcGFyc2VyLnJlYWRCdWZmZXIobGVuZ3RoIC0gMSwgKCkgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrKHVuZGVmaW5lZCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZWFkTmV3QW5kT2xkVmFsdWUocGFyc2VyLCBsZW5ndGgsIHR5cGUsICh0b2tlbikgPT4ge1xuICAgICAgICBjYWxsYmFjayh0b2tlbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGVudkNoYW5nZVBhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gZW52Q2hhbmdlUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBRUE7O0FBMkJBLE1BQU1BLEtBQXlELEdBQUc7RUFDaEUsR0FBRztJQUNEQyxJQUFJLEVBQUUsVUFETDtJQUVEQyxLQUFLLEVBQUU7RUFGTixDQUQ2RDtFQUtoRSxHQUFHO0lBQ0RELElBQUksRUFBRSxVQURMO0lBRURDLEtBQUssRUFBRTtFQUZOLENBTDZEO0VBU2hFLEdBQUc7SUFDREQsSUFBSSxFQUFFLFNBREw7SUFFREMsS0FBSyxFQUFFO0VBRk4sQ0FUNkQ7RUFhaEUsR0FBRztJQUNERCxJQUFJLEVBQUUsYUFETDtJQUVEQyxLQUFL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
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sbGF0aW9uIiwicmVxdWlyZSIsIl90b2tlbiIsInR5cGVzIiwibmFtZSIsImV2ZW50IiwicmVhZE5ld0FuZE9sZFZhbHVlIiwicGFyc2VyIiwibGVuZ3RoIiwidHlwZSIsImNhbGxiYWNrIiwicmVhZEJWYXJDaGFyIiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsIlBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbiIsInBhcnNlSW50IiwiRGF0YWJhc2VFbnZDaGFuZ2VUb2tlbiIsIkxhbmd1YWdlRW52Q2hhbmdlVG9rZW4iLCJDaGFyc2V0RW52Q2hhbmdlVG9rZW4iLCJEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbiIsInJlYWRCVmFyQnl0ZSIsIm5ld0NvbGxhdGlvbiIsIkNvbGxhdGlvbiIsImZyb21CdWZmZXIiLCJ1bmRlZmluZWQiLCJvbGRDb2xsYXRpb24iLCJDb2xsYXRpb25DaGFuZ2VUb2tlbiIsIkJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiIsIkNvbW1pdFRyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4iLCJSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbiIsInJlYWRVSW50MTZMRSIsInZhbHVlTGVuZ3RoIiwicmVhZEJ1ZmZlciIsInJvdXRlUGFja2V0IiwicHJvdG9jb2wiLCJyZWFkVUludDgiLCJFcnJvciIsInBvcnQiLCJzZXJ2ZXJMZW4iLCJzZXJ2ZXIiLCJ0b1N0cmluZyIsIm9sZFZhbHVlTGVuZ3RoIiwiUm91dGluZ0VudkNoYW5nZVRva2VuIiwiY29uc29sZSIsImVycm9yIiwiZW52Q2hhbmdlUGFyc2VyIiwiX29wdGlvbnMiLCJ0eXBlTnVtYmVyIiwidG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL2Vudi1jaGFuZ2UtdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBDb2xsYXRpb24gfSBmcm9tICcuLi9jb2xsYXRpb24nO1xuXG5pbXBvcnQge1xuICBEYXRhYmFzZUVudkNoYW5nZVRva2VuLFxuICBMYW5ndWFnZUVudkNoYW5nZVRva2VuLFxuICBDaGFyc2V0RW52Q2hhbmdlVG9rZW4sXG4gIFBhY2tldFNpemVFbnZDaGFuZ2VUb2tlbixcbiAgQmVnaW5UcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuLFxuICBDb21taXRUcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuLFxuICBSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4sXG4gIERhdGFiYXNlTWlycm9yaW5nUGFydG5lckVudkNoYW5nZVRva2VuLFxuICBSZXNldENvbm5lY3Rpb25FbnZDaGFuZ2VUb2tlbixcbiAgUm91dGluZ0VudkNoYW5nZVRva2VuLFxuICBDb2xsYXRpb25DaGFuZ2VUb2tlblxufSBmcm9tICcuL3Rva2VuJztcblxudHlwZSBFbnZDaGFuZ2VUb2tlbiA9XG4gIERhdGFiYXNlRW52Q2hhbmdlVG9rZW4gfFxuICBMYW5ndWFnZUVudkNoYW5nZVRva2VuIHxcbiAgQ2hhcnNldEVudkNoYW5nZVRva2VuIHxcbiAgUGFja2V0U2l6ZUVudkNoYW5nZVRva2VuIHxcbiAgQmVnaW5UcmFuc2FjdGlvbkVudkNoYW5nZVRva2VuIHxcbiAgQ29tbWl0VHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIFJvbGxiYWNrVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbiB8XG4gIERhdGFiYXNlTWlycm9yaW5nUGFydG5lckVudkNoYW5nZVRva2VuIHxcbiAgUmVzZXRDb25uZWN0aW9uRW52Q2hhbmdlVG9rZW4gfFxuICBSb3V0aW5nRW52Q2hhbmdlVG9rZW4gfFxuICBDb2xsYXRpb25DaGFuZ2VUb2tlbjtcblxuY29uc3QgdHlwZXM6IHsgW2tleTogbnVtYmVyXTogeyBuYW1lOiBzdHJpbmcsIGV2ZW50Pzogc3RyaW5nIH19ID0ge1xuICAxOiB7XG4gICAgbmFtZTogJ0RBVEFCQVNFJyxcbiAgICBldmVudDogJ2RhdGFiYXNlQ2hhbmdlJ1xuICB9LFxuICAyOiB7XG4gICAgbmFtZTogJ0xBTkdVQUdFJyxcbiAgICBldmVudDogJ2xhbmd1YWdlQ2hhbmdlJ1xuICB9LFxuICAzOiB7XG4gICAgbmFtZTogJ0NIQVJTRVQnLFxuICAgIGV2ZW50OiAnY2hhcnNldENoYW5nZSdcbiAgfSxcbiAgNDoge1xuICAgIG5hbWU6ICdQQUNLRVRfU0laRScsXG4gICAgZXZlbnQ6ICdwYWNrZXRTaXplQ2hhbmdlJ1xuICB9LFxuICA3OiB7XG4gICAgbmFtZTogJ1NRTF9DT0xMQVRJT04nLFxuICAgIGV2ZW50OiAnc3FsQ29sbGF0aW9uQ2hhbmdlJ1xuICB9LFxuICA4OiB7XG4gICAgbmFtZTogJ0JFR0lOX1RYTicsXG4gICAgZXZlbnQ6ICdiZWdpblRyYW5zYWN0aW9uJ1xuICB9LFxuICA5OiB7XG4gICAgbmFtZTogJ0NPTU1JVF9UWE4nLFxuICAgIGV2ZW50OiAnY29tbWl0VHJhbnNhY3Rpb24nXG4gIH0sXG4gIDEwOiB7XG4gICAgbmFtZTogJ1JPTExCQUNLX1RYTicsXG4gICAgZXZlbnQ6ICdyb2xsYmFja1RyYW5zYWN0aW9uJ1xuICB9LFxuICAxMzoge1xuICAgIG5hbWU6ICdEQVRBQkFTRV9NSVJST1JJTkdfUEFSVE5FUicsXG4gICAgZXZlbnQ6ICdwYXJ0bmVyTm9kZSdcbiAgfSxcbiAgMTc6IHtcbiAgICBuYW1lOiAnVFhOX0VOREVEJ1xuICB9LFxuICAxODoge1xuICAgIG5hbWU6ICdSRVNFVF9DT05ORUNUSU9OJyxcbiAgICBldmVudDogJ3Jlc2V0Q29ubmVjdGlvbidcbiAgfSxcbiAgMjA6IHtcbiAgICBuYW1lOiAnUk9VVElOR19DSEFOR0UnLFxuICAgIGV2ZW50OiAncm91dGluZ0NoYW5nZSdcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVhZE5ld0FuZE9sZFZhbHVlKHBhcnNlcjogUGFyc2VyLCBsZW5ndGg6IG51bWJlciwgdHlwZTogeyBuYW1lOiBzdHJpbmcsIGV2ZW50Pzogc3RyaW5nIH0sIGNhbGxiYWNrOiAodG9rZW46IEVudkNoYW5nZVRva2VuIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSB7XG4gIHN3aXRjaCAodHlwZS5uYW1lKSB7XG4gICAgY2FzZSAnREFUQUJBU0UnOlxuICAgIGNhc2UgJ0xBTkdVQUdFJzpcbiAgICBjYXNlICdDSEFSU0VUJzpcbiAgICBjYXNlICdQQUNLRVRfU0laRSc6XG4gICAgY2FzZSAnREFUQUJBU0VfTUlSUk9SSU5HX1BBUlRORVInOlxuICAgICAgcmV0dXJuIHBhcnNlci5yZWFkQlZhckNoYXIoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIHBhcnNlci5yZWFkQlZhckNoYXIoKG9sZFZhbHVlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0eXBlLm5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ1BBQ0tFVF9TSVpFJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBQYWNrZXRTaXplRW52Q2hhbmdlVG9rZW4ocGFyc2VJbnQobmV3VmFsdWUpLCBwYXJzZUludChvbGRWYWx1ZSkpKTtcblxuICAgICAgICAgICAgY2FzZSAnREFUQUJBU0UnOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IERhdGFiYXNlRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0xBTkdVQUdFJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBMYW5ndWFnZUVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuXG4gICAgICAgICAgICBjYXNlICdDSEFSU0VUJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBDaGFyc2V0RW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ0RBVEFCQVNFX01JUlJPUklOR19QQVJUTkVSJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBEYXRhYmFzZU1pcnJvcmluZ1BhcnRuZXJFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBjYXNlICdTUUxfQ09MTEFUSU9OJzpcbiAgICBjYXNlICdCRUdJTl9UWE4nOlxuICAgIGNhc2UgJ0NPTU1JVF9UWE4nOlxuICAgIGNhc2UgJ1JPTExCQUNLX1RYTic6XG4gICAgY2FzZSAnUkVTRVRfQ09OTkVDVElPTic6XG4gICAgICByZXR1cm4gcGFyc2VyLnJlYWRCVmFyQnl0ZSgobmV3VmFsdWUpID0+IHtcbiAgICAgICAgcGFyc2VyLnJlYWRCVmFyQnl0ZSgob2xkVmFsdWUpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUubmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnU1FMX0NPTExBVElPTic6IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Q29sbGF0aW9uID0gbmV3VmFsdWUubGVuZ3RoID8gQ29sbGF0aW9uLmZyb21CdWZmZXIobmV3VmFsdWUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICBjb25zdCBvbGRDb2xsYXRpb24gPSBvbGRWYWx1ZS5sZW5ndGggPyBDb2xsYXRpb24uZnJvbUJ1ZmZlcihvbGRWYWx1ZSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBDb2xsYXRpb25DaGFuZ2VUb2tlbihuZXdDb2xsYXRpb24sIG9sZENvbGxhdGlvbikpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlICdCRUdJTl9UWE4nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IEJlZ2luVHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnQ09NTUlUX1RYTic6XG4gICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgQ29tbWl0VHJhbnNhY3Rpb25FbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcblxuICAgICAgICAgICAgY2FzZSAnUk9MTEJBQ0tfVFhOJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBSb2xsYmFja1RyYW5zYWN0aW9uRW52Q2hhbmdlVG9rZW4obmV3VmFsdWUsIG9sZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIGNhc2UgJ1JFU0VUX0NPTk5FQ1RJT04nOlxuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobmV3IFJlc2V0Q29ubmVjdGlvbkVudkNoYW5nZVRva2VuKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIGNhc2UgJ1JPVVRJTkdfQ0hBTkdFJzpcbiAgICAgIHJldHVybiBwYXJzZXIucmVhZFVJbnQxNkxFKCh2YWx1ZUxlbmd0aCkgPT4ge1xuICAgICAgICAvLyBSb3V0aW5nIENoYW5nZTpcbiAgICAgICAgLy8gQnl0ZSAxOiBQcm90b2NvbCAobXVzdCBiZSAwKVxuICAgICAgICAvLyBCeXRlcyAyLTMgKFVTSE9SVCk6IFBvcnQgbnVtYmVyXG4gICAgICAgIC8vIEJ5dGVzIDQtNSAoVVNIT1JUKTogTGVuZ3RoIG9mIHNlcnZlciBkYXRhIGluIHVuaWNvZGUgKDJieXRlIGNoYXJzKVxuICAgICAgICAvLyBCeXRlcyA2LSo6IFNlcnZlciBuYW1lIGluIHVuaWNvZGUgY2hhcmFjdGVyc1xuICAgICAgICBwYXJzZXIucmVhZEJ1ZmZlcih2YWx1ZUxlbmd0aCwgKHJvdXRlUGFja2V0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvdG9jb2wgPSByb3V0ZVBhY2tldC5yZWFkVUludDgoMCk7XG5cbiAgICAgICAgICBpZiAocHJvdG9jb2wgIT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcm90b2NvbCBieXRlIGluIHJvdXRpbmcgY2hhbmdlIGV2ZW50Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcG9ydCA9IHJvdXRlUGFja2V0LnJlYWRVSW50MTZMRSgxKTtcbiAgICAgICAgICBjb25zdCBzZXJ2ZXJMZW4gPSByb3V0ZVBhY2tldC5yZWFkVUludDE2TEUoMyk7XG4gICAgICAgICAgLy8gMiBieXRlcyBwZXIgY2hhciwgc3RhcnRpbmcgYXQgb2Zmc2V0IDVcbiAgICAgICAgICBjb25zdCBzZXJ2ZXIgPSByb3V0ZVBhY2tldC50b1N0cmluZygndWNzMicsIDUsIDUgKyAoc2VydmVyTGVuICogMikpO1xuXG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB7XG4gICAgICAgICAgICBwcm90b2NvbDogcHJvdG9jb2wsXG4gICAgICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcGFyc2VyLnJlYWRVSW50MTZMRSgob2xkVmFsdWVMZW5ndGgpID0+IHtcbiAgICAgICAgICAgIHBhcnNlci5yZWFkQnVmZmVyKG9sZFZhbHVlTGVuZ3RoLCAob2xkVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IFJvdXRpbmdFbnZDaGFuZ2VUb2tlbihuZXdWYWx1ZSwgb2xkVmFsdWUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RlZGlvdXMgPiBVbnN1cHBvcnRlZCBFTlZDSEFOR0UgdHlwZSAnICsgdHlwZS5uYW1lKTtcbiAgICAgIC8vIHNraXAgdW5rbm93biBieXRlc1xuICAgICAgcGFyc2VyLnJlYWRCdWZmZXIobGVuZ3RoIC0gMSwgKCkgPT4ge1xuICAgICAgICBjYWxsYmFjayh1bmRlZmluZWQpO1xuICAgICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZW52Q2hhbmdlUGFyc2VyKHBhcnNlcjogUGFyc2VyLCBfb3B0aW9uczogUGFyc2VyT3B0aW9ucywgY2FsbGJhY2s6ICh0b2tlbjogRW52Q2hhbmdlVG9rZW4gfCB1bmRlZmluZWQpID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVSW50MTZMRSgobGVuZ3RoKSA9PiB7XG4gICAgcGFyc2VyLnJlYWRVSW50OCgodHlwZU51bWJlcikgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IHR5cGVzW3R5cGVOdW1iZXJdO1xuXG4gICAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignVGVkaW91cyA+IFVuc3VwcG9ydGVkIEVOVkNIQU5HRSB0eXBlICcgKyB0eXBlTnVtYmVyKTtcbiAgICAgICAgLy8gc2tpcCB1bmtub3duIGJ5dGVzXG4gICAgICAgIHJldHVybiBwYXJzZXIucmVhZEJ1ZmZlcihsZW5ndGggLSAxLCAoKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2sodW5kZWZpbmVkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJlYWROZXdBbmRPbGRWYWx1ZShwYXJzZXIsIGxlbmd0aCwgdHlwZSwgKHRva2VuKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZW52Q2hhbmdlUGFyc2VyO1xubW9kdWxlLmV4cG9ydHMgPSBlbnZDaGFuZ2VQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQTJCQSxNQUFNRSxLQUF5RCxHQUFHO0VBQ2hFLENBQUMsRUFBRTtJQUNEQyxJQUFJLEVBQUUsVUFBVTtJQUNoQkMsS0FBSyxFQUFFO0VBQ1QsQ0FBQztFQUNELENBQUMsRUFBRTtJQUNERCxJQUFJLEVBQUUsVUFBVTtJQUNoQkMsS0FBSyxFQUFFO0VBQ1QsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-change-token-parser.js","names":["_collation","require","_token","types","name","event","readNewAndOldValue","parser","length","type","callback","readBVarChar","newValue","oldValue","PacketSizeEnvChangeToken","parseInt","DatabaseEnvChangeToken","LanguageEnvChangeToken","CharsetEnvChangeToken","DatabaseMirroringPartnerEnvChangeToken","readBVarByte","newCollation","Collation","fromBuffer","undefined","oldCollation","CollationChangeToken","BeginTransactionEnvChangeToken","CommitTransactionEnvChangeToken","RollbackTransactionEnvChangeToken","ResetConnectionEnvChangeToken","readUInt16LE","valueLength","readBuffer","routePacket","protocol","readUInt8","Error","port","serverLen","server","toString","oldValueLength","RoutingEnvChangeToken","console","error","envChangeParser","_options","typeNumber","token","_default","exports","default","module"],"sources":["../../src/token/env-change-token-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\nimport { Collation } from '../collation';\n\nimport {\n DatabaseEnvChangeToken,\n LanguageEnvChangeToken,\n CharsetEnvChangeToken,\n PacketSizeEnvChangeToken,\n BeginTransactionEnvChangeToken,\n CommitTransactionEnvChangeToken,\n RollbackTransactionEnvChangeToken,\n DatabaseMirroringPartnerEnvChangeToken,\n ResetConnectionEnvChangeToken,\n RoutingEnvChangeToken,\n CollationChangeToken\n} from './token';\n\ntype EnvChangeToken =\n DatabaseEnvChangeToken |\n LanguageEnvChangeToken |\n CharsetEnvChangeToken |\n PacketSizeEnvChangeToken |\n BeginTransactionEnvChangeToken |\n CommitTransactionEnvChangeToken |\n RollbackTransactionEnvChangeToken |\n DatabaseMirroringPartnerEnvChangeToken |\n ResetConnectionEnvChangeToken |\n RoutingEnvChangeToken |\n CollationChangeToken;\n\nconst types: { [key: number]: { name: string, event?: string }} = {\n 1: {\n name: 'DATABASE',\n event: 'databaseChange'\n },\n 2: {\n name: 'LANGUAGE',\n event: 'languageChange'\n },\n 3: {\n name: 'CHARSET',\n event: 'charsetChange'\n },\n 4: {\n name: 'PACKET_SIZE',\n event: 'packetSizeChange'\n },\n 7: {\n name: 'SQL_COLLATION',\n event: 'sqlCollationChange'\n },\n 8: {\n name: 'BEGIN_TXN',\n event: 'beginTransaction'\n },\n 9: {\n name: 'COMMIT_TXN',\n event: 'commitTransaction'\n },\n 10: {\n name: 'ROLLBACK_TXN',\n event: 'rollbackTransaction'\n },\n 13: {\n name: 'DATABASE_MIRRORING_PARTNER',\n event: 'partnerNode'\n },\n 17: {\n name: 'TXN_ENDED'\n },\n 18: {\n name: 'RESET_CONNECTION',\n event: 'resetConnection'\n },\n 20: {\n name: 'ROUTING_CHANGE',\n event: 'routingChange'\n }\n};\n\nfunction readNewAndOldValue(parser: Parser, length: number, type: { name: string, event?: string }, callback: (token: EnvChangeToken | undefined) => void) {\n switch (type.name) {\n case 'DATABASE':\n case 'LANGUAGE':\n case 'CHARSET':\n case 'PACKET_SIZE':\n case 'DATABASE_MIRRORING_PARTNER':\n return parser.readBVarChar((newValue) => {\n parser.readBVarChar((oldValue) => {\n switch (type.name) {\n case 'PACKET_SIZE':\n return callback(new PacketSizeEnvChangeToken(parseInt(newValue), parseInt(oldValue)));\n\n case 'DATABASE':\n return callback(new DatabaseEnvChangeToken(newValue, oldValue));\n\n case 'LANGUAGE':\n return callback(new LanguageEnvChangeToken(newValue, oldValue));\n\n case 'CHARSET':\n return callback(new CharsetEnvChangeToken(newValue, oldValue));\n\n case 'DATABASE_MIRRORING_PARTNER':\n return callback(new DatabaseMirroringPartnerEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'SQL_COLLATION':\n case 'BEGIN_TXN':\n case 'COMMIT_TXN':\n case 'ROLLBACK_TXN':\n case 'RESET_CONNECTION':\n return parser.readBVarByte((newValue) => {\n parser.readBVarByte((oldValue) => {\n switch (type.name) {\n case 'SQL_COLLATION': {\n const newCollation = newValue.length ? Collation.fromBuffer(newValue) : undefined;\n const oldCollation = oldValue.length ? Collation.fromBuffer(oldValue) : undefined;\n\n return callback(new CollationChangeToken(newCollation, oldCollation));\n }\n\n case 'BEGIN_TXN':\n return callback(new BeginTransactionEnvChangeToken(newValue, oldValue));\n\n case 'COMMIT_TXN':\n return callback(new CommitTransactionEnvChangeToken(newValue, oldValue));\n\n case 'ROLLBACK_TXN':\n return callback(new RollbackTransactionEnvChangeToken(newValue, oldValue));\n\n case 'RESET_CONNECTION':\n return callback(new ResetConnectionEnvChangeToken(newValue, oldValue));\n }\n });\n });\n\n case 'ROUTING_CHANGE':\n return parser.readUInt16LE((valueLength) => {\n // Routing Change:\n // Byte 1: Protocol (must be 0)\n // Bytes 2-3 (USHORT): Port number\n // Bytes 4-5 (USHORT): Length of server data in unicode (2byte chars)\n // Bytes 6-*: Server name in unicode characters\n parser.readBuffer(valueLength, (routePacket) => {\n const protocol = routePacket.readUInt8(0);\n\n if (protocol !== 0) {\n throw new Error('Unknown protocol byte in routing change event');\n }\n\n const port = routePacket.readUInt16LE(1);\n const serverLen = routePacket.readUInt16LE(3);\n // 2 bytes per char, starting at offset 5\n const server = routePacket.toString('ucs2', 5, 5 + (serverLen * 2));\n\n const newValue = {\n protocol: protocol,\n port: port,\n server: server\n };\n\n parser.readUInt16LE((oldValueLength) => {\n parser.readBuffer(oldValueLength, (oldValue) => {\n callback(new RoutingEnvChangeToken(newValue, oldValue));\n });\n });\n });\n });\n\n default:\n console.error('Tedious > Unsupported ENVCHANGE type ' + type.name);\n // skip unknown bytes\n parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n}\n\nfunction envChangeParser(parser: Parser, _options: ParserOptions, callback: (token: EnvChangeToken | undefined) => void) {\n parser.readUInt16LE((length) => {\n parser.readUInt8((typeNumber) => {\n const type = types[typeNumber];\n\n if (!type) {\n console.error('Tedious > Unsupported ENVCHANGE type ' + typeNumber);\n // skip unknown bytes\n return parser.readBuffer(length - 1, () => {\n callback(undefined);\n });\n }\n\n readNewAndOldValue(parser, length, type, (token) => {\n callback(token);\n });\n });\n });\n}\n\nexport default envChangeParser;\nmodule.exports = envChangeParser;\n"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _token = require("./token");
|
|
9
|
-
|
|
10
8
|
const FEATURE_ID = {
|
|
11
9
|
SESSIONRECOVERY: 0x01,
|
|
12
10
|
FEDAUTH: 0x02,
|
|
@@ -16,39 +14,32 @@ const FEATURE_ID = {
|
|
|
16
14
|
UTF8_SUPPORT: 0x0A,
|
|
17
15
|
TERMINATOR: 0xFF
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
function featureExtAckParser(parser, _options, callback) {
|
|
21
18
|
let fedAuth;
|
|
22
19
|
let utf8Support;
|
|
23
|
-
|
|
24
20
|
function next() {
|
|
25
21
|
parser.readUInt8(featureId => {
|
|
26
22
|
if (featureId === FEATURE_ID.TERMINATOR) {
|
|
27
23
|
return callback(new _token.FeatureExtAckToken(fedAuth, utf8Support));
|
|
28
24
|
}
|
|
29
|
-
|
|
30
25
|
parser.readUInt32LE(featureAckDataLen => {
|
|
31
26
|
parser.readBuffer(featureAckDataLen, featureData => {
|
|
32
27
|
switch (featureId) {
|
|
33
28
|
case FEATURE_ID.FEDAUTH:
|
|
34
29
|
fedAuth = featureData;
|
|
35
30
|
break;
|
|
36
|
-
|
|
37
31
|
case FEATURE_ID.UTF8_SUPPORT:
|
|
38
32
|
utf8Support = !!featureData[0];
|
|
39
33
|
break;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
next();
|
|
43
36
|
});
|
|
44
37
|
});
|
|
45
38
|
});
|
|
46
39
|
}
|
|
47
|
-
|
|
48
40
|
next();
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
var _default = featureExtAckParser;
|
|
52
43
|
exports.default = _default;
|
|
53
44
|
module.exports = featureExtAckParser;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiRkVBVFVSRV9JRCIsIlNFU1NJT05SRUNPVkVSWSIsIkZFREFVVEgiLCJDT0xVTU5FTkNSWVBUSU9OIiwiR0xPQkFMVFJBTlNBQ1RJT05TIiwiQVpVUkVTUUxTVVBQT1JUIiwiVVRGOF9TVVBQT1JUIiwiVEVSTUlOQVRPUiIsImZlYXR1cmVFeHRBY2tQYXJzZXIiLCJwYXJzZXIiLCJfb3B0aW9ucyIsImNhbGxiYWNrIiwiZmVkQXV0aCIsInV0ZjhTdXBwb3J0IiwibmV4dCIsInJlYWRVSW50OCIsImZlYXR1cmVJZCIsIkZlYXR1cmVFeHRBY2tUb2tlbiIsInJlYWRVSW50MzJMRSIsImZlYXR1cmVBY2tEYXRhTGVuIiwicmVhZEJ1ZmZlciIsImZlYXR1cmVEYXRhIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9mZWF0dXJlLWV4dC1hY2stcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IEZlYXR1cmVFeHRBY2tUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5jb25zdCBGRUFUVVJFX0lEID0ge1xuICBTRVNTSU9OUkVDT1ZFUlk6IDB4MDEsXG4gIEZFREFVVEg6IDB4MDIsXG4gIENPTFVNTkVOQ1JZUFRJT046IDB4MDQsXG4gIEdMT0JBTFRSQU5TQUNUSU9OUzogMHgwNSxcbiAgQVpVUkVTUUxTVVBQT1JUOiAweDA4LFxuICBVVEY4X1NVUFBPUlQ6IDB4MEEsXG4gIFRFUk1JTkFUT1I6IDB4RkZcbn07XG5cbmZ1bmN0aW9uIGZlYXR1cmVFeHRBY2tQYXJzZXIocGFyc2VyOiBQYXJzZXIsIF9vcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKHRva2VuOiBGZWF0dXJlRXh0QWNrVG9rZW4pID0+IHZvaWQpIHtcbiAgbGV0IGZlZEF1dGg6IEJ1ZmZlciB8IHVuZGVmaW5lZDtcbiAgbGV0IHV0ZjhTdXBwb3J0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgcGFyc2VyLnJlYWRVSW50OCgoZmVhdHVyZUlkKSA9PiB7XG4gICAgICBpZiAoZmVhdHVyZUlkID09PSBGRUFUVVJFX0lELlRFUk1JTkFUT1IpIHtcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBGZWF0dXJlRXh0QWNrVG9rZW4oZmVkQXV0aCwgdXRmOFN1cHBvcnQpKTtcbiAgICAgIH1cblxuICAgICAgcGFyc2VyLnJlYWRVSW50MzJMRSgoZmVhdHVyZUFja0RhdGFMZW4pID0+IHtcbiAgICAgICAgcGFyc2VyLnJlYWRCdWZmZXIoZmVhdHVyZUFja0RhdGFMZW4sIChmZWF0dXJlRGF0YSkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZmVhdHVyZUlkKSB7XG4gICAgICAgICAgICBjYXNlIEZFQVRVUkVfSUQuRkVEQVVUSDpcbiAgICAgICAgICAgICAgZmVkQXV0aCA9IGZlYXR1cmVEYXRhO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRkVBVFVSRV9JRC5VVEY4X1NVUFBPUlQ6XG4gICAgICAgICAgICAgIHV0ZjhTdXBwb3J0ID0gISFmZWF0dXJlRGF0YVswXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5leHQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZmVhdHVyZUV4dEFja1BhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gZmVhdHVyZUV4dEFja1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsVUFBVSxHQUFHO0VBQ2pCQyxlQUFlLEVBQUUsSUFBSTtFQUNyQkMsT0FBTyxFQUFFLElBQUk7RUFDYkMsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QkMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QkMsZUFBZSxFQUFFLElBQUk7RUFDckJDLFlBQVksRUFBRSxJQUFJO0VBQ2xCQyxVQUFVLEVBQUU7QUFDZCxDQUFDO0FBRUQsU0FBU0MsbUJBQW1CQSxDQUFDQyxNQUFjLEVBQUVDLFFBQXVCLEVBQUVDLFFBQTZDLEVBQUU7RUFDbkgsSUFBSUMsT0FBMkI7RUFDL0IsSUFBSUMsV0FBZ0M7RUFFcEMsU0FBU0MsSUFBSUEsQ0FBQSxFQUFHO0lBQ2RMLE1BQU0sQ0FBQ00sU0FBUyxDQUFFQyxTQUFTLElBQUs7TUFDOUIsSUFBSUEsU0FBUyxLQUFLaEIsVUFBVSxDQUFDTyxVQUFVLEVBQUU7UUFDdkMsT0FBT0ksUUFBUSxDQUFDLElBQUlNLHlCQUFrQixDQUFDTCxPQUFPLEVBQUVDLFdBQVcsQ0FBQyxDQUFDO01BQy9EO01BRUFKLE1BQU0sQ0FBQ1MsWUFBWSxDQUFFQyxpQkFBaUIsSUFBSztRQUN6Q1YsTUFBTSxDQUFDVyxVQUFVLENBQUNELGlCQUFpQixFQUFHRSxXQUFXLElBQUs7VUFDcEQsUUFBUUwsU0FBUztZQUNmLEtBQUtoQixVQUFVLENBQUNFLE9BQU87Y0FDckJVLE9BQU8sR0FBR1MsV0FBVztjQUNyQjtZQUNGLEtBQUtyQixVQUFVLENBQUNNLFlBQVk7Y0FDMUJPLFdBQVcsR0FBRyxDQUFDLENBQUNRLFdBQVcsQ0FBQyxDQUFDLENBQUM7Y0FDOUI7VUFDSjtVQUNBUCxJQUFJLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztFQUNKO0VBRUFBLElBQUksQ0FBQyxDQUFDO0FBQ1I7QUFBQyxJQUFBUSxRQUFBLEdBRWNkLG1CQUFtQjtBQUFBZSxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQTtBQUNsQ0csTUFBTSxDQUFDRixPQUFPLEdBQUdmLG1CQUFtQiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-ext-ack-parser.js","names":["_token","require","FEATURE_ID","SESSIONRECOVERY","FEDAUTH","COLUMNENCRYPTION","GLOBALTRANSACTIONS","AZURESQLSUPPORT","UTF8_SUPPORT","TERMINATOR","featureExtAckParser","parser","_options","callback","fedAuth","utf8Support","next","readUInt8","featureId","FeatureExtAckToken","readUInt32LE","featureAckDataLen","readBuffer","featureData","_default","exports","default","module"],"sources":["../../src/token/feature-ext-ack-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\n\nimport { FeatureExtAckToken } from './token';\n\nconst FEATURE_ID = {\n SESSIONRECOVERY: 0x01,\n FEDAUTH: 0x02,\n COLUMNENCRYPTION: 0x04,\n GLOBALTRANSACTIONS: 0x05,\n AZURESQLSUPPORT: 0x08,\n UTF8_SUPPORT: 0x0A,\n TERMINATOR: 0xFF\n};\n\nfunction featureExtAckParser(parser: Parser, _options: ParserOptions, callback: (token: FeatureExtAckToken) => void) {\n let fedAuth: Buffer | undefined;\n let utf8Support: boolean | undefined;\n\n function next() {\n parser.readUInt8((featureId) => {\n if (featureId === FEATURE_ID.TERMINATOR) {\n return callback(new FeatureExtAckToken(fedAuth, utf8Support));\n }\n\n parser.readUInt32LE((featureAckDataLen) => {\n parser.readBuffer(featureAckDataLen, (featureData) => {\n switch (featureId) {\n case FEATURE_ID.FEDAUTH:\n fedAuth = featureData;\n break;\n case FEATURE_ID.UTF8_SUPPORT:\n utf8Support = !!featureData[0];\n break;\n }\n next();\n });\n });\n });\n }\n\n next();\n}\n\nexport default featureExtAckParser;\nmodule.exports = featureExtAckParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAG;EACjBC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,IAAI;EACbC,gBAAgB,EAAE,IAAI;EACtBC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE;AACd,CAAC;AAED,SAASC,mBAAmBA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAA6C,EAAE;EACnH,IAAIC,OAA2B;EAC/B,IAAIC,WAAgC;EAEpC,SAASC,IAAIA,CAAA,EAAG;IACdL,MAAM,CAACM,SAAS,CAAEC,SAAS,IAAK;MAC9B,IAAIA,SAAS,KAAKhB,UAAU,CAACO,UAAU,EAAE;QACvC,OAAOI,QAAQ,CAAC,IAAIM,yBAAkB,CAACL,OAAO,EAAEC,WAAW,CAAC,CAAC;MAC/D;MAEAJ,MAAM,CAACS,YAAY,CAAEC,iBAAiB,IAAK;QACzCV,MAAM,CAACW,UAAU,CAACD,iBAAiB,EAAGE,WAAW,IAAK;UACpD,QAAQL,SAAS;YACf,KAAKhB,UAAU,CAACE,OAAO;cACrBU,OAAO,GAAGS,WAAW;cACrB;YACF,KAAKrB,UAAU,CAACM,YAAY;cAC1BO,WAAW,GAAG,CAAC,CAACQ,WAAW,CAAC,CAAC,CAAC;cAC9B;UACJ;UACAP,IAAI,CAAC,CAAC;QACR,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAA,IAAI,CAAC,CAAC;AACR;AAAC,IAAAQ,QAAA,GAEcd,mBAAmB;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAClCG,MAAM,CAACF,OAAO,GAAGf,mBAAmB"}
|
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _token = require("./token");
|
|
9
|
-
|
|
10
8
|
const FEDAUTHINFOID = {
|
|
11
9
|
STSURL: 0x01,
|
|
12
10
|
SPN: 0x02
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
function fedAuthInfoParser(parser, _options, callback) {
|
|
16
13
|
parser.readUInt32LE(tokenLength => {
|
|
17
14
|
parser.readBuffer(tokenLength, data => {
|
|
@@ -19,7 +16,6 @@ function fedAuthInfoParser(parser, _options, callback) {
|
|
|
19
16
|
let offset = 0;
|
|
20
17
|
const countOfInfoIDs = data.readUInt32LE(offset);
|
|
21
18
|
offset += 4;
|
|
22
|
-
|
|
23
19
|
for (let i = 0; i < countOfInfoIDs; i++) {
|
|
24
20
|
const fedauthInfoID = data.readUInt8(offset);
|
|
25
21
|
offset += 1;
|
|
@@ -27,28 +23,24 @@ function fedAuthInfoParser(parser, _options, callback) {
|
|
|
27
23
|
offset += 4;
|
|
28
24
|
const fedAuthInfoDataOffset = data.readUInt32LE(offset);
|
|
29
25
|
offset += 4;
|
|
30
|
-
|
|
31
26
|
switch (fedauthInfoID) {
|
|
32
27
|
case FEDAUTHINFOID.SPN:
|
|
33
28
|
spn = data.toString('ucs2', fedAuthInfoDataOffset, fedAuthInfoDataOffset + fedAuthInfoDataLen);
|
|
34
29
|
break;
|
|
35
|
-
|
|
36
30
|
case FEDAUTHINFOID.STSURL:
|
|
37
31
|
stsurl = data.toString('ucs2', fedAuthInfoDataOffset, fedAuthInfoDataOffset + fedAuthInfoDataLen);
|
|
38
32
|
break;
|
|
39
|
-
// ignoring unknown fedauthinfo options
|
|
40
33
|
|
|
34
|
+
// ignoring unknown fedauthinfo options
|
|
41
35
|
default:
|
|
42
36
|
break;
|
|
43
37
|
}
|
|
44
38
|
}
|
|
45
|
-
|
|
46
39
|
callback(new _token.FedAuthInfoToken(spn, stsurl));
|
|
47
40
|
});
|
|
48
41
|
});
|
|
49
42
|
}
|
|
50
|
-
|
|
51
43
|
var _default = fedAuthInfoParser;
|
|
52
44
|
exports.default = _default;
|
|
53
45
|
module.exports = fedAuthInfoParser;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiRkVEQVVUSElORk9JRCIsIlNUU1VSTCIsIlNQTiIsImZlZEF1dGhJbmZvUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVSW50MzJMRSIsInRva2VuTGVuZ3RoIiwicmVhZEJ1ZmZlciIsImRhdGEiLCJzcG4iLCJzdHN1cmwiLCJvZmZzZXQiLCJjb3VudE9mSW5mb0lEcyIsImkiLCJmZWRhdXRoSW5mb0lEIiwicmVhZFVJbnQ4IiwiZmVkQXV0aEluZm9EYXRhTGVuIiwiZmVkQXV0aEluZm9EYXRhT2Zmc2V0IiwidG9TdHJpbmciLCJGZWRBdXRoSW5mb1Rva2VuIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9mZWRhdXRoLWluZm8tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyBGZWRBdXRoSW5mb1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmNvbnN0IEZFREFVVEhJTkZPSUQgPSB7XG4gIFNUU1VSTDogMHgwMSxcbiAgU1BOOiAweDAyXG59O1xuXG5mdW5jdGlvbiBmZWRBdXRoSW5mb1BhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IEZlZEF1dGhJbmZvVG9rZW4pID0+IHZvaWQpIHtcbiAgcGFyc2VyLnJlYWRVSW50MzJMRSgodG9rZW5MZW5ndGgpID0+IHtcbiAgICBwYXJzZXIucmVhZEJ1ZmZlcih0b2tlbkxlbmd0aCwgKGRhdGEpID0+IHtcbiAgICAgIGxldCBzcG46IHN0cmluZyB8IHVuZGVmaW5lZCwgc3RzdXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgIGxldCBvZmZzZXQgPSAwO1xuXG4gICAgICBjb25zdCBjb3VudE9mSW5mb0lEcyA9IGRhdGEucmVhZFVJbnQzMkxFKG9mZnNldCk7XG4gICAgICBvZmZzZXQgKz0gNDtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudE9mSW5mb0lEczsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGZlZGF1dGhJbmZvSUQgPSBkYXRhLnJlYWRVSW50OChvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gMTtcblxuICAgICAgICBjb25zdCBmZWRBdXRoSW5mb0RhdGFMZW4gPSBkYXRhLnJlYWRVSW50MzJMRShvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gNDtcblxuICAgICAgICBjb25zdCBmZWRBdXRoSW5mb0RhdGFPZmZzZXQgPSBkYXRhLnJlYWRVSW50MzJMRShvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gNDtcblxuICAgICAgICBzd2l0Y2ggKGZlZGF1dGhJbmZvSUQpIHtcbiAgICAgICAgICBjYXNlIEZFREFVVEhJTkZPSUQuU1BOOlxuICAgICAgICAgICAgc3BuID0gZGF0YS50b1N0cmluZygndWNzMicsIGZlZEF1dGhJbmZvRGF0YU9mZnNldCwgZmVkQXV0aEluZm9EYXRhT2Zmc2V0ICsgZmVkQXV0aEluZm9EYXRhTGVuKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBGRURBVVRISU5GT0lELlNUU1VSTDpcbiAgICAgICAgICAgIHN0c3VybCA9IGRhdGEudG9TdHJpbmcoJ3VjczInLCBmZWRBdXRoSW5mb0RhdGFPZmZzZXQsIGZlZEF1dGhJbmZvRGF0YU9mZnNldCArIGZlZEF1dGhJbmZvRGF0YUxlbik7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIC8vIGlnbm9yaW5nIHVua25vd24gZmVkYXV0aGluZm8gb3B0aW9uc1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhuZXcgRmVkQXV0aEluZm9Ub2tlbihzcG4sIHN0c3VybCkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZmVkQXV0aEluZm9QYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IGZlZEF1dGhJbmZvUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxNQUFNQyxhQUFhLEdBQUc7RUFDcEJDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLEdBQUcsRUFBRTtBQUNQLENBQUM7QUFFRCxTQUFTQyxpQkFBaUJBLENBQUNDLE1BQWMsRUFBRUMsUUFBdUIsRUFBRUMsUUFBMkMsRUFBRTtFQUMvR0YsTUFBTSxDQUFDRyxZQUFZLENBQUVDLFdBQVcsSUFBSztJQUNuQ0osTUFBTSxDQUFDSyxVQUFVLENBQUNELFdBQVcsRUFBR0UsSUFBSSxJQUFLO01BQ3ZDLElBQUlDLEdBQXVCLEVBQUVDLE1BQTBCO01BRXZELElBQUlDLE1BQU0sR0FBRyxDQUFDO01BRWQsTUFBTUMsY0FBYyxHQUFHSixJQUFJLENBQUNILFlBQVksQ0FBQ00sTUFBTSxDQUFDO01BQ2hEQSxNQUFNLElBQUksQ0FBQztNQUVYLEtBQUssSUFBSUUsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRCxjQUFjLEVBQUVDLENBQUMsRUFBRSxFQUFFO1FBQ3ZDLE1BQU1DLGFBQWEsR0FBR04sSUFBSSxDQUFDTyxTQUFTLENBQUNKLE1BQU0sQ0FBQztRQUM1Q0EsTUFBTSxJQUFJLENBQUM7UUFFWCxNQUFNSyxrQkFBa0IsR0FBR1IsSUFBSSxDQUFDSCxZQUFZLENBQUNNLE1BQU0sQ0FBQztRQUNwREEsTUFBTSxJQUFJLENBQUM7UUFFWCxNQUFNTSxxQkFBcUIsR0FBR1QsSUFBSSxDQUFDSCxZQUFZLENBQUNNLE1BQU0sQ0FBQztRQUN2REEsTUFBTSxJQUFJLENBQUM7UUFFWCxRQUFRRyxhQUFhO1VBQ25CLEtBQUtoQixhQUFhLENBQUNFLEdBQUc7WUFDcEJTLEdBQUcsR0FBR0QsSUFBSSxDQUFDVSxRQUFRLENBQUMsTUFBTSxFQUFFRCxxQkFBcUIsRUFBRUEscUJBQXFCLEdBQUdELGtCQUFrQixDQUFDO1lBQzlGO1VBRUYsS0FBS2xCLGFBQWEsQ0FBQ0MsTUFBTTtZQUN2QlcsTUFBTSxHQUFHRixJQUFJLENBQUNVLFFBQVEsQ0FBQyxNQUFNLEVBQUVELHFCQUFxQixFQUFFQSxxQkFBcUIsR0FBR0Qsa0JBQWtCLENBQUM7WUFDakc7O1VBRUY7VUFDQTtZQUNFO1FBQ0o7TUFDRjtNQUVBWixRQUFRLENBQUMsSUFBSWUsdUJBQWdCLENBQUNWLEdBQUcsRUFBRUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUFBVSxRQUFBLEdBRWNuQixpQkFBaUI7QUFBQW9CLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQ2hDRyxNQUFNLENBQUNGLE9BQU8sR0FBR3BCLGlCQUFpQiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fedauth-info-parser.js","names":["_token","require","FEDAUTHINFOID","STSURL","SPN","fedAuthInfoParser","parser","_options","callback","readUInt32LE","tokenLength","readBuffer","data","spn","stsurl","offset","countOfInfoIDs","i","fedauthInfoID","readUInt8","fedAuthInfoDataLen","fedAuthInfoDataOffset","toString","FedAuthInfoToken","_default","exports","default","module"],"sources":["../../src/token/fedauth-info-parser.ts"],"sourcesContent":["import Parser, { ParserOptions } from './stream-parser';\nimport { FedAuthInfoToken } from './token';\n\nconst FEDAUTHINFOID = {\n STSURL: 0x01,\n SPN: 0x02\n};\n\nfunction fedAuthInfoParser(parser: Parser, _options: ParserOptions, callback: (token: FedAuthInfoToken) => void) {\n parser.readUInt32LE((tokenLength) => {\n parser.readBuffer(tokenLength, (data) => {\n let spn: string | undefined, stsurl: string | undefined;\n\n let offset = 0;\n\n const countOfInfoIDs = data.readUInt32LE(offset);\n offset += 4;\n\n for (let i = 0; i < countOfInfoIDs; i++) {\n const fedauthInfoID = data.readUInt8(offset);\n offset += 1;\n\n const fedAuthInfoDataLen = data.readUInt32LE(offset);\n offset += 4;\n\n const fedAuthInfoDataOffset = data.readUInt32LE(offset);\n offset += 4;\n\n switch (fedauthInfoID) {\n case FEDAUTHINFOID.SPN:\n spn = data.toString('ucs2', fedAuthInfoDataOffset, fedAuthInfoDataOffset + fedAuthInfoDataLen);\n break;\n\n case FEDAUTHINFOID.STSURL:\n stsurl = data.toString('ucs2', fedAuthInfoDataOffset, fedAuthInfoDataOffset + fedAuthInfoDataLen);\n break;\n\n // ignoring unknown fedauthinfo options\n default:\n break;\n }\n }\n\n callback(new FedAuthInfoToken(spn, stsurl));\n });\n });\n}\n\nexport default fedAuthInfoParser;\nmodule.exports = fedAuthInfoParser;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAG;EACpBC,MAAM,EAAE,IAAI;EACZC,GAAG,EAAE;AACP,CAAC;AAED,SAASC,iBAAiBA,CAACC,MAAc,EAAEC,QAAuB,EAAEC,QAA2C,EAAE;EAC/GF,MAAM,CAACG,YAAY,CAAEC,WAAW,IAAK;IACnCJ,MAAM,CAACK,UAAU,CAACD,WAAW,EAAGE,IAAI,IAAK;MACvC,IAAIC,GAAuB,EAAEC,MAA0B;MAEvD,IAAIC,MAAM,GAAG,CAAC;MAEd,MAAMC,cAAc,GAAGJ,IAAI,CAACH,YAAY,CAACM,MAAM,CAAC;MAChDA,MAAM,IAAI,CAAC;MAEX,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,cAAc,EAAEC,CAAC,EAAE,EAAE;QACvC,MAAMC,aAAa,GAAGN,IAAI,CAACO,SAAS,CAACJ,MAAM,CAAC;QAC5CA,MAAM,IAAI,CAAC;QAEX,MAAMK,kBAAkB,GAAGR,IAAI,CAACH,YAAY,CAACM,MAAM,CAAC;QACpDA,MAAM,IAAI,CAAC;QAEX,MAAMM,qBAAqB,GAAGT,IAAI,CAACH,YAAY,CAACM,MAAM,CAAC;QACvDA,MAAM,IAAI,CAAC;QAEX,QAAQG,aAAa;UACnB,KAAKhB,aAAa,CAACE,GAAG;YACpBS,GAAG,GAAGD,IAAI,CAACU,QAAQ,CAAC,MAAM,EAAED,qBAAqB,EAAEA,qBAAqB,GAAGD,kBAAkB,CAAC;YAC9F;UAEF,KAAKlB,aAAa,CAACC,MAAM;YACvBW,MAAM,GAAGF,IAAI,CAACU,QAAQ,CAAC,MAAM,EAAED,qBAAqB,EAAEA,qBAAqB,GAAGD,kBAAkB,CAAC;YACjG;;UAEF;UACA;YACE;QACJ;MACF;MAEAZ,QAAQ,CAAC,IAAIe,uBAAgB,CAACV,GAAG,EAAEC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAAC,IAAAU,QAAA,GAEcnB,iBAAiB;AAAAoB,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAChCG,MAAM,CAACF,OAAO,GAAGpB,iBAAiB"}
|