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,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _intn = _interopRequireDefault(require("./intn"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
9
|
const DATA_LENGTH = Buffer.from([0x01]);
|
|
13
10
|
const NULL_LENGTH = Buffer.from([0x00]);
|
|
14
11
|
const TinyInt = {
|
|
@@ -18,50 +15,40 @@ const TinyInt = {
|
|
|
18
15
|
declaration: function () {
|
|
19
16
|
return 'tinyint';
|
|
20
17
|
},
|
|
21
|
-
|
|
22
18
|
generateTypeInfo() {
|
|
23
19
|
return Buffer.from([_intn.default.id, 0x01]);
|
|
24
20
|
},
|
|
25
|
-
|
|
26
21
|
generateParameterLength(parameter, options) {
|
|
27
22
|
if (parameter.value == null) {
|
|
28
23
|
return NULL_LENGTH;
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
return DATA_LENGTH;
|
|
32
26
|
},
|
|
33
|
-
|
|
34
27
|
*generateParameterData(parameter, options) {
|
|
35
28
|
if (parameter.value == null) {
|
|
36
29
|
return;
|
|
37
30
|
}
|
|
38
|
-
|
|
39
31
|
const buffer = Buffer.alloc(1);
|
|
40
32
|
buffer.writeUInt8(Number(parameter.value), 0);
|
|
41
33
|
yield buffer;
|
|
42
34
|
},
|
|
43
|
-
|
|
44
35
|
validate: function (value) {
|
|
45
36
|
if (value == null) {
|
|
46
37
|
return null;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
if (typeof value !== 'number') {
|
|
50
40
|
value = Number(value);
|
|
51
41
|
}
|
|
52
|
-
|
|
53
42
|
if (isNaN(value)) {
|
|
54
43
|
throw new TypeError('Invalid number.');
|
|
55
44
|
}
|
|
56
|
-
|
|
57
45
|
if (value < 0 || value > 255) {
|
|
58
46
|
throw new TypeError('Value must be between 0 and 255, inclusive.');
|
|
59
47
|
}
|
|
60
|
-
|
|
61
48
|
return value | 0;
|
|
62
49
|
}
|
|
63
50
|
};
|
|
64
51
|
var _default = TinyInt;
|
|
65
52
|
exports.default = _default;
|
|
66
53
|
module.exports = TinyInt;
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW50biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJEQVRBX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJOVUxMX0xFTkdUSCIsIlRpbnlJbnQiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJnZW5lcmF0ZVR5cGVJbmZvIiwiSW50TiIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwicGFyYW1ldGVyIiwib3B0aW9ucyIsInZhbHVlIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4IiwiTnVtYmVyIiwidmFsaWRhdGUiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3RpbnlpbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IEludE4gZnJvbSAnLi9pbnRuJztcblxuY29uc3QgREFUQV9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMV0pO1xuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuXG5jb25zdCBUaW55SW50OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MzAsXG4gIHR5cGU6ICdJTlQxJyxcbiAgbmFtZTogJ1RpbnlJbnQnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ3RpbnlpbnQnO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFtJbnROLmlkLCAweDAxXSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfTEVOR1RIO1xuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxKTtcbiAgICBidWZmZXIud3JpdGVVSW50OChOdW1iZXIocGFyYW1ldGVyLnZhbHVlKSwgMCk7XG4gICAgeWllbGQgYnVmZmVyO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAyNTUpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1ZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNTUsIGluY2x1c2l2ZS4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUgfCAwO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUaW55SW50O1xubW9kdWxlLmV4cG9ydHMgPSBUaW55SW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBMEIsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFMUIsTUFBTUcsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLE1BQU1DLFdBQVcsR0FBR0YsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QyxNQUFNRSxPQUFpQixHQUFHO0VBQ3hCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUUsU0FBUztFQUVmQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sU0FBUztFQUNsQixDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE9BQU9SLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUNRLGFBQUksQ0FBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0VBQ3JDLENBQUM7RUFFRE0sdUJBQXVCQSxDQUFDQyxTQUFTLEVBQUVDLE9BQU8sRUFBRTtJQUMxQyxJQUFJRCxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0IsT0FBT1gsV0FBVztJQUNwQjtJQUVBLE9BQU9ILFdBQVc7RUFDcEIsQ0FBQztFQUVELENBQUVlLHFCQUFxQkEsQ0FBQ0gsU0FBUyxFQUFFQyxPQUFPLEVBQUU7SUFDMUMsSUFBSUQsU0FBUyxDQUFDRSxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCO0lBQ0Y7SUFFQSxNQUFNRSxNQUFNLEdBQUdmLE1BQU0sQ0FBQ2dCLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUJELE1BQU0sQ0FBQ0UsVUFBVSxDQUFDQyxNQUFNLENBQUNQLFNBQVMsQ0FBQ0UsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLE1BQU1FLE1BQU07RUFDZCxDQUFDO0VBRURJLFFBQVEsRUFBRSxTQUFBQSxDQUFTTixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0JBLEtBQUssR0FBR0ssTUFBTSxDQUFDTCxLQUFLLENBQUM7SUFDdkI7SUFFQSxJQUFJTyxLQUFLLENBQUNQLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSVEsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsSUFBSVIsS0FBSyxHQUFHLENBQUMsSUFBSUEsS0FBSyxHQUFHLEdBQUcsRUFBRTtNQUM1QixNQUFNLElBQUlRLFNBQVMsQ0FBQyw2Q0FBNkMsQ0FBQztJQUNwRTtJQUVBLE9BQU9SLEtBQUssR0FBRyxDQUFDO0VBQ2xCO0FBQ0YsQ0FBQztBQUFDLElBQUFTLFFBQUEsR0FFYW5CLE9BQU87QUFBQW9CLE9BQUEsQ0FBQXpCLE9BQUEsR0FBQXdCLFFBQUE7QUFDdEJFLE1BQU0sQ0FBQ0QsT0FBTyxHQUFHcEIsT0FBTyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tinyint.js","names":["_intn","_interopRequireDefault","require","obj","__esModule","default","DATA_LENGTH","Buffer","from","NULL_LENGTH","TinyInt","id","type","name","declaration","generateTypeInfo","IntN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeUInt8","Number","validate","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/tinyint.ts"],"sourcesContent":["import { DataType } from '../data-type';\nimport IntN from './intn';\n\nconst DATA_LENGTH = Buffer.from([0x01]);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst TinyInt: DataType = {\n id: 0x30,\n type: 'INT1',\n name: 'TinyInt',\n\n declaration: function() {\n return 'tinyint';\n },\n\n generateTypeInfo() {\n return Buffer.from([IntN.id, 0x01]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return DATA_LENGTH;\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = Buffer.alloc(1);\n buffer.writeUInt8(Number(parameter.value), 0);\n yield buffer;\n },\n\n validate: function(value): number | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'number') {\n value = Number(value);\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n\n if (value < 0 || value > 255) {\n throw new TypeError('Value must be between 0 and 255, inclusive.');\n }\n\n return value | 0;\n }\n};\n\nexport default TinyInt;\nmodule.exports = TinyInt;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1B,MAAMG,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,MAAMC,WAAW,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAME,OAAiB,GAAG;EACxBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,SAAS;EAEfC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,SAAS;EAClB,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,OAAOR,MAAM,CAACC,IAAI,CAAC,CAACQ,aAAI,CAACL,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC;EAEDM,uBAAuBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOX,WAAW;IACpB;IAEA,OAAOH,WAAW;EACpB,CAAC;EAED,CAAEe,qBAAqBA,CAACH,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAME,MAAM,GAAGf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACE,UAAU,CAACC,MAAM,CAACP,SAAS,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAME,MAAM;EACd,CAAC;EAEDI,QAAQ,EAAE,SAAAA,CAASN,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGK,MAAM,CAACL,KAAK,CAAC;IACvB;IAEA,IAAIO,KAAK,CAACP,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIQ,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAIR,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,GAAG,EAAE;MAC5B,MAAM,IAAIQ,SAAS,CAAC,6CAA6C,CAAC;IACpE;IAEA,OAAOR,KAAK,GAAG,CAAC;EAClB;AACF,CAAC;AAAC,IAAAS,QAAA,GAEanB,OAAO;AAAAoB,OAAA,CAAAzB,OAAA,GAAAwB,QAAA;AACtBE,MAAM,CAACD,OAAO,GAAGpB,OAAO"}
|
package/lib/data-types/tvp.js
CHANGED
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
9
|
const TVP_ROW_TOKEN = Buffer.from([0x01]);
|
|
13
10
|
const TVP_END_TOKEN = Buffer.from([0x00]);
|
|
14
11
|
const NULL_LENGTH = Buffer.from([0xFF, 0xFF]);
|
|
@@ -18,13 +15,10 @@ const TVP = {
|
|
|
18
15
|
name: 'TVP',
|
|
19
16
|
declaration: function (parameter) {
|
|
20
17
|
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
21
|
-
|
|
22
18
|
return value.name + ' readonly';
|
|
23
19
|
},
|
|
24
|
-
|
|
25
20
|
generateTypeInfo(parameter) {
|
|
26
21
|
var _parameter$value, _parameter$value2;
|
|
27
|
-
|
|
28
22
|
const databaseName = '';
|
|
29
23
|
const schema = ((_parameter$value = parameter.value) === null || _parameter$value === void 0 ? void 0 : _parameter$value.schema) ?? '';
|
|
30
24
|
const typeName = ((_parameter$value2 = parameter.value) === null || _parameter$value2 === void 0 ? void 0 : _parameter$value2.name) ?? '';
|
|
@@ -36,12 +30,10 @@ const TVP = {
|
|
|
36
30
|
buffer.writeBVarchar(typeName);
|
|
37
31
|
return buffer.data;
|
|
38
32
|
},
|
|
39
|
-
|
|
40
33
|
generateParameterLength(parameter, options) {
|
|
41
34
|
if (parameter.value == null) {
|
|
42
35
|
return NULL_LENGTH;
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
const {
|
|
46
38
|
columns
|
|
47
39
|
} = parameter.value;
|
|
@@ -49,39 +41,36 @@ const TVP = {
|
|
|
49
41
|
buffer.writeUInt16LE(columns.length, 0);
|
|
50
42
|
return buffer;
|
|
51
43
|
},
|
|
52
|
-
|
|
53
44
|
*generateParameterData(parameter, options) {
|
|
54
45
|
if (parameter.value == null) {
|
|
55
46
|
yield TVP_END_TOKEN;
|
|
56
47
|
yield TVP_END_TOKEN;
|
|
57
48
|
return;
|
|
58
49
|
}
|
|
59
|
-
|
|
60
50
|
const {
|
|
61
51
|
columns,
|
|
62
52
|
rows
|
|
63
53
|
} = parameter.value;
|
|
64
|
-
|
|
65
54
|
for (let i = 0, len = columns.length; i < len; i++) {
|
|
66
55
|
const column = columns[i];
|
|
67
|
-
const buff = Buffer.alloc(6);
|
|
68
|
-
|
|
69
|
-
buff.writeUInt32LE(0x00000000, 0);
|
|
56
|
+
const buff = Buffer.alloc(6);
|
|
57
|
+
// UserType
|
|
58
|
+
buff.writeUInt32LE(0x00000000, 0);
|
|
70
59
|
|
|
60
|
+
// Flags
|
|
71
61
|
buff.writeUInt16LE(0x0000, 4);
|
|
72
|
-
yield buff;
|
|
62
|
+
yield buff;
|
|
73
63
|
|
|
74
|
-
|
|
64
|
+
// TYPE_INFO
|
|
65
|
+
yield column.type.generateTypeInfo(column);
|
|
75
66
|
|
|
67
|
+
// ColName
|
|
76
68
|
yield Buffer.from([0x00]);
|
|
77
69
|
}
|
|
78
|
-
|
|
79
70
|
yield TVP_END_TOKEN;
|
|
80
|
-
|
|
81
71
|
for (let i = 0, length = rows.length; i < length; i++) {
|
|
82
72
|
yield TVP_ROW_TOKEN;
|
|
83
73
|
const row = rows[i];
|
|
84
|
-
|
|
85
74
|
for (let k = 0, len2 = row.length; k < len2; k++) {
|
|
86
75
|
const column = columns[k];
|
|
87
76
|
const value = row[k];
|
|
@@ -90,37 +79,32 @@ const TVP = {
|
|
|
90
79
|
length: column.length,
|
|
91
80
|
scale: column.scale,
|
|
92
81
|
precision: column.precision
|
|
93
|
-
};
|
|
82
|
+
};
|
|
94
83
|
|
|
84
|
+
// TvpColumnData
|
|
95
85
|
yield column.type.generateParameterLength(param, options);
|
|
96
86
|
yield* column.type.generateParameterData(param, options);
|
|
97
87
|
}
|
|
98
88
|
}
|
|
99
|
-
|
|
100
89
|
yield TVP_END_TOKEN;
|
|
101
90
|
},
|
|
102
|
-
|
|
103
91
|
validate: function (value) {
|
|
104
92
|
if (value == null) {
|
|
105
93
|
return null;
|
|
106
94
|
}
|
|
107
|
-
|
|
108
95
|
if (typeof value !== 'object') {
|
|
109
96
|
throw new TypeError('Invalid table.');
|
|
110
97
|
}
|
|
111
|
-
|
|
112
98
|
if (!Array.isArray(value.columns)) {
|
|
113
99
|
throw new TypeError('Invalid table.');
|
|
114
100
|
}
|
|
115
|
-
|
|
116
101
|
if (!Array.isArray(value.rows)) {
|
|
117
102
|
throw new TypeError('Invalid table.');
|
|
118
103
|
}
|
|
119
|
-
|
|
120
104
|
return value;
|
|
121
105
|
}
|
|
122
106
|
};
|
|
123
107
|
var _default = TVP;
|
|
124
108
|
exports.default = _default;
|
|
125
109
|
module.exports = TVP;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUVlBfUk9XX1RPS0VOIiwiQnVmZmVyIiwiZnJvbSIsIlRWUF9FTkRfVE9LRU4iLCJOVUxMX0xFTkdUSCIsIlRWUCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImRhdGFiYXNlTmFtZSIsInNjaGVtYSIsInR5cGVOYW1lIiwiYnVmZmVyTGVuZ3RoIiwiYnl0ZUxlbmd0aCIsImJ1ZmZlciIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVCVmFyY2hhciIsImRhdGEiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJjb2x1bW5zIiwiYWxsb2MiLCJ3cml0ZVVJbnQxNkxFIiwibGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwicm93cyIsImkiLCJsZW4iLCJjb2x1bW4iLCJidWZmIiwid3JpdGVVSW50MzJMRSIsInJvdyIsImsiLCJsZW4yIiwicGFyYW0iLCJ2YWxpZGF0ZSIsImNvbGxhdGlvbiIsInNjYWxlIiwicHJlY2lzaW9uIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3R2cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgV3JpdGFibGVUcmFja2luZ0J1ZmZlciBmcm9tICcuLi90cmFja2luZy1idWZmZXIvd3JpdGFibGUtdHJhY2tpbmctYnVmZmVyJztcblxuY29uc3QgVFZQX1JPV19UT0tFTiA9IEJ1ZmZlci5mcm9tKFsweDAxXSk7XG5jb25zdCBUVlBfRU5EX1RPS0VOID0gQnVmZmVyLmZyb20oWzB4MDBdKTtcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBUVlA6IERhdGFUeXBlID0ge1xuICBpZDogMHhGMyxcbiAgdHlwZTogJ1RWUFRZUEUnLFxuICBuYW1lOiAnVFZQJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICByZXR1cm4gdmFsdWUubmFtZSArICcgcmVhZG9ubHknO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgZGF0YWJhc2VOYW1lID0gJyc7XG4gICAgY29uc3Qgc2NoZW1hID0gcGFyYW1ldGVyLnZhbHVlPy5zY2hlbWEgPz8gJyc7XG4gICAgY29uc3QgdHlwZU5hbWUgPSBwYXJhbWV0ZXIudmFsdWU/Lm5hbWUgPz8gJyc7XG5cbiAgICBjb25zdCBidWZmZXJMZW5ndGggPSAxICtcbiAgICAgIDEgKyBCdWZmZXIuYnl0ZUxlbmd0aChkYXRhYmFzZU5hbWUsICd1Y3MyJykgK1xuICAgICAgMSArIEJ1ZmZlci5ieXRlTGVuZ3RoKHNjaGVtYSwgJ3VjczInKSArXG4gICAgICAxICsgQnVmZmVyLmJ5dGVMZW5ndGgodHlwZU5hbWUsICd1Y3MyJyk7XG5cbiAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcihidWZmZXJMZW5ndGgsICd1Y3MyJyk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCk7XG4gICAgYnVmZmVyLndyaXRlQlZhcmNoYXIoZGF0YWJhc2VOYW1lKTtcbiAgICBidWZmZXIud3JpdGVCVmFyY2hhcihzY2hlbWEpO1xuICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKHR5cGVOYW1lKTtcblxuICAgIHJldHVybiBidWZmZXIuZGF0YTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbHVtbnMgfSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoMik7XG4gICAgYnVmZmVyLndyaXRlVUludDE2TEUoY29sdW1ucy5sZW5ndGgsIDApO1xuICAgIHJldHVybiBidWZmZXI7XG4gIH0sXG5cbiAgKmdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHlpZWxkIFRWUF9FTkRfVE9LRU47XG4gICAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY29sdW1ucywgcm93cyB9ID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGNvbHVtbnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbaV07XG5cbiAgICAgIGNvbnN0IGJ1ZmYgPSBCdWZmZXIuYWxsb2MoNik7XG4gICAgICAvLyBVc2VyVHlwZVxuICAgICAgYnVmZi53cml0ZVVJbnQzMkxFKDB4MDAwMDAwMDAsIDApO1xuXG4gICAgICAvLyBGbGFnc1xuICAgICAgYnVmZi53cml0ZVVJbnQxNkxFKDB4MDAwMCwgNCk7XG4gICAgICB5aWVsZCBidWZmO1xuXG4gICAgICAvLyBUWVBFX0lORk9cbiAgICAgIHlpZWxkIGNvbHVtbi50eXBlLmdlbmVyYXRlVHlwZUluZm8oY29sdW1uKTtcblxuICAgICAgLy8gQ29sTmFtZVxuICAgICAgeWllbGQgQnVmZmVyLmZyb20oWzB4MDBdKTtcbiAgICB9XG5cbiAgICB5aWVsZCBUVlBfRU5EX1RPS0VOO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbmd0aCA9IHJvd3MubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHlpZWxkIFRWUF9ST1dfVE9LRU47XG5cbiAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG4gICAgICBmb3IgKGxldCBrID0gMCwgbGVuMiA9IHJvdy5sZW5ndGg7IGsgPCBsZW4yOyBrKyspIHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1trXTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSByb3dba107XG5cbiAgICAgICAgY29uc3QgcGFyYW0gPSB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbi50eXBlLnZhbGlkYXRlKHZhbHVlLCBwYXJhbWV0ZXIuY29sbGF0aW9uKSxcbiAgICAgICAgICBsZW5ndGg6IGNvbHVtbi5sZW5ndGgsXG4gICAgICAgICAgc2NhbGU6IGNvbHVtbi5zY2FsZSxcbiAgICAgICAgICBwcmVjaXNpb246IGNvbHVtbi5wcmVjaXNpb25cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBUdnBDb2x1bW5EYXRhXG4gICAgICAgIHlpZWxkIGNvbHVtbi50eXBlLmdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtLCBvcHRpb25zKTtcbiAgICAgICAgeWllbGQgKiBjb2x1bW4udHlwZS5nZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW0sIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHlpZWxkIFRWUF9FTkRfVE9LRU47XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogQnVmZmVyIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHRhYmxlLicpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZS5jb2x1bW5zKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0YWJsZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUucm93cykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGFibGUuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUVlA7XG5tb2R1bGUuZXhwb3J0cyA9IFRWUDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOzs7O0FBRUEsTUFBTUEsYUFBYSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWSxDQUFDLElBQUQsQ0FBWixDQUF0QjtBQUNBLE1BQU1DLGFBQWEsR0FBR0YsTUFBTSxDQUFDQyxJQUFQLENBQVksQ0FBQyxJQUFELENBQVosQ0FBdEI7QUFFQSxNQUFNRSxXQUFXLEdBQUdILE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxFQUFPLElBQVAsQ0FBWixDQUFwQjtBQUVBLE1BQU1HLEdBQWEsR0FBRztFQUNwQkMsRUFBRSxFQUFFLElBRGdCO0VBRXBCQyxJQUFJLEVBQUUsU0FGYztFQUdwQkMsSUFBSSxFQUFFLEtBSGM7RUFLcEJDLFdBQVcsRUFBRSxVQUFTQyxTQUFULEVBQW9CO0lBQy9CLE1BQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUF4QixDQUQrQixDQUNPOztJQUN0QyxPQUFPQSxLQUFLLENBQUNILElBQU4sR0FBYSxXQUFwQjtFQUNELENBUm1COztFQVVwQkksZ0JBQWdCLENBQUNGLFNBQUQsRUFBWTtJQUFBOztJQUMxQixNQUFNRyxZQUFZLEdBQUcsRUFBckI7SUFDQSxNQUFNQyxNQUFNLEdBQUcscUJBQUFKLFNBQVMsQ0FBQ0MsS0FBVixzRUFBaUJHLE1BQWpCLEtBQTJCLEVBQTFDO0lBQ0EsTUFBTUMsUUFBUSxHQUFHLHNCQUFBTCxTQUFTLENBQUNDLEtBQVYsd0VBQWlCSCxJQUFqQixLQUF5QixFQUExQztJQUVBLE1BQU1RLFlBQVksR0FBRyxJQUNuQixDQURtQixHQUNmZixNQUFNLENBQUNn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
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJUVlBfUk9XX1RPS0VOIiwiQnVmZmVyIiwiZnJvbSIsIlRWUF9FTkRfVE9LRU4iLCJOVUxMX0xFTkdUSCIsIlRWUCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInZhbHVlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIl9wYXJhbWV0ZXIkdmFsdWUiLCJfcGFyYW1ldGVyJHZhbHVlMiIsImRhdGFiYXNlTmFtZSIsInNjaGVtYSIsInR5cGVOYW1lIiwiYnVmZmVyTGVuZ3RoIiwiYnl0ZUxlbmd0aCIsImJ1ZmZlciIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVCVmFyY2hhciIsImRhdGEiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJjb2x1bW5zIiwiYWxsb2MiLCJ3cml0ZVVJbnQxNkxFIiwibGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwicm93cyIsImkiLCJsZW4iLCJjb2x1bW4iLCJidWZmIiwid3JpdGVVSW50MzJMRSIsInJvdyIsImsiLCJsZW4yIiwicGFyYW0iLCJ2YWxpZGF0ZSIsImNvbGxhdGlvbiIsInNjYWxlIiwicHJlY2lzaW9uIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvdHZwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4uL3RyYWNraW5nLWJ1ZmZlci93cml0YWJsZS10cmFja2luZy1idWZmZXInO1xuXG5jb25zdCBUVlBfUk9XX1RPS0VOID0gQnVmZmVyLmZyb20oWzB4MDFdKTtcbmNvbnN0IFRWUF9FTkRfVE9LRU4gPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGXSk7XG5cbmNvbnN0IFRWUDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweEYzLFxuICB0eXBlOiAnVFZQVFlQRScsXG4gIG5hbWU6ICdUVlAnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVtb3ZlICdhbnknIGxhdGVyLlxuICAgIHJldHVybiB2YWx1ZS5uYW1lICsgJyByZWFkb25seSc7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCBkYXRhYmFzZU5hbWUgPSAnJztcbiAgICBjb25zdCBzY2hlbWEgPSBwYXJhbWV0ZXIudmFsdWU/LnNjaGVtYSA/PyAnJztcbiAgICBjb25zdCB0eXBlTmFtZSA9IHBhcmFtZXRlci52YWx1ZT8ubmFtZSA/PyAnJztcblxuICAgIGNvbnN0IGJ1ZmZlckxlbmd0aCA9IDEgK1xuICAgICAgMSArIEJ1ZmZlci5ieXRlTGVuZ3RoKGRhdGFiYXNlTmFtZSwgJ3VjczInKSArXG4gICAgICAxICsgQnVmZmVyLmJ5dGVMZW5ndGgoc2NoZW1hLCAndWNzMicpICtcbiAgICAgIDEgKyBCdWZmZXIuYnl0ZUxlbmd0aCh0eXBlTmFtZSwgJ3VjczInKTtcblxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKGJ1ZmZlckxlbmd0aCwgJ3VjczInKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkKTtcbiAgICBidWZmZXIud3JpdGVCVmFyY2hhcihkYXRhYmFzZU5hbWUpO1xuICAgIGJ1ZmZlci53cml0ZUJWYXJjaGFyKHNjaGVtYSk7XG4gICAgYnVmZmVyLndyaXRlQlZhcmNoYXIodHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIGJ1ZmZlci5kYXRhO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE5VTExfTEVOR1RIO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY29sdW1ucyB9ID0gcGFyYW1ldGVyLnZhbHVlO1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICBidWZmZXIud3JpdGVVSW50MTZMRShjb2x1bW5zLmxlbmd0aCwgMCk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICAqZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgeWllbGQgVFZQX0VORF9UT0tFTjtcbiAgICAgIHlpZWxkIFRWUF9FTkRfVE9LRU47XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2x1bW5zLCByb3dzIH0gPSBwYXJhbWV0ZXIudmFsdWU7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gY29sdW1ucy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpXTtcblxuICAgICAgY29uc3QgYnVmZiA9IEJ1ZmZlci5hbGxvYyg2KTtcbiAgICAgIC8vIFVzZXJUeXBlXG4gICAgICBidWZmLndyaXRlVUludDMyTEUoMHgwMDAwMDAwMCwgMCk7XG5cbiAgICAgIC8vIEZsYWdzXG4gICAgICBidWZmLndyaXRlVUludDE2TEUoMHgwMDAwLCA0KTtcbiAgICAgIHlpZWxkIGJ1ZmY7XG5cbiAgICAgIC8vIFRZUEVfSU5GT1xuICAgICAgeWllbGQgY29sdW1uLnR5cGUuZ2VuZXJhdGVUeXBlSW5mbyhjb2x1bW4pO1xuXG4gICAgICAvLyBDb2xOYW1lXG4gICAgICB5aWVsZCBCdWZmZXIuZnJvbShbMHgwMF0pO1xuICAgIH1cblxuICAgIHlpZWxkIFRWUF9FTkRfVE9LRU47XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuZ3RoID0gcm93cy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgeWllbGQgVFZQX1JPV19UT0tFTjtcblxuICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgIGZvciAobGV0IGsgPSAwLCBsZW4yID0gcm93Lmxlbmd0aDsgayA8IGxlbjI7IGsrKykge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2tdO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHJvd1trXTtcblxuICAgICAgICBjb25zdCBwYXJhbSA9IHtcbiAgICAgICAgICB2YWx1ZTogY29sdW1uLnR5cGUudmFsaWRhdGUodmFsdWUsIHBhcmFtZXRlci5jb2xsYXRpb24pLFxuICAgICAgICAgIGxlbmd0aDogY29sdW1uLmxlbmd0aCxcbiAgICAgICAgICBzY2FsZTogY29sdW1uLnNjYWxlLFxuICAgICAgICAgIHByZWNpc2lvbjogY29sdW1uLnByZWNpc2lvblxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFR2cENvbHVtbkRhdGFcbiAgICAgICAgeWllbGQgY29sdW1uLnR5cGUuZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW0sIG9wdGlvbnMpO1xuICAgICAgICB5aWVsZCAqIGNvbHVtbi50eXBlLmdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgeWllbGQgVFZQX0VORF9UT0tFTjtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBCdWZmZXIgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGFibGUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlLmNvbHVtbnMpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHRhYmxlLicpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZS5yb3dzKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0YWJsZS4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRWUDtcbm1vZHVsZS5leHBvcnRzID0gVFZQO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSx1QkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQWlGLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRWpGLE1BQU1HLGFBQWEsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxNQUFNQyxhQUFhLEdBQUdGLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFekMsTUFBTUUsV0FBVyxHQUFHSCxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU3QyxNQUFNRyxHQUFhLEdBQUc7RUFDcEJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLElBQUksRUFBRSxLQUFLO0VBRVhDLFdBQVcsRUFBRSxTQUFBQSxDQUFTQyxTQUFTLEVBQUU7SUFDL0IsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQVksQ0FBQyxDQUFDO0lBQ3RDLE9BQU9BLEtBQUssQ0FBQ0gsSUFBSSxHQUFHLFdBQVc7RUFDakMs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tvp.js","names":["_writableTrackingBuffer","_interopRequireDefault","require","obj","__esModule","default","TVP_ROW_TOKEN","Buffer","from","TVP_END_TOKEN","NULL_LENGTH","TVP","id","type","name","declaration","parameter","value","generateTypeInfo","_parameter$value","_parameter$value2","databaseName","schema","typeName","bufferLength","byteLength","buffer","WritableTrackingBuffer","writeUInt8","writeBVarchar","data","generateParameterLength","options","columns","alloc","writeUInt16LE","length","generateParameterData","rows","i","len","column","buff","writeUInt32LE","row","k","len2","param","validate","collation","scale","precision","TypeError","Array","isArray","_default","exports","module"],"sources":["../../src/data-types/tvp.ts"],"sourcesContent":["import { DataType } from '../data-type';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst TVP_ROW_TOKEN = Buffer.from([0x01]);\nconst TVP_END_TOKEN = Buffer.from([0x00]);\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\n\nconst TVP: DataType = {\n id: 0xF3,\n type: 'TVPTYPE',\n name: 'TVP',\n\n declaration: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n return value.name + ' readonly';\n },\n\n generateTypeInfo(parameter) {\n const databaseName = '';\n const schema = parameter.value?.schema ?? '';\n const typeName = parameter.value?.name ?? '';\n\n const bufferLength = 1 +\n 1 + Buffer.byteLength(databaseName, 'ucs2') +\n 1 + Buffer.byteLength(schema, 'ucs2') +\n 1 + Buffer.byteLength(typeName, 'ucs2');\n\n const buffer = new WritableTrackingBuffer(bufferLength, 'ucs2');\n buffer.writeUInt8(this.id);\n buffer.writeBVarchar(databaseName);\n buffer.writeBVarchar(schema);\n buffer.writeBVarchar(typeName);\n\n return buffer.data;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const { columns } = parameter.value;\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(columns.length, 0);\n return buffer;\n },\n\n *generateParameterData(parameter, options) {\n if (parameter.value == null) {\n yield TVP_END_TOKEN;\n yield TVP_END_TOKEN;\n return;\n }\n\n const { columns, rows } = parameter.value;\n\n for (let i = 0, len = columns.length; i < len; i++) {\n const column = columns[i];\n\n const buff = Buffer.alloc(6);\n // UserType\n buff.writeUInt32LE(0x00000000, 0);\n\n // Flags\n buff.writeUInt16LE(0x0000, 4);\n yield buff;\n\n // TYPE_INFO\n yield column.type.generateTypeInfo(column);\n\n // ColName\n yield Buffer.from([0x00]);\n }\n\n yield TVP_END_TOKEN;\n\n for (let i = 0, length = rows.length; i < length; i++) {\n yield TVP_ROW_TOKEN;\n\n const row = rows[i];\n for (let k = 0, len2 = row.length; k < len2; k++) {\n const column = columns[k];\n const value = row[k];\n\n const param = {\n value: column.type.validate(value, parameter.collation),\n length: column.length,\n scale: column.scale,\n precision: column.precision\n };\n\n // TvpColumnData\n yield column.type.generateParameterLength(param, options);\n yield * column.type.generateParameterData(param, options);\n }\n }\n\n yield TVP_END_TOKEN;\n },\n\n validate: function(value): Buffer | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'object') {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.columns)) {\n throw new TypeError('Invalid table.');\n }\n\n if (!Array.isArray(value.rows)) {\n throw new TypeError('Invalid table.');\n }\n\n return value;\n }\n};\n\nexport default TVP;\nmodule.exports = TVP;\n"],"mappings":"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"}
|
package/lib/data-types/udt.js
CHANGED
|
@@ -8,29 +8,23 @@ const UDT = {
|
|
|
8
8
|
id: 0xF0,
|
|
9
9
|
type: 'UDTTYPE',
|
|
10
10
|
name: 'UDT',
|
|
11
|
-
|
|
12
11
|
declaration() {
|
|
13
12
|
throw new Error('not implemented');
|
|
14
13
|
},
|
|
15
|
-
|
|
16
14
|
generateTypeInfo() {
|
|
17
15
|
throw new Error('not implemented');
|
|
18
16
|
},
|
|
19
|
-
|
|
20
17
|
generateParameterLength() {
|
|
21
18
|
throw new Error('not implemented');
|
|
22
19
|
},
|
|
23
|
-
|
|
24
20
|
generateParameterData() {
|
|
25
21
|
throw new Error('not implemented');
|
|
26
22
|
},
|
|
27
|
-
|
|
28
23
|
validate() {
|
|
29
24
|
throw new Error('not implemented');
|
|
30
25
|
}
|
|
31
|
-
|
|
32
26
|
};
|
|
33
27
|
var _default = UDT;
|
|
34
28
|
exports.default = _default;
|
|
35
29
|
module.exports = UDT;
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVRFQiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJFcnJvciIsImdlbmVyYXRlVHlwZUluZm8iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3VkdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IFVEVDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweEYwLFxuICB0eXBlOiAnVURUVFlQRScsXG4gIG5hbWU6ICdVRFQnLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVURUO1xubW9kdWxlLmV4cG9ydHMgPSBVRFQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLEdBQWEsR0FBRztFQUNwQkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFLEtBQUs7RUFFWEMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBRWFWLEdBQUc7QUFBQVcsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDbEJHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHWCxHQUFHIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"udt.js","names":["UDT","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/udt.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst UDT: DataType = {\n id: 0xF0,\n type: 'UDTTYPE',\n name: 'UDT',\n\n declaration() {\n throw new Error('not implemented');\n },\n\n generateTypeInfo() {\n throw new Error('not implemented');\n },\n\n generateParameterLength() {\n throw new Error('not implemented');\n },\n\n generateParameterData() {\n throw new Error('not implemented');\n },\n\n validate() {\n throw new Error('not implemented');\n }\n};\n\nexport default UDT;\nmodule.exports = UDT;\n"],"mappings":";;;;;;AAEA,MAAMA,GAAa,GAAG;EACpBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,KAAK;EAEXC,WAAWA,CAAA,EAAG;IACZ,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDE,uBAAuBA,CAAA,EAAG;IACxB,MAAM,IAAIF,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDG,qBAAqBA,CAAA,EAAG;IACtB,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;EACpC,CAAC;EAEDI,QAAQA,CAAA,EAAG;IACT,MAAM,IAAIJ,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAAC,IAAAK,QAAA,GAEaV,GAAG;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAClBG,MAAM,CAACF,OAAO,GAAGX,GAAG"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _guidParser = require("../guid-parser");
|
|
9
|
-
|
|
10
8
|
const NULL_LENGTH = Buffer.from([0x00]);
|
|
11
9
|
const DATA_LENGTH = Buffer.from([0x10]);
|
|
12
10
|
const UniqueIdentifier = {
|
|
@@ -19,43 +17,35 @@ const UniqueIdentifier = {
|
|
|
19
17
|
resolveLength: function () {
|
|
20
18
|
return 16;
|
|
21
19
|
},
|
|
22
|
-
|
|
23
20
|
generateTypeInfo() {
|
|
24
21
|
return Buffer.from([this.id, 0x10]);
|
|
25
22
|
},
|
|
26
|
-
|
|
27
23
|
generateParameterLength(parameter, options) {
|
|
28
24
|
if (parameter.value == null) {
|
|
29
25
|
return NULL_LENGTH;
|
|
30
26
|
}
|
|
31
|
-
|
|
32
27
|
return DATA_LENGTH;
|
|
33
28
|
},
|
|
34
|
-
|
|
35
29
|
generateParameterData: function* (parameter, options) {
|
|
36
30
|
if (parameter.value == null) {
|
|
37
31
|
return;
|
|
38
32
|
}
|
|
39
|
-
|
|
40
33
|
yield Buffer.from((0, _guidParser.guidToArray)(parameter.value));
|
|
41
34
|
},
|
|
42
35
|
validate: function (value) {
|
|
43
36
|
if (value == null) {
|
|
44
37
|
return null;
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
if (typeof value !== 'string') {
|
|
48
40
|
throw new TypeError('Invalid string.');
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)) {
|
|
52
43
|
throw new TypeError('Invalid GUID.');
|
|
53
44
|
}
|
|
54
|
-
|
|
55
45
|
return value;
|
|
56
46
|
}
|
|
57
47
|
};
|
|
58
48
|
var _default = UniqueIdentifier;
|
|
59
49
|
exports.default = _default;
|
|
60
50
|
module.exports = UniqueIdentifier;
|
|
61
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3VpZFBhcnNlciIsInJlcXVpcmUiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJEQVRBX0xFTkdUSCIsIlVuaXF1ZUlkZW50aWZpZXIiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJyZXNvbHZlTGVuZ3RoIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwicGFyYW1ldGVyIiwib3B0aW9ucyIsInZhbHVlIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwiZ3VpZFRvQXJyYXkiLCJ2YWxpZGF0ZSIsIlR5cGVFcnJvciIsInRlc3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvdW5pcXVlaWRlbnRpZmllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyBndWlkVG9BcnJheSB9IGZyb20gJy4uL2d1aWQtcGFyc2VyJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuY29uc3QgREFUQV9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgxMF0pO1xuXG5jb25zdCBVbmlxdWVJZGVudGlmaWVyOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MjQsXG4gIHR5cGU6ICdHVUlETicsXG4gIG5hbWU6ICdVbmlxdWVJZGVudGlmaWVyJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICd1bmlxdWVpZGVudGlmaWVyJztcbiAgfSxcblxuICByZXNvbHZlTGVuZ3RoOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gMTY7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW3RoaXMuaWQsIDB4MTBdKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICByZXR1cm4gREFUQV9MRU5HVEg7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhOiBmdW5jdGlvbioocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgeWllbGQgQnVmZmVyLmZyb20oZ3VpZFRvQXJyYXkocGFyYW1ldGVyLnZhbHVlKSk7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHN0cmluZy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIS9eWzAtOWEtZl17OH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17MTJ9JC9pLnRlc3QodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIEdVSUQuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBVbmlxdWVJZGVudGlmaWVyO1xubW9kdWxlLmV4cG9ydHMgPSBVbmlxdWVJZGVudGlmaWVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFFQSxNQUFNQyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsTUFBTUMsV0FBVyxHQUFHRixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZDLE1BQU1FLGdCQUEwQixHQUFHO0VBQ2pDQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsa0JBQWtCO0VBRXhCQyxXQUFXLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sa0JBQWtCO0VBQzNCLENBQUM7RUFFREMsYUFBYSxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN4QixPQUFPLEVBQUU7RUFDWCxDQUFDO0VBRURDLGdCQUFnQkEsQ0FBQSxFQUFHO0lBQ2pCLE9BQU9ULE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDRyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7RUFDckMsQ0FBQztFQUVETSx1QkFBdUJBLENBQUNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPZCxXQUFXO0lBQ3BCO0lBRUEsT0FBT0csV0FBVztFQUNwQixDQUFDO0VBRURZLHFCQUFxQixFQUFFLFVBQUFBLENBQVVILFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQ25ELElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQjtJQUNGO0lBRUEsTUFBTWIsTUFBTSxDQUFDQyxJQUFJLENBQUMsSUFBQWMsdUJBQVcsRUFBQ0osU0FBUyxDQUFDRSxLQUFLLENBQUMsQ0FBQztFQUNqRCxDQUFDO0VBRURHLFFBQVEsRUFBRSxTQUFBQSxDQUFTSCxLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0IsTUFBTSxJQUFJSSxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFFQSxJQUFJLENBQUMsaUVBQWlFLENBQUNDLElBQUksQ0FBQ0wsS0FBSyxDQUFDLEVBQUU7TUFDbEYsTUFBTSxJQUFJSSxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3RDO0lBRUEsT0FBT0osS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFNLFFBQUEsR0FFYWhCLGdCQUFnQjtBQUFBaUIsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUE7QUFDL0JHLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHakIsZ0JBQWdCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniqueidentifier.js","names":["_guidParser","require","NULL_LENGTH","Buffer","from","DATA_LENGTH","UniqueIdentifier","id","type","name","declaration","resolveLength","generateTypeInfo","generateParameterLength","parameter","options","value","generateParameterData","guidToArray","validate","TypeError","test","_default","exports","default","module"],"sources":["../../src/data-types/uniqueidentifier.ts"],"sourcesContent":["import { DataType } from '../data-type';\nimport { guidToArray } from '../guid-parser';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\nconst DATA_LENGTH = Buffer.from([0x10]);\n\nconst UniqueIdentifier: DataType = {\n id: 0x24,\n type: 'GUIDN',\n name: 'UniqueIdentifier',\n\n declaration: function() {\n return 'uniqueidentifier';\n },\n\n resolveLength: function() {\n return 16;\n },\n\n generateTypeInfo() {\n return Buffer.from([this.id, 0x10]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return DATA_LENGTH;\n },\n\n generateParameterData: function*(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n yield Buffer.from(guidToArray(parameter.value));\n },\n\n validate: function(value): string | null {\n if (value == null) {\n return null;\n }\n\n if (typeof value !== 'string') {\n throw new TypeError('Invalid string.');\n }\n\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)) {\n throw new TypeError('Invalid GUID.');\n }\n\n return value;\n }\n};\n\nexport default UniqueIdentifier;\nmodule.exports = UniqueIdentifier;\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,MAAMC,WAAW,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAME,gBAA0B,GAAG;EACjCC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,kBAAkB;EAExBC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,kBAAkB;EAC3B,CAAC;EAEDC,aAAa,EAAE,SAAAA,CAAA,EAAW;IACxB,OAAO,EAAE;EACX,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,OAAOT,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAACG,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC;EAEDM,uBAAuBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOd,WAAW;IACpB;IAEA,OAAOG,WAAW;EACpB,CAAC;EAEDY,qBAAqB,EAAE,UAAAA,CAAUH,SAAS,EAAEC,OAAO,EAAE;IACnD,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAMb,MAAM,CAACC,IAAI,CAAC,IAAAc,uBAAW,EAACJ,SAAS,CAACE,KAAK,CAAC,CAAC;EACjD,CAAC;EAEDG,QAAQ,EAAE,SAAAA,CAASH,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAII,SAAS,CAAC,iBAAiB,CAAC;IACxC;IAEA,IAAI,CAAC,iEAAiE,CAACC,IAAI,CAACL,KAAK,CAAC,EAAE;MAClF,MAAM,IAAII,SAAS,CAAC,eAAe,CAAC;IACtC;IAEA,OAAOJ,KAAK;EACd;AACF,CAAC;AAAC,IAAAM,QAAA,GAEahB,gBAAgB;AAAAiB,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAC/BG,MAAM,CAACF,OAAO,GAAGjB,gBAAgB"}
|
|
@@ -16,9 +16,7 @@ const VarBinary = {
|
|
|
16
16
|
maximumLength: 8000,
|
|
17
17
|
declaration: function (parameter) {
|
|
18
18
|
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
19
|
-
|
|
20
19
|
let length;
|
|
21
|
-
|
|
22
20
|
if (parameter.length) {
|
|
23
21
|
length = parameter.length;
|
|
24
22
|
} else if (value != null) {
|
|
@@ -28,7 +26,6 @@ const VarBinary = {
|
|
|
28
26
|
} else {
|
|
29
27
|
length = this.maximumLength;
|
|
30
28
|
}
|
|
31
|
-
|
|
32
29
|
if (length <= this.maximumLength) {
|
|
33
30
|
return 'varbinary(' + length + ')';
|
|
34
31
|
} else {
|
|
@@ -37,7 +34,6 @@ const VarBinary = {
|
|
|
37
34
|
},
|
|
38
35
|
resolveLength: function (parameter) {
|
|
39
36
|
const value = parameter.value; // Temporary solution. Remove 'any' later.
|
|
40
|
-
|
|
41
37
|
if (parameter.length != null) {
|
|
42
38
|
return parameter.length;
|
|
43
39
|
} else if (value != null) {
|
|
@@ -49,16 +45,13 @@ const VarBinary = {
|
|
|
49
45
|
generateTypeInfo: function (parameter) {
|
|
50
46
|
const buffer = Buffer.alloc(3);
|
|
51
47
|
buffer.writeUInt8(this.id, 0);
|
|
52
|
-
|
|
53
48
|
if (parameter.length <= this.maximumLength) {
|
|
54
49
|
buffer.writeUInt16LE(parameter.length, 1);
|
|
55
50
|
} else {
|
|
56
51
|
buffer.writeUInt16LE(MAX, 1);
|
|
57
52
|
}
|
|
58
|
-
|
|
59
53
|
return buffer;
|
|
60
54
|
},
|
|
61
|
-
|
|
62
55
|
generateParameterLength(parameter, options) {
|
|
63
56
|
if (parameter.value == null) {
|
|
64
57
|
if (parameter.length <= this.maximumLength) {
|
|
@@ -67,15 +60,11 @@ const VarBinary = {
|
|
|
67
60
|
return MAX_NULL_LENGTH;
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
let value = parameter.value;
|
|
72
|
-
|
|
73
64
|
if (!Buffer.isBuffer(value)) {
|
|
74
65
|
value = value.toString();
|
|
75
66
|
}
|
|
76
|
-
|
|
77
67
|
const length = Buffer.byteLength(value, 'ucs2');
|
|
78
|
-
|
|
79
68
|
if (parameter.length <= this.maximumLength) {
|
|
80
69
|
const buffer = Buffer.alloc(2);
|
|
81
70
|
buffer.writeUInt16LE(length, 0);
|
|
@@ -85,14 +74,11 @@ const VarBinary = {
|
|
|
85
74
|
return UNKNOWN_PLP_LEN;
|
|
86
75
|
}
|
|
87
76
|
},
|
|
88
|
-
|
|
89
77
|
*generateParameterData(parameter, options) {
|
|
90
78
|
if (parameter.value == null) {
|
|
91
79
|
return;
|
|
92
80
|
}
|
|
93
|
-
|
|
94
81
|
let value = parameter.value;
|
|
95
|
-
|
|
96
82
|
if (parameter.length <= this.maximumLength) {
|
|
97
83
|
if (Buffer.isBuffer(value)) {
|
|
98
84
|
yield value;
|
|
@@ -104,38 +90,31 @@ const VarBinary = {
|
|
|
104
90
|
if (!Buffer.isBuffer(value)) {
|
|
105
91
|
value = value.toString();
|
|
106
92
|
}
|
|
107
|
-
|
|
108
93
|
const length = Buffer.byteLength(value, 'ucs2');
|
|
109
|
-
|
|
110
94
|
if (length > 0) {
|
|
111
95
|
const buffer = Buffer.alloc(4);
|
|
112
96
|
buffer.writeUInt32LE(length, 0);
|
|
113
97
|
yield buffer;
|
|
114
|
-
|
|
115
98
|
if (Buffer.isBuffer(value)) {
|
|
116
99
|
yield value;
|
|
117
100
|
} else {
|
|
118
101
|
yield Buffer.from(value, 'ucs2');
|
|
119
102
|
}
|
|
120
103
|
}
|
|
121
|
-
|
|
122
104
|
yield PLP_TERMINATOR;
|
|
123
105
|
}
|
|
124
106
|
},
|
|
125
|
-
|
|
126
107
|
validate: function (value) {
|
|
127
108
|
if (value == null) {
|
|
128
109
|
return null;
|
|
129
110
|
}
|
|
130
|
-
|
|
131
111
|
if (!Buffer.isBuffer(value)) {
|
|
132
112
|
throw new TypeError('Invalid buffer.');
|
|
133
113
|
}
|
|
134
|
-
|
|
135
114
|
return value;
|
|
136
115
|
}
|
|
137
116
|
};
|
|
138
117
|
var _default = VarBinary;
|
|
139
118
|
exports.default = _default;
|
|
140
119
|
module.exports = VarBinary;
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQVgiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiUExQX1RFUk1JTkFUT1IiLCJOVUxMX0xFTkdUSCIsIk1BWF9OVUxMX0xFTkdUSCIsIlZhckJpbmFyeSIsImlkIiwidHlwZSIsIm5hbWUiLCJtYXhpbXVtTGVuZ3RoIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsIm91dHB1dCIsInJlc29sdmVMZW5ndGgiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImlzQnVmZmVyIiwidG9TdHJpbmciLCJieXRlTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwid3JpdGVVSW50MzJMRSIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3ZhcmJpbmFyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE1BWCA9ICgxIDw8IDE2KSAtIDE7XG5jb25zdCBVTktOT1dOX1BMUF9MRU4gPSBCdWZmZXIuZnJvbShbMHhmZSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZl0pO1xuY29uc3QgUExQX1RFUk1JTkFUT1IgPSBCdWZmZXIuZnJvbShbMHgwMCwgMHgwMCwgMHgwMCwgMHgwMF0pO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGXSk7XG5jb25zdCBNQVhfTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBWYXJCaW5hcnk6IHsgbWF4aW11bUxlbmd0aDogbnVtYmVyIH0gJiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4QTUsXG4gIHR5cGU6ICdCSUdWQVJCSU4nLFxuICBuYW1lOiAnVmFyQmluYXJ5JyxcbiAgbWF4aW11bUxlbmd0aDogODAwMCxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoIHx8IDE7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCAmJiAhcGFyYW1ldGVyLm91dHB1dCkge1xuICAgICAgbGVuZ3RoID0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGVuZ3RoID0gdGhpcy5tYXhpbXVtTGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChsZW5ndGggPD0gdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ3ZhcmJpbmFyeSgnICsgbGVuZ3RoICsgJyknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3ZhcmJpbmFyeShtYXgpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm86IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygzKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKHBhcmFtZXRlci5sZW5ndGghLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlVUludDE2TEUoTUFYLCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gTUFYX05VTExfTEVOR1RIO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgJ3VjczInKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH0gZWxzZSB7IC8vIHdyaXRlUExQQm9keVxuICAgICAgcmV0dXJuIFVOS05PV05fUExQX0xFTjtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZS50b1N0cmluZygpLCAndWNzMicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7IC8vIHdyaXRlUExQQm9keVxuICAgICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUsICd1Y3MyJyk7XG5cbiAgICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUobGVuZ3RoLCAwKTtcbiAgICAgICAgeWllbGQgYnVmZmVyO1xuXG4gICAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeWllbGQgQnVmZmVyLmZyb20odmFsdWUsICd1Y3MyJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgeWllbGQgUExQX1RFUk1JTkFUT1I7XG4gICAgfVxuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGJ1ZmZlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWYXJCaW5hcnk7XG5tb2R1bGUuZXhwb3J0cyA9IFZhckJpbmFyeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFOLElBQVksQ0FBeEI7QUFDQSxNQUFNQyxlQUFlLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLEVBQW1CLElBQW5CLEVBQXlCLElBQXpCLEVBQStCLElBQS9CLEVBQXFDLElBQXJDLEVBQTJDLElBQTNDLENBQVosQ0FBeEI7QUFDQSxNQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLEVBQW1CLElBQW5CLENBQVosQ0FBdkI7QUFFQSxNQUFNRSxXQUFXLEdBQUdILE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLENBQUMsSUFBRCxFQUFPLElBQVAsQ0FBWixDQUFwQjtBQUNBLE1BQU1HLGVBQWUsR0FBR0osTUFBTSxDQUFDQyxJQUFQLENBQVksQ0FBQyxJQUFELEVBQU8sSUFBUCxFQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsRUFBcUMsSUFBckMsRUFBMkMsSUFBM0MsQ0FBWixDQUF4QjtBQUVBLE1BQU1JLFNBQStDLEdBQUc7RUFDdERDLEVBQUUsRUFBRSxJ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
|
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQVgiLCJVTktOT1dOX1BMUF9MRU4iLCJCdWZmZXIiLCJmcm9tIiwiUExQX1RFUk1JTkFUT1IiLCJOVUxMX0xFTkdUSCIsIk1BWF9OVUxMX0xFTkdUSCIsIlZhckJpbmFyeSIsImlkIiwidHlwZSIsIm5hbWUiLCJtYXhpbXVtTGVuZ3RoIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsIm91dHB1dCIsInJlc29sdmVMZW5ndGgiLCJnZW5lcmF0ZVR5cGVJbmZvIiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsImlzQnVmZmVyIiwidG9TdHJpbmciLCJieXRlTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwid3JpdGVVSW50MzJMRSIsInZhbGlkYXRlIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3ZhcmJpbmFyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IE1BWCA9ICgxIDw8IDE2KSAtIDE7XG5jb25zdCBVTktOT1dOX1BMUF9MRU4gPSBCdWZmZXIuZnJvbShbMHhmZSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZl0pO1xuY29uc3QgUExQX1RFUk1JTkFUT1IgPSBCdWZmZXIuZnJvbShbMHgwMCwgMHgwMCwgMHgwMCwgMHgwMF0pO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGXSk7XG5jb25zdCBNQVhfTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBWYXJCaW5hcnk6IHsgbWF4aW11bUxlbmd0aDogbnVtYmVyIH0gJiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4QTUsXG4gIHR5cGU6ICdCSUdWQVJCSU4nLFxuICBuYW1lOiAnVmFyQmluYXJ5JyxcbiAgbWF4aW11bUxlbmd0aDogODAwMCxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBsZXQgbGVuZ3RoO1xuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoKSB7XG4gICAgICBsZW5ndGggPSBwYXJhbWV0ZXIubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgbGVuZ3RoID0gdmFsdWUubGVuZ3RoIHx8IDE7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCAmJiAhcGFyYW1ldGVyLm91dHB1dCkge1xuICAgICAgbGVuZ3RoID0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGVuZ3RoID0gdGhpcy5tYXhpbXVtTGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChsZW5ndGggPD0gdGhpcy5tYXhpbXVtTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ3ZhcmJpbmFyeSgnICsgbGVuZ3RoICsgJyknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3ZhcmJpbmFyeShtYXgpJztcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUZW1wb3Jhcnkgc29sdXRpb24uIFJlbW92ZSAnYW55JyBsYXRlci5cbiAgICBpZiAocGFyYW1ldGVyLmxlbmd0aCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heGltdW1MZW5ndGg7XG4gICAgfVxuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm86IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygzKTtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkLCAwKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKHBhcmFtZXRlci5sZW5ndGghLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLndyaXRlVUludDE2TEUoTUFYLCAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gTUFYX05VTExfTEVOR1RIO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZW5ndGggPSBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSwgJ3VjczInKTtcblxuICAgIGlmIChwYXJhbWV0ZXIubGVuZ3RoISA8PSB0aGlzLm1heGltdW1MZW5ndGgpIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQxNkxFKGxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH0gZWxzZSB7IC8vIHdyaXRlUExQQm9keVxuICAgICAgcmV0dXJuIFVOS05PV05fUExQX0xFTjtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuXG4gICAgaWYgKHBhcmFtZXRlci5sZW5ndGghIDw9IHRoaXMubWF4aW11bUxlbmd0aCkge1xuICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB5aWVsZCBCdWZmZXIuZnJvbSh2YWx1ZS50b1N0cmluZygpLCAndWNzMicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7IC8vIHdyaXRlUExQQm9keVxuICAgICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUsICd1Y3MyJyk7XG5cbiAgICAgIGlmIChsZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUobGVuZ3RoLCAwKTtcbiAgICAgICAgeWllbGQgYnVmZmVyO1xuXG4gICAgICAgIGlmIChCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeWllbGQgQnVmZmVyLmZyb20odmFsdWUsICd1Y3MyJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgeWllbGQgUExQX1RFUk1JTkFUT1I7XG4gICAgfVxuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGJ1ZmZlci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWYXJCaW5hcnk7XG5tb2R1bGUuZXhwb3J0cyA9IFZhckJpbmFyeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0FBQ3pCLE1BQU1DLGVBQWUsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckYsTUFBTUMsY0FBYyxHQUFHRixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRTVELE1BQU1FLFdBQVcsR0FBR0gsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsTUFBTUcsZUFBZSxHQUFHSixNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVyRixNQUFNSSxTQUErQyxHQUFHO0VBQ3REQyxFQUFFLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"varbinary.js","names":["MAX","UNKNOWN_PLP_LEN","Buffer","from","PLP_TERMINATOR","NULL_LENGTH","MAX_NULL_LENGTH","VarBinary","id","type","name","maximumLength","declaration","parameter","value","length","output","resolveLength","generateTypeInfo","buffer","alloc","writeUInt8","writeUInt16LE","generateParameterLength","options","isBuffer","toString","byteLength","generateParameterData","writeUInt32LE","validate","TypeError","_default","exports","default","module"],"sources":["../../src/data-types/varbinary.ts"],"sourcesContent":["import { DataType } from '../data-type';\n\nconst MAX = (1 << 16) - 1;\nconst UNKNOWN_PLP_LEN = Buffer.from([0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);\nconst PLP_TERMINATOR = Buffer.from([0x00, 0x00, 0x00, 0x00]);\n\nconst NULL_LENGTH = Buffer.from([0xFF, 0xFF]);\nconst MAX_NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]);\n\nconst VarBinary: { maximumLength: number } & DataType = {\n id: 0xA5,\n type: 'BIGVARBIN',\n name: 'VarBinary',\n maximumLength: 8000,\n\n declaration: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n let length;\n if (parameter.length) {\n length = parameter.length;\n } else if (value != null) {\n length = value.length || 1;\n } else if (value === null && !parameter.output) {\n length = 1;\n } else {\n length = this.maximumLength;\n }\n\n if (length <= this.maximumLength) {\n return 'varbinary(' + length + ')';\n } else {\n return 'varbinary(max)';\n }\n },\n\n resolveLength: function(parameter) {\n const value = parameter.value as any; // Temporary solution. Remove 'any' later.\n if (parameter.length != null) {\n return parameter.length;\n } else if (value != null) {\n return value.length;\n } else {\n return this.maximumLength;\n }\n },\n\n generateTypeInfo: function(parameter) {\n const buffer = Buffer.alloc(3);\n buffer.writeUInt8(this.id, 0);\n\n if (parameter.length! <= this.maximumLength) {\n buffer.writeUInt16LE(parameter.length!, 1);\n } else {\n buffer.writeUInt16LE(MAX, 1);\n }\n\n return buffer;\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n if (parameter.length! <= this.maximumLength) {\n return NULL_LENGTH;\n } else {\n return MAX_NULL_LENGTH;\n }\n }\n\n let value = parameter.value;\n if (!Buffer.isBuffer(value)) {\n value = value.toString();\n }\n\n const length = Buffer.byteLength(value, 'ucs2');\n\n if (parameter.length! <= this.maximumLength) {\n const buffer = Buffer.alloc(2);\n buffer.writeUInt16LE(length, 0);\n return buffer;\n } else { // writePLPBody\n return UNKNOWN_PLP_LEN;\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n let value = parameter.value;\n\n if (parameter.length! <= this.maximumLength) {\n if (Buffer.isBuffer(value)) {\n yield value;\n } else {\n yield Buffer.from(value.toString(), 'ucs2');\n }\n } else { // writePLPBody\n if (!Buffer.isBuffer(value)) {\n value = value.toString();\n }\n\n const length = Buffer.byteLength(value, 'ucs2');\n\n if (length > 0) {\n const buffer = Buffer.alloc(4);\n buffer.writeUInt32LE(length, 0);\n yield buffer;\n\n if (Buffer.isBuffer(value)) {\n yield value;\n } else {\n yield Buffer.from(value, 'ucs2');\n }\n }\n\n yield PLP_TERMINATOR;\n }\n },\n\n validate: function(value): Buffer | null {\n if (value == null) {\n return null;\n }\n if (!Buffer.isBuffer(value)) {\n throw new TypeError('Invalid buffer.');\n }\n return value;\n }\n};\n\nexport default VarBinary;\nmodule.exports = VarBinary;\n"],"mappings":"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"}
|