tedious 16.5.0 → 16.6.1
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/connection.js +4 -4
- package/lib/connection.js.map +1 -1
- package/lib/data-types/date.js +2 -2
- package/lib/data-types/date.js.map +1 -1
- package/lib/message-io.js +2 -2
- package/lib/message-io.js.map +1 -1
- package/lib/metadata-parser.js +361 -241
- package/lib/metadata-parser.js.map +1 -1
- package/lib/request.js +3 -3
- package/lib/request.js.map +1 -1
- package/lib/token/colmetadata-token-parser.js +103 -74
- package/lib/token/colmetadata-token-parser.js.map +1 -1
- package/lib/token/done-token-parser.js +52 -40
- package/lib/token/done-token-parser.js.map +1 -1
- package/lib/token/env-change-token-parser.js +110 -81
- package/lib/token/env-change-token-parser.js.map +1 -1
- package/lib/token/feature-ext-ack-parser.js +30 -22
- package/lib/token/feature-ext-ack-parser.js.map +1 -1
- package/lib/token/fedauth-info-parser.js +47 -30
- package/lib/token/fedauth-info-parser.js.map +1 -1
- package/lib/token/helpers.js +205 -0
- package/lib/token/helpers.js.map +1 -0
- package/lib/token/infoerror-token-parser.js +69 -36
- package/lib/token/infoerror-token-parser.js.map +1 -1
- package/lib/token/loginack-token-parser.js +59 -31
- package/lib/token/loginack-token-parser.js.map +1 -1
- package/lib/token/nbcrow-token-parser.js +60 -23
- package/lib/token/nbcrow-token-parser.js.map +1 -1
- package/lib/token/order-token-parser.js +22 -20
- package/lib/token/order-token-parser.js.map +1 -1
- package/lib/token/returnstatus-token-parser.js +9 -5
- package/lib/token/returnstatus-token-parser.js.map +1 -1
- package/lib/token/returnvalue-token-parser.js +79 -22
- package/lib/token/returnvalue-token-parser.js.map +1 -1
- package/lib/token/row-token-parser.js +50 -20
- package/lib/token/row-token-parser.js.map +1 -1
- package/lib/token/sspi-token-parser.js +14 -5
- package/lib/token/sspi-token-parser.js.map +1 -1
- package/lib/token/stream-parser.js +292 -324
- package/lib/token/stream-parser.js.map +1 -1
- package/lib/token/token.js +1 -1
- package/lib/token/token.js.map +1 -1
- package/lib/value-parser.js +655 -438
- package/lib/value-parser.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,43 +5,76 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.errorParser = errorParser;
|
|
7
7
|
exports.infoParser = infoParser;
|
|
8
|
+
var _helpers = require("./helpers");
|
|
8
9
|
var _token = require("./token");
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
10
|
+
function readToken(buf, offset, options) {
|
|
11
|
+
let tokenLength;
|
|
12
|
+
({
|
|
13
|
+
offset,
|
|
14
|
+
value: tokenLength
|
|
15
|
+
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
16
|
+
if (buf.length < tokenLength + offset) {
|
|
17
|
+
throw new _helpers.NotEnoughDataError(tokenLength + offset);
|
|
18
|
+
}
|
|
19
|
+
let number;
|
|
20
|
+
({
|
|
21
|
+
offset,
|
|
22
|
+
value: number
|
|
23
|
+
} = (0, _helpers.readUInt32LE)(buf, offset));
|
|
24
|
+
let state;
|
|
25
|
+
({
|
|
26
|
+
offset,
|
|
27
|
+
value: state
|
|
28
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
29
|
+
let clazz;
|
|
30
|
+
({
|
|
31
|
+
offset,
|
|
32
|
+
value: clazz
|
|
33
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
34
|
+
let message;
|
|
35
|
+
({
|
|
36
|
+
offset,
|
|
37
|
+
value: message
|
|
38
|
+
} = (0, _helpers.readUsVarChar)(buf, offset));
|
|
39
|
+
let serverName;
|
|
40
|
+
({
|
|
41
|
+
offset,
|
|
42
|
+
value: serverName
|
|
43
|
+
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
44
|
+
let procName;
|
|
45
|
+
({
|
|
46
|
+
offset,
|
|
47
|
+
value: procName
|
|
48
|
+
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
49
|
+
let lineNumber;
|
|
50
|
+
({
|
|
51
|
+
offset,
|
|
52
|
+
value: lineNumber
|
|
53
|
+
} = options.tdsVersion < '7_2' ? (0, _helpers.readUInt16LE)(buf, offset) : (0, _helpers.readUInt32LE)(buf, offset));
|
|
54
|
+
return new _helpers.Result({
|
|
55
|
+
'number': number,
|
|
56
|
+
'state': state,
|
|
57
|
+
'class': clazz,
|
|
58
|
+
'message': message,
|
|
59
|
+
'serverName': serverName,
|
|
60
|
+
'procName': procName,
|
|
61
|
+
'lineNumber': lineNumber
|
|
62
|
+
}, offset);
|
|
36
63
|
}
|
|
37
|
-
function infoParser(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
64
|
+
function infoParser(buf, offset, options) {
|
|
65
|
+
let data;
|
|
66
|
+
({
|
|
67
|
+
offset,
|
|
68
|
+
value: data
|
|
69
|
+
} = readToken(buf, offset, options));
|
|
70
|
+
return new _helpers.Result(new _token.InfoMessageToken(data), offset);
|
|
41
71
|
}
|
|
42
|
-
function errorParser(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
72
|
+
function errorParser(buf, offset, options) {
|
|
73
|
+
let data;
|
|
74
|
+
({
|
|
75
|
+
offset,
|
|
76
|
+
value: data
|
|
77
|
+
} = readToken(buf, offset, options));
|
|
78
|
+
return new _helpers.Result(new _token.ErrorMessageToken(data), offset);
|
|
46
79
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaGVscGVycyIsInJlcXVpcmUiLCJfdG9rZW4iLCJyZWFkVG9rZW4iLCJidWYiLCJvZmZzZXQiLCJvcHRpb25zIiwidG9rZW5MZW5ndGgiLCJ2YWx1ZSIsInJlYWRVSW50MTZMRSIsImxlbmd0aCIsIk5vdEVub3VnaERhdGFFcnJvciIsIm51bWJlciIsInJlYWRVSW50MzJMRSIsInN0YXRlIiwicmVhZFVJbnQ4IiwiY2xhenoiLCJtZXNzYWdlIiwicmVhZFVzVmFyQ2hhciIsInNlcnZlck5hbWUiLCJyZWFkQlZhckNoYXIiLCJwcm9jTmFtZSIsImxpbmVOdW1iZXIiLCJ0ZHNWZXJzaW9uIiwiUmVzdWx0IiwiaW5mb1BhcnNlciIsImRhdGEiLCJJbmZvTWVzc2FnZVRva2VuIiwiZXJyb3JQYXJzZXIiLCJFcnJvck1lc3NhZ2VUb2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9pbmZvZXJyb3ItdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdEVub3VnaERhdGFFcnJvciwgcmVhZEJWYXJDaGFyLCByZWFkVUludDE2TEUsIHJlYWRVSW50MzJMRSwgcmVhZFVJbnQ4LCByZWFkVXNWYXJDaGFyLCBSZXN1bHQgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgSW5mb01lc3NhZ2VUb2tlbiwgRXJyb3JNZXNzYWdlVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuaW50ZXJmYWNlIFRva2VuRGF0YSB7XG4gIG51bWJlcjogbnVtYmVyO1xuICBzdGF0ZTogbnVtYmVyO1xuICBjbGFzczogbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNlcnZlck5hbWU6IHN0cmluZztcbiAgcHJvY05hbWU6IHN0cmluZztcbiAgbGluZU51bWJlcjogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW4oYnVmOiBCdWZmZXIsIG9mZnNldDogbnVtYmVyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zKTogUmVzdWx0PFRva2VuRGF0YT4ge1xuICBsZXQgdG9rZW5MZW5ndGg7XG4gICh7IG9mZnNldCwgdmFsdWU6IHRva2VuTGVuZ3RoIH0gPSByZWFkVUludDE2TEUoYnVmLCBvZmZzZXQpKTtcblxuICBpZiAoYnVmLmxlbmd0aCA8IHRva2VuTGVuZ3RoICsgb2Zmc2V0KSB7XG4gICAgdGhyb3cgbmV3IE5vdEVub3VnaERhdGFFcnJvcih0b2tlbkxlbmd0aCArIG9mZnNldCk7XG4gIH1cblxuICBsZXQgbnVtYmVyO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBudW1iZXIgfSA9IHJlYWRVSW50MzJMRShidWYsIG9mZnNldCkpO1xuXG4gIGxldCBzdGF0ZTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogc3RhdGUgfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gIGxldCBjbGF6ejtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogY2xhenogfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gIGxldCBtZXNzYWdlO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBtZXNzYWdlIH0gPSByZWFkVXNWYXJDaGFyKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgbGV0IHNlcnZlck5hbWU7XG4gICh7IG9mZnNldCwgdmFsdWU6IHNlcnZlck5hbWUgfSA9IHJlYWRCVmFyQ2hhcihidWYsIG9mZnNldCkpO1xuXG4gIGxldCBwcm9jTmFtZTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogcHJvY05hbWUgfSA9IHJlYWRCVmFyQ2hhcihidWYsIG9mZnNldCkpO1xuXG4gIGxldCBsaW5lTnVtYmVyO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBsaW5lTnVtYmVyIH0gPSBvcHRpb25zLnRkc1ZlcnNpb24gPCAnN18yJyA/IHJlYWRVSW50MTZMRShidWYsIG9mZnNldCkgOiByZWFkVUludDMyTEUoYnVmLCBvZmZzZXQpKTtcblxuICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgJ251bWJlcic6IG51bWJlcixcbiAgICAnc3RhdGUnOiBzdGF0ZSxcbiAgICAnY2xhc3MnOiBjbGF6eixcbiAgICAnbWVzc2FnZSc6IG1lc3NhZ2UsXG4gICAgJ3NlcnZlck5hbWUnOiBzZXJ2ZXJOYW1lLFxuICAgICdwcm9jTmFtZSc6IHByb2NOYW1lLFxuICAgICdsaW5lTnVtYmVyJzogbGluZU51bWJlclxuICB9LCBvZmZzZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5mb1BhcnNlcihidWY6IEJ1ZmZlciwgb2Zmc2V0OiBudW1iZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMpOiBSZXN1bHQ8SW5mb01lc3NhZ2VUb2tlbj4ge1xuICBsZXQgZGF0YTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogZGF0YSB9ID0gcmVhZFRva2VuKGJ1Ziwgb2Zmc2V0LCBvcHRpb25zKSk7XG5cbiAgcmV0dXJuIG5ldyBSZXN1bHQobmV3IEluZm9NZXNzYWdlVG9rZW4oZGF0YSksIG9mZnNldCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcnJvclBhcnNlcihidWY6IEJ1ZmZlciwgb2Zmc2V0OiBudW1iZXIsIG9wdGlvbnM6IFBhcnNlck9wdGlvbnMpOiBSZXN1bHQ8RXJyb3JNZXNzYWdlVG9rZW4+IHtcbiAgbGV0IGRhdGE7XG4gICh7IG9mZnNldCwgdmFsdWU6IGRhdGEgfSA9IHJlYWRUb2tlbihidWYsIG9mZnNldCwgb3B0aW9ucykpO1xuXG4gIHJldHVybiBuZXcgUmVzdWx0KG5ldyBFcnJvck1lc3NhZ2VUb2tlbihkYXRhKSwgb2Zmc2V0KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUdBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQVlBLFNBQVNFLFNBQVNBLENBQUNDLEdBQVcsRUFBRUMsTUFBYyxFQUFFQyxPQUFzQixFQUFxQjtFQUN6RixJQUFJQyxXQUFXO0VBQ2YsQ0FBQztJQUFFRixNQUFNO0lBQUVHLEtBQUssRUFBRUQ7RUFBWSxDQUFDLEdBQUcs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoerror-token-parser.js","names":["
|
|
1
|
+
{"version":3,"file":"infoerror-token-parser.js","names":["_helpers","require","_token","readToken","buf","offset","options","tokenLength","value","readUInt16LE","length","NotEnoughDataError","number","readUInt32LE","state","readUInt8","clazz","message","readUsVarChar","serverName","readBVarChar","procName","lineNumber","tdsVersion","Result","infoParser","data","InfoMessageToken","errorParser","ErrorMessageToken"],"sources":["../../src/token/infoerror-token-parser.ts"],"sourcesContent":["import { NotEnoughDataError, readBVarChar, readUInt16LE, readUInt32LE, readUInt8, readUsVarChar, Result } from './helpers';\nimport { type ParserOptions } from './stream-parser';\n\nimport { InfoMessageToken, ErrorMessageToken } from './token';\n\ninterface TokenData {\n number: number;\n state: number;\n class: number;\n message: string;\n serverName: string;\n procName: string;\n lineNumber: number;\n}\n\nfunction readToken(buf: Buffer, offset: number, options: ParserOptions): Result<TokenData> {\n let tokenLength;\n ({ offset, value: tokenLength } = readUInt16LE(buf, offset));\n\n if (buf.length < tokenLength + offset) {\n throw new NotEnoughDataError(tokenLength + offset);\n }\n\n let number;\n ({ offset, value: number } = readUInt32LE(buf, offset));\n\n let state;\n ({ offset, value: state } = readUInt8(buf, offset));\n\n let clazz;\n ({ offset, value: clazz } = readUInt8(buf, offset));\n\n let message;\n ({ offset, value: message } = readUsVarChar(buf, offset));\n\n let serverName;\n ({ offset, value: serverName } = readBVarChar(buf, offset));\n\n let procName;\n ({ offset, value: procName } = readBVarChar(buf, offset));\n\n let lineNumber;\n ({ offset, value: lineNumber } = options.tdsVersion < '7_2' ? readUInt16LE(buf, offset) : readUInt32LE(buf, offset));\n\n return new Result({\n 'number': number,\n 'state': state,\n 'class': clazz,\n 'message': message,\n 'serverName': serverName,\n 'procName': procName,\n 'lineNumber': lineNumber\n }, offset);\n}\n\nexport function infoParser(buf: Buffer, offset: number, options: ParserOptions): Result<InfoMessageToken> {\n let data;\n ({ offset, value: data } = readToken(buf, offset, options));\n\n return new Result(new InfoMessageToken(data), offset);\n}\n\nexport function errorParser(buf: Buffer, offset: number, options: ParserOptions): Result<ErrorMessageToken> {\n let data;\n ({ offset, value: data } = readToken(buf, offset, options));\n\n return new Result(new ErrorMessageToken(data), offset);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAYA,SAASE,SAASA,CAACC,GAAW,EAAEC,MAAc,EAAEC,OAAsB,EAAqB;EACzF,IAAIC,WAAW;EACf,CAAC;IAAEF,MAAM;IAAEG,KAAK,EAAED;EAAY,CAAC,GAAG,IAAAE,qBAAY,EAACL,GAAG,EAAEC,MAAM,CAAC;EAE3D,IAAID,GAAG,CAACM,MAAM,GAAGH,WAAW,GAAGF,MAAM,EAAE;IACrC,MAAM,IAAIM,2BAAkB,CAACJ,WAAW,GAAGF,MAAM,CAAC;EACpD;EAEA,IAAIO,MAAM;EACV,CAAC;IAAEP,MAAM;IAAEG,KAAK,EAAEI;EAAO,CAAC,GAAG,IAAAC,qBAAY,EAACT,GAAG,EAAEC,MAAM,CAAC;EAEtD,IAAIS,KAAK;EACT,CAAC;IAAET,MAAM;IAAEG,KAAK,EAAEM;EAAM,CAAC,GAAG,IAAAC,kBAAS,EAACX,GAAG,EAAEC,MAAM,CAAC;EAElD,IAAIW,KAAK;EACT,CAAC;IAAEX,MAAM;IAAEG,KAAK,EAAEQ;EAAM,CAAC,GAAG,IAAAD,kBAAS,EAACX,GAAG,EAAEC,MAAM,CAAC;EAElD,IAAIY,OAAO;EACX,CAAC;IAAEZ,MAAM;IAAEG,KAAK,EAAES;EAAQ,CAAC,GAAG,IAAAC,sBAAa,EAACd,GAAG,EAAEC,MAAM,CAAC;EAExD,IAAIc,UAAU;EACd,CAAC;IAAEd,MAAM;IAAEG,KAAK,EAAEW;EAAW,CAAC,GAAG,IAAAC,qBAAY,EAAChB,GAAG,EAAEC,MAAM,CAAC;EAE1D,IAAIgB,QAAQ;EACZ,CAAC;IAAEhB,MAAM;IAAEG,KAAK,EAAEa;EAAS,CAAC,GAAG,IAAAD,qBAAY,EAAChB,GAAG,EAAEC,MAAM,CAAC;EAExD,IAAIiB,UAAU;EACd,CAAC;IAAEjB,MAAM;IAAEG,KAAK,EAAEc;EAAW,CAAC,GAAGhB,OAAO,CAACiB,UAAU,GAAG,KAAK,GAAG,IAAAd,qBAAY,EAACL,GAAG,EAAEC,MAAM,CAAC,GAAG,IAAAQ,qBAAY,EAACT,GAAG,EAAEC,MAAM,CAAC;EAEnH,OAAO,IAAImB,eAAM,CAAC;IAChB,QAAQ,EAAEZ,MAAM;IAChB,OAAO,EAAEE,KAAK;IACd,OAAO,EAAEE,KAAK;IACd,SAAS,EAAEC,OAAO;IAClB,YAAY,EAAEE,UAAU;IACxB,UAAU,EAAEE,QAAQ;IACpB,YAAY,EAAEC;EAChB,CAAC,EAAEjB,MAAM,CAAC;AACZ;AAEO,SAASoB,UAAUA,CAACrB,GAAW,EAAEC,MAAc,EAAEC,OAAsB,EAA4B;EACxG,IAAIoB,IAAI;EACR,CAAC;IAAErB,MAAM;IAAEG,KAAK,EAAEkB;EAAK,CAAC,GAAGvB,SAAS,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAE1D,OAAO,IAAIkB,eAAM,CAAC,IAAIG,uBAAgB,CAACD,IAAI,CAAC,EAAErB,MAAM,CAAC;AACvD;AAEO,SAASuB,WAAWA,CAACxB,GAAW,EAAEC,MAAc,EAAEC,OAAsB,EAA6B;EAC1G,IAAIoB,IAAI;EACR,CAAC;IAAErB,MAAM;IAAEG,KAAK,EAAEkB;EAAK,CAAC,GAAGvB,SAAS,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAE1D,OAAO,IAAIkB,eAAM,CAAC,IAAIK,wBAAiB,CAACH,IAAI,CAAC,EAAErB,MAAM,CAAC;AACxD"}
|
|
@@ -6,43 +6,71 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _token = require("./token");
|
|
8
8
|
var _tdsVersions = require("../tds-versions");
|
|
9
|
+
var _helpers = require("./helpers");
|
|
9
10
|
const interfaceTypes = {
|
|
10
11
|
0: 'SQL_DFLT',
|
|
11
12
|
1: 'SQL_TSQL'
|
|
12
13
|
};
|
|
13
|
-
function loginAckParser(
|
|
14
|
+
function loginAckParser(buf, offset, _options) {
|
|
14
15
|
// length
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
16
|
+
let tokenLength;
|
|
17
|
+
({
|
|
18
|
+
offset,
|
|
19
|
+
value: tokenLength
|
|
20
|
+
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
21
|
+
if (buf.length < tokenLength + offset) {
|
|
22
|
+
throw new _helpers.NotEnoughDataError(tokenLength + offset);
|
|
23
|
+
}
|
|
24
|
+
let interfaceNumber;
|
|
25
|
+
({
|
|
26
|
+
offset,
|
|
27
|
+
value: interfaceNumber
|
|
28
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
29
|
+
const interfaceType = interfaceTypes[interfaceNumber];
|
|
30
|
+
let tdsVersionNumber;
|
|
31
|
+
({
|
|
32
|
+
offset,
|
|
33
|
+
value: tdsVersionNumber
|
|
34
|
+
} = (0, _helpers.readUInt32BE)(buf, offset));
|
|
35
|
+
const tdsVersion = _tdsVersions.versionsByValue[tdsVersionNumber];
|
|
36
|
+
let progName;
|
|
37
|
+
({
|
|
38
|
+
offset,
|
|
39
|
+
value: progName
|
|
40
|
+
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
41
|
+
let major;
|
|
42
|
+
({
|
|
43
|
+
offset,
|
|
44
|
+
value: major
|
|
45
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
46
|
+
let minor;
|
|
47
|
+
({
|
|
48
|
+
offset,
|
|
49
|
+
value: minor
|
|
50
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
51
|
+
let buildNumHi;
|
|
52
|
+
({
|
|
53
|
+
offset,
|
|
54
|
+
value: buildNumHi
|
|
55
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
56
|
+
let buildNumLow;
|
|
57
|
+
({
|
|
58
|
+
offset,
|
|
59
|
+
value: buildNumLow
|
|
60
|
+
} = (0, _helpers.readUInt8)(buf, offset));
|
|
61
|
+
return new _helpers.Result(new _token.LoginAckToken({
|
|
62
|
+
interface: interfaceType,
|
|
63
|
+
tdsVersion: tdsVersion,
|
|
64
|
+
progName: progName,
|
|
65
|
+
progVersion: {
|
|
66
|
+
major: major,
|
|
67
|
+
minor: minor,
|
|
68
|
+
buildNumHi: buildNumHi,
|
|
69
|
+
buildNumLow: buildNumLow
|
|
70
|
+
}
|
|
71
|
+
}), offset);
|
|
44
72
|
}
|
|
45
73
|
var _default = loginAckParser;
|
|
46
74
|
exports.default = _default;
|
|
47
75
|
module.exports = loginAckParser;
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3Rkc1ZlcnNpb25zIiwiX2hlbHBlcnMiLCJpbnRlcmZhY2VUeXBlcyIsImxvZ2luQWNrUGFyc2VyIiwiYnVmIiwib2Zmc2V0IiwiX29wdGlvbnMiLCJ0b2tlbkxlbmd0aCIsInZhbHVlIiwicmVhZFVJbnQxNkxFIiwibGVuZ3RoIiwiTm90RW5vdWdoRGF0YUVycm9yIiwiaW50ZXJmYWNlTnVtYmVyIiwicmVhZFVJbnQ4IiwiaW50ZXJmYWNlVHlwZSIsInRkc1ZlcnNpb25OdW1iZXIiLCJyZWFkVUludDMyQkUiLCJ0ZHNWZXJzaW9uIiwidmVyc2lvbnMiLCJwcm9nTmFtZSIsInJlYWRCVmFyQ2hhciIsIm1ham9yIiwibWlub3IiLCJidWlsZE51bUhpIiwiYnVpbGROdW1Mb3ciLCJSZXN1bHQiLCJMb2dpbkFja1Rva2VuIiwiaW50ZXJmYWNlIiwicHJvZ1ZlcnNpb24iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL2xvZ2luYWNrLXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3N0cmVhbS1wYXJzZXInO1xuXG5pbXBvcnQgeyBMb2dpbkFja1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmltcG9ydCB7IHZlcnNpb25zQnlWYWx1ZSBhcyB2ZXJzaW9ucyB9IGZyb20gJy4uL3Rkcy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBOb3RFbm91Z2hEYXRhRXJyb3IsIHJlYWRCVmFyQ2hhciwgcmVhZFVJbnQxNkxFLCByZWFkVUludDMyQkUsIHJlYWRVSW50OCwgUmVzdWx0IH0gZnJvbSAnLi9oZWxwZXJzJztcblxuY29uc3QgaW50ZXJmYWNlVHlwZXM6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nIH0gPSB7XG4gIDA6ICdTUUxfREZMVCcsXG4gIDE6ICdTUUxfVFNRTCdcbn07XG5cbmZ1bmN0aW9uIGxvZ2luQWNrUGFyc2VyKGJ1ZjogQnVmZmVyLCBvZmZzZXQ6IG51bWJlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMpOiBSZXN1bHQ8TG9naW5BY2tUb2tlbj4ge1xuICAvLyBsZW5ndGhcbiAgbGV0IHRva2VuTGVuZ3RoO1xuICAoeyBvZmZzZXQsIHZhbHVlOiB0b2tlbkxlbmd0aCB9ID0gcmVhZFVJbnQxNkxFKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgaWYgKGJ1Zi5sZW5ndGggPCB0b2tlbkxlbmd0aCArIG9mZnNldCkge1xuICAgIHRocm93IG5ldyBOb3RFbm91Z2hEYXRhRXJyb3IodG9rZW5MZW5ndGggKyBvZmZzZXQpO1xuICB9XG5cbiAgbGV0IGludGVyZmFjZU51bWJlcjtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogaW50ZXJmYWNlTnVtYmVyIH0gPSByZWFkVUludDgoYnVmLCBvZmZzZXQpKTtcblxuICBjb25zdCBpbnRlcmZhY2VUeXBlID0gaW50ZXJmYWNlVHlwZXNbaW50ZXJmYWNlTnVtYmVyXTtcblxuICBsZXQgdGRzVmVyc2lvbk51bWJlcjtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogdGRzVmVyc2lvbk51bWJlciB9ID0gcmVhZFVJbnQzMkJFKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgY29uc3QgdGRzVmVyc2lvbiA9IHZlcnNpb25zW3Rkc1ZlcnNpb25OdW1iZXJdO1xuXG4gIGxldCBwcm9nTmFtZTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogcHJvZ05hbWUgfSA9IHJlYWRCVmFyQ2hhcihidWYsIG9mZnNldCkpO1xuXG4gIGxldCBtYWpvcjtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogbWFqb3IgfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gIGxldCBtaW5vcjtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogbWlub3IgfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gIGxldCBidWlsZE51bUhpO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBidWlsZE51bUhpIH0gPSByZWFkVUludDgoYnVmLCBvZmZzZXQpKTtcblxuICBsZXQgYnVpbGROdW1Mb3c7XG4gICh7IG9mZnNldCwgdmFsdWU6IGJ1aWxkTnVtTG93IH0gPSByZWFkVUludDgoYnVmLCBvZmZzZXQpKTtcblxuICByZXR1cm4gbmV3IFJlc3VsdChuZXcgTG9naW5BY2tUb2tlbih7XG4gICAgaW50ZXJmYWNlOiBpbnRlcmZhY2VUeXBlLFxuICAgIHRkc1ZlcnNpb246IHRkc1ZlcnNpb24sXG4gICAgcHJvZ05hbWU6IHByb2dOYW1lLFxuICAgIHByb2dWZXJzaW9uOiB7XG4gICAgICBtYWpvcjogbWFqb3IsXG4gICAgICBtaW5vcjogbWlub3IsXG4gICAgICBidWlsZE51bUhpOiBidWlsZE51bUhpLFxuICAgICAgYnVpbGROdW1Mb3c6IGJ1aWxkTnVtTG93XG4gICAgfVxuICB9KSwgb2Zmc2V0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbG9naW5BY2tQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IGxvZ2luQWNrUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFFQSxNQUFNRyxjQUF5QyxHQUFHO0VBQ2hELENBQUMsRUFBRSxVQUFVO0VBQ2IsQ0FBQyxFQUFFO0FBQ0wsQ0FBQztBQUVELFNBQVNDLGNBQWNBLENBQUNDLEdBQVcsRUFBRUMsTUFBYyxFQUFFQyxRQUF1QixFQUF5QjtFQUNuRztFQUNBLElBQUlDLFdBQVc7RUFDZixDQUFDO0lBQUVGLE1BQU07SUFBRUcsS0FBSyxFQUFFRDtFQUFZLENBQUMsR0FBRyxJQUFBRSxxQkFBWSxFQUFDTCxHQUFHLEVBQUVDLE1BQU0sQ0FBQztFQUUzRCxJQUFJRCxHQUFHLENBQUNNLE1BQU0sR0FBR0gsV0FBVyxHQUFHRixNQUFNLEVBQUU7SUFDckMsTUFBTSxJQUFJTSwyQkFBa0IsQ0FBQ0osV0FBVyxHQUFHRixNQUFNLENBQUM7RUFDcEQ7RUFFQSxJQUFJTyxlQUFlO0VBQ25CLENBQUM7SUFBRVAsTUFBTTtJQUFFRyxLQUFLLEVBQUVJO0VBQWdCLENBQUMsR0FBRyxJQUFBQyxrQkFBUyxFQUFDVCxHQUFHLEVBQUVDLE1BQU0sQ0FBQztFQUU1RCxNQUFNUyxhQUFhLEdBQUdaLGNBQWMsQ0FBQ1UsZUFBZSxDQUFDO0VBRXJELElBQUlHLGdCQUFnQjtFQUNwQixDQUFDO0lBQUVWLE1BQU07SUFBRUcsS0FBSyxFQUFFTztFQUFpQixDQUFDLEdBQUcsSUFBQUMscUJBQVksRUFBQ1osR0FBRyxFQUFFQyxNQUFNLENBQUM7RUFFaEUsTUFBTVksVUFBVSxHQUFHQyw0QkFBUSxDQUFDSCxnQkFBZ0IsQ0FBQztFQUU3QyxJQUFJSSxRQUFRO0VBQ1osQ0FBQztJQUFFZCxNQUFNO0lBQUVHLEtBQUssRUFBRVc7RUFBUyxDQUFDLEdBQUcsSUFBQUMscUJBQVksRUFBQ2hCLEdBQUcsRUFBRUMsTUFBTSxDQUFDO0VBRXhELElBQUlnQixLQUFLO0VBQ1QsQ0FBQztJQUFFaEIsTUFBTTtJQUFFRyxLQUFLLEVBQUVhO0VBQU0sQ0FBQyxHQUFHLElBQUFSLGtCQUFTLEVBQUNULEdBQUcsRUFBRUMsTUFBTSxDQUFDO0VBRWxELElBQUlpQixLQUFLO0VBQ1QsQ0FBQztJQUFFakIsTUFBTTtJQUFFRyxLQUFLLEVBQUVjO0VBQU0sQ0FBQyxHQUFHLElBQUFULGtCQUFTLEVBQUNULEdBQUcsRUFBRUMsTUFBTSxDQUFDO0VBRWxELElBQUlrQixVQUFVO0VBQ2QsQ0FBQztJQUFFbEIsTUFBTTtJQUFFRyxLQUFLLEVBQUVlO0VBQVcsQ0FBQyxHQUFHLElBQUFWLGtCQUFTLEVBQUNULEdBQUcsRUFBRUMsTUFBTSxDQUFDO0VBRXZELElBQUltQixXQUFXO0VBQ2YsQ0FBQztJQUFFbkIsTUFBTTtJQUFFRyxLQUFLLEVBQUVnQjtFQUFZLENBQUMsR0FBRyxJQUFBWCxrQkFBUyxFQUFDVCxHQUFHLEVBQUVDLE1BQU0sQ0FBQztFQUV4RCxPQUFPLElBQUlvQixlQUFNLENBQUMsSUFBSUMsb0JBQWEsQ0FBQztJQUNsQ0MsU0FBUyxFQUFFYixhQUFhO0lBQ3hCRyxVQUFVLEVBQUVBLFVBQVU7SUFDdEJFLFFBQVEsRUFBRUEsUUFBUTtJQUNsQlMsV0FBVyxFQUFFO01BQ1hQLEtBQUssRUFBRUEsS0FBSztNQUNaQyxLQUFLLEVBQUVBLEtBQUs7TUFDWkMsVUFBVSxFQUFFQSxVQUFVO01BQ3RCQyxXQUFXLEVBQUVBO0lBQ2Y7RUFDRixDQUFDLENBQUMsRUFBRW5CLE1BQU0sQ0FBQztBQUNiO0FBQUMsSUFBQXdCLFFBQUEsR0FFYzFCLGNBQWM7QUFBQTJCLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBO0FBQzdCRyxNQUFNLENBQUNGLE9BQU8sR0FBRzNCLGNBQWMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginack-token-parser.js","names":["_token","require","_tdsVersions","interfaceTypes","loginAckParser","
|
|
1
|
+
{"version":3,"file":"loginack-token-parser.js","names":["_token","require","_tdsVersions","_helpers","interfaceTypes","loginAckParser","buf","offset","_options","tokenLength","value","readUInt16LE","length","NotEnoughDataError","interfaceNumber","readUInt8","interfaceType","tdsVersionNumber","readUInt32BE","tdsVersion","versions","progName","readBVarChar","major","minor","buildNumHi","buildNumLow","Result","LoginAckToken","interface","progVersion","_default","exports","default","module"],"sources":["../../src/token/loginack-token-parser.ts"],"sourcesContent":["import { type ParserOptions } from './stream-parser';\n\nimport { LoginAckToken } from './token';\n\nimport { versionsByValue as versions } from '../tds-versions';\nimport { NotEnoughDataError, readBVarChar, readUInt16LE, readUInt32BE, readUInt8, Result } from './helpers';\n\nconst interfaceTypes: { [key: number]: string } = {\n 0: 'SQL_DFLT',\n 1: 'SQL_TSQL'\n};\n\nfunction loginAckParser(buf: Buffer, offset: number, _options: ParserOptions): Result<LoginAckToken> {\n // length\n let tokenLength;\n ({ offset, value: tokenLength } = readUInt16LE(buf, offset));\n\n if (buf.length < tokenLength + offset) {\n throw new NotEnoughDataError(tokenLength + offset);\n }\n\n let interfaceNumber;\n ({ offset, value: interfaceNumber } = readUInt8(buf, offset));\n\n const interfaceType = interfaceTypes[interfaceNumber];\n\n let tdsVersionNumber;\n ({ offset, value: tdsVersionNumber } = readUInt32BE(buf, offset));\n\n const tdsVersion = versions[tdsVersionNumber];\n\n let progName;\n ({ offset, value: progName } = readBVarChar(buf, offset));\n\n let major;\n ({ offset, value: major } = readUInt8(buf, offset));\n\n let minor;\n ({ offset, value: minor } = readUInt8(buf, offset));\n\n let buildNumHi;\n ({ offset, value: buildNumHi } = readUInt8(buf, offset));\n\n let buildNumLow;\n ({ offset, value: buildNumLow } = readUInt8(buf, offset));\n\n return new Result(new LoginAckToken({\n interface: interfaceType,\n tdsVersion: tdsVersion,\n progName: progName,\n progVersion: {\n major: major,\n minor: minor,\n buildNumHi: buildNumHi,\n buildNumLow: buildNumLow\n }\n }), offset);\n}\n\nexport default loginAckParser;\nmodule.exports = loginAckParser;\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,cAAyC,GAAG;EAChD,CAAC,EAAE,UAAU;EACb,CAAC,EAAE;AACL,CAAC;AAED,SAASC,cAAcA,CAACC,GAAW,EAAEC,MAAc,EAAEC,QAAuB,EAAyB;EACnG;EACA,IAAIC,WAAW;EACf,CAAC;IAAEF,MAAM;IAAEG,KAAK,EAAED;EAAY,CAAC,GAAG,IAAAE,qBAAY,EAACL,GAAG,EAAEC,MAAM,CAAC;EAE3D,IAAID,GAAG,CAACM,MAAM,GAAGH,WAAW,GAAGF,MAAM,EAAE;IACrC,MAAM,IAAIM,2BAAkB,CAACJ,WAAW,GAAGF,MAAM,CAAC;EACpD;EAEA,IAAIO,eAAe;EACnB,CAAC;IAAEP,MAAM;IAAEG,KAAK,EAAEI;EAAgB,CAAC,GAAG,IAAAC,kBAAS,EAACT,GAAG,EAAEC,MAAM,CAAC;EAE5D,MAAMS,aAAa,GAAGZ,cAAc,CAACU,eAAe,CAAC;EAErD,IAAIG,gBAAgB;EACpB,CAAC;IAAEV,MAAM;IAAEG,KAAK,EAAEO;EAAiB,CAAC,GAAG,IAAAC,qBAAY,EAACZ,GAAG,EAAEC,MAAM,CAAC;EAEhE,MAAMY,UAAU,GAAGC,4BAAQ,CAACH,gBAAgB,CAAC;EAE7C,IAAII,QAAQ;EACZ,CAAC;IAAEd,MAAM;IAAEG,KAAK,EAAEW;EAAS,CAAC,GAAG,IAAAC,qBAAY,EAAChB,GAAG,EAAEC,MAAM,CAAC;EAExD,IAAIgB,KAAK;EACT,CAAC;IAAEhB,MAAM;IAAEG,KAAK,EAAEa;EAAM,CAAC,GAAG,IAAAR,kBAAS,EAACT,GAAG,EAAEC,MAAM,CAAC;EAElD,IAAIiB,KAAK;EACT,CAAC;IAAEjB,MAAM;IAAEG,KAAK,EAAEc;EAAM,CAAC,GAAG,IAAAT,kBAAS,EAACT,GAAG,EAAEC,MAAM,CAAC;EAElD,IAAIkB,UAAU;EACd,CAAC;IAAElB,MAAM;IAAEG,KAAK,EAAEe;EAAW,CAAC,GAAG,IAAAV,kBAAS,EAACT,GAAG,EAAEC,MAAM,CAAC;EAEvD,IAAImB,WAAW;EACf,CAAC;IAAEnB,MAAM;IAAEG,KAAK,EAAEgB;EAAY,CAAC,GAAG,IAAAX,kBAAS,EAACT,GAAG,EAAEC,MAAM,CAAC;EAExD,OAAO,IAAIoB,eAAM,CAAC,IAAIC,oBAAa,CAAC;IAClCC,SAAS,EAAEb,aAAa;IACxBG,UAAU,EAAEA,UAAU;IACtBE,QAAQ,EAAEA,QAAQ;IAClBS,WAAW,EAAE;MACXP,KAAK,EAAEA,KAAK;MACZC,KAAK,EAAEA,KAAK;MACZC,UAAU,EAAEA,UAAU;MACtBC,WAAW,EAAEA;IACf;EACF,CAAC,CAAC,EAAEnB,MAAM,CAAC;AACb;AAAC,IAAAwB,QAAA,GAEc1B,cAAc;AAAA2B,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAC7BG,MAAM,CAACF,OAAO,GAAG3B,cAAc"}
|
|
@@ -5,20 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _token = require("./token");
|
|
8
|
-
var
|
|
9
|
-
|
|
8
|
+
var iconv = _interopRequireWildcard(require("iconv-lite"));
|
|
9
|
+
var _valueParser = require("../value-parser");
|
|
10
|
+
var _helpers = require("./helpers");
|
|
11
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
10
13
|
// s2.2.7.13 (introduced in TDS 7.3.B)
|
|
11
14
|
|
|
12
|
-
function nullHandler(_parser, _columnMetadata, _options, callback) {
|
|
13
|
-
callback(null);
|
|
14
|
-
}
|
|
15
15
|
async function nbcRowParser(parser) {
|
|
16
16
|
const colMetadata = parser.colMetadata;
|
|
17
|
-
const bitmapByteLength = Math.ceil(colMetadata.length / 8);
|
|
18
17
|
const columns = [];
|
|
19
18
|
const bitmap = [];
|
|
19
|
+
const bitmapByteLength = Math.ceil(colMetadata.length / 8);
|
|
20
20
|
while (parser.buffer.length - parser.position < bitmapByteLength) {
|
|
21
|
-
await parser.
|
|
21
|
+
await parser.waitForChunk();
|
|
22
22
|
}
|
|
23
23
|
const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);
|
|
24
24
|
parser.position += bitmapByteLength;
|
|
@@ -34,24 +34,61 @@ async function nbcRowParser(parser) {
|
|
|
34
34
|
bitmap.push(byte & 0b10000000 ? true : false);
|
|
35
35
|
}
|
|
36
36
|
for (let i = 0; i < colMetadata.length; i++) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
const metadata = colMetadata[i];
|
|
38
|
+
if (bitmap[i]) {
|
|
39
|
+
columns.push({
|
|
40
|
+
value: null,
|
|
41
|
+
metadata
|
|
42
|
+
});
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
while (true) {
|
|
46
|
+
if ((0, _valueParser.isPLPStream)(metadata)) {
|
|
47
|
+
const chunks = await (0, _valueParser.readPLPStream)(parser);
|
|
48
|
+
if (chunks === null) {
|
|
49
|
+
columns.push({
|
|
50
|
+
value: chunks,
|
|
51
|
+
metadata
|
|
52
|
+
});
|
|
53
|
+
} else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {
|
|
54
|
+
columns.push({
|
|
55
|
+
value: Buffer.concat(chunks).toString('ucs2'),
|
|
56
|
+
metadata
|
|
57
|
+
});
|
|
58
|
+
} else if (metadata.type.name === 'VarChar') {
|
|
59
|
+
var _metadata$collation;
|
|
60
|
+
columns.push({
|
|
61
|
+
value: iconv.decode(Buffer.concat(chunks), ((_metadata$collation = metadata.collation) === null || _metadata$collation === void 0 ? void 0 : _metadata$collation.codepage) ?? 'utf8'),
|
|
62
|
+
metadata
|
|
63
|
+
});
|
|
64
|
+
} else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {
|
|
65
|
+
columns.push({
|
|
66
|
+
value: Buffer.concat(chunks),
|
|
67
|
+
metadata
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
let result;
|
|
72
|
+
try {
|
|
73
|
+
result = (0, _valueParser.readValue)(parser.buffer, parser.position, metadata, parser.options);
|
|
74
|
+
} catch (err) {
|
|
75
|
+
if (err instanceof _helpers.NotEnoughDataError) {
|
|
76
|
+
await parser.waitForChunk();
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
throw err;
|
|
80
|
+
}
|
|
81
|
+
parser.position = result.offset;
|
|
82
|
+
columns.push({
|
|
83
|
+
value: result.value,
|
|
84
|
+
metadata
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
break;
|
|
47
88
|
}
|
|
48
|
-
columns.push({
|
|
49
|
-
value,
|
|
50
|
-
metadata: currColMetadata
|
|
51
|
-
});
|
|
52
89
|
}
|
|
53
90
|
if (parser.options.useColumnNames) {
|
|
54
|
-
const columnsMap =
|
|
91
|
+
const columnsMap = Object.create(null);
|
|
55
92
|
columns.forEach(column => {
|
|
56
93
|
const colName = column.metadata.colName;
|
|
57
94
|
if (columnsMap[colName] == null) {
|
|
@@ -66,4 +103,4 @@ async function nbcRowParser(parser) {
|
|
|
66
103
|
var _default = nbcRowParser;
|
|
67
104
|
exports.default = _default;
|
|
68
105
|
module.exports = nbcRowParser;
|
|
69
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3ZhbHVlUGFyc2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibnVsbEhhbmRsZXIiLCJfcGFyc2VyIiwiX2NvbHVtbk1ldGFkYXRhIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsIm5iY1Jvd1BhcnNlciIsInBhcnNlciIsImNvbE1ldGFkYXRhIiwiYml0bWFwQnl0ZUxlbmd0aCIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiY29sdW1ucyIsImJpdG1hcCIsImJ1ZmZlciIsInBvc2l0aW9uIiwic3RyZWFtQnVmZmVyIiwid2FpdEZvckNodW5rIiwiYnl0ZXMiLCJzbGljZSIsImkiLCJsZW4iLCJieXRlIiwicHVzaCIsImN1cnJDb2xNZXRhZGF0YSIsInZhbHVlIiwidmFsdWVQYXJzZSIsIm9wdGlvbnMiLCJ2Iiwic3VzcGVuZGVkIiwibmV4dCIsIm1ldGFkYXRhIiwidXNlQ29sdW1uTmFtZXMiLCJjb2x1bW5zTWFwIiwiZm9yRWFjaCIsImNvbHVtbiIsImNvbE5hbWUiLCJOQkNSb3dUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9uYmNyb3ctdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xMyAoaW50cm9kdWNlZCBpbiBURFMgNy4zLkIpXG5cbmltcG9ydCBQYXJzZXIsIHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcbmltcG9ydCB7IHR5cGUgQ29sdW1uTWV0YWRhdGEgfSBmcm9tICcuL2NvbG1ldGFkYXRhLXRva2VuLXBhcnNlcic7XG5cbmltcG9ydCB7IE5CQ1Jvd1Rva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmltcG9ydCB2YWx1ZVBhcnNlIGZyb20gJy4uL3ZhbHVlLXBhcnNlcic7XG5cbmZ1bmN0aW9uIG51bGxIYW5kbGVyKF9wYXJzZXI6IFBhcnNlciwgX2NvbHVtbk1ldGFkYXRhOiBDb2x1bW5NZXRhZGF0YSwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQpIHtcbiAgY2FsbGJhY2sobnVsbCk7XG59XG5cbmludGVyZmFjZSBDb2x1bW4ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgbWV0YWRhdGE6IENvbHVtbk1ldGFkYXRhO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYmNSb3dQYXJzZXIocGFyc2VyOiBQYXJzZXIpOiBQcm9taXNlPE5CQ1Jvd1Rva2VuPiB7XG4gIGNvbnN0IGNvbE1ldGFkYXRhID0gcGFyc2VyLmNvbE1ldGFkYXRhO1xuICBjb25zdCBiaXRtYXBCeXRlTGVuZ3RoID0gTWF0aC5jZWlsKGNvbE1ldGFkYXRhLmxlbmd0aCAvIDgpO1xuICBjb25zdCBjb2x1bW5zOiBDb2x1bW5bXSA9IFtdO1xuICBjb25zdCBiaXRtYXA6IGJvb2xlYW5bXSA9IFtdO1xuXG4gIHdoaWxlIChwYXJzZXIuYnVmZmVyLmxlbmd0aCAtIHBhcnNlci5wb3NpdGlvbiA8IGJpdG1hcEJ5dGVMZW5ndGgpIHtcbiAgICBhd2FpdCBwYXJzZXIuc3RyZWFtQnVmZmVyLndhaXRGb3JDaHVuaygpO1xuICB9XG5cbiAgY29uc3QgYnl0ZXMgPSBwYXJzZXIuYnVmZmVyLnNsaWNlKHBhcnNlci5wb3NpdGlvbiwgcGFyc2VyLnBvc2l0aW9uICsgYml0bWFwQnl0ZUxlbmd0aCk7XG4gIHBhcnNlci5wb3NpdGlvbiArPSBiaXRtYXBCeXRlTGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBieXRlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IGJ5dGUgPSBieXRlc1tpXTtcblxuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMDAgPyB0cnVlIDogZmFsc2UpO1xuICAgIGJpdG1hcC5wdXNoKGJ5dGUgJiAwYjEwMDAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sTWV0YWRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjdXJyQ29sTWV0YWRhdGEgPSBjb2xNZXRhZGF0YVtpXTtcbiAgICBsZXQgdmFsdWU7XG4gICAgKGJpdG1hcFtpXSA/IG51bGxIYW5kbGVyIDogdmFsdWVQYXJzZSkocGFyc2VyLCBjdXJyQ29sTWV0YWRhdGEsIHBhcnNlci5vcHRpb25zLCAodikgPT4ge1xuICAgICAgdmFsdWUgPSB2O1xuICAgIH0pO1xuXG4gICAgd2hpbGUgKHBhcnNlci5zdXNwZW5kZWQpIHtcbiAgICAgIGF3YWl0IHBhcnNlci5zdHJlYW1CdWZmZXIud2FpdEZvckNodW5rKCk7XG5cbiAgICAgIHBhcnNlci5zdXNwZW5kZWQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IG5leHQgPSBwYXJzZXIubmV4dCE7XG5cbiAgICAgIG5leHQoKTtcbiAgICB9XG4gICAgY29sdW1ucy5wdXNoKHtcbiAgICAgIHZhbHVlLFxuICAgICAgbWV0YWRhdGE6IGN1cnJDb2xNZXRhZGF0YVxuICAgIH0pO1xuICB9XG5cbiAgaWYgKHBhcnNlci5vcHRpb25zLnVzZUNvbHVtbk5hbWVzKSB7XG4gICAgY29uc3QgY29sdW1uc01hcDogeyBba2V5OiBzdHJpbmddOiBDb2x1bW4gfSA9IHt9O1xuXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IGNvbE5hbWUgPSBjb2x1bW4ubWV0YWRhdGEuY29sTmFtZTtcbiAgICAgIGlmIChjb2x1bW5zTWFwW2NvbE5hbWVdID09IG51bGwpIHtcbiAgICAgICAgY29sdW1uc01hcFtjb2xOYW1lXSA9IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgTkJDUm93VG9rZW4oY29sdW1uc01hcCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBOQkNSb3dUb2tlbihjb2x1bW5zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuYmNSb3dQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IG5iY1Jvd1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXlDLFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBUHpDOztBQVNBLFNBQVNHLFdBQVdBLENBQUNDLE9BQWUsRUFBRUMsZUFBK0IsRUFBRUMsUUFBdUIsRUFBRUMsUUFBa0MsRUFBRTtFQUNsSUEsUUFBUSxDQUFDLElBQUksQ0FBQztBQUNoQjtBQU9BLGVBQWVDLFlBQVlBLENBQUNDLE1BQWMsRUFBd0I7RUFDaEUsTUFBTUMsV0FBVyxHQUFHRCxNQUFNLENBQUNDLFdBQVc7RUFDdEMsTUFBTUMsZ0JBQWdCLEdBQUdDLElBQUksQ0FBQ0MsSUFBSSxDQUFDSCxXQUFXLENBQUNJLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDMUQsTUFBTUMsT0FBaUIsR0FBRyxFQUFFO0VBQzVCLE1BQU1DLE1BQWlCLEdBQUcsRUFBRTtFQUU1QixPQUFPUCxNQUFNLENBQUNRLE1BQU0sQ0FBQ0gsTUFBTSxHQUFHTCxNQUFNLENBQUNTLFFBQVEsR0FBR1AsZ0JBQWdCLEVB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
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiaWNvbnYiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl92YWx1ZVBhcnNlciIsIl9oZWxwZXJzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm5iY1Jvd1BhcnNlciIsInBhcnNlciIsImNvbE1ldGFkYXRhIiwiY29sdW1ucyIsImJpdG1hcCIsImJpdG1hcEJ5dGVMZW5ndGgiLCJNYXRoIiwiY2VpbCIsImxlbmd0aCIsImJ1ZmZlciIsInBvc2l0aW9uIiwid2FpdEZvckNodW5rIiwiYnl0ZXMiLCJzbGljZSIsImkiLCJsZW4iLCJieXRlIiwicHVzaCIsIm1ldGFkYXRhIiwidmFsdWUiLCJpc1BMUFN0cmVhbSIsImNodW5rcyIsInJlYWRQTFBTdHJlYW0iLCJ0eXBlIiwibmFtZSIsIkJ1ZmZlciIsImNvbmNhdCIsInRvU3RyaW5nIiwiX21ldGFkYXRhJGNvbGxhdGlvbiIsImRlY29kZSIsImNvbGxhdGlvbiIsImNvZGVwYWdlIiwicmVzdWx0IiwicmVhZFZhbHVlIiwib3B0aW9ucyIsImVyciIsIk5vdEVub3VnaERhdGFFcnJvciIsIm9mZnNldCIsInVzZUNvbHVtbk5hbWVzIiwiY29sdW1uc01hcCIsImNyZWF0ZSIsImZvckVhY2giLCJjb2x1bW4iLCJjb2xOYW1lIiwiTkJDUm93VG9rZW4iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vbmJjcm93LXRva2VuLXBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzMi4yLjcuMTMgKGludHJvZHVjZWQgaW4gVERTIDcuMy5CKVxuXG5pbXBvcnQgUGFyc2VyIGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5pbXBvcnQgeyB0eXBlIENvbHVtbk1ldGFkYXRhIH0gZnJvbSAnLi9jb2xtZXRhZGF0YS10b2tlbi1wYXJzZXInO1xuXG5pbXBvcnQgeyBOQkNSb3dUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuaW1wb3J0ICogYXMgaWNvbnYgZnJvbSAnaWNvbnYtbGl0ZSc7XG5cbmltcG9ydCB7IGlzUExQU3RyZWFtLCByZWFkUExQU3RyZWFtLCByZWFkVmFsdWUgfSBmcm9tICcuLi92YWx1ZS1wYXJzZXInO1xuaW1wb3J0IHsgTm90RW5vdWdoRGF0YUVycm9yIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIHZhbHVlOiB1bmtub3duO1xuICBtZXRhZGF0YTogQ29sdW1uTWV0YWRhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5iY1Jvd1BhcnNlcihwYXJzZXI6IFBhcnNlcik6IFByb21pc2U8TkJDUm93VG9rZW4+IHtcbiAgY29uc3QgY29sTWV0YWRhdGEgPSBwYXJzZXIuY29sTWV0YWRhdGE7XG4gIGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW107XG4gIGNvbnN0IGJpdG1hcDogYm9vbGVhbltdID0gW107XG4gIGNvbnN0IGJpdG1hcEJ5dGVMZW5ndGggPSBNYXRoLmNlaWwoY29sTWV0YWRhdGEubGVuZ3RoIC8gOCk7XG5cbiAgd2hpbGUgKHBhcnNlci5idWZmZXIubGVuZ3RoIC0gcGFyc2VyLnBvc2l0aW9uIDwgYml0bWFwQnl0ZUxlbmd0aCkge1xuICAgIGF3YWl0IHBhcnNlci53YWl0Rm9yQ2h1bmsoKTtcbiAgfVxuXG4gIGNvbnN0IGJ5dGVzID0gcGFyc2VyLmJ1ZmZlci5zbGljZShwYXJzZXIucG9zaXRpb24sIHBhcnNlci5wb3NpdGlvbiArIGJpdG1hcEJ5dGVMZW5ndGgpO1xuICBwYXJzZXIucG9zaXRpb24gKz0gYml0bWFwQnl0ZUxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYnl0ZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gYnl0ZXNbaV07XG5cbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gICAgYml0bWFwLnB1c2goYnl0ZSAmIDBiMTAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAwID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICBiaXRtYXAucHVzaChieXRlICYgMGIxMDAwMDAwMCA/IHRydWUgOiBmYWxzZSk7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbE1ldGFkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBjb2xNZXRhZGF0YVtpXTtcbiAgICBpZiAoYml0bWFwW2ldKSB7XG4gICAgICBjb2x1bW5zLnB1c2goeyB2YWx1ZTogbnVsbCwgbWV0YWRhdGEgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKGlzUExQU3RyZWFtKG1ldGFkYXRhKSkge1xuICAgICAgICBjb25zdCBjaHVua3MgPSBhd2FpdCByZWFkUExQU3RyZWFtKHBhcnNlcik7XG5cbiAgICAgICAgaWYgKGNodW5rcyA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBjaHVua3MsIG1ldGFkYXRhIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ05WYXJDaGFyJyB8fCBtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdYbWwnKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHsgdmFsdWU6IEJ1ZmZlci5jb25jYXQoY2h1bmtzKS50b1N0cmluZygndWNzMicpLCBtZXRhZGF0YSB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChtZXRhZGF0YS50eXBlLm5hbWUgPT09ICdWYXJDaGFyJykge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBpY29udi5kZWNvZGUoQnVmZmVyLmNvbmNhdChjaHVua3MpLCBtZXRhZGF0YS5jb2xsYXRpb24/LmNvZGVwYWdlID8/ICd1dGY4JyksIG1ldGFkYXRhIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUubmFtZSA9PT0gJ1ZhckJpbmFyeScgfHwgbWV0YWRhdGEudHlwZS5uYW1lID09PSAnVURUJykge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiBCdWZmZXIuY29uY2F0KGNodW5rcyksIG1ldGFkYXRhIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlYWRWYWx1ZShwYXJzZXIuYnVmZmVyLCBwYXJzZXIucG9zaXRpb24sIG1ldGFkYXRhLCBwYXJzZXIub3B0aW9ucyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBOb3RFbm91Z2hEYXRhRXJyb3IpIHtcbiAgICAgICAgICAgIGF3YWl0IHBhcnNlci53YWl0Rm9yQ2h1bmsoKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcnNlci5wb3NpdGlvbiA9IHJlc3VsdC5vZmZzZXQ7XG4gICAgICAgIGNvbHVtbnMucHVzaCh7IHZhbHVlOiByZXN1bHQudmFsdWUsIG1ldGFkYXRhIH0pO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAocGFyc2VyLm9wdGlvbnMudXNlQ29sdW1uTmFtZXMpIHtcbiAgICBjb25zdCBjb2x1bW5zTWFwOiB7IFtrZXk6IHN0cmluZ106IENvbHVtbiB9ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICBjb25zdCBjb2xOYW1lID0gY29sdW1uLm1ldGFkYXRhLmNvbE5hbWU7XG4gICAgICBpZiAoY29sdW1uc01hcFtjb2xOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbHVtbnNNYXBbY29sTmFtZV0gPSBjb2x1bW47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE5CQ1Jvd1Rva2VuKGNvbHVtbnNNYXApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgTkJDUm93VG9rZW4oY29sdW1ucyk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCBuYmNSb3dQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IG5iY1Jvd1BhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQStDLFNBQUFLLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nbcrow-token-parser.js","names":["_token","require","_valueParser","
|
|
1
|
+
{"version":3,"file":"nbcrow-token-parser.js","names":["_token","require","iconv","_interopRequireWildcard","_valueParser","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","nbcRowParser","parser","colMetadata","columns","bitmap","bitmapByteLength","Math","ceil","length","buffer","position","waitForChunk","bytes","slice","i","len","byte","push","metadata","value","isPLPStream","chunks","readPLPStream","type","name","Buffer","concat","toString","_metadata$collation","decode","collation","codepage","result","readValue","options","err","NotEnoughDataError","offset","useColumnNames","columnsMap","create","forEach","column","colName","NBCRowToken","_default","exports","module"],"sources":["../../src/token/nbcrow-token-parser.ts"],"sourcesContent":["// s2.2.7.13 (introduced in TDS 7.3.B)\n\nimport Parser from './stream-parser';\nimport { type ColumnMetadata } from './colmetadata-token-parser';\n\nimport { NBCRowToken } from './token';\nimport * as iconv from 'iconv-lite';\n\nimport { isPLPStream, readPLPStream, readValue } from '../value-parser';\nimport { NotEnoughDataError } from './helpers';\n\ninterface Column {\n value: unknown;\n metadata: ColumnMetadata;\n}\n\nasync function nbcRowParser(parser: Parser): Promise<NBCRowToken> {\n const colMetadata = parser.colMetadata;\n const columns: Column[] = [];\n const bitmap: boolean[] = [];\n const bitmapByteLength = Math.ceil(colMetadata.length / 8);\n\n while (parser.buffer.length - parser.position < bitmapByteLength) {\n await parser.waitForChunk();\n }\n\n const bytes = parser.buffer.slice(parser.position, parser.position + bitmapByteLength);\n parser.position += bitmapByteLength;\n\n for (let i = 0, len = bytes.length; i < len; i++) {\n const byte = bytes[i];\n\n bitmap.push(byte & 0b1 ? true : false);\n bitmap.push(byte & 0b10 ? true : false);\n bitmap.push(byte & 0b100 ? true : false);\n bitmap.push(byte & 0b1000 ? true : false);\n bitmap.push(byte & 0b10000 ? true : false);\n bitmap.push(byte & 0b100000 ? true : false);\n bitmap.push(byte & 0b1000000 ? true : false);\n bitmap.push(byte & 0b10000000 ? true : false);\n }\n\n for (let i = 0; i < colMetadata.length; i++) {\n const metadata = colMetadata[i];\n if (bitmap[i]) {\n columns.push({ value: null, metadata });\n continue;\n }\n\n while (true) {\n if (isPLPStream(metadata)) {\n const chunks = await readPLPStream(parser);\n\n if (chunks === null) {\n columns.push({ value: chunks, metadata });\n } else if (metadata.type.name === 'NVarChar' || metadata.type.name === 'Xml') {\n columns.push({ value: Buffer.concat(chunks).toString('ucs2'), metadata });\n } else if (metadata.type.name === 'VarChar') {\n columns.push({ value: iconv.decode(Buffer.concat(chunks), metadata.collation?.codepage ?? 'utf8'), metadata });\n } else if (metadata.type.name === 'VarBinary' || metadata.type.name === 'UDT') {\n columns.push({ value: Buffer.concat(chunks), metadata });\n }\n } else {\n let result;\n try {\n result = readValue(parser.buffer, parser.position, metadata, parser.options);\n } catch (err) {\n if (err instanceof NotEnoughDataError) {\n await parser.waitForChunk();\n continue;\n }\n\n throw err;\n }\n\n parser.position = result.offset;\n columns.push({ value: result.value, metadata });\n }\n\n break;\n }\n }\n\n if (parser.options.useColumnNames) {\n const columnsMap: { [key: string]: Column } = Object.create(null);\n\n columns.forEach((column) => {\n const colName = column.metadata.colName;\n if (columnsMap[colName] == null) {\n columnsMap[colName] = column;\n }\n });\n\n return new NBCRowToken(columnsMap);\n } else {\n return new NBCRowToken(columns);\n }\n}\n\n\nexport default nbcRowParser;\nmodule.exports = nbcRowParser;\n"],"mappings":"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"}
|
|
@@ -5,29 +5,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _token = require("./token");
|
|
8
|
+
var _helpers = require("./helpers");
|
|
8
9
|
// s2.2.7.14
|
|
9
10
|
|
|
10
|
-
function orderParser(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
11
|
+
function orderParser(buf, offset, _options) {
|
|
12
|
+
// length
|
|
13
|
+
let tokenLength;
|
|
14
|
+
({
|
|
15
|
+
offset,
|
|
16
|
+
value: tokenLength
|
|
17
|
+
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
18
|
+
if (buf.length < offset + tokenLength) {
|
|
19
|
+
throw new _helpers.NotEnoughDataError(offset + tokenLength);
|
|
20
|
+
}
|
|
21
|
+
const orderColumns = [];
|
|
22
|
+
for (let i = 0; i < tokenLength; i += 2) {
|
|
23
|
+
let column;
|
|
24
|
+
({
|
|
25
|
+
offset,
|
|
26
|
+
value: column
|
|
27
|
+
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
28
|
+
orderColumns.push(column);
|
|
29
|
+
}
|
|
30
|
+
return new _helpers.Result(new _token.OrderToken(orderColumns), offset);
|
|
29
31
|
}
|
|
30
32
|
var _default = orderParser;
|
|
31
33
|
exports.default = _default;
|
|
32
34
|
module.exports = orderParser;
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX2hlbHBlcnMiLCJvcmRlclBhcnNlciIsImJ1ZiIsIm9mZnNldCIsIl9vcHRpb25zIiwidG9rZW5MZW5ndGgiLCJ2YWx1ZSIsInJlYWRVSW50MTZMRSIsImxlbmd0aCIsIk5vdEVub3VnaERhdGFFcnJvciIsIm9yZGVyQ29sdW1ucyIsImkiLCJjb2x1bW4iLCJwdXNoIiwiUmVzdWx0IiwiT3JkZXJUb2tlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4vb3JkZXItdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHMyLjIuNy4xNFxuaW1wb3J0IHsgdHlwZSBQYXJzZXJPcHRpb25zIH0gZnJvbSAnLi9zdHJlYW0tcGFyc2VyJztcblxuaW1wb3J0IHsgT3JkZXJUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuaW1wb3J0IHsgTm90RW5vdWdoRGF0YUVycm9yLCByZWFkVUludDE2TEUsIFJlc3VsdCB9IGZyb20gJy4vaGVscGVycyc7XG5cbmZ1bmN0aW9uIG9yZGVyUGFyc2VyKGJ1ZjogQnVmZmVyLCBvZmZzZXQ6IG51bWJlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMpOiBSZXN1bHQ8T3JkZXJUb2tlbj4ge1xuICAvLyBsZW5ndGhcbiAgbGV0IHRva2VuTGVuZ3RoO1xuICAoeyBvZmZzZXQsIHZhbHVlOiB0b2tlbkxlbmd0aCB9ID0gcmVhZFVJbnQxNkxFKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgaWYgKGJ1Zi5sZW5ndGggPCBvZmZzZXQgKyB0b2tlbkxlbmd0aCkge1xuICAgIHRocm93IG5ldyBOb3RFbm91Z2hEYXRhRXJyb3Iob2Zmc2V0ICsgdG9rZW5MZW5ndGgpO1xuICB9XG5cbiAgY29uc3Qgb3JkZXJDb2x1bW5zOiBudW1iZXJbXSA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5MZW5ndGg7IGkgKz0gMikge1xuICAgIGxldCBjb2x1bW47XG4gICAgKHsgb2Zmc2V0LCB2YWx1ZTogY29sdW1uIH0gPSByZWFkVUludDE2TEUoYnVmLCBvZmZzZXQpKTtcblxuICAgIG9yZGVyQ29sdW1ucy5wdXNoKGNvbHVtbik7XG4gIH1cblxuICByZXR1cm4gbmV3IFJlc3VsdChuZXcgT3JkZXJUb2tlbihvcmRlckNvbHVtbnMpLCBvZmZzZXQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBvcmRlclBhcnNlcjtcbm1vZHVsZS5leHBvcnRzID0gb3JkZXJQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUpBOztBQU1BLFNBQVNFLFdBQVdBLENBQUNDLEdBQVcsRUFBRUMsTUFBYyxFQUFFQyxRQUF1QixFQUFzQjtFQUM3RjtFQUNBLElBQUlDLFdBQVc7RUFDZixDQUFDO0lBQUVGLE1BQU07SUFBRUcsS0FBSyxFQUFFRDtFQUFZLENBQUMsR0FBRyxJQUFBRSxxQkFBWSxFQUFDTCxHQUFHLEVBQUVDLE1BQU0sQ0FBQztFQUUzRCxJQUFJRCxHQUFHLENBQUNNLE1BQU0sR0FBR0wsTUFBTSxHQUFHRSxXQUFXLEVBQUU7SUFDckMsTUFBTSxJQUFJSSwyQkFBa0IsQ0FBQ04sTUFBTSxHQUFHRSxXQUFXLENBQUM7RUFDcEQ7RUFFQSxNQUFNSyxZQUFzQixHQUFHLEVBQUU7RUFFakMsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdOLFdBQVcsRUFBRU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUN2QyxJQUFJQyxNQUFNO0lBQ1YsQ0FBQztNQUFFVCxNQUFNO01BQUVHLEtBQUssRUFBRU07SUFBTyxDQUFDLEdBQUcsSUFBQUwscUJBQVksRUFBQ0wsR0FBRyxFQUFFQyxNQUFNLENBQUM7SUFFdERPLFlBQVksQ0FBQ0csSUFBSSxDQUFDRCxNQUFNLENBQUM7RUFDM0I7RUFFQSxPQUFPLElBQUlFLGVBQU0sQ0FBQyxJQUFJQyxpQkFBVSxDQUFDTCxZQUFZLENBQUMsRUFBRVAsTUFBTSxDQUFDO0FBQ3pEO0FBQUMsSUFBQWEsUUFBQSxHQUVjZixXQUFXO0FBQUFnQixPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQTtBQUMxQkcsTUFBTSxDQUFDRixPQUFPLEdBQUdoQixXQUFXIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-token-parser.js","names":["_token","require","orderParser","
|
|
1
|
+
{"version":3,"file":"order-token-parser.js","names":["_token","require","_helpers","orderParser","buf","offset","_options","tokenLength","value","readUInt16LE","length","NotEnoughDataError","orderColumns","i","column","push","Result","OrderToken","_default","exports","default","module"],"sources":["../../src/token/order-token-parser.ts"],"sourcesContent":["// s2.2.7.14\nimport { type ParserOptions } from './stream-parser';\n\nimport { OrderToken } from './token';\nimport { NotEnoughDataError, readUInt16LE, Result } from './helpers';\n\nfunction orderParser(buf: Buffer, offset: number, _options: ParserOptions): Result<OrderToken> {\n // length\n let tokenLength;\n ({ offset, value: tokenLength } = readUInt16LE(buf, offset));\n\n if (buf.length < offset + tokenLength) {\n throw new NotEnoughDataError(offset + tokenLength);\n }\n\n const orderColumns: number[] = [];\n\n for (let i = 0; i < tokenLength; i += 2) {\n let column;\n ({ offset, value: column } = readUInt16LE(buf, offset));\n\n orderColumns.push(column);\n }\n\n return new Result(new OrderToken(orderColumns), offset);\n}\n\nexport default orderParser;\nmodule.exports = orderParser;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAJA;;AAMA,SAASE,WAAWA,CAACC,GAAW,EAAEC,MAAc,EAAEC,QAAuB,EAAsB;EAC7F;EACA,IAAIC,WAAW;EACf,CAAC;IAAEF,MAAM;IAAEG,KAAK,EAAED;EAAY,CAAC,GAAG,IAAAE,qBAAY,EAACL,GAAG,EAAEC,MAAM,CAAC;EAE3D,IAAID,GAAG,CAACM,MAAM,GAAGL,MAAM,GAAGE,WAAW,EAAE;IACrC,MAAM,IAAII,2BAAkB,CAACN,MAAM,GAAGE,WAAW,CAAC;EACpD;EAEA,MAAMK,YAAsB,GAAG,EAAE;EAEjC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,WAAW,EAAEM,CAAC,IAAI,CAAC,EAAE;IACvC,IAAIC,MAAM;IACV,CAAC;MAAET,MAAM;MAAEG,KAAK,EAAEM;IAAO,CAAC,GAAG,IAAAL,qBAAY,EAACL,GAAG,EAAEC,MAAM,CAAC;IAEtDO,YAAY,CAACG,IAAI,CAACD,MAAM,CAAC;EAC3B;EAEA,OAAO,IAAIE,eAAM,CAAC,IAAIC,iBAAU,CAACL,YAAY,CAAC,EAAEP,MAAM,CAAC;AACzD;AAAC,IAAAa,QAAA,GAEcf,WAAW;AAAAgB,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAC1BG,MAAM,CAACF,OAAO,GAAGhB,WAAW"}
|