@transia/ripple-binary-codec 2.5.5-alpha.0 → 2.5.5-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enums/definitions.json +1313 -959
- package/dist/enums/src/enums/definitions.json +1318 -959
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/src/enums/definitions.json +1313 -959
- package/dist/src/index.js +0 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/hash-128.js +1 -1
- package/dist/src/types/hash-128.js.map +1 -1
- package/dist/src/types/hash-160.js +1 -1
- package/dist/src/types/hash-160.js.map +1 -1
- package/dist/src/types/hash-192.js +1 -1
- package/dist/src/types/hash-192.js.map +1 -1
- package/dist/src/types/index.d.ts +2 -1
- package/dist/src/types/index.js +4 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/int-32.d.ts +33 -0
- package/dist/src/types/int-32.js +64 -0
- package/dist/src/types/int-32.js.map +1 -0
- package/dist/src/types/int.d.ts +38 -0
- package/dist/src/types/int.js +57 -0
- package/dist/src/types/int.js.map +1 -0
- package/dist/src/types/issue.d.ts +10 -13
- package/dist/src/types/issue.js +42 -29
- package/dist/src/types/issue.js.map +1 -1
- package/dist/src/types/st-number.js +88 -33
- package/dist/src/types/st-number.js.map +1 -1
- package/dist/src/types/st-object.d.ts +3 -3
- package/dist/src/types/st-object.js +12 -12
- package/dist/src/types/st-object.js.map +1 -1
- package/dist/src/types/uint-16.js +2 -2
- package/dist/src/types/uint-16.js.map +1 -1
- package/dist/src/types/uint-32.js +1 -1
- package/dist/src/types/uint-32.js.map +1 -1
- package/dist/src/types/uint-64.js +1 -1
- package/dist/src/types/uint-64.js.map +1 -1
- package/dist/src/types/uint-8.js +1 -1
- package/dist/src/types/uint-8.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/hash-128.js +1 -1
- package/dist/types/hash-128.js.map +1 -1
- package/dist/types/hash-160.js +1 -1
- package/dist/types/hash-160.js.map +1 -1
- package/dist/types/hash-192.js +1 -1
- package/dist/types/hash-192.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/int-32.d.ts +33 -0
- package/dist/types/int-32.js +64 -0
- package/dist/types/int-32.js.map +1 -0
- package/dist/types/int.d.ts +38 -0
- package/dist/types/int.js +57 -0
- package/dist/types/int.js.map +1 -0
- package/dist/types/issue.d.ts +10 -13
- package/dist/types/issue.js +42 -29
- package/dist/types/issue.js.map +1 -1
- package/dist/types/st-number.js +88 -33
- package/dist/types/st-number.js.map +1 -1
- package/dist/types/st-object.d.ts +3 -3
- package/dist/types/st-object.js +12 -12
- package/dist/types/st-object.js.map +1 -1
- package/dist/types/uint-16.js +2 -2
- package/dist/types/uint-16.js.map +1 -1
- package/dist/types/uint-32.js +1 -1
- package/dist/types/uint-32.js.map +1 -1
- package/dist/types/uint-64.js +1 -1
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint-8.js +1 -1
- package/dist/types/uint-8.js.map +1 -1
- package/package.json +8 -5
- package/src/enums/definitions.json +1318 -959
- package/src/index.ts +1 -3
- package/src/types/hash-128.ts +1 -1
- package/src/types/hash-160.ts +1 -1
- package/src/types/hash-192.ts +1 -1
- package/src/types/index.ts +3 -0
- package/src/types/int-32.ts +72 -0
- package/src/types/int.ts +75 -0
- package/src/types/issue.ts +90 -57
- package/src/types/st-number.ts +107 -31
- package/src/types/st-object.ts +77 -73
- package/src/types/uint-16.ts +2 -2
- package/src/types/uint-32.ts +1 -1
- package/src/types/uint-64.ts +1 -1
- package/src/types/uint-8.ts +1 -1
|
@@ -7,8 +7,9 @@ const utils_1 = require("../utils");
|
|
|
7
7
|
* Constants for mantissa and exponent normalization per XRPL Number spec.
|
|
8
8
|
* These define allowed magnitude for mantissa and exponent after normalization.
|
|
9
9
|
*/
|
|
10
|
-
const MIN_MANTISSA = BigInt('
|
|
11
|
-
const MAX_MANTISSA = BigInt('
|
|
10
|
+
const MIN_MANTISSA = BigInt('1000000000000000000'); // 10^18
|
|
11
|
+
const MAX_MANTISSA = BigInt('9999999999999999999'); // 10^19 - 1
|
|
12
|
+
const MAX_INT64 = BigInt('9223372036854775807'); // 2^63 - 1, max signed 64-bit integer
|
|
12
13
|
const MIN_EXPONENT = -32768;
|
|
13
14
|
const MAX_EXPONENT = 32768;
|
|
14
15
|
const DEFAULT_VALUE_EXPONENT = -2147483648;
|
|
@@ -56,6 +57,11 @@ function extractNumberPartsFromString(val) {
|
|
|
56
57
|
}
|
|
57
58
|
if (expPart)
|
|
58
59
|
exponent += parseInt(expPart, 10);
|
|
60
|
+
// Remove trailing zeros from mantissa and adjust exponent
|
|
61
|
+
while (mantissaStr.length > 1 && mantissaStr.endsWith('0')) {
|
|
62
|
+
mantissaStr = mantissaStr.slice(0, -1);
|
|
63
|
+
exponent += 1;
|
|
64
|
+
}
|
|
59
65
|
let mantissa = BigInt(mantissaStr);
|
|
60
66
|
if (sign === '-')
|
|
61
67
|
mantissa = -mantissa;
|
|
@@ -65,7 +71,7 @@ function extractNumberPartsFromString(val) {
|
|
|
65
71
|
/**
|
|
66
72
|
* Normalize the mantissa and exponent to XRPL constraints.
|
|
67
73
|
*
|
|
68
|
-
* Ensures that after normalization, the mantissa is between MIN_MANTISSA and
|
|
74
|
+
* Ensures that after normalization, the mantissa is between MIN_MANTISSA and MAX_INT64.
|
|
69
75
|
* Adjusts the exponent as needed by shifting the mantissa left/right (multiplying/dividing by 10).
|
|
70
76
|
*
|
|
71
77
|
* @param mantissa - The unnormalized mantissa (BigInt).
|
|
@@ -76,16 +82,57 @@ function extractNumberPartsFromString(val) {
|
|
|
76
82
|
function normalize(mantissa, exponent) {
|
|
77
83
|
let m = mantissa < BigInt(0) ? -mantissa : mantissa;
|
|
78
84
|
const isNegative = mantissa < BigInt(0);
|
|
79
|
-
|
|
85
|
+
// Handle zero
|
|
86
|
+
if (m === BigInt(0)) {
|
|
87
|
+
return { mantissa: BigInt(0), exponent: DEFAULT_VALUE_EXPONENT };
|
|
88
|
+
}
|
|
89
|
+
// Grow mantissa until it reaches MIN_MANTISSA
|
|
90
|
+
while (m < MIN_MANTISSA && exponent > MIN_EXPONENT) {
|
|
80
91
|
exponent -= 1;
|
|
81
92
|
m *= BigInt(10);
|
|
82
93
|
}
|
|
94
|
+
let lastDigit = null;
|
|
95
|
+
// Shrink mantissa until it fits within MAX_MANTISSA
|
|
83
96
|
while (m > MAX_MANTISSA) {
|
|
84
|
-
if (exponent >= MAX_EXPONENT)
|
|
97
|
+
if (exponent >= MAX_EXPONENT) {
|
|
85
98
|
throw new Error('Mantissa and exponent are too large');
|
|
99
|
+
}
|
|
86
100
|
exponent += 1;
|
|
101
|
+
lastDigit = m % BigInt(10);
|
|
87
102
|
m /= BigInt(10);
|
|
88
103
|
}
|
|
104
|
+
// Handle underflow: if exponent too small or mantissa too small, throw error
|
|
105
|
+
if (exponent < MIN_EXPONENT || m < MIN_MANTISSA) {
|
|
106
|
+
throw new Error('Underflow: value too small to represent');
|
|
107
|
+
}
|
|
108
|
+
// Handle overflow: if exponent exceeds MAX_EXPONENT after growing.
|
|
109
|
+
if (exponent > MAX_EXPONENT) {
|
|
110
|
+
throw new Error('Exponent overflow: value too large to represent');
|
|
111
|
+
}
|
|
112
|
+
// Handle overflow: if mantissa exceeds MAX_INT64 (2^63-1) after growing.
|
|
113
|
+
if (m > MAX_INT64) {
|
|
114
|
+
if (exponent >= MAX_EXPONENT) {
|
|
115
|
+
throw new Error('Exponent overflow: value too large to represent');
|
|
116
|
+
}
|
|
117
|
+
exponent += 1;
|
|
118
|
+
lastDigit = m % BigInt(10);
|
|
119
|
+
m /= BigInt(10);
|
|
120
|
+
}
|
|
121
|
+
if (lastDigit != null && lastDigit >= BigInt(5)) {
|
|
122
|
+
m += BigInt(1);
|
|
123
|
+
// After rounding, mantissa may exceed MAX_INT64 again
|
|
124
|
+
if (m > MAX_INT64) {
|
|
125
|
+
if (exponent >= MAX_EXPONENT) {
|
|
126
|
+
throw new Error('Exponent overflow: value too large to represent');
|
|
127
|
+
}
|
|
128
|
+
lastDigit = m % BigInt(10);
|
|
129
|
+
exponent += 1;
|
|
130
|
+
m /= BigInt(10);
|
|
131
|
+
if (lastDigit >= BigInt(5)) {
|
|
132
|
+
m += BigInt(1);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
89
136
|
if (isNegative)
|
|
90
137
|
m = -m;
|
|
91
138
|
return { mantissa: m, exponent };
|
|
@@ -139,18 +186,8 @@ class STNumber extends serialized_type_1.SerializedType {
|
|
|
139
186
|
* @throws Error if val is not a valid number string.
|
|
140
187
|
*/
|
|
141
188
|
static fromValue(val) {
|
|
142
|
-
const { mantissa, exponent
|
|
143
|
-
|
|
144
|
-
let normalizedExponent;
|
|
145
|
-
if (mantissa === BigInt(0) && exponent === 0 && !isNegative) {
|
|
146
|
-
normalizedMantissa = BigInt(0);
|
|
147
|
-
normalizedExponent = DEFAULT_VALUE_EXPONENT;
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
;
|
|
151
|
-
({ mantissa: normalizedMantissa, exponent: normalizedExponent } =
|
|
152
|
-
normalize(mantissa, exponent));
|
|
153
|
-
}
|
|
189
|
+
const { mantissa, exponent } = extractNumberPartsFromString(val);
|
|
190
|
+
const { mantissa: normalizedMantissa, exponent: normalizedExponent } = normalize(mantissa, exponent);
|
|
154
191
|
const bytes = new Uint8Array(12);
|
|
155
192
|
(0, utils_1.writeInt64BE)(bytes, normalizedMantissa, 0);
|
|
156
193
|
(0, utils_1.writeInt32BE)(bytes, normalizedExponent, 8);
|
|
@@ -171,35 +208,53 @@ class STNumber extends serialized_type_1.SerializedType {
|
|
|
171
208
|
*
|
|
172
209
|
* @returns String representation of the value
|
|
173
210
|
*/
|
|
174
|
-
// eslint-disable-next-line complexity -- required
|
|
175
211
|
toJSON() {
|
|
176
212
|
const b = this.bytes;
|
|
177
|
-
if (!b || b.length !== 12)
|
|
213
|
+
if (!b || (b === null || b === void 0 ? void 0 : b.length) !== 12)
|
|
178
214
|
throw new Error('STNumber internal bytes not set or wrong length');
|
|
179
215
|
// Signed 64-bit mantissa
|
|
180
216
|
const mantissa = (0, utils_1.readInt64BE)(b, 0);
|
|
181
217
|
// Signed 32-bit exponent
|
|
182
|
-
|
|
218
|
+
let exponent = (0, utils_1.readInt32BE)(b, 8);
|
|
183
219
|
// Special zero: XRPL encodes canonical zero as mantissa=0, exponent=DEFAULT_VALUE_EXPONENT.
|
|
184
220
|
if (mantissa === BigInt(0) && exponent === DEFAULT_VALUE_EXPONENT) {
|
|
185
221
|
return '0';
|
|
186
222
|
}
|
|
187
|
-
if (exponent === 0)
|
|
188
|
-
return mantissa.toString();
|
|
189
|
-
// Use scientific notation for small/large exponents, decimal otherwise
|
|
190
|
-
if (exponent < -25 || exponent > -5) {
|
|
191
|
-
return `${mantissa}e${exponent}`;
|
|
192
|
-
}
|
|
193
|
-
// Decimal rendering for -25 <= exp <= -5
|
|
194
223
|
const isNegative = mantissa < BigInt(0);
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
224
|
+
let mantissaAbs = isNegative ? -mantissa : mantissa;
|
|
225
|
+
// If mantissa < MIN_MANTISSA, it was shrunk for int64 serialization (mantissa > 2^63-1).
|
|
226
|
+
// Restore it for proper string rendering to match rippled's internal representation.
|
|
227
|
+
if (mantissaAbs !== BigInt(0) && mantissaAbs < MIN_MANTISSA) {
|
|
228
|
+
mantissaAbs *= BigInt(10);
|
|
229
|
+
exponent -= 1;
|
|
230
|
+
}
|
|
231
|
+
// For large mantissa range (default), rangeLog = 18
|
|
232
|
+
const rangeLog = 18;
|
|
233
|
+
// Use scientific notation for exponents that are too small or too large
|
|
234
|
+
// Condition from rippled: exponent != 0 AND (exponent < -(rangeLog + 10) OR exponent > -(rangeLog - 10))
|
|
235
|
+
// For rangeLog = 18: exponent != 0 AND (exponent < -28 OR exponent > -8)
|
|
236
|
+
if (exponent !== 0 &&
|
|
237
|
+
(exponent < -(rangeLog + 10) || exponent > -(rangeLog - 10))) {
|
|
238
|
+
// Strip trailing zeros from mantissa (matches rippled behavior)
|
|
239
|
+
let exp = exponent;
|
|
240
|
+
while (mantissaAbs !== BigInt(0) &&
|
|
241
|
+
mantissaAbs % BigInt(10) === BigInt(0) &&
|
|
242
|
+
exp < MAX_EXPONENT) {
|
|
243
|
+
mantissaAbs /= BigInt(10);
|
|
244
|
+
exp += 1;
|
|
245
|
+
}
|
|
246
|
+
const sign = isNegative ? '-' : '';
|
|
247
|
+
return `${sign}${mantissaAbs}e${exp}`;
|
|
248
|
+
}
|
|
249
|
+
// Decimal rendering for -(rangeLog + 10) <= exponent <= -(rangeLog - 10)
|
|
250
|
+
// i.e., -28 <= exponent <= -8, or exponent == 0
|
|
251
|
+
const padPrefix = rangeLog + 12; // 30
|
|
252
|
+
const padSuffix = rangeLog + 8; // 26
|
|
198
253
|
const mantissaStr = mantissaAbs.toString();
|
|
199
254
|
const rawValue = '0'.repeat(padPrefix) + mantissaStr + '0'.repeat(padSuffix);
|
|
200
|
-
const
|
|
201
|
-
const integerPart = rawValue.slice(0,
|
|
202
|
-
const fractionPart = rawValue.slice(
|
|
255
|
+
const offset = exponent + padPrefix + rangeLog + 1; // exponent + 49
|
|
256
|
+
const integerPart = rawValue.slice(0, offset).replace(/^0+/, '') || '0';
|
|
257
|
+
const fractionPart = rawValue.slice(offset).replace(/0+$/, '');
|
|
203
258
|
return `${isNegative ? '-' : ''}${integerPart}${fractionPart ? '.' + fractionPart : ''}`;
|
|
204
259
|
}
|
|
205
260
|
getSType() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"st-number.js","sourceRoot":"","sources":["../../../src/types/st-number.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"st-number.js","sourceRoot":"","sources":["../../../src/types/st-number.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { XrplDefinitionsBase } from
|
|
2
|
-
import { SerializedType, JsonObject, SerializedTypeID } from
|
|
3
|
-
import { BinaryParser } from
|
|
1
|
+
import { XrplDefinitionsBase } from "../enums";
|
|
2
|
+
import { SerializedType, JsonObject, SerializedTypeID } from "./serialized-type";
|
|
3
|
+
import { BinaryParser } from "../serdes/binary-parser";
|
|
4
4
|
/**
|
|
5
5
|
* Class for Serializing/Deserializing objects
|
|
6
6
|
*/
|
|
@@ -9,12 +9,12 @@ const binary_serializer_1 = require("../serdes/binary-serializer");
|
|
|
9
9
|
const st_array_1 = require("./st-array");
|
|
10
10
|
const uint_64_1 = require("./uint-64");
|
|
11
11
|
const OBJECT_END_MARKER_BYTE = Uint8Array.from([0xe1]);
|
|
12
|
-
const OBJECT_END_MARKER =
|
|
13
|
-
const ST_OBJECT =
|
|
14
|
-
const DESTINATION =
|
|
15
|
-
const ACCOUNT =
|
|
16
|
-
const SOURCE_TAG =
|
|
17
|
-
const DEST_TAG =
|
|
12
|
+
const OBJECT_END_MARKER = "ObjectEndMarker";
|
|
13
|
+
const ST_OBJECT = "STObject";
|
|
14
|
+
const DESTINATION = "Destination";
|
|
15
|
+
const ACCOUNT = "Account";
|
|
16
|
+
const SOURCE_TAG = "SourceTag";
|
|
17
|
+
const DEST_TAG = "DestinationTag";
|
|
18
18
|
/**
|
|
19
19
|
* Break down an X-Address into an account and a tag
|
|
20
20
|
*
|
|
@@ -43,9 +43,9 @@ function handleXAddress(field, xAddress) {
|
|
|
43
43
|
*/
|
|
44
44
|
function checkForDuplicateTags(obj1, obj2) {
|
|
45
45
|
if (!(obj1[SOURCE_TAG] === undefined || obj2[SOURCE_TAG] === undefined))
|
|
46
|
-
throw new Error(
|
|
46
|
+
throw new Error("Cannot have Account X-Address and SourceTag");
|
|
47
47
|
if (!(obj1[DEST_TAG] === undefined || obj2[DEST_TAG] === undefined))
|
|
48
|
-
throw new Error(
|
|
48
|
+
throw new Error("Cannot have Destination X-Address and DestinationTag");
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Class for Serializing/Deserializing objects
|
|
@@ -121,9 +121,9 @@ class STObject extends serialized_type_1.SerializedType {
|
|
|
121
121
|
var _a;
|
|
122
122
|
const associatedValue = field.type.name === ST_OBJECT
|
|
123
123
|
? this.from(xAddressDecoded[field.name], undefined, definitions)
|
|
124
|
-
: field.type.name ===
|
|
124
|
+
: field.type.name === "STArray"
|
|
125
125
|
? st_array_1.STArray.from(xAddressDecoded[field.name], definitions)
|
|
126
|
-
: field.type.name ===
|
|
126
|
+
: field.type.name === "UInt64"
|
|
127
127
|
? uint_64_1.UInt64.from(xAddressDecoded[field.name], field.name)
|
|
128
128
|
: ((_a = field.associatedType) === null || _a === void 0 ? void 0 : _a.from)
|
|
129
129
|
? field.associatedType.from(xAddressDecoded[field.name])
|
|
@@ -133,14 +133,14 @@ class STObject extends serialized_type_1.SerializedType {
|
|
|
133
133
|
if (associatedValue == undefined) {
|
|
134
134
|
throw new TypeError(`Unable to interpret "${field.name}: ${xAddressDecoded[field.name]}".`);
|
|
135
135
|
}
|
|
136
|
-
if (associatedValue.name ===
|
|
136
|
+
if (associatedValue.name === "UNLModify") {
|
|
137
137
|
// triggered when the TransactionType field has a value of 'UNLModify'
|
|
138
138
|
isUnlModify = true;
|
|
139
139
|
}
|
|
140
140
|
// true when in the UNLModify pseudotransaction (after the transaction type has been processed) and working with the
|
|
141
141
|
// Account field
|
|
142
142
|
// The Account field must not be a part of the UNLModify pseudotransaction encoding, due to a bug in rippled
|
|
143
|
-
const isUnlModifyWorkaround = field.name ==
|
|
143
|
+
const isUnlModifyWorkaround = field.name == "Account" && isUnlModify;
|
|
144
144
|
bytes.writeFieldAndValue(field, associatedValue, isUnlModifyWorkaround);
|
|
145
145
|
if (field.type.name === ST_OBJECT) {
|
|
146
146
|
bytes.put(OBJECT_END_MARKER_BYTE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../../src/types/st-object.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"st-object.js","sourceRoot":"","sources":["../../../src/types/st-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,13 @@ class UInt16 extends uint_1.UInt {
|
|
|
23
23
|
if (val instanceof UInt16) {
|
|
24
24
|
return val;
|
|
25
25
|
}
|
|
26
|
-
if (typeof val === 'number') {
|
|
26
|
+
if (typeof val === 'number' && Number.isInteger(val)) {
|
|
27
27
|
UInt16.checkUintRange(val, 0, 0xffff);
|
|
28
28
|
const buf = new Uint8Array(UInt16.width);
|
|
29
29
|
(0, utils_1.writeUInt16BE)(buf, val, 0);
|
|
30
30
|
return new UInt16(buf);
|
|
31
31
|
}
|
|
32
|
-
throw new Error('
|
|
32
|
+
throw new Error('Cannot construct UInt16 from given value');
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* get the value of a UInt16 object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-16.js","sourceRoot":"","sources":["../../../src/types/uint-16.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,oCAAsD;AACtD,uDAAoD;AAEpD;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA4B,GAAM;QAC3C,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"uint-16.js","sourceRoot":"","sources":["../../../src/types/uint-16.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,oCAAsD;AACtD,uDAAoD;AAEpD;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA4B,GAAM;QAC3C,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACpD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YAErC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;SACvB;QAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,QAAQ,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO,kCAAgB,CAAC,UAAU,CAAA;IACpC,CAAC;;AAGM,wBAAM;AAhDa,YAAK,GAAW,EAAE,GAAG,CAAC,CAAA,CAAC,IAAI;AACrC,oBAAa,GAAW,IAAI,MAAM,CAChD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B,CAAA"}
|
|
@@ -29,7 +29,7 @@ class UInt32 extends uint_1.UInt {
|
|
|
29
29
|
(0, utils_1.writeUInt32BE)(buf, num, 0);
|
|
30
30
|
return new UInt32(buf);
|
|
31
31
|
}
|
|
32
|
-
if (typeof val === 'number') {
|
|
32
|
+
if (typeof val === 'number' && Number.isInteger(val)) {
|
|
33
33
|
UInt32.checkUintRange(val, 0, 0xffffffff);
|
|
34
34
|
(0, utils_1.writeUInt32BE)(buf, val, 0);
|
|
35
35
|
return new UInt32(buf);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-32.js","sourceRoot":"","sources":["../../../src/types/uint-32.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,oCAAsD;AACtD,uDAAoD;AAEpD;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAqC,GAAM;QACpD,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAChC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;SACvB;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"uint-32.js","sourceRoot":"","sources":["../../../src/types/uint-32.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,oCAAsD;AACtD,uDAAoD;AAEpD;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAqC,GAAM;QACpD,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAChC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;SACvB;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACpD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YACzC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;SACvB;QAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,QAAQ,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,QAAQ;QACN,OAAO,kCAAgB,CAAC,UAAU,CAAA;IACpC,CAAC;;AAGM,wBAAM;AAtDa,YAAK,GAAW,EAAE,GAAG,CAAC,CAAA,CAAC,IAAI;AACrC,oBAAa,GAAW,IAAI,MAAM,CAChD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B,CAAA"}
|
|
@@ -40,7 +40,7 @@ class UInt64 extends uint_1.UInt {
|
|
|
40
40
|
return val;
|
|
41
41
|
}
|
|
42
42
|
let buf = new Uint8Array(UInt64.width);
|
|
43
|
-
if (typeof val === 'number') {
|
|
43
|
+
if (typeof val === 'number' && Number.isInteger(val)) {
|
|
44
44
|
if (val < 0) {
|
|
45
45
|
throw new Error('value must be an unsigned integer');
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-64.js","sourceRoot":"","sources":["../../../src/types/uint-64.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,qDAA0E;AAC1E,oCAAsD;AACtD,oCAAmE;AACnE,uDAAoD;AAEpD,MAAM,SAAS,GAAG,qBAAqB,CAAA;AACvC,MAAM,YAAY,GAAG,eAAe,CAAA;AACpC,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAEvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,cAAc;CACf,CAAC,CAAA;AAEF,SAAS,QAAQ,CAAC,SAAiB;IACjC,OAAO,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,MAAO,SAAQ,WAAI;IAMvB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;OAKG;IACH,sCAAsC;IACtC,MAAM,CAAC,IAAI,CACT,GAAM,EACN,SAAS,GAAG,EAAE;QAEd,IAAI,GAAG,YAAY,MAAM,EAAE;YACzB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"uint-64.js","sourceRoot":"","sources":["../../../src/types/uint-64.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types/uint-8.js
CHANGED
|
@@ -24,7 +24,7 @@ class UInt8 extends uint_1.UInt {
|
|
|
24
24
|
if (val instanceof UInt8) {
|
|
25
25
|
return val;
|
|
26
26
|
}
|
|
27
|
-
if (typeof val === 'number') {
|
|
27
|
+
if (typeof val === 'number' && Number.isInteger(val)) {
|
|
28
28
|
UInt8.checkUintRange(val, 0, 0xff);
|
|
29
29
|
const buf = new Uint8Array(UInt8.width);
|
|
30
30
|
(0, utils_2.writeUInt8)(buf, val, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-8.js","sourceRoot":"","sources":["../../../src/types/uint-8.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,qDAAsD;AACtD,oCAAqC;AACrC,uDAAoD;AAEpD;;GAEG;AACH,MAAM,KAAM,SAAQ,WAAI;IAItB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA2B,GAAM;QAC1C,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"uint-8.js","sourceRoot":"","sources":["../../../src/types/uint-8.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,qDAAsD;AACtD,oCAAqC;AACrC,uDAAoD;AAEpD;;GAEG;AACH,MAAM,KAAM,SAAQ,WAAI;IAItB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB;QACpC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA2B,GAAM;QAC1C,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACpD,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAElC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACvC,IAAA,kBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;SACtB;QAED,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,QAAQ,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,QAAQ;QACN,OAAO,kCAAgB,CAAC,SAAS,CAAA;IACnC,CAAC;;AAGM,sBAAK;AA9Cc,WAAK,GAAW,CAAC,GAAG,CAAC,CAAA,CAAC,IAAI;AACpC,kBAAY,GAAU,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA"}
|