@digitaldefiance/ecies-lib 4.4.14 → 4.4.16
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/package.json +2 -3
- package/src/builders/ecies-builder.js +9 -5
- package/src/builders/ecies-builder.js.map +1 -1
- package/src/builders/index.js +5 -2
- package/src/builders/index.js.map +1 -1
- package/src/builders/member-builder.js +25 -21
- package/src/builders/member-builder.js.map +1 -1
- package/src/constants.js +79 -68
- package/src/constants.js.map +1 -1
- package/src/core/errors/crypto-error.js +14 -10
- package/src/core/errors/crypto-error.js.map +1 -1
- package/src/core/index.js +5 -2
- package/src/core/index.js.map +1 -1
- package/src/core/types/result.js +5 -1
- package/src/core/types/result.js.map +1 -1
- package/src/email-string.js +13 -8
- package/src/email-string.js.map +1 -1
- package/src/enumerations/disposed-error-type.js +5 -2
- package/src/enumerations/disposed-error-type.js.map +1 -1
- package/src/enumerations/ecies-cipher-suite.js +5 -2
- package/src/enumerations/ecies-cipher-suite.js.map +1 -1
- package/src/enumerations/ecies-encryption-type.js +9 -6
- package/src/enumerations/ecies-encryption-type.js.map +1 -1
- package/src/enumerations/ecies-error-type.js +5 -2
- package/src/enumerations/ecies-error-type.js.map +1 -1
- package/src/enumerations/ecies-string-key.js +5 -2
- package/src/enumerations/ecies-string-key.js.map +1 -1
- package/src/enumerations/ecies-version.js +5 -2
- package/src/enumerations/ecies-version.js.map +1 -1
- package/src/enumerations/guid-brand-type.js +5 -2
- package/src/enumerations/guid-brand-type.js.map +1 -1
- package/src/enumerations/guid-error-type.js +5 -2
- package/src/enumerations/guid-error-type.js.map +1 -1
- package/src/enumerations/id-provider-error-type.js +5 -2
- package/src/enumerations/id-provider-error-type.js.map +1 -1
- package/src/enumerations/index.js +20 -17
- package/src/enumerations/index.js.map +1 -1
- package/src/enumerations/invalid-email-type.js +5 -2
- package/src/enumerations/invalid-email-type.js.map +1 -1
- package/src/enumerations/length-encoding-type.js +5 -2
- package/src/enumerations/length-encoding-type.js.map +1 -1
- package/src/enumerations/length-error-type.js +5 -2
- package/src/enumerations/length-error-type.js.map +1 -1
- package/src/enumerations/member-error-type.js +6 -3
- package/src/enumerations/member-error-type.js.map +1 -1
- package/src/enumerations/member-type.js +6 -3
- package/src/enumerations/member-type.js.map +1 -1
- package/src/enumerations/password-login-error-type.js +5 -2
- package/src/enumerations/password-login-error-type.js.map +1 -1
- package/src/enumerations/pbkdf2-error-type.js +5 -2
- package/src/enumerations/pbkdf2-error-type.js.map +1 -1
- package/src/enumerations/pbkdf2-profile.js +5 -2
- package/src/enumerations/pbkdf2-profile.js.map +1 -1
- package/src/enumerations/secure-storage-error-type.js +5 -2
- package/src/enumerations/secure-storage-error-type.js.map +1 -1
- package/src/errors/disposed.js +9 -5
- package/src/errors/disposed.js.map +1 -1
- package/src/errors/ecies.js +9 -5
- package/src/errors/ecies.js.map +1 -1
- package/src/errors/guid.js +13 -9
- package/src/errors/guid.js.map +1 -1
- package/src/errors/id-provider.js +10 -6
- package/src/errors/id-provider.js.map +1 -1
- package/src/errors/index.js +12 -9
- package/src/errors/index.js.map +1 -1
- package/src/errors/invalid-email.js +9 -5
- package/src/errors/invalid-email.js.map +1 -1
- package/src/errors/length.js +9 -5
- package/src/errors/length.js.map +1 -1
- package/src/errors/member.js +9 -5
- package/src/errors/member.js.map +1 -1
- package/src/errors/pbkdf2.js +9 -5
- package/src/errors/pbkdf2.js.map +1 -1
- package/src/errors/secure-storage.js +10 -6
- package/src/errors/secure-storage.js.map +1 -1
- package/src/errors/simple-ecies.js +10 -6
- package/src/errors/simple-ecies.js.map +1 -1
- package/src/errors/simple-test-error.js +5 -1
- package/src/errors/simple-test-error.js.map +1 -1
- package/src/i18n-setup.js +37 -29
- package/src/i18n-setup.js.map +1 -1
- package/src/index.d.ts +3 -3
- package/src/index.d.ts.map +1 -1
- package/src/index.js +123 -60
- package/src/index.js.map +1 -1
- package/src/interfaces/checksum-config.js +2 -1
- package/src/interfaces/checksum-consts.js +2 -1
- package/src/interfaces/configuration-provenance.js +6 -1
- package/src/interfaces/configuration-provenance.js.map +1 -1
- package/src/interfaces/constants.js +2 -1
- package/src/interfaces/ecies-config.js +2 -1
- package/src/interfaces/ecies-consts.js +2 -1
- package/src/interfaces/ecies-file-service.js +2 -1
- package/src/interfaces/encrypted-chunk.js +4 -1
- package/src/interfaces/encrypted-chunk.js.map +1 -1
- package/src/interfaces/encryption-state.js +4 -1
- package/src/interfaces/encryption-state.js.map +1 -1
- package/src/interfaces/frontend-member-operational.js +2 -1
- package/src/interfaces/guid.js +2 -1
- package/src/interfaces/id-provider.js +5 -1
- package/src/interfaces/id-provider.js.map +1 -1
- package/src/interfaces/index.js +15 -12
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/invariant.js +5 -1
- package/src/interfaces/invariant.js.map +1 -1
- package/src/interfaces/library-error.js +2 -1
- package/src/interfaces/member-storage.js +2 -1
- package/src/interfaces/member-with-mnemonic.js +2 -1
- package/src/interfaces/member.js +2 -1
- package/src/interfaces/multi-recipient-chunk.js +6 -1
- package/src/interfaces/multi-recipient-chunk.js.map +1 -1
- package/src/interfaces/pbkdf2-config.js +2 -1
- package/src/interfaces/pbkdf2-consts.js +2 -1
- package/src/interfaces/pbkdf2-result.js +2 -1
- package/src/interfaces/stream-config.js +4 -1
- package/src/interfaces/stream-config.js.map +1 -1
- package/src/interfaces/stream-header.js +4 -1
- package/src/interfaces/stream-header.js.map +1 -1
- package/src/interfaces/stream-progress.js +2 -1
- package/src/lib/configuration-provenance-utils.js +9 -5
- package/src/lib/configuration-provenance-utils.js.map +1 -1
- package/src/lib/crypto-container.js +13 -9
- package/src/lib/crypto-container.js.map +1 -1
- package/src/lib/guid.js +81 -76
- package/src/lib/guid.js.map +1 -1
- package/src/lib/id-providers/custom-provider.js +14 -10
- package/src/lib/id-providers/custom-provider.js.map +1 -1
- package/src/lib/id-providers/guidv4-provider.js +20 -16
- package/src/lib/id-providers/guidv4-provider.js.map +1 -1
- package/src/lib/id-providers/index.js +13 -5
- package/src/lib/id-providers/index.js.map +1 -1
- package/src/lib/id-providers/objectid-provider.js +15 -11
- package/src/lib/id-providers/objectid-provider.js.map +1 -1
- package/src/lib/id-providers/uuid-provider.js +16 -12
- package/src/lib/id-providers/uuid-provider.js.map +1 -1
- package/src/lib/index.js +5 -2
- package/src/lib/index.js.map +1 -1
- package/src/lib/invariant-validator.js +18 -14
- package/src/lib/invariant-validator.js.map +1 -1
- package/src/lib/invariants/encryption-algorithm-consistency.js +6 -2
- package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -1
- package/src/lib/invariants/index.js +6 -3
- package/src/lib/invariants/index.js.map +1 -1
- package/src/lib/invariants/pbkdf2-profiles-validity.js +13 -9
- package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -1
- package/src/lib/invariants/recipient-id-consistency.js +6 -2
- package/src/lib/invariants/recipient-id-consistency.js.map +1 -1
- package/src/lib/multi-recipient-chunk-utils.js +6 -2
- package/src/lib/multi-recipient-chunk-utils.js.map +1 -1
- package/src/member.js +48 -43
- package/src/member.js.map +1 -1
- package/src/pbkdf2-profiles.js +2 -1
- package/src/phone-number.js +11 -7
- package/src/phone-number.js.map +1 -1
- package/src/regexes.js +6 -3
- package/src/regexes.js.map +1 -1
- package/src/secure-buffer.js +21 -17
- package/src/secure-buffer.js.map +1 -1
- package/src/secure-string.js +23 -19
- package/src/secure-string.js.map +1 -1
- package/src/services/aes-gcm.js +25 -21
- package/src/services/aes-gcm.js.map +1 -1
- package/src/services/chunk-processor.js +36 -32
- package/src/services/chunk-processor.js.map +1 -1
- package/src/services/ecies/crypto-core.js +44 -40
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/ecies/example.js +44 -37
- package/src/services/ecies/example.js.map +1 -1
- package/src/services/ecies/file.js +5 -1
- package/src/services/ecies/file.js.map +1 -1
- package/src/services/ecies/index.js +15 -10
- package/src/services/ecies/index.js.map +1 -1
- package/src/services/ecies/integration.js +28 -23
- package/src/services/ecies/integration.js.map +1 -1
- package/src/services/ecies/interfaces.js +2 -1
- package/src/services/ecies/interfaces.js.map +1 -1
- package/src/services/ecies/manual-test.js +34 -26
- package/src/services/ecies/manual-test.js.map +1 -1
- package/src/services/ecies/multi-recipient.js +68 -64
- package/src/services/ecies/multi-recipient.js.map +1 -1
- package/src/services/ecies/service.js +31 -27
- package/src/services/ecies/service.js.map +1 -1
- package/src/services/ecies/signature.js +13 -9
- package/src/services/ecies/signature.js.map +1 -1
- package/src/services/ecies/single-recipient.js +53 -49
- package/src/services/ecies/single-recipient.js.map +1 -1
- package/src/services/encryption-stream.js +46 -42
- package/src/services/encryption-stream.js.map +1 -1
- package/src/services/index.js +13 -10
- package/src/services/index.js.map +1 -1
- package/src/services/multi-recipient-processor.js +44 -40
- package/src/services/multi-recipient-processor.js.map +1 -1
- package/src/services/password-login.js +37 -33
- package/src/services/password-login.js.map +1 -1
- package/src/services/pbkdf2.js +12 -8
- package/src/services/pbkdf2.js.map +1 -1
- package/src/services/progress-tracker.js +9 -5
- package/src/services/progress-tracker.js.map +1 -1
- package/src/services/resumable-encryption.js +28 -24
- package/src/services/resumable-encryption.js.map +1 -1
- package/src/services/xor.js +5 -1
- package/src/services/xor.js.map +1 -1
- package/src/test-mocks/index.js +4 -1
- package/src/test-mocks/index.js.map +1 -1
- package/src/test-mocks/mock-frontend-member.js +24 -20
- package/src/test-mocks/mock-frontend-member.js.map +1 -1
- package/src/testing.js +4 -1
- package/src/testing.js.map +1 -1
- package/src/translations/de.js +195 -192
- package/src/translations/de.js.map +1 -1
- package/src/translations/en-US.js +195 -192
- package/src/translations/en-US.js.map +1 -1
- package/src/translations/es.js +195 -192
- package/src/translations/es.js.map +1 -1
- package/src/translations/fr.js +195 -192
- package/src/translations/fr.js.map +1 -1
- package/src/translations/ja.js +195 -192
- package/src/translations/ja.js.map +1 -1
- package/src/translations/uk.js +195 -192
- package/src/translations/uk.js.map +1 -1
- package/src/translations/zh-cn.js +195 -192
- package/src/translations/zh-cn.js.map +1 -1
- package/src/types/deep-partial.js +2 -1
- package/src/types.js +2 -1
- package/src/utils/encryption-type-utils.js +21 -15
- package/src/utils/encryption-type-utils.js.map +1 -1
- package/src/utils.js +77 -59
- package/src/utils.js.map +1 -1
package/src/utils.js
CHANGED
|
@@ -1,83 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lengthEncodeData = lengthEncodeData;
|
|
4
|
+
exports.decodeLengthEncodedData = decodeLengthEncodedData;
|
|
5
|
+
exports.uint8ArrayToBase64 = uint8ArrayToBase64;
|
|
6
|
+
exports.base64ToUint8Array = base64ToUint8Array;
|
|
7
|
+
exports.uint8ArrayToHex = uint8ArrayToHex;
|
|
8
|
+
exports.hexToUint8Array = hexToUint8Array;
|
|
9
|
+
exports.crc16 = crc16;
|
|
10
|
+
exports.stringToUint8Array = stringToUint8Array;
|
|
11
|
+
exports.uint8ArrayToString = uint8ArrayToString;
|
|
12
|
+
exports.randomBytes = randomBytes;
|
|
13
|
+
exports.arraysEqual = arraysEqual;
|
|
14
|
+
exports.concatUint8Arrays = concatUint8Arrays;
|
|
15
|
+
exports.getLengthEncodingTypeForLength = getLengthEncodingTypeForLength;
|
|
16
|
+
exports.getLengthEncodingTypeFromValue = getLengthEncodingTypeFromValue;
|
|
17
|
+
exports.safeBigIntToNumber = safeBigIntToNumber;
|
|
18
|
+
exports.getLengthForLengthType = getLengthForLengthType;
|
|
19
|
+
const ecies_string_key_1 = require("./enumerations/ecies-string-key");
|
|
20
|
+
const length_encoding_type_1 = require("./enumerations/length-encoding-type");
|
|
21
|
+
const length_error_type_1 = require("./enumerations/length-error-type");
|
|
22
|
+
const errors_1 = require("./errors");
|
|
23
|
+
const i18n_setup_1 = require("./i18n-setup");
|
|
6
24
|
/**
|
|
7
25
|
* Encodes the length of the data in the buffer
|
|
8
26
|
* @param buffer The buffer to encode
|
|
9
27
|
* @returns The encoded buffer
|
|
10
28
|
*/
|
|
11
|
-
|
|
29
|
+
function lengthEncodeData(buffer) {
|
|
12
30
|
const lengthType = getLengthEncodingTypeForLength(buffer.length);
|
|
13
31
|
const lengthTypeSize = getLengthForLengthType(lengthType);
|
|
14
32
|
const result = new Uint8Array(1 + lengthTypeSize + buffer.length);
|
|
15
33
|
const view = new DataView(result.buffer);
|
|
16
34
|
view.setUint8(0, lengthType);
|
|
17
35
|
switch (lengthType) {
|
|
18
|
-
case LengthEncodingType.UInt8:
|
|
36
|
+
case length_encoding_type_1.LengthEncodingType.UInt8:
|
|
19
37
|
view.setUint8(1, buffer.length);
|
|
20
38
|
break;
|
|
21
|
-
case LengthEncodingType.UInt16:
|
|
39
|
+
case length_encoding_type_1.LengthEncodingType.UInt16:
|
|
22
40
|
view.setUint16(1, buffer.length, false); // big-endian
|
|
23
41
|
break;
|
|
24
|
-
case LengthEncodingType.UInt32:
|
|
42
|
+
case length_encoding_type_1.LengthEncodingType.UInt32:
|
|
25
43
|
view.setUint32(1, buffer.length, false); // big-endian
|
|
26
44
|
break;
|
|
27
|
-
case LengthEncodingType.UInt64:
|
|
45
|
+
case length_encoding_type_1.LengthEncodingType.UInt64:
|
|
28
46
|
view.setBigUint64(1, BigInt(buffer.length), false); // big-endian
|
|
29
47
|
break;
|
|
30
48
|
}
|
|
31
49
|
result.set(buffer, 1 + lengthTypeSize);
|
|
32
50
|
return result;
|
|
33
51
|
}
|
|
34
|
-
|
|
52
|
+
function decodeLengthEncodedData(buffer) {
|
|
35
53
|
if (buffer.length < 1) {
|
|
36
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
54
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooShort);
|
|
37
55
|
}
|
|
38
56
|
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
39
57
|
const lengthType = getLengthEncodingTypeFromValue(view.getUint8(0));
|
|
40
58
|
const lengthTypeSize = getLengthForLengthType(lengthType);
|
|
41
59
|
if (buffer.length < 1 + lengthTypeSize) {
|
|
42
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
60
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooShort);
|
|
43
61
|
}
|
|
44
62
|
let length;
|
|
45
63
|
switch (lengthType) {
|
|
46
|
-
case LengthEncodingType.UInt8:
|
|
64
|
+
case length_encoding_type_1.LengthEncodingType.UInt8:
|
|
47
65
|
length = view.getUint8(1);
|
|
48
66
|
break;
|
|
49
|
-
case LengthEncodingType.UInt16:
|
|
67
|
+
case length_encoding_type_1.LengthEncodingType.UInt16:
|
|
50
68
|
length = view.getUint16(1, false); // big-endian
|
|
51
69
|
break;
|
|
52
|
-
case LengthEncodingType.UInt32:
|
|
70
|
+
case length_encoding_type_1.LengthEncodingType.UInt32:
|
|
53
71
|
length = view.getUint32(1, false); // big-endian
|
|
54
72
|
break;
|
|
55
|
-
case LengthEncodingType.UInt64:
|
|
73
|
+
case length_encoding_type_1.LengthEncodingType.UInt64:
|
|
56
74
|
length = view.getBigUint64(1, false); // big-endian
|
|
57
75
|
if (length.valueOf() > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
58
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
76
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooLong);
|
|
59
77
|
}
|
|
60
78
|
break;
|
|
61
79
|
default:
|
|
62
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
80
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsInvalidType);
|
|
63
81
|
}
|
|
64
82
|
const totalLength = 1 + lengthTypeSize + Number(length);
|
|
65
83
|
if (totalLength > buffer.length) {
|
|
66
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
84
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooShort);
|
|
67
85
|
}
|
|
68
86
|
return {
|
|
69
87
|
data: buffer.subarray(1 + lengthTypeSize, totalLength),
|
|
70
88
|
totalLength,
|
|
71
89
|
};
|
|
72
90
|
}
|
|
73
|
-
|
|
91
|
+
function uint8ArrayToBase64(uint8Array) {
|
|
74
92
|
let binaryString = '';
|
|
75
93
|
for (let i = 0; i < uint8Array.length; i++) {
|
|
76
94
|
binaryString += String.fromCharCode(uint8Array[i]);
|
|
77
95
|
}
|
|
78
96
|
return btoa(binaryString);
|
|
79
97
|
}
|
|
80
|
-
|
|
98
|
+
function base64ToUint8Array(base64String) {
|
|
81
99
|
const binaryString = atob(base64String);
|
|
82
100
|
const len = binaryString.length;
|
|
83
101
|
const bytes = new Uint8Array(len);
|
|
@@ -86,21 +104,21 @@ export function base64ToUint8Array(base64String) {
|
|
|
86
104
|
}
|
|
87
105
|
return bytes;
|
|
88
106
|
}
|
|
89
|
-
|
|
107
|
+
function uint8ArrayToHex(uint8Array) {
|
|
90
108
|
return Array.from(uint8Array)
|
|
91
109
|
.map((byte) => byte.toString(16).padStart(2, '0'))
|
|
92
110
|
.join('');
|
|
93
111
|
}
|
|
94
|
-
|
|
95
|
-
const engine = getEciesI18nEngine();
|
|
112
|
+
function hexToUint8Array(hexString) {
|
|
113
|
+
const engine = (0, i18n_setup_1.getEciesI18nEngine)();
|
|
96
114
|
if (!hexString || typeof hexString !== 'string') {
|
|
97
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_Utils_InvalidHexString));
|
|
115
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Utils_InvalidHexString));
|
|
98
116
|
}
|
|
99
117
|
if (hexString.length % 2 !== 0) {
|
|
100
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_Utils_HexStringMustHaveEvenLength));
|
|
118
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Utils_HexStringMustHaveEvenLength));
|
|
101
119
|
}
|
|
102
120
|
if (!/^[0-9a-fA-F]*$/.test(hexString)) {
|
|
103
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_Utils_HexStringContainsInvalidCharacters));
|
|
121
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Utils_HexStringContainsInvalidCharacters));
|
|
104
122
|
}
|
|
105
123
|
const len = hexString.length;
|
|
106
124
|
const bytes = new Uint8Array(len / 2);
|
|
@@ -116,7 +134,7 @@ export function hexToUint8Array(hexString) {
|
|
|
116
134
|
* CRC16-CCITT implementation for data integrity checking
|
|
117
135
|
* Uses CRC16-CCITT-FALSE variant (init 0xFFFF)
|
|
118
136
|
*/
|
|
119
|
-
|
|
137
|
+
function crc16(data) {
|
|
120
138
|
let crc = 0xffff; // Initial value for CRC16-CCITT-FALSE
|
|
121
139
|
const polynomial = 0x1021; // CRC16-CCITT polynomial
|
|
122
140
|
for (let i = 0; i < data.length; i++) {
|
|
@@ -139,25 +157,25 @@ export function crc16(data) {
|
|
|
139
157
|
/**
|
|
140
158
|
* Convert string to Uint8Array (UTF-8 encoding)
|
|
141
159
|
*/
|
|
142
|
-
|
|
160
|
+
function stringToUint8Array(str) {
|
|
143
161
|
return new TextEncoder().encode(str);
|
|
144
162
|
}
|
|
145
163
|
/**
|
|
146
164
|
* Convert Uint8Array to string (UTF-8 decoding)
|
|
147
165
|
*/
|
|
148
|
-
|
|
166
|
+
function uint8ArrayToString(array) {
|
|
149
167
|
return new TextDecoder().decode(array);
|
|
150
168
|
}
|
|
151
169
|
/**
|
|
152
170
|
* Secure random bytes generation
|
|
153
171
|
*/
|
|
154
|
-
|
|
172
|
+
function randomBytes(length) {
|
|
155
173
|
return crypto.getRandomValues(new Uint8Array(length));
|
|
156
174
|
}
|
|
157
175
|
/**
|
|
158
176
|
* Compare two Uint8Arrays for equality
|
|
159
177
|
*/
|
|
160
|
-
|
|
178
|
+
function arraysEqual(a, b) {
|
|
161
179
|
if (a.length !== b.length)
|
|
162
180
|
return false;
|
|
163
181
|
let result = 0;
|
|
@@ -169,7 +187,7 @@ export function arraysEqual(a, b) {
|
|
|
169
187
|
/**
|
|
170
188
|
* Concatenate multiple Uint8Arrays
|
|
171
189
|
*/
|
|
172
|
-
|
|
190
|
+
function concatUint8Arrays(...arrays) {
|
|
173
191
|
const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);
|
|
174
192
|
const result = new Uint8Array(totalLength);
|
|
175
193
|
let offset = 0;
|
|
@@ -184,43 +202,43 @@ export function concatUint8Arrays(...arrays) {
|
|
|
184
202
|
* @param length The length to evaluate
|
|
185
203
|
* @returns The corresponding LengthEncodingType
|
|
186
204
|
*/
|
|
187
|
-
|
|
205
|
+
function getLengthEncodingTypeForLength(length) {
|
|
188
206
|
if (typeof length === 'number') {
|
|
189
207
|
if (length < 256) {
|
|
190
|
-
return LengthEncodingType.UInt8;
|
|
208
|
+
return length_encoding_type_1.LengthEncodingType.UInt8;
|
|
191
209
|
}
|
|
192
210
|
else if (length < 65536) {
|
|
193
|
-
return LengthEncodingType.UInt16;
|
|
211
|
+
return length_encoding_type_1.LengthEncodingType.UInt16;
|
|
194
212
|
}
|
|
195
213
|
else if (length < 4294967296) {
|
|
196
|
-
return LengthEncodingType.UInt32;
|
|
214
|
+
return length_encoding_type_1.LengthEncodingType.UInt32;
|
|
197
215
|
}
|
|
198
216
|
else if (length < Number.MAX_SAFE_INTEGER) {
|
|
199
|
-
return LengthEncodingType.UInt64;
|
|
217
|
+
return length_encoding_type_1.LengthEncodingType.UInt64;
|
|
200
218
|
}
|
|
201
219
|
else {
|
|
202
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
220
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooLong);
|
|
203
221
|
}
|
|
204
222
|
}
|
|
205
223
|
else if (typeof length === 'bigint') {
|
|
206
224
|
if (length < 256n) {
|
|
207
|
-
return LengthEncodingType.UInt8;
|
|
225
|
+
return length_encoding_type_1.LengthEncodingType.UInt8;
|
|
208
226
|
}
|
|
209
227
|
else if (length < 65536n) {
|
|
210
|
-
return LengthEncodingType.UInt16;
|
|
228
|
+
return length_encoding_type_1.LengthEncodingType.UInt16;
|
|
211
229
|
}
|
|
212
230
|
else if (length < 4294967296n) {
|
|
213
|
-
return LengthEncodingType.UInt32;
|
|
231
|
+
return length_encoding_type_1.LengthEncodingType.UInt32;
|
|
214
232
|
}
|
|
215
233
|
else if (length < 18446744073709551616n) {
|
|
216
|
-
return LengthEncodingType.UInt64;
|
|
234
|
+
return length_encoding_type_1.LengthEncodingType.UInt64;
|
|
217
235
|
}
|
|
218
236
|
else {
|
|
219
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
237
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsTooLong);
|
|
220
238
|
}
|
|
221
239
|
}
|
|
222
240
|
else {
|
|
223
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
241
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsInvalidType);
|
|
224
242
|
}
|
|
225
243
|
}
|
|
226
244
|
/**
|
|
@@ -228,26 +246,26 @@ export function getLengthEncodingTypeForLength(length) {
|
|
|
228
246
|
* @param value The value to evaluate
|
|
229
247
|
* @returns The corresponding LengthEncodingType
|
|
230
248
|
*/
|
|
231
|
-
|
|
232
|
-
for (const length of Object.values(LengthEncodingType)) {
|
|
249
|
+
function getLengthEncodingTypeFromValue(value) {
|
|
250
|
+
for (const length of Object.values(length_encoding_type_1.LengthEncodingType)) {
|
|
233
251
|
if (length === value) {
|
|
234
252
|
return length;
|
|
235
253
|
}
|
|
236
254
|
}
|
|
237
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
255
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsInvalidType);
|
|
238
256
|
}
|
|
239
257
|
/**
|
|
240
258
|
* Safely converts BigInt to Number, throwing if value exceeds safe integer range
|
|
241
259
|
* @param value The BigInt value to convert
|
|
242
260
|
* @returns The number value
|
|
243
261
|
*/
|
|
244
|
-
|
|
245
|
-
const engine = getEciesI18nEngine();
|
|
262
|
+
function safeBigIntToNumber(value) {
|
|
263
|
+
const engine = (0, i18n_setup_1.getEciesI18nEngine)();
|
|
246
264
|
if (value > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
247
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_Utils_ValueExceedsSafeIntegerRange));
|
|
265
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Utils_ValueExceedsSafeIntegerRange));
|
|
248
266
|
}
|
|
249
267
|
if (value < BigInt(Number.MIN_SAFE_INTEGER)) {
|
|
250
|
-
throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_Utils_ValueBelowSafeIntegerRange));
|
|
268
|
+
throw new Error(engine.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Utils_ValueBelowSafeIntegerRange));
|
|
251
269
|
}
|
|
252
270
|
return Number(value);
|
|
253
271
|
}
|
|
@@ -256,18 +274,18 @@ export function safeBigIntToNumber(value) {
|
|
|
256
274
|
* @param type The LengthEncodingType to evaluate
|
|
257
275
|
* @returns The length in bytes
|
|
258
276
|
*/
|
|
259
|
-
|
|
277
|
+
function getLengthForLengthType(type) {
|
|
260
278
|
switch (type) {
|
|
261
|
-
case LengthEncodingType.UInt8:
|
|
279
|
+
case length_encoding_type_1.LengthEncodingType.UInt8:
|
|
262
280
|
return 1;
|
|
263
|
-
case LengthEncodingType.UInt16:
|
|
281
|
+
case length_encoding_type_1.LengthEncodingType.UInt16:
|
|
264
282
|
return 2;
|
|
265
|
-
case LengthEncodingType.UInt32:
|
|
283
|
+
case length_encoding_type_1.LengthEncodingType.UInt32:
|
|
266
284
|
return 4;
|
|
267
|
-
case LengthEncodingType.UInt64:
|
|
285
|
+
case length_encoding_type_1.LengthEncodingType.UInt64:
|
|
268
286
|
return 8;
|
|
269
287
|
default:
|
|
270
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
288
|
+
throw new errors_1.LengthError(length_error_type_1.LengthErrorType.LengthIsInvalidType);
|
|
271
289
|
}
|
|
272
290
|
}
|
|
273
291
|
//# sourceMappingURL=utils.js.map
|
package/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"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"}
|