tedious-fabric 1.0.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/CLAUDE.md +91 -0
- package/LICENSE +21 -0
- package/README.md +67 -0
- package/appveyor.yml +67 -0
- package/eslint.config.mjs +314 -0
- package/lib/all-headers.d.ts +2 -0
- package/lib/all-headers.js +24 -0
- package/lib/all-headers.js.map +1 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +82 -0
- 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 +55 -0
- package/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js.map +1 -0
- package/lib/always-encrypted/cek-entry.d.ts +11 -0
- package/lib/always-encrypted/cek-entry.js +42 -0
- package/lib/always-encrypted/cek-entry.js.map +1 -0
- package/lib/always-encrypted/get-parameter-encryption-metadata.js +90 -0
- package/lib/always-encrypted/get-parameter-encryption-metadata.js.map +1 -0
- package/lib/always-encrypted/key-crypto.js +94 -0
- package/lib/always-encrypted/key-crypto.js.map +1 -0
- package/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +21 -0
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js +247 -0
- package/lib/always-encrypted/keystore-provider-azure-key-vault.js.map +1 -0
- package/lib/always-encrypted/symmetric-key-cache.js +36 -0
- package/lib/always-encrypted/symmetric-key-cache.js.map +1 -0
- package/lib/always-encrypted/symmetric-key.js +25 -0
- package/lib/always-encrypted/symmetric-key.js.map +1 -0
- package/lib/always-encrypted/types.d.ts +73 -0
- package/lib/always-encrypted/types.js +61 -0
- package/lib/always-encrypted/types.js.map +1 -0
- package/lib/always-encrypted/utils.js +23 -0
- package/lib/always-encrypted/utils.js.map +1 -0
- package/lib/bulk-load-payload.d.ts +8 -0
- package/lib/bulk-load-payload.js +23 -0
- package/lib/bulk-load-payload.js.map +1 -0
- package/lib/bulk-load.d.ts +275 -0
- package/lib/bulk-load.js +515 -0
- package/lib/bulk-load.js.map +1 -0
- package/lib/collation.d.ts +28 -0
- package/lib/collation.js +348 -0
- package/lib/collation.js.map +1 -0
- package/lib/connection.d.ts +1309 -0
- package/lib/connection.js +2732 -0
- package/lib/connection.js.map +1 -0
- package/lib/connector.d.ts +18 -0
- package/lib/connector.js +142 -0
- package/lib/connector.js.map +1 -0
- package/lib/data-type.d.ts +554 -0
- package/lib/data-type.js +428 -0
- package/lib/data-type.js.map +1 -0
- package/lib/data-types/bigint.d.ts +3 -0
- package/lib/data-types/bigint.js +53 -0
- package/lib/data-types/bigint.js.map +1 -0
- package/lib/data-types/binary.d.ts +5 -0
- package/lib/data-types/binary.js +67 -0
- package/lib/data-types/binary.js.map +1 -0
- package/lib/data-types/bit.d.ts +3 -0
- package/lib/data-types/bit.js +46 -0
- package/lib/data-types/bit.js.map +1 -0
- package/lib/data-types/bitn.d.ts +3 -0
- package/lib/data-types/bitn.js +29 -0
- package/lib/data-types/bitn.js.map +1 -0
- package/lib/data-types/char.d.ts +5 -0
- package/lib/data-types/char.js +86 -0
- package/lib/data-types/char.js.map +1 -0
- package/lib/data-types/date.d.ts +3 -0
- package/lib/data-types/date.js +72 -0
- package/lib/data-types/date.js.map +1 -0
- package/lib/data-types/datetime.d.ts +3 -0
- package/lib/data-types/datetime.js +93 -0
- package/lib/data-types/datetime.js.map +1 -0
- package/lib/data-types/datetime2.d.ts +5 -0
- package/lib/data-types/datetime2.js +118 -0
- package/lib/data-types/datetime2.js.map +1 -0
- package/lib/data-types/datetimen.d.ts +3 -0
- package/lib/data-types/datetimen.js +29 -0
- package/lib/data-types/datetimen.js.map +1 -0
- package/lib/data-types/datetimeoffset.d.ts +5 -0
- package/lib/data-types/datetimeoffset.js +111 -0
- package/lib/data-types/datetimeoffset.js.map +1 -0
- package/lib/data-types/decimal.d.ts +6 -0
- package/lib/data-types/decimal.js +107 -0
- package/lib/data-types/decimal.js.map +1 -0
- package/lib/data-types/decimaln.d.ts +3 -0
- package/lib/data-types/decimaln.js +29 -0
- package/lib/data-types/decimaln.js.map +1 -0
- package/lib/data-types/float.d.ts +3 -0
- package/lib/data-types/float.js +47 -0
- package/lib/data-types/float.js.map +1 -0
- package/lib/data-types/floatn.d.ts +3 -0
- package/lib/data-types/floatn.js +29 -0
- package/lib/data-types/floatn.js.map +1 -0
- package/lib/data-types/image.d.ts +3 -0
- package/lib/data-types/image.js +56 -0
- package/lib/data-types/image.js.map +1 -0
- package/lib/data-types/int.d.ts +3 -0
- package/lib/data-types/int.js +53 -0
- package/lib/data-types/int.js.map +1 -0
- package/lib/data-types/intn.d.ts +3 -0
- package/lib/data-types/intn.js +29 -0
- package/lib/data-types/intn.js.map +1 -0
- package/lib/data-types/money.d.ts +3 -0
- package/lib/data-types/money.js +59 -0
- package/lib/data-types/money.js.map +1 -0
- package/lib/data-types/moneyn.d.ts +3 -0
- package/lib/data-types/moneyn.js +29 -0
- package/lib/data-types/moneyn.js.map +1 -0
- package/lib/data-types/nchar.d.ts +5 -0
- package/lib/data-types/nchar.js +100 -0
- package/lib/data-types/nchar.js.map +1 -0
- package/lib/data-types/ntext.d.ts +3 -0
- package/lib/data-types/ntext.js +60 -0
- package/lib/data-types/ntext.js.map +1 -0
- package/lib/data-types/null.d.ts +3 -0
- package/lib/data-types/null.js +29 -0
- package/lib/data-types/null.js.map +1 -0
- package/lib/data-types/numeric.d.ts +6 -0
- package/lib/data-types/numeric.js +106 -0
- package/lib/data-types/numeric.js.map +1 -0
- package/lib/data-types/numericn.d.ts +3 -0
- package/lib/data-types/numericn.js +29 -0
- package/lib/data-types/numericn.js.map +1 -0
- package/lib/data-types/nvarchar.d.ts +5 -0
- package/lib/data-types/nvarchar.js +133 -0
- package/lib/data-types/nvarchar.js.map +1 -0
- package/lib/data-types/real.d.ts +3 -0
- package/lib/data-types/real.js +48 -0
- package/lib/data-types/real.js.map +1 -0
- package/lib/data-types/smalldatetime.d.ts +3 -0
- package/lib/data-types/smalldatetime.js +83 -0
- package/lib/data-types/smalldatetime.js.map +1 -0
- package/lib/data-types/smallint.d.ts +3 -0
- package/lib/data-types/smallint.js +53 -0
- package/lib/data-types/smallint.js.map +1 -0
- package/lib/data-types/smallmoney.d.ts +3 -0
- package/lib/data-types/smallmoney.js +51 -0
- package/lib/data-types/smallmoney.js.map +1 -0
- package/lib/data-types/sql-variant.d.ts +3 -0
- package/lib/data-types/sql-variant.js +29 -0
- package/lib/data-types/sql-variant.js.map +1 -0
- package/lib/data-types/text.d.ts +3 -0
- package/lib/data-types/text.js +69 -0
- package/lib/data-types/text.js.map +1 -0
- package/lib/data-types/time.d.ts +3 -0
- package/lib/data-types/time.js +96 -0
- package/lib/data-types/time.js.map +1 -0
- package/lib/data-types/tinyint.d.ts +3 -0
- package/lib/data-types/tinyint.js +53 -0
- package/lib/data-types/tinyint.js.map +1 -0
- package/lib/data-types/tvp.d.ts +3 -0
- package/lib/data-types/tvp.js +117 -0
- package/lib/data-types/tvp.js.map +1 -0
- package/lib/data-types/udt.d.ts +3 -0
- package/lib/data-types/udt.js +29 -0
- package/lib/data-types/udt.js.map +1 -0
- package/lib/data-types/uniqueidentifier.d.ts +3 -0
- package/lib/data-types/uniqueidentifier.js +50 -0
- package/lib/data-types/uniqueidentifier.js.map +1 -0
- package/lib/data-types/varbinary.d.ts +5 -0
- package/lib/data-types/varbinary.js +119 -0
- package/lib/data-types/varbinary.js.map +1 -0
- package/lib/data-types/varchar.d.ts +5 -0
- package/lib/data-types/varchar.js +112 -0
- package/lib/data-types/varchar.js.map +1 -0
- package/lib/data-types/xml.d.ts +3 -0
- package/lib/data-types/xml.js +29 -0
- package/lib/data-types/xml.js.map +1 -0
- package/lib/debug.d.ts +25 -0
- package/lib/debug.js +66 -0
- package/lib/debug.js.map +1 -0
- package/lib/errors.d.ts +17 -0
- package/lib/errors.js +23 -0
- package/lib/errors.js.map +1 -0
- package/lib/guid-parser.d.ts +3 -0
- package/lib/guid-parser.js +30 -0
- package/lib/guid-parser.js.map +1 -0
- package/lib/incoming-message-stream.d.ts +19 -0
- package/lib/incoming-message-stream.js +97 -0
- package/lib/incoming-message-stream.js.map +1 -0
- package/lib/instance-lookup.d.ts +13 -0
- package/lib/instance-lookup.js +91 -0
- package/lib/instance-lookup.js.map +1 -0
- package/lib/library.d.ts +1 -0
- package/lib/library.js +8 -0
- package/lib/library.js.map +1 -0
- package/lib/login7-payload.d.ts +51 -0
- package/lib/login7-payload.js +408 -0
- package/lib/login7-payload.js.map +1 -0
- package/lib/message-io.d.ts +28 -0
- package/lib/message-io.js +152 -0
- package/lib/message-io.js.map +1 -0
- package/lib/message.d.ts +11 -0
- package/lib/message.js +21 -0
- package/lib/message.js.map +1 -0
- package/lib/metadata-parser.d.ts +48 -0
- package/lib/metadata-parser.js +380 -0
- package/lib/metadata-parser.js.map +1 -0
- package/lib/ntlm-payload.d.ts +23 -0
- package/lib/ntlm-payload.js +135 -0
- package/lib/ntlm-payload.js.map +1 -0
- package/lib/ntlm.d.ts +4 -0
- package/lib/ntlm.js +72 -0
- package/lib/ntlm.js.map +1 -0
- package/lib/outgoing-message-stream.d.ts +15 -0
- package/lib/outgoing-message-stream.js +81 -0
- package/lib/outgoing-message-stream.js.map +1 -0
- package/lib/packet.d.ts +33 -0
- package/lib/packet.js +191 -0
- package/lib/packet.js.map +1 -0
- package/lib/prelogin-payload.d.ts +67 -0
- package/lib/prelogin-payload.js +228 -0
- package/lib/prelogin-payload.js.map +1 -0
- package/lib/request.d.ts +370 -0
- package/lib/request.js +387 -0
- package/lib/request.js.map +1 -0
- package/lib/rpcrequest-payload.d.ts +16 -0
- package/lib/rpcrequest-payload.js +109 -0
- package/lib/rpcrequest-payload.js.map +1 -0
- package/lib/sender.d.ts +5 -0
- package/lib/sender.js +78 -0
- package/lib/sender.js.map +1 -0
- package/lib/special-stored-procedure.d.ts +18 -0
- package/lib/special-stored-procedure.js +26 -0
- package/lib/special-stored-procedure.js.map +1 -0
- package/lib/sqlbatch-payload.d.ts +13 -0
- package/lib/sqlbatch-payload.js +34 -0
- package/lib/sqlbatch-payload.js.map +1 -0
- package/lib/tds-versions.d.ts +6 -0
- package/lib/tds-versions.js +19 -0
- package/lib/tds-versions.js.map +1 -0
- package/lib/tedious.d.ts +13 -0
- package/lib/tedious.js +73 -0
- package/lib/tedious.js.map +1 -0
- package/lib/token/colmetadata-token-parser.d.ts +12 -0
- package/lib/token/colmetadata-token-parser.js +124 -0
- package/lib/token/colmetadata-token-parser.js.map +1 -0
- package/lib/token/done-token-parser.d.ts +6 -0
- package/lib/token/done-token-parser.js +76 -0
- package/lib/token/done-token-parser.js.map +1 -0
- package/lib/token/env-change-token-parser.d.ts +5 -0
- package/lib/token/env-change-token-parser.js +190 -0
- package/lib/token/env-change-token-parser.js.map +1 -0
- package/lib/token/feature-ext-ack-parser.d.ts +5 -0
- package/lib/token/feature-ext-ack-parser.js +52 -0
- package/lib/token/feature-ext-ack-parser.js.map +1 -0
- package/lib/token/fedauth-info-parser.d.ts +5 -0
- package/lib/token/fedauth-info-parser.js +62 -0
- package/lib/token/fedauth-info-parser.js.map +1 -0
- package/lib/token/handler.d.ts +136 -0
- package/lib/token/handler.js +445 -0
- package/lib/token/handler.js.map +1 -0
- package/lib/token/helpers.d.ts +28 -0
- package/lib/token/helpers.js +205 -0
- package/lib/token/helpers.js.map +1 -0
- package/lib/token/infoerror-token-parser.d.ts +5 -0
- package/lib/token/infoerror-token-parser.js +80 -0
- package/lib/token/infoerror-token-parser.js.map +1 -0
- package/lib/token/loginack-token-parser.d.ts +5 -0
- package/lib/token/loginack-token-parser.js +75 -0
- package/lib/token/loginack-token-parser.js.map +1 -0
- package/lib/token/nbcrow-token-parser.d.ts +4 -0
- package/lib/token/nbcrow-token-parser.js +103 -0
- package/lib/token/nbcrow-token-parser.js.map +1 -0
- package/lib/token/order-token-parser.d.ts +5 -0
- package/lib/token/order-token-parser.js +34 -0
- package/lib/token/order-token-parser.js.map +1 -0
- package/lib/token/returnstatus-token-parser.d.ts +5 -0
- package/lib/token/returnstatus-token-parser.js +21 -0
- package/lib/token/returnstatus-token-parser.js.map +1 -0
- package/lib/token/returnvalue-token-parser.d.ts +4 -0
- package/lib/token/returnvalue-token-parser.js +93 -0
- package/lib/token/returnvalue-token-parser.js.map +1 -0
- package/lib/token/row-token-parser.d.ts +4 -0
- package/lib/token/row-token-parser.js +76 -0
- package/lib/token/row-token-parser.js.map +1 -0
- package/lib/token/sspi-token-parser.d.ts +5 -0
- package/lib/token/sspi-token-parser.js +42 -0
- package/lib/token/sspi-token-parser.js.map +1 -0
- package/lib/token/stream-parser.d.ts +34 -0
- package/lib/token/stream-parser.js +341 -0
- package/lib/token/stream-parser.js.map +1 -0
- package/lib/token/token-stream-parser.d.ts +15 -0
- package/lib/token/token-stream-parser.js +36 -0
- package/lib/token/token-stream-parser.js.map +1 -0
- package/lib/token/token.d.ts +312 -0
- package/lib/token/token.js +328 -0
- package/lib/token/token.js.map +1 -0
- package/lib/tracking-buffer/writable-tracking-buffer.d.ts +47 -0
- package/lib/tracking-buffer/writable-tracking-buffer.js +249 -0
- package/lib/tracking-buffer/writable-tracking-buffer.js.map +1 -0
- package/lib/transaction.d.ts +39 -0
- package/lib/transaction.js +137 -0
- package/lib/transaction.js.map +1 -0
- package/lib/transient-error-lookup.d.ts +3 -0
- package/lib/transient-error-lookup.js +19 -0
- package/lib/transient-error-lookup.js.map +1 -0
- package/lib/value-parser.d.ts +7 -0
- package/lib/value-parser.js +813 -0
- package/lib/value-parser.js.map +1 -0
- package/package.json +145 -0
- package/pull_request_template.md +9 -0
- package/tsconfig.build-types.json +15 -0
- package/tsconfig.json +30 -0
- package/types/js-md4.d.ts +7 -0
- package/types/native-duplexpair.d.ts +12 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _core = require("@js-joda/core");
|
|
8
|
+
var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const EPOCH_DATE = _core.LocalDate.ofYearDay(1, 1);
|
|
11
|
+
const NULL_LENGTH = Buffer.from([0x00]);
|
|
12
|
+
const DateTime2 = {
|
|
13
|
+
id: 0x2A,
|
|
14
|
+
type: 'DATETIME2N',
|
|
15
|
+
name: 'DateTime2',
|
|
16
|
+
declaration: function (parameter) {
|
|
17
|
+
return 'datetime2(' + this.resolveScale(parameter) + ')';
|
|
18
|
+
},
|
|
19
|
+
resolveScale: function (parameter) {
|
|
20
|
+
if (parameter.scale != null) {
|
|
21
|
+
return parameter.scale;
|
|
22
|
+
} else if (parameter.value === null) {
|
|
23
|
+
return 0;
|
|
24
|
+
} else {
|
|
25
|
+
return 7;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
generateTypeInfo(parameter, _options) {
|
|
29
|
+
return Buffer.from([this.id, parameter.scale]);
|
|
30
|
+
},
|
|
31
|
+
generateParameterLength(parameter, options) {
|
|
32
|
+
if (parameter.value == null) {
|
|
33
|
+
return NULL_LENGTH;
|
|
34
|
+
}
|
|
35
|
+
switch (parameter.scale) {
|
|
36
|
+
case 0:
|
|
37
|
+
case 1:
|
|
38
|
+
case 2:
|
|
39
|
+
return Buffer.from([0x06]);
|
|
40
|
+
case 3:
|
|
41
|
+
case 4:
|
|
42
|
+
return Buffer.from([0x07]);
|
|
43
|
+
case 5:
|
|
44
|
+
case 6:
|
|
45
|
+
case 7:
|
|
46
|
+
return Buffer.from([0x08]);
|
|
47
|
+
default:
|
|
48
|
+
throw new Error('invalid scale');
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
*generateParameterData(parameter, options) {
|
|
52
|
+
if (parameter.value == null) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const value = parameter.value;
|
|
56
|
+
let scale = parameter.scale;
|
|
57
|
+
const buffer = new _writableTrackingBuffer.default(16);
|
|
58
|
+
scale = scale;
|
|
59
|
+
let timestamp;
|
|
60
|
+
if (options.useUTC) {
|
|
61
|
+
timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getUTCMilliseconds();
|
|
62
|
+
} else {
|
|
63
|
+
timestamp = ((value.getHours() * 60 + value.getMinutes()) * 60 + value.getSeconds()) * 1000 + value.getMilliseconds();
|
|
64
|
+
}
|
|
65
|
+
timestamp = timestamp * Math.pow(10, scale - 3);
|
|
66
|
+
timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);
|
|
67
|
+
timestamp = Math.round(timestamp);
|
|
68
|
+
switch (scale) {
|
|
69
|
+
case 0:
|
|
70
|
+
case 1:
|
|
71
|
+
case 2:
|
|
72
|
+
buffer.writeUInt24LE(timestamp);
|
|
73
|
+
break;
|
|
74
|
+
case 3:
|
|
75
|
+
case 4:
|
|
76
|
+
buffer.writeUInt32LE(timestamp);
|
|
77
|
+
break;
|
|
78
|
+
case 5:
|
|
79
|
+
case 6:
|
|
80
|
+
case 7:
|
|
81
|
+
buffer.writeUInt40LE(timestamp);
|
|
82
|
+
}
|
|
83
|
+
let date;
|
|
84
|
+
if (options.useUTC) {
|
|
85
|
+
date = _core.LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());
|
|
86
|
+
} else {
|
|
87
|
+
date = _core.LocalDate.of(value.getFullYear(), value.getMonth() + 1, value.getDate());
|
|
88
|
+
}
|
|
89
|
+
const days = EPOCH_DATE.until(date, _core.ChronoUnit.DAYS);
|
|
90
|
+
buffer.writeUInt24LE(days);
|
|
91
|
+
yield buffer.data;
|
|
92
|
+
},
|
|
93
|
+
validate: function (value, collation, options) {
|
|
94
|
+
if (value == null) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
if (!(value instanceof Date)) {
|
|
98
|
+
value = new Date(Date.parse(value));
|
|
99
|
+
}
|
|
100
|
+
value = value;
|
|
101
|
+
let year;
|
|
102
|
+
if (options && options.useUTC) {
|
|
103
|
+
year = value.getUTCFullYear();
|
|
104
|
+
} else {
|
|
105
|
+
year = value.getFullYear();
|
|
106
|
+
}
|
|
107
|
+
if (year < 1 || year > 9999) {
|
|
108
|
+
throw new TypeError('Out of range.');
|
|
109
|
+
}
|
|
110
|
+
if (isNaN(value)) {
|
|
111
|
+
throw new TypeError('Invalid date.');
|
|
112
|
+
}
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var _default = exports.default = DateTime2;
|
|
117
|
+
module.exports = DateTime2;
|
|
118
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJFUE9DSF9EQVRFIiwiTG9jYWxEYXRlIiwib2ZZZWFyRGF5IiwiTlVMTF9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiRGF0ZVRpbWUyIiwiaWQiLCJ0eXBlIiwibmFtZSIsImRlY2xhcmF0aW9uIiwicGFyYW1ldGVyIiwicmVzb2x2ZVNjYWxlIiwic2NhbGUiLCJ2YWx1ZSIsImdlbmVyYXRlVHlwZUluZm8iLCJfb3B0aW9ucyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsIkVycm9yIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwiYnVmZmVyIiwiV3JpdGFibGVUcmFja2luZ0J1ZmZlciIsInRpbWVzdGFtcCIsInVzZVVUQyIsImdldFVUQ0hvdXJzIiwiZ2V0VVRDTWludXRlcyIsImdldFVUQ1NlY29uZHMiLCJnZXRVVENNaWxsaXNlY29uZHMiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwiTWF0aCIsInBvdyIsIm5hbm9zZWNvbmREZWx0YSIsInJvdW5kIiwid3JpdGVVSW50MjRMRSIsIndyaXRlVUludDMyTEUiLCJ3cml0ZVVJbnQ0MExFIiwiZGF0ZSIsIm9mIiwiZ2V0VVRDRnVsbFllYXIiLCJnZXRVVENNb250aCIsImdldFVUQ0RhdGUiLCJnZXRGdWxsWWVhciIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImRheXMiLCJ1bnRpbCIsIkNocm9ub1VuaXQiLCJEQVlTIiwiZGF0YSIsInZhbGlkYXRlIiwiY29sbGF0aW9uIiwiRGF0ZSIsInBhcnNlIiwieWVhciIsIlR5cGVFcnJvciIsImlzTmFOIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvZGF0ZXRpbWUyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgQ2hyb25vVW5pdCwgTG9jYWxEYXRlIH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQgV3JpdGFibGVUcmFja2luZ0J1ZmZlciBmcm9tICcuLi90cmFja2luZy1idWZmZXIvd3JpdGFibGUtdHJhY2tpbmctYnVmZmVyJztcblxuY29uc3QgRVBPQ0hfREFURSA9IExvY2FsRGF0ZS5vZlllYXJEYXkoMSwgMSk7XG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IERhdGVUaW1lMjogRGF0YVR5cGUgJiB7IHJlc29sdmVTY2FsZTogTm9uTnVsbGFibGU8RGF0YVR5cGVbJ3Jlc29sdmVTY2FsZSddPiB9ID0ge1xuICBpZDogMHgyQSxcbiAgdHlwZTogJ0RBVEVUSU1FMk4nLFxuICBuYW1lOiAnRGF0ZVRpbWUyJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgcmV0dXJuICdkYXRldGltZTIoJyArICh0aGlzLnJlc29sdmVTY2FsZShwYXJhbWV0ZXIpKSArICcpJztcbiAgfSxcblxuICByZXNvbHZlU2NhbGU6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIuc2NhbGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlci5zY2FsZTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiA3O1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlciwgX29wdGlvbnMpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW3RoaXMuaWQsIHBhcmFtZXRlci5zY2FsZSFdKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHBhcmFtZXRlci5zY2FsZSEpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgIGNhc2UgMTpcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA2XSk7XG5cbiAgICAgIGNhc2UgMzpcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA3XSk7XG5cbiAgICAgIGNhc2UgNTpcbiAgICAgIGNhc2UgNjpcbiAgICAgIGNhc2UgNzpcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA4XSk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzY2FsZScpO1xuICAgIH1cbiAgfSxcblxuICAqZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuICAgIGxldCBzY2FsZSA9IHBhcmFtZXRlci5zY2FsZTtcblxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDE2KTtcbiAgICBzY2FsZSA9IHNjYWxlITtcblxuICAgIGxldCB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICBpZiAob3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIHRpbWVzdGFtcCA9ICgodmFsdWUuZ2V0VVRDSG91cnMoKSAqIDYwICsgdmFsdWUuZ2V0VVRDTWludXRlcygpKSAqIDYwICsgdmFsdWUuZ2V0VVRDU2Vjb25kcygpKSAqIDEwMDAgKyB2YWx1ZS5nZXRVVENNaWxsaXNlY29uZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGltZXN0YW1wID0gKCh2YWx1ZS5nZXRIb3VycygpICogNjAgKyB2YWx1ZS5nZXRNaW51dGVzKCkpICogNjAgKyB2YWx1ZS5nZXRTZWNvbmRzKCkpICogMTAwMCArIHZhbHVlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cbiAgICB0aW1lc3RhbXAgPSB0aW1lc3RhbXAgKiBNYXRoLnBvdygxMCwgc2NhbGUgLSAzKTtcbiAgICB0aW1lc3RhbXAgKz0gKHZhbHVlLm5hbm9zZWNvbmREZWx0YSAhPSBudWxsID8gdmFsdWUubmFub3NlY29uZERlbHRhIDogMCkgKiBNYXRoLnBvdygxMCwgc2NhbGUpO1xuICAgIHRpbWVzdGFtcCA9IE1hdGgucm91bmQodGltZXN0YW1wKTtcblxuICAgIHN3aXRjaCAoc2NhbGUpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgIGNhc2UgMTpcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgYnVmZmVyLndyaXRlVUludDI0TEUodGltZXN0YW1wKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKHRpbWVzdGFtcCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgY2FzZSA2OlxuICAgICAgY2FzZSA3OlxuICAgICAgICBidWZmZXIud3JpdGVVSW50NDBMRSh0aW1lc3RhbXApO1xuICAgIH1cblxuICAgIGxldCBkYXRlO1xuICAgIGlmIChvcHRpb25zLnVzZVVUQykge1xuICAgICAgZGF0ZSA9IExvY2FsRGF0ZS5vZih2YWx1ZS5nZXRVVENGdWxsWWVhcigpLCB2YWx1ZS5nZXRVVENNb250aCgpICsgMSwgdmFsdWUuZ2V0VVRDRGF0ZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZSA9IExvY2FsRGF0ZS5vZih2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpICsgMSwgdmFsdWUuZ2V0RGF0ZSgpKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXlzID0gRVBPQ0hfREFURS51bnRpbChkYXRlLCBDaHJvbm9Vbml0LkRBWVMpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQyNExFKGRheXMpO1xuICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZTogYW55LCBjb2xsYXRpb24sIG9wdGlvbnMpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgdmFsdWUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSBhcyBEYXRlO1xuXG4gICAgbGV0IHllYXI7XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIHllYXIgPSB2YWx1ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB5ZWFyID0gdmFsdWUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICBpZiAoeWVhciA8IDEgfHwgeWVhciA+IDk5OTkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ091dCBvZiByYW5nZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEYXRlVGltZTI7XG5tb2R1bGUuZXhwb3J0cyA9IERhdGVUaW1lMjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFpRixTQUFBRSx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime2.js","names":["_core","require","_writableTrackingBuffer","_interopRequireDefault","e","__esModule","default","EPOCH_DATE","LocalDate","ofYearDay","NULL_LENGTH","Buffer","from","DateTime2","id","type","name","declaration","parameter","resolveScale","scale","value","generateTypeInfo","_options","generateParameterLength","options","Error","generateParameterData","buffer","WritableTrackingBuffer","timestamp","useUTC","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getHours","getMinutes","getSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE","date","of","getUTCFullYear","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","days","until","ChronoUnit","DAYS","data","validate","collation","Date","parse","year","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/datetime2.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { ChronoUnit, LocalDate } from '@js-joda/core';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst EPOCH_DATE = LocalDate.ofYearDay(1, 1);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst DateTime2: DataType & { resolveScale: NonNullable<DataType['resolveScale']> } = {\n id: 0x2A,\n type: 'DATETIME2N',\n name: 'DateTime2',\n\n declaration: function(parameter) {\n return 'datetime2(' + (this.resolveScale(parameter)) + ')';\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n generateTypeInfo(parameter, _options) {\n return Buffer.from([this.id, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n switch (parameter.scale!) {\n case 0:\n case 1:\n case 2:\n return Buffer.from([0x06]);\n\n case 3:\n case 4:\n return Buffer.from([0x07]);\n\n case 5:\n case 6:\n case 7:\n return Buffer.from([0x08]);\n\n default:\n throw new Error('invalid scale');\n }\n },\n\n *generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const value = parameter.value;\n let scale = parameter.scale;\n\n const buffer = new WritableTrackingBuffer(16);\n scale = scale!;\n\n let timestamp: number;\n if (options.useUTC) {\n timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getUTCMilliseconds();\n } else {\n timestamp = ((value.getHours() * 60 + value.getMinutes()) * 60 + value.getSeconds()) * 1000 + value.getMilliseconds();\n }\n timestamp = timestamp * Math.pow(10, scale - 3);\n timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);\n timestamp = Math.round(timestamp);\n\n switch (scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n\n let date;\n if (options.useUTC) {\n date = LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());\n } else {\n date = LocalDate.of(value.getFullYear(), value.getMonth() + 1, value.getDate());\n }\n\n const days = EPOCH_DATE.until(date, ChronoUnit.DAYS);\n buffer.writeUInt24LE(days);\n yield buffer.data;\n },\n\n validate: function(value: any, collation, options): null | number {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n let year;\n if (options && options.useUTC) {\n year = value.getUTCFullYear();\n } else {\n year = value.getFullYear();\n }\n\n if (year < 1 || year > 9999) {\n throw new TypeError('Out of range.');\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default DateTime2;\nmodule.exports = DateTime2;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const DateTimeN = {
|
|
8
|
+
id: 0x6F,
|
|
9
|
+
type: 'DATETIMN',
|
|
10
|
+
name: 'DateTimeN',
|
|
11
|
+
declaration() {
|
|
12
|
+
throw new Error('not implemented');
|
|
13
|
+
},
|
|
14
|
+
generateTypeInfo() {
|
|
15
|
+
throw new Error('not implemented');
|
|
16
|
+
},
|
|
17
|
+
generateParameterLength() {
|
|
18
|
+
throw new Error('not implemented');
|
|
19
|
+
},
|
|
20
|
+
generateParameterData() {
|
|
21
|
+
throw new Error('not implemented');
|
|
22
|
+
},
|
|
23
|
+
validate() {
|
|
24
|
+
throw new Error('not implemented');
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var _default = exports.default = DateTimeN;
|
|
28
|
+
module.exports = DateTimeN;
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRlVGltZU4iLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJFcnJvciIsImdlbmVyYXRlVHlwZUluZm8iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsInZhbGlkYXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL2RhdGV0aW1lbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgRGF0ZVRpbWVOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkYsXG4gIHR5cGU6ICdEQVRFVElNTicsXG4gIG5hbWU6ICdEYXRlVGltZU4nLFxuXG4gIGRlY2xhcmF0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9LFxuXG4gIGdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGF0ZVRpbWVOO1xubW9kdWxlLmV4cG9ydHMgPSBEYXRlVGltZU47XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFNBQW1CLEdBQUc7RUFDMUJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxVQUFVO0VBQ2hCQyxJQUFJLEVBQUUsV0FBVztFQUVqQkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhWixTQUFTO0FBQ3hCYSxNQUFNLENBQUNGLE9BQU8sR0FBR1gsU0FBUyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetimen.js","names":["DateTimeN","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/datetimen.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst DateTimeN: DataType = {\n id: 0x6F,\n type: 'DATETIMN',\n name: 'DateTimeN',\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 DateTimeN;\nmodule.exports = DateTimeN;\n"],"mappings":";;;;;;AAEA,MAAMA,SAAmB,GAAG;EAC1BC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,WAAW;EAEjBC,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,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,SAAS;AACxBa,MAAM,CAACF,OAAO,GAAGX,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _core = require("@js-joda/core");
|
|
8
|
+
var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const EPOCH_DATE = _core.LocalDate.ofYearDay(1, 1);
|
|
11
|
+
const NULL_LENGTH = Buffer.from([0x00]);
|
|
12
|
+
const DateTimeOffset = {
|
|
13
|
+
id: 0x2B,
|
|
14
|
+
type: 'DATETIMEOFFSETN',
|
|
15
|
+
name: 'DateTimeOffset',
|
|
16
|
+
declaration: function (parameter) {
|
|
17
|
+
return 'datetimeoffset(' + this.resolveScale(parameter) + ')';
|
|
18
|
+
},
|
|
19
|
+
resolveScale: function (parameter) {
|
|
20
|
+
if (parameter.scale != null) {
|
|
21
|
+
return parameter.scale;
|
|
22
|
+
} else if (parameter.value === null) {
|
|
23
|
+
return 0;
|
|
24
|
+
} else {
|
|
25
|
+
return 7;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
generateTypeInfo(parameter) {
|
|
29
|
+
return Buffer.from([this.id, parameter.scale]);
|
|
30
|
+
},
|
|
31
|
+
generateParameterLength(parameter, options) {
|
|
32
|
+
if (parameter.value == null) {
|
|
33
|
+
return NULL_LENGTH;
|
|
34
|
+
}
|
|
35
|
+
switch (parameter.scale) {
|
|
36
|
+
case 0:
|
|
37
|
+
case 1:
|
|
38
|
+
case 2:
|
|
39
|
+
return Buffer.from([0x08]);
|
|
40
|
+
case 3:
|
|
41
|
+
case 4:
|
|
42
|
+
return Buffer.from([0x09]);
|
|
43
|
+
case 5:
|
|
44
|
+
case 6:
|
|
45
|
+
case 7:
|
|
46
|
+
return Buffer.from([0x0A]);
|
|
47
|
+
default:
|
|
48
|
+
throw new Error('invalid scale');
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
*generateParameterData(parameter, options) {
|
|
52
|
+
if (parameter.value == null) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const value = parameter.value;
|
|
56
|
+
let scale = parameter.scale;
|
|
57
|
+
const buffer = new _writableTrackingBuffer.default(16);
|
|
58
|
+
scale = scale;
|
|
59
|
+
let timestamp;
|
|
60
|
+
timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getMilliseconds();
|
|
61
|
+
timestamp = timestamp * Math.pow(10, scale - 3);
|
|
62
|
+
timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);
|
|
63
|
+
timestamp = Math.round(timestamp);
|
|
64
|
+
switch (scale) {
|
|
65
|
+
case 0:
|
|
66
|
+
case 1:
|
|
67
|
+
case 2:
|
|
68
|
+
buffer.writeUInt24LE(timestamp);
|
|
69
|
+
break;
|
|
70
|
+
case 3:
|
|
71
|
+
case 4:
|
|
72
|
+
buffer.writeUInt32LE(timestamp);
|
|
73
|
+
break;
|
|
74
|
+
case 5:
|
|
75
|
+
case 6:
|
|
76
|
+
case 7:
|
|
77
|
+
buffer.writeUInt40LE(timestamp);
|
|
78
|
+
}
|
|
79
|
+
const date = _core.LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());
|
|
80
|
+
const days = EPOCH_DATE.until(date, _core.ChronoUnit.DAYS);
|
|
81
|
+
buffer.writeUInt24LE(days);
|
|
82
|
+
const offset = -value.getTimezoneOffset();
|
|
83
|
+
buffer.writeInt16LE(offset);
|
|
84
|
+
yield buffer.data;
|
|
85
|
+
},
|
|
86
|
+
validate: function (value, collation, options) {
|
|
87
|
+
if (value == null) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
if (!(value instanceof Date)) {
|
|
91
|
+
value = new Date(Date.parse(value));
|
|
92
|
+
}
|
|
93
|
+
value = value;
|
|
94
|
+
let year;
|
|
95
|
+
if (options && options.useUTC) {
|
|
96
|
+
year = value.getUTCFullYear();
|
|
97
|
+
} else {
|
|
98
|
+
year = value.getFullYear();
|
|
99
|
+
}
|
|
100
|
+
if (year < 1 || year > 9999) {
|
|
101
|
+
throw new TypeError('Out of range.');
|
|
102
|
+
}
|
|
103
|
+
if (isNaN(value)) {
|
|
104
|
+
throw new TypeError('Invalid date.');
|
|
105
|
+
}
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
var _default = exports.default = DateTimeOffset;
|
|
110
|
+
module.exports = DateTimeOffset;
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJFUE9DSF9EQVRFIiwiTG9jYWxEYXRlIiwib2ZZZWFyRGF5IiwiTlVMTF9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiRGF0ZVRpbWVPZmZzZXQiLCJpZCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJwYXJhbWV0ZXIiLCJyZXNvbHZlU2NhbGUiLCJzY2FsZSIsInZhbHVlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwib3B0aW9ucyIsIkVycm9yIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwiYnVmZmVyIiwiV3JpdGFibGVUcmFja2luZ0J1ZmZlciIsInRpbWVzdGFtcCIsImdldFVUQ0hvdXJzIiwiZ2V0VVRDTWludXRlcyIsImdldFVUQ1NlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJNYXRoIiwicG93IiwibmFub3NlY29uZERlbHRhIiwicm91bmQiLCJ3cml0ZVVJbnQyNExFIiwid3JpdGVVSW50MzJMRSIsIndyaXRlVUludDQwTEUiLCJkYXRlIiwib2YiLCJnZXRVVENGdWxsWWVhciIsImdldFVUQ01vbnRoIiwiZ2V0VVRDRGF0ZSIsImRheXMiLCJ1bnRpbCIsIkNocm9ub1VuaXQiLCJEQVlTIiwib2Zmc2V0IiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ3cml0ZUludDE2TEUiLCJkYXRhIiwidmFsaWRhdGUiLCJjb2xsYXRpb24iLCJEYXRlIiwicGFyc2UiLCJ5ZWFyIiwidXNlVVRDIiwiZ2V0RnVsbFllYXIiLCJUeXBlRXJyb3IiLCJpc05hTiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL2RhdGV0aW1lb2Zmc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgQ2hyb25vVW5pdCwgTG9jYWxEYXRlIH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQgV3JpdGFibGVUcmFja2luZ0J1ZmZlciBmcm9tICcuLi90cmFja2luZy1idWZmZXIvd3JpdGFibGUtdHJhY2tpbmctYnVmZmVyJztcblxuY29uc3QgRVBPQ0hfREFURSA9IExvY2FsRGF0ZS5vZlllYXJEYXkoMSwgMSk7XG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IERhdGVUaW1lT2Zmc2V0OiBEYXRhVHlwZSAmIHsgcmVzb2x2ZVNjYWxlOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVNjYWxlJ10+IH0gPSB7XG4gIGlkOiAweDJCLFxuICB0eXBlOiAnREFURVRJTUVPRkZTRVROJyxcbiAgbmFtZTogJ0RhdGVUaW1lT2Zmc2V0JyxcbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIHJldHVybiAnZGF0ZXRpbWVvZmZzZXQoJyArICh0aGlzLnJlc29sdmVTY2FsZShwYXJhbWV0ZXIpKSArICcpJztcbiAgfSxcbiAgcmVzb2x2ZVNjYWxlOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnNjYWxlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIuc2NhbGU7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gNztcbiAgICB9XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW3RoaXMuaWQsIHBhcmFtZXRlci5zY2FsZSFdKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHBhcmFtZXRlci5zY2FsZSkge1xuICAgICAgY2FzZSAwOlxuICAgICAgY2FzZSAxOlxuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDhdKTtcblxuICAgICAgY2FzZSAzOlxuICAgICAgY2FzZSA0OlxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDldKTtcblxuICAgICAgY2FzZSA1OlxuICAgICAgY2FzZSA2OlxuICAgICAgY2FzZSA3OlxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MEFdKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHNjYWxlJyk7XG4gICAgfVxuICB9LFxuXG4gICogZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhKHBhcmFtZXRlciwgb3B0aW9ucykge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuICAgIGxldCBzY2FsZSA9IHBhcmFtZXRlci5zY2FsZTtcblxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDE2KTtcbiAgICBzY2FsZSA9IHNjYWxlITtcblxuICAgIGxldCB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICB0aW1lc3RhbXAgPSAoKHZhbHVlLmdldFVUQ0hvdXJzKCkgKiA2MCArIHZhbHVlLmdldFVUQ01pbnV0ZXMoKSkgKiA2MCArIHZhbHVlLmdldFVUQ1NlY29uZHMoKSkgKiAxMDAwICsgdmFsdWUuZ2V0TWlsbGlzZWNvbmRzKCk7XG4gICAgdGltZXN0YW1wID0gdGltZXN0YW1wICogTWF0aC5wb3coMTAsIHNjYWxlIC0gMyk7XG4gICAgdGltZXN0YW1wICs9ICh2YWx1ZS5uYW5vc2Vjb25kRGVsdGEgIT0gbnVsbCA/IHZhbHVlLm5hbm9zZWNvbmREZWx0YSA6IDApICogTWF0aC5wb3coMTAsIHNjYWxlKTtcbiAgICB0aW1lc3RhbXAgPSBNYXRoLnJvdW5kKHRpbWVzdGFtcCk7XG5cbiAgICBzd2l0Y2ggKHNjYWxlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDE6XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJ1ZmZlci53cml0ZVVJbnQyNExFKHRpbWVzdGFtcCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAzOlxuICAgICAgY2FzZSA0OlxuICAgICAgICBidWZmZXIud3JpdGVVSW50MzJMRSh0aW1lc3RhbXApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNTpcbiAgICAgIGNhc2UgNjpcbiAgICAgIGNhc2UgNzpcbiAgICAgICAgYnVmZmVyLndyaXRlVUludDQwTEUodGltZXN0YW1wKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlID0gTG9jYWxEYXRlLm9mKHZhbHVlLmdldFVUQ0Z1bGxZZWFyKCksIHZhbHVlLmdldFVUQ01vbnRoKCkgKyAxLCB2YWx1ZS5nZXRVVENEYXRlKCkpO1xuICAgIGNvbnN0IGRheXMgPSBFUE9DSF9EQVRFLnVudGlsKGRhdGUsIENocm9ub1VuaXQuREFZUyk7XG4gICAgYnVmZmVyLndyaXRlVUludDI0TEUoZGF5cyk7XG5cbiAgICBjb25zdCBvZmZzZXQgPSAtdmFsdWUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICBidWZmZXIud3JpdGVJbnQxNkxFKG9mZnNldCk7XG4gICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gIH0sXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZTogYW55LCBjb2xsYXRpb24sIG9wdGlvbnMpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgdmFsdWUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSBhcyBEYXRlO1xuXG4gICAgbGV0IHllYXI7XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy51c2VVVEMpIHtcbiAgICAgIHllYXIgPSB2YWx1ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB5ZWFyID0gdmFsdWUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICBpZiAoeWVhciA8IDEgfHwgeWVhciA+IDk5OTkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ091dCBvZiByYW5nZS4nKTtcbiAgICB9XG5cbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEYXRlVGltZU9mZnNldDtcbm1vZHVsZS5leHBvcnRzID0gRGF0ZVRpbWVPZmZzZXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBaUYsU0FBQUUsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFakYsTUFBTUcsVUFBVSxHQUFHQyxlQUFTLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLE1BQU1DLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QyxNQUFNQyxjQUFrRixHQUFHO0VBQ3pGQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsaUJBQWlCO0VBQ3ZCQyxJQUFJLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetimeoffset.js","names":["_core","require","_writableTrackingBuffer","_interopRequireDefault","e","__esModule","default","EPOCH_DATE","LocalDate","ofYearDay","NULL_LENGTH","Buffer","from","DateTimeOffset","id","type","name","declaration","parameter","resolveScale","scale","value","generateTypeInfo","generateParameterLength","options","Error","generateParameterData","buffer","WritableTrackingBuffer","timestamp","getUTCHours","getUTCMinutes","getUTCSeconds","getMilliseconds","Math","pow","nanosecondDelta","round","writeUInt24LE","writeUInt32LE","writeUInt40LE","date","of","getUTCFullYear","getUTCMonth","getUTCDate","days","until","ChronoUnit","DAYS","offset","getTimezoneOffset","writeInt16LE","data","validate","collation","Date","parse","year","useUTC","getFullYear","TypeError","isNaN","_default","exports","module"],"sources":["../../src/data-types/datetimeoffset.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport { ChronoUnit, LocalDate } from '@js-joda/core';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst EPOCH_DATE = LocalDate.ofYearDay(1, 1);\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst DateTimeOffset: DataType & { resolveScale: NonNullable<DataType['resolveScale']> } = {\n id: 0x2B,\n type: 'DATETIMEOFFSETN',\n name: 'DateTimeOffset',\n declaration: function(parameter) {\n return 'datetimeoffset(' + (this.resolveScale(parameter)) + ')';\n },\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else if (parameter.value === null) {\n return 0;\n } else {\n return 7;\n }\n },\n\n generateTypeInfo(parameter) {\n return Buffer.from([this.id, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n switch (parameter.scale) {\n case 0:\n case 1:\n case 2:\n return Buffer.from([0x08]);\n\n case 3:\n case 4:\n return Buffer.from([0x09]);\n\n case 5:\n case 6:\n case 7:\n return Buffer.from([0x0A]);\n\n default:\n throw new Error('invalid scale');\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const value = parameter.value;\n let scale = parameter.scale;\n\n const buffer = new WritableTrackingBuffer(16);\n scale = scale!;\n\n let timestamp: number;\n timestamp = ((value.getUTCHours() * 60 + value.getUTCMinutes()) * 60 + value.getUTCSeconds()) * 1000 + value.getMilliseconds();\n timestamp = timestamp * Math.pow(10, scale - 3);\n timestamp += (value.nanosecondDelta != null ? value.nanosecondDelta : 0) * Math.pow(10, scale);\n timestamp = Math.round(timestamp);\n\n switch (scale) {\n case 0:\n case 1:\n case 2:\n buffer.writeUInt24LE(timestamp);\n break;\n case 3:\n case 4:\n buffer.writeUInt32LE(timestamp);\n break;\n case 5:\n case 6:\n case 7:\n buffer.writeUInt40LE(timestamp);\n }\n\n const date = LocalDate.of(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());\n const days = EPOCH_DATE.until(date, ChronoUnit.DAYS);\n buffer.writeUInt24LE(days);\n\n const offset = -value.getTimezoneOffset();\n buffer.writeInt16LE(offset);\n yield buffer.data;\n },\n validate: function(value: any, collation, options): null | number {\n if (value == null) {\n return null;\n }\n\n if (!(value instanceof Date)) {\n value = new Date(Date.parse(value));\n }\n\n value = value as Date;\n\n let year;\n if (options && options.useUTC) {\n year = value.getUTCFullYear();\n } else {\n year = value.getFullYear();\n }\n\n if (year < 1 || year > 9999) {\n throw new TypeError('Out of range.');\n }\n\n if (isNaN(value)) {\n throw new TypeError('Invalid date.');\n }\n\n return value;\n }\n};\n\nexport default DateTimeOffset;\nmodule.exports = DateTimeOffset;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _decimaln = _interopRequireDefault(require("./decimaln"));
|
|
8
|
+
var _writableTrackingBuffer = _interopRequireDefault(require("../tracking-buffer/writable-tracking-buffer"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const NULL_LENGTH = Buffer.from([0x00]);
|
|
11
|
+
const Decimal = {
|
|
12
|
+
id: 0x37,
|
|
13
|
+
type: 'DECIMAL',
|
|
14
|
+
name: 'Decimal',
|
|
15
|
+
declaration: function (parameter) {
|
|
16
|
+
return 'decimal(' + this.resolvePrecision(parameter) + ', ' + this.resolveScale(parameter) + ')';
|
|
17
|
+
},
|
|
18
|
+
resolvePrecision: function (parameter) {
|
|
19
|
+
if (parameter.precision != null) {
|
|
20
|
+
return parameter.precision;
|
|
21
|
+
} else if (parameter.value === null) {
|
|
22
|
+
return 1;
|
|
23
|
+
} else {
|
|
24
|
+
return 18;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
resolveScale: function (parameter) {
|
|
28
|
+
if (parameter.scale != null) {
|
|
29
|
+
return parameter.scale;
|
|
30
|
+
} else {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
generateTypeInfo(parameter, _options) {
|
|
35
|
+
let precision;
|
|
36
|
+
if (parameter.precision <= 9) {
|
|
37
|
+
precision = 0x05;
|
|
38
|
+
} else if (parameter.precision <= 19) {
|
|
39
|
+
precision = 0x09;
|
|
40
|
+
} else if (parameter.precision <= 28) {
|
|
41
|
+
precision = 0x0D;
|
|
42
|
+
} else {
|
|
43
|
+
precision = 0x11;
|
|
44
|
+
}
|
|
45
|
+
return Buffer.from([_decimaln.default.id, precision, parameter.precision, parameter.scale]);
|
|
46
|
+
},
|
|
47
|
+
generateParameterLength(parameter, options) {
|
|
48
|
+
if (parameter.value == null) {
|
|
49
|
+
return NULL_LENGTH;
|
|
50
|
+
}
|
|
51
|
+
const precision = parameter.precision;
|
|
52
|
+
if (precision <= 9) {
|
|
53
|
+
return Buffer.from([0x05]);
|
|
54
|
+
} else if (precision <= 19) {
|
|
55
|
+
return Buffer.from([0x09]);
|
|
56
|
+
} else if (precision <= 28) {
|
|
57
|
+
return Buffer.from([0x0D]);
|
|
58
|
+
} else {
|
|
59
|
+
return Buffer.from([0x11]);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
*generateParameterData(parameter, options) {
|
|
63
|
+
if (parameter.value == null) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const sign = parameter.value < 0 ? 0 : 1;
|
|
67
|
+
const value = Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale)));
|
|
68
|
+
const precision = parameter.precision;
|
|
69
|
+
if (precision <= 9) {
|
|
70
|
+
const buffer = Buffer.alloc(5);
|
|
71
|
+
buffer.writeUInt8(sign, 0);
|
|
72
|
+
buffer.writeUInt32LE(value, 1);
|
|
73
|
+
yield buffer;
|
|
74
|
+
} else if (precision <= 19) {
|
|
75
|
+
const buffer = new _writableTrackingBuffer.default(9);
|
|
76
|
+
buffer.writeUInt8(sign);
|
|
77
|
+
buffer.writeUInt64LE(value);
|
|
78
|
+
yield buffer.data;
|
|
79
|
+
} else if (precision <= 28) {
|
|
80
|
+
const buffer = new _writableTrackingBuffer.default(13);
|
|
81
|
+
buffer.writeUInt8(sign);
|
|
82
|
+
buffer.writeUInt64LE(value);
|
|
83
|
+
buffer.writeUInt32LE(0x00000000);
|
|
84
|
+
yield buffer.data;
|
|
85
|
+
} else {
|
|
86
|
+
const buffer = new _writableTrackingBuffer.default(17);
|
|
87
|
+
buffer.writeUInt8(sign);
|
|
88
|
+
buffer.writeUInt64LE(value);
|
|
89
|
+
buffer.writeUInt32LE(0x00000000);
|
|
90
|
+
buffer.writeUInt32LE(0x00000000);
|
|
91
|
+
yield buffer.data;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
validate: function (value) {
|
|
95
|
+
if (value == null) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
value = parseFloat(value);
|
|
99
|
+
if (isNaN(value)) {
|
|
100
|
+
throw new TypeError('Invalid number.');
|
|
101
|
+
}
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
var _default = exports.default = Decimal;
|
|
106
|
+
module.exports = Decimal;
|
|
107
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVjaW1hbG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl93cml0YWJsZVRyYWNraW5nQnVmZmVyIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTlVMTF9MRU5HVEgiLCJCdWZmZXIiLCJmcm9tIiwiRGVjaW1hbCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInJlc29sdmVQcmVjaXNpb24iLCJyZXNvbHZlU2NhbGUiLCJwcmVjaXNpb24iLCJ2YWx1ZSIsInNjYWxlIiwiZ2VuZXJhdGVUeXBlSW5mbyIsIl9vcHRpb25zIiwiRGVjaW1hbE4iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJzaWduIiwiTWF0aCIsInJvdW5kIiwiYWJzIiwicG93IiwiYnVmZmVyIiwiYWxsb2MiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MzJMRSIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJ3cml0ZVVJbnQ2NExFIiwiZGF0YSIsInZhbGlkYXRlIiwicGFyc2VGbG9hdCIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvZGVjaW1hbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBEZWNpbWFsTiBmcm9tICcuL2RlY2ltYWxuJztcbmltcG9ydCBXcml0YWJsZVRyYWNraW5nQnVmZmVyIGZyb20gJy4uL3RyYWNraW5nLWJ1ZmZlci93cml0YWJsZS10cmFja2luZy1idWZmZXInO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweDAwXSk7XG5cbmNvbnN0IERlY2ltYWw6IERhdGFUeXBlICYgeyByZXNvbHZlUHJlY2lzaW9uOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVByZWNpc2lvbiddPiwgcmVzb2x2ZVNjYWxlOiBOb25OdWxsYWJsZTxEYXRhVHlwZVsncmVzb2x2ZVNjYWxlJ10+IH0gPSB7XG4gIGlkOiAweDM3LFxuICB0eXBlOiAnREVDSU1BTCcsXG4gIG5hbWU6ICdEZWNpbWFsJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgcmV0dXJuICdkZWNpbWFsKCcgKyAodGhpcy5yZXNvbHZlUHJlY2lzaW9uKHBhcmFtZXRlcikpICsgJywgJyArICh0aGlzLnJlc29sdmVTY2FsZShwYXJhbWV0ZXIpKSArICcpJztcbiAgfSxcblxuICByZXNvbHZlUHJlY2lzaW9uOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnByZWNpc2lvbjtcbiAgICB9IGVsc2UgaWYgKHBhcmFtZXRlci52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAxODtcbiAgICB9XG4gIH0sXG5cbiAgcmVzb2x2ZVNjYWxlOiBmdW5jdGlvbihwYXJhbWV0ZXIpIHtcbiAgICBpZiAocGFyYW1ldGVyLnNjYWxlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXIuc2NhbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKHBhcmFtZXRlciwgX29wdGlvbnMpIHtcbiAgICBsZXQgcHJlY2lzaW9uO1xuICAgIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSA5KSB7XG4gICAgICBwcmVjaXNpb24gPSAweDA1O1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnByZWNpc2lvbiEgPD0gMTkpIHtcbiAgICAgIHByZWNpc2lvbiA9IDB4MDk7XG4gICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIucHJlY2lzaW9uISA8PSAyOCkge1xuICAgICAgcHJlY2lzaW9uID0gMHgwRDtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlY2lzaW9uID0gMHgxMTtcbiAgICB9XG5cbiAgICByZXR1cm4gQnVmZmVyLmZyb20oW0RlY2ltYWxOLmlkLCBwcmVjaXNpb24sIHBhcmFtZXRlci5wcmVjaXNpb24hLCBwYXJhbWV0ZXIuc2NhbGUhXSk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gTlVMTF9MRU5HVEg7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlY2lzaW9uID0gcGFyYW1ldGVyLnByZWNpc2lvbiE7XG4gICAgaWYgKHByZWNpc2lvbiA8PSA5KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDVdKTtcbiAgICB9IGVsc2UgaWYgKHByZWNpc2lvbiA8PSAxOSkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFsweDA5XSk7XG4gICAgfSBlbHNlIGlmIChwcmVjaXNpb24gPD0gMjgpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShbMHgwRF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MTFdKTtcbiAgICB9XG4gIH0sXG5cbiAgKiBnZW5lcmF0ZVBhcmFtZXRlckRhdGEocGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2lnbiA9IHBhcmFtZXRlci52YWx1ZSA8IDAgPyAwIDogMTtcbiAgICBjb25zdCB2YWx1ZSA9IE1hdGgucm91bmQoTWF0aC5hYnMocGFyYW1ldGVyLnZhbHVlICogTWF0aC5wb3coMTAsIHBhcmFtZXRlci5zY2FsZSEpKSk7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gcGFyYW1ldGVyLnByZWNpc2lvbiE7XG4gICAgaWYgKHByZWNpc2lvbiA8PSA5KSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNSk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduLCAwKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKHZhbHVlLCAxKTtcbiAgICAgIHlpZWxkIGJ1ZmZlcjtcbiAgICB9IGVsc2UgaWYgKHByZWNpc2lvbiA8PSAxOSkge1xuICAgICAgY29uc3QgYnVmZmVyID0gbmV3IFdyaXRhYmxlVHJhY2tpbmdCdWZmZXIoOSk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ2NExFKHZhbHVlKTtcbiAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgIH0gZWxzZSBpZiAocHJlY2lzaW9uIDw9IDI4KSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBuZXcgV3JpdGFibGVUcmFja2luZ0J1ZmZlcigxMyk7XG4gICAgICBidWZmZXIud3JpdGVVSW50OChzaWduKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ2NExFKHZhbHVlKTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQzMkxFKDB4MDAwMDAwMDApO1xuICAgICAgeWllbGQgYnVmZmVyLmRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKDE3KTtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHNpZ24pO1xuICAgICAgYnVmZmVyLndyaXRlVUludDY0TEUodmFsdWUpO1xuICAgICAgYnVmZmVyLndyaXRlVUludDMyTEUoMHgwMDAwMDAwMCk7XG4gICAgICBidWZmZXIud3JpdGVVSW50MzJMRSgweDAwMDAwMDAwKTtcbiAgICAgIHlpZWxkIGJ1ZmZlci5kYXRhO1xuICAgIH1cbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBudW1iZXIuJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVjaW1hbDtcbm1vZHVsZS5leHBvcnRzID0gRGVjaW1hbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsdUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFpRixTQUFBRCx1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVqRixNQUFNRyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkMsTUFBTUMsT0FBd0ksR0FBRztFQUMvSUMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFLFNBQVM7RUFFZkMsV0FBVyxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUMvQixPQUFPLFVBQVUsR0FBSSxJQUFJLENBQUNDLGdCQUFnQixDQUFDRCxTQUFTLENBQUUsR0FBRyxJQUFJLEdBQUksSUFBSSxDQUFDRSxZQUFZLENBQUNGLFNBQVMsQ0FBRSxHQUFHLEdBQUc7RUFDdEcsQ0FBQztFQUVEQyxnQkFBZ0IsRUFBRSxTQUFBQSxDQUFTRCxTQUFTLEVBQUU7SUFDcEMsSUFBSUEsU0FBUyxDQUFDRyxTQUFTLElBQUksSUFBSSxFQUFFO01BQy9CLE9BQU9ILFNBQVMsQ0FBQ0csU0FBUztJQUM1QixDQUFDLE1BQU0sSUFBSUgsU0FBUyxDQUFDSSxLQUFLLEtBQUssSUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.js","names":["_decimaln","_interopRequireDefault","require","_writableTrackingBuffer","e","__esModule","default","NULL_LENGTH","Buffer","from","Decimal","id","type","name","declaration","parameter","resolvePrecision","resolveScale","precision","value","scale","generateTypeInfo","_options","DecimalN","generateParameterLength","options","generateParameterData","sign","Math","round","abs","pow","buffer","alloc","writeUInt8","writeUInt32LE","WritableTrackingBuffer","writeUInt64LE","data","validate","parseFloat","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/decimal.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport DecimalN from './decimaln';\nimport WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst Decimal: DataType & { resolvePrecision: NonNullable<DataType['resolvePrecision']>, resolveScale: NonNullable<DataType['resolveScale']> } = {\n id: 0x37,\n type: 'DECIMAL',\n name: 'Decimal',\n\n declaration: function(parameter) {\n return 'decimal(' + (this.resolvePrecision(parameter)) + ', ' + (this.resolveScale(parameter)) + ')';\n },\n\n resolvePrecision: function(parameter) {\n if (parameter.precision != null) {\n return parameter.precision;\n } else if (parameter.value === null) {\n return 1;\n } else {\n return 18;\n }\n },\n\n resolveScale: function(parameter) {\n if (parameter.scale != null) {\n return parameter.scale;\n } else {\n return 0;\n }\n },\n\n generateTypeInfo(parameter, _options) {\n let precision;\n if (parameter.precision! <= 9) {\n precision = 0x05;\n } else if (parameter.precision! <= 19) {\n precision = 0x09;\n } else if (parameter.precision! <= 28) {\n precision = 0x0D;\n } else {\n precision = 0x11;\n }\n\n return Buffer.from([DecimalN.id, precision, parameter.precision!, parameter.scale!]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n const precision = parameter.precision!;\n if (precision <= 9) {\n return Buffer.from([0x05]);\n } else if (precision <= 19) {\n return Buffer.from([0x09]);\n } else if (precision <= 28) {\n return Buffer.from([0x0D]);\n } else {\n return Buffer.from([0x11]);\n }\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const sign = parameter.value < 0 ? 0 : 1;\n const value = Math.round(Math.abs(parameter.value * Math.pow(10, parameter.scale!)));\n const precision = parameter.precision!;\n if (precision <= 9) {\n const buffer = Buffer.alloc(5);\n buffer.writeUInt8(sign, 0);\n buffer.writeUInt32LE(value, 1);\n yield buffer;\n } else if (precision <= 19) {\n const buffer = new WritableTrackingBuffer(9);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n yield buffer.data;\n } else if (precision <= 28) {\n const buffer = new WritableTrackingBuffer(13);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n buffer.writeUInt32LE(0x00000000);\n yield buffer.data;\n } else {\n const buffer = new WritableTrackingBuffer(17);\n buffer.writeUInt8(sign);\n buffer.writeUInt64LE(value);\n buffer.writeUInt32LE(0x00000000);\n buffer.writeUInt32LE(0x00000000);\n yield buffer.data;\n }\n },\n\n validate: function(value): number | null {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Decimal;\nmodule.exports = Decimal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const DecimalN = {
|
|
8
|
+
id: 0x6A,
|
|
9
|
+
type: 'DECIMALN',
|
|
10
|
+
name: 'DecimalN',
|
|
11
|
+
declaration() {
|
|
12
|
+
throw new Error('not implemented');
|
|
13
|
+
},
|
|
14
|
+
generateTypeInfo() {
|
|
15
|
+
throw new Error('not implemented');
|
|
16
|
+
},
|
|
17
|
+
generateParameterLength() {
|
|
18
|
+
throw new Error('not implemented');
|
|
19
|
+
},
|
|
20
|
+
generateParameterData() {
|
|
21
|
+
throw new Error('not implemented');
|
|
22
|
+
},
|
|
23
|
+
validate() {
|
|
24
|
+
throw new Error('not implemented');
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var _default = exports.default = DecimalN;
|
|
28
|
+
module.exports = DecimalN;
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNpbWFsTiIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIkVycm9yIiwiZ2VuZXJhdGVUeXBlSW5mbyIsImdlbmVyYXRlUGFyYW1ldGVyTGVuZ3RoIiwiZ2VuZXJhdGVQYXJhbWV0ZXJEYXRhIiwidmFsaWRhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvZGVjaW1hbG4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5cbmNvbnN0IERlY2ltYWxOOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4NkEsXG4gIHR5cGU6ICdERUNJTUFMTicsXG4gIG5hbWU6ICdEZWNpbWFsTicsXG5cbiAgZGVjbGFyYXRpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVR5cGVJbmZvKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH0sXG5cbiAgZ2VuZXJhdGVQYXJhbWV0ZXJMZW5ndGgoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckRhdGEoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfSxcblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEZWNpbWFsTjtcbm1vZHVsZS5leHBvcnRzID0gRGVjaW1hbE47XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQU1BLFFBQWtCLEdBQUc7RUFDekJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxVQUFVO0VBQ2hCQyxJQUFJLEVBQUUsVUFBVTtFQUVoQkMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUEsRUFBRztJQUNqQixNQUFNLElBQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQyxDQUFDO0VBRURFLHVCQUF1QkEsQ0FBQSxFQUFHO0lBQ3hCLE1BQU0sSUFBSUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3BDLENBQUM7RUFFREcscUJBQXFCQSxDQUFBLEVBQUc7SUFDdEIsTUFBTSxJQUFJSCxLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDcEMsQ0FBQztFQUVESSxRQUFRQSxDQUFBLEVBQUc7SUFDVCxNQUFNLElBQUlKLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUNwQztBQUNGLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhWixRQUFRO0FBQ3ZCYSxNQUFNLENBQUNGLE9BQU8sR0FBR1gsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimaln.js","names":["DecimalN","id","type","name","declaration","Error","generateTypeInfo","generateParameterLength","generateParameterData","validate","_default","exports","default","module"],"sources":["../../src/data-types/decimaln.ts"],"sourcesContent":["import { type DataType } from '../data-type';\n\nconst DecimalN: DataType = {\n id: 0x6A,\n type: 'DECIMALN',\n name: 'DecimalN',\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 DecimalN;\nmodule.exports = DecimalN;\n"],"mappings":";;;;;;AAEA,MAAMA,QAAkB,GAAG;EACzBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,UAAU;EAEhBC,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,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,QAAQ;AACvBa,MAAM,CAACF,OAAO,GAAGX,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _floatn = _interopRequireDefault(require("./floatn"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const NULL_LENGTH = Buffer.from([0x00]);
|
|
10
|
+
const Float = {
|
|
11
|
+
id: 0x3E,
|
|
12
|
+
type: 'FLT8',
|
|
13
|
+
name: 'Float',
|
|
14
|
+
declaration: function () {
|
|
15
|
+
return 'float';
|
|
16
|
+
},
|
|
17
|
+
generateTypeInfo() {
|
|
18
|
+
return Buffer.from([_floatn.default.id, 0x08]);
|
|
19
|
+
},
|
|
20
|
+
generateParameterLength(parameter, options) {
|
|
21
|
+
if (parameter.value == null) {
|
|
22
|
+
return NULL_LENGTH;
|
|
23
|
+
}
|
|
24
|
+
return Buffer.from([0x08]);
|
|
25
|
+
},
|
|
26
|
+
*generateParameterData(parameter, options) {
|
|
27
|
+
if (parameter.value == null) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const buffer = Buffer.alloc(8);
|
|
31
|
+
buffer.writeDoubleLE(parseFloat(parameter.value), 0);
|
|
32
|
+
yield buffer;
|
|
33
|
+
},
|
|
34
|
+
validate: function (value) {
|
|
35
|
+
if (value == null) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
value = parseFloat(value);
|
|
39
|
+
if (isNaN(value)) {
|
|
40
|
+
throw new TypeError('Invalid number.');
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var _default = exports.default = Float;
|
|
46
|
+
module.exports = Float;
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZmxvYXRuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJGbG9hdCIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsImdlbmVyYXRlVHlwZUluZm8iLCJGbG9hdE4iLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsInBhcmFtZXRlciIsIm9wdGlvbnMiLCJ2YWx1ZSIsImdlbmVyYXRlUGFyYW1ldGVyRGF0YSIsImJ1ZmZlciIsImFsbG9jIiwid3JpdGVEb3VibGVMRSIsInBhcnNlRmxvYXQiLCJ2YWxpZGF0ZSIsImlzTmFOIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGEtdHlwZXMvZmxvYXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgRmxvYXROIGZyb20gJy4vZmxvYXRuJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHgwMF0pO1xuXG5jb25zdCBGbG9hdDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDNFLFxuICB0eXBlOiAnRkxUOCcsXG4gIG5hbWU6ICdGbG9hdCcsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnZmxvYXQnO1xuICB9LFxuXG4gIGdlbmVyYXRlVHlwZUluZm8oKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKFtGbG9hdE4uaWQsIDB4MDhdKTtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MDhdKTtcbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoOCk7XG4gICAgYnVmZmVyLndyaXRlRG91YmxlTEUocGFyc2VGbG9hdChwYXJhbWV0ZXIudmFsdWUpLCAwKTtcbiAgICB5aWVsZCBidWZmZXI7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbnVtYmVyLicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZsb2F0O1xubW9kdWxlLmV4cG9ydHMgPSBGbG9hdDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQThCLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTlCLE1BQU1HLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QyxNQUFNQyxLQUFlLEdBQUc7RUFDdEJDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxNQUFNO0VBQ1pDLElBQUksRUFBRSxPQUFPO0VBRWJDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxPQUFPO0VBQ2hCLENBQUM7RUFFREMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDakIsT0FBT1AsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ08sZUFBTSxDQUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7RUFDdkMsQ0FBQztFQUVETSx1QkFBdUJBLENBQUNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFO0lBQzFDLElBQUlELFNBQVMsQ0FBQ0UsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixPQUFPYixXQUFXO0lBQ3BCO0lBRUEsT0FBT0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUM1QixDQUFDO0VBRUQsQ0FBRVkscUJBQXFCQSxDQUFDSCxTQUFTLEVBQUVDLE9BQU8sRUFBRTtJQUMxQyxJQUFJRCxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1FLE1BQU0sR0FBR2QsTUFBTSxDQUFDZSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlCRCxNQUFNLENBQUNFLGFBQWEsQ0FBQ0MsVUFBVSxDQUFDUCxTQUFTLENBQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxNQUFNRSxNQUFNO0VBQ2QsQ0FBQztFQUVESSxRQUFRLEVBQUUsU0FBQUEsQ0FBU04sS0FBSyxFQUFpQjtJQUN2QyxJQUFJQSxLQUFLLElBQUksSUFBSSxFQUFFO01BQ2pCLE9BQU8sSUFBSTtJQUNiO0lBQ0FBLEtBQUssR0FBR0ssVUFBVSxDQUFDTCxLQUFLLENBQUM7SUFDekIsSUFBSU8sS0FBSyxDQUFDUCxLQUFLLENBQUMsRUFBRTtNQUNoQixNQUFNLElBQUlRLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUNBLE9BQU9SLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBUyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXhCLE9BQUEsR0FFYUksS0FBSztBQUNwQnFCLE1BQU0sQ0FBQ0QsT0FBTyxHQUFHcEIsS0FBSyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"float.js","names":["_floatn","_interopRequireDefault","require","e","__esModule","default","NULL_LENGTH","Buffer","from","Float","id","type","name","declaration","generateTypeInfo","FloatN","generateParameterLength","parameter","options","value","generateParameterData","buffer","alloc","writeDoubleLE","parseFloat","validate","isNaN","TypeError","_default","exports","module"],"sources":["../../src/data-types/float.ts"],"sourcesContent":["import { type DataType } from '../data-type';\nimport FloatN from './floatn';\n\nconst NULL_LENGTH = Buffer.from([0x00]);\n\nconst Float: DataType = {\n id: 0x3E,\n type: 'FLT8',\n name: 'Float',\n\n declaration: function() {\n return 'float';\n },\n\n generateTypeInfo() {\n return Buffer.from([FloatN.id, 0x08]);\n },\n\n generateParameterLength(parameter, options) {\n if (parameter.value == null) {\n return NULL_LENGTH;\n }\n\n return Buffer.from([0x08]);\n },\n\n * generateParameterData(parameter, options) {\n if (parameter.value == null) {\n return;\n }\n\n const buffer = Buffer.alloc(8);\n buffer.writeDoubleLE(parseFloat(parameter.value), 0);\n yield buffer;\n },\n\n validate: function(value): number | null {\n if (value == null) {\n return null;\n }\n value = parseFloat(value);\n if (isNaN(value)) {\n throw new TypeError('Invalid number.');\n }\n return value;\n }\n};\n\nexport default Float;\nmodule.exports = Float;\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,MAAMG,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC,MAAMC,KAAe,GAAG;EACtBC,EAAE,EAAE,IAAI;EACRC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,OAAO;EAEbC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,OAAO;EAChB,CAAC;EAEDC,gBAAgBA,CAAA,EAAG;IACjB,OAAOP,MAAM,CAACC,IAAI,CAAC,CAACO,eAAM,CAACL,EAAE,EAAE,IAAI,CAAC,CAAC;EACvC,CAAC;EAEDM,uBAAuBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B,OAAOb,WAAW;IACpB;IAEA,OAAOC,MAAM,CAACC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;EAC5B,CAAC;EAED,CAAEY,qBAAqBA,CAACH,SAAS,EAAEC,OAAO,EAAE;IAC1C,IAAID,SAAS,CAACE,KAAK,IAAI,IAAI,EAAE;MAC3B;IACF;IAEA,MAAME,MAAM,GAAGd,MAAM,CAACe,KAAK,CAAC,CAAC,CAAC;IAC9BD,MAAM,CAACE,aAAa,CAACC,UAAU,CAACP,SAAS,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,MAAME,MAAM;EACd,CAAC;EAEDI,QAAQ,EAAE,SAAAA,CAASN,KAAK,EAAiB;IACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACAA,KAAK,GAAGK,UAAU,CAACL,KAAK,CAAC;IACzB,IAAIO,KAAK,CAACP,KAAK,CAAC,EAAE;MAChB,MAAM,IAAIQ,SAAS,CAAC,iBAAiB,CAAC;IACxC;IACA,OAAOR,KAAK;EACd;AACF,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAxB,OAAA,GAEaI,KAAK;AACpBqB,MAAM,CAACD,OAAO,GAAGpB,KAAK","ignoreList":[]}
|