@digitaldefiance/ecies-lib 4.2.0 → 4.2.6
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/README.md +58 -0
- package/package.json +4 -3
- package/src/builders/member-builder.d.ts +2 -2
- package/src/builders/member-builder.d.ts.map +1 -1
- package/src/builders/member-builder.js +2 -2
- package/src/builders/member-builder.js.map +1 -1
- package/src/constants.d.ts +3 -3
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +20 -19
- package/src/constants.js.map +1 -1
- package/src/core/errors/crypto-error.d.ts.map +1 -1
- package/src/core/errors/crypto-error.js +1 -1
- package/src/core/errors/crypto-error.js.map +1 -1
- package/src/enumerations/ecies-encryption-type.js +4 -5
- package/src/enumerations/ecies-encryption-type.js.map +1 -1
- package/src/errors/ecies.d.ts.map +1 -1
- package/src/errors/ecies.js +12 -10
- package/src/errors/ecies.js.map +1 -1
- package/src/errors/guid.d.ts +8 -3
- package/src/errors/guid.d.ts.map +1 -1
- package/src/errors/guid.js +19 -4
- package/src/errors/guid.js.map +1 -1
- package/src/index.d.ts +31 -25
- package/src/index.d.ts.map +1 -1
- package/src/index.js +26 -19
- package/src/index.js.map +1 -1
- package/src/member.js +17 -18
- package/src/member.js.map +1 -1
- package/src/secure-buffer.d.ts.map +1 -1
- package/src/secure-buffer.js +5 -5
- package/src/secure-buffer.js.map +1 -1
- package/src/secure-string.d.ts.map +1 -1
- package/src/secure-string.js +6 -6
- package/src/secure-string.js.map +1 -1
- package/src/services/ecies/crypto-core.d.ts.map +1 -1
- package/src/services/ecies/crypto-core.js +13 -8
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/index.d.ts +5 -0
- package/src/services/index.d.ts.map +1 -1
- package/src/services/index.js +5 -0
- package/src/services/index.js.map +1 -1
- package/src/services/progress-tracker.d.ts.map +1 -1
- package/src/services/progress-tracker.js +19 -10
- package/src/services/progress-tracker.js.map +1 -1
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +12 -12
- package/src/utils.js.map +1 -1
|
@@ -7,8 +7,8 @@ import { SecureString } from '../../secure-string';
|
|
|
7
7
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
8
8
|
import { hkdf } from '@noble/hashes/hkdf.js';
|
|
9
9
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
10
|
-
import { EciesComponentId, getEciesI18nEngine } from '../../i18n-setup';
|
|
11
10
|
import { EciesStringKey } from '../../enumerations';
|
|
11
|
+
import { EciesComponentId, getEciesI18nEngine } from '../../i18n-setup';
|
|
12
12
|
/**
|
|
13
13
|
* Browser-compatible crypto core for ECIES operations
|
|
14
14
|
* Uses @scure libraries for browser compatibility
|
|
@@ -34,14 +34,12 @@ export class EciesCryptoCore {
|
|
|
34
34
|
const keyLength = publicKey.length;
|
|
35
35
|
let normalizedKey;
|
|
36
36
|
// Compressed key (33 bytes) - 0x02 or 0x03 prefix
|
|
37
|
-
if (keyLength === 33 &&
|
|
38
|
-
(publicKey[0] === 0x02 || publicKey[0] === 0x03)) {
|
|
37
|
+
if (keyLength === 33 && (publicKey[0] === 0x02 || publicKey[0] === 0x03)) {
|
|
39
38
|
normalizedKey = publicKey;
|
|
40
39
|
}
|
|
41
40
|
// Uncompressed key (65 bytes) - 0x04 prefix
|
|
42
41
|
// We accept this for backward compatibility with existing keys
|
|
43
|
-
else if (keyLength === 65 &&
|
|
44
|
-
publicKey[0] === 0x04) {
|
|
42
|
+
else if (keyLength === 65 && publicKey[0] === 0x04) {
|
|
45
43
|
normalizedKey = publicKey;
|
|
46
44
|
}
|
|
47
45
|
// Raw key without prefix (64 bytes) - add the 0x04 prefix
|
|
@@ -57,7 +55,8 @@ export class EciesCryptoCore {
|
|
|
57
55
|
}
|
|
58
56
|
// Basic validation: check it's not all zeros
|
|
59
57
|
let allZeros = true;
|
|
60
|
-
for (let i = 1; i < normalizedKey.length; i++) {
|
|
58
|
+
for (let i = 1; i < normalizedKey.length; i++) {
|
|
59
|
+
// Skip first byte (prefix)
|
|
61
60
|
if (normalizedKey[i] !== 0) {
|
|
62
61
|
allZeros = false;
|
|
63
62
|
break;
|
|
@@ -175,8 +174,14 @@ export class EciesCryptoCore {
|
|
|
175
174
|
if (signature instanceof Uint8Array) {
|
|
176
175
|
return signature;
|
|
177
176
|
}
|
|
178
|
-
if
|
|
179
|
-
|
|
177
|
+
// Check if signature has toCompactRawBytes method
|
|
178
|
+
if (signature &&
|
|
179
|
+
typeof signature === 'object' &&
|
|
180
|
+
'toCompactRawBytes' in signature) {
|
|
181
|
+
const sig = signature;
|
|
182
|
+
if (typeof sig.toCompactRawBytes === 'function') {
|
|
183
|
+
return sig.toCompactRawBytes();
|
|
184
|
+
}
|
|
180
185
|
}
|
|
181
186
|
// Fallback or error
|
|
182
187
|
throw new Error('Unknown signature format');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/services/ecies/crypto-core.ts"],"names":[],"mappings":"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"}
|
package/src/services/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export * from './aes-gcm';
|
|
2
|
+
export * from './chunk-processor';
|
|
2
3
|
export * from './ecies';
|
|
4
|
+
export * from './encryption-stream';
|
|
5
|
+
export * from './multi-recipient-processor';
|
|
3
6
|
export * from './password-login';
|
|
4
7
|
export * from './pbkdf2';
|
|
8
|
+
export * from './progress-tracker';
|
|
9
|
+
export * from './resumable-encryption';
|
|
5
10
|
export * from './xor';
|
|
6
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC"}
|
package/src/services/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export * from './aes-gcm';
|
|
2
|
+
export * from './chunk-processor';
|
|
2
3
|
export * from './ecies';
|
|
4
|
+
export * from './encryption-stream';
|
|
5
|
+
export * from './multi-recipient-processor';
|
|
3
6
|
export * from './password-login';
|
|
4
7
|
export * from './pbkdf2';
|
|
8
|
+
export * from './progress-tracker';
|
|
9
|
+
export * from './resumable-encryption';
|
|
5
10
|
export * from './xor';
|
|
6
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE;;GAEG;AACH,qBAAa,eAAe;IAQd,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAPxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAK;gBAEb,UAAU,CAAC,EAAE,MAAM,YAAA;IAKhD;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IAsE3C;;OAEG;IACH,WAAW,IAAI,eAAe;CA+B/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getEciesI18nEngine, EciesComponentId } from '../i18n-setup';
|
|
2
1
|
import { EciesStringKey } from '../enumerations/ecies-string-key';
|
|
2
|
+
import { EciesComponentId, getEciesI18nEngine } from '../i18n-setup';
|
|
3
3
|
/**
|
|
4
4
|
* Tracks progress for streaming operations
|
|
5
5
|
*/
|
|
@@ -35,7 +35,8 @@ export class ProgressTracker {
|
|
|
35
35
|
if (chunkBytes > 0 && timeWindow > 0) {
|
|
36
36
|
const instantThroughput = (chunkBytes / timeWindow) * 1000;
|
|
37
37
|
// Guard against unrealistic throughput (>10GB/s)
|
|
38
|
-
if (isFinite(instantThroughput) &&
|
|
38
|
+
if (isFinite(instantThroughput) &&
|
|
39
|
+
instantThroughput < 10 * 1024 * 1024 * 1024) {
|
|
39
40
|
this.recentThroughputs.push(instantThroughput);
|
|
40
41
|
if (this.recentThroughputs.length > this.maxThroughputSamples) {
|
|
41
42
|
this.recentThroughputs.shift();
|
|
@@ -45,11 +46,14 @@ export class ProgressTracker {
|
|
|
45
46
|
this.lastUpdateTime = now;
|
|
46
47
|
// Calculate average throughput
|
|
47
48
|
const throughput = this.recentThroughputs.length > 0
|
|
48
|
-
? this.recentThroughputs.reduce((a, b) => a + b, 0) /
|
|
49
|
+
? this.recentThroughputs.reduce((a, b) => a + b, 0) /
|
|
50
|
+
this.recentThroughputs.length
|
|
49
51
|
: 0;
|
|
50
52
|
// Calculate ETA (guard against negative)
|
|
51
53
|
let estimatedTimeRemaining;
|
|
52
|
-
if (this.totalBytes &&
|
|
54
|
+
if (this.totalBytes &&
|
|
55
|
+
throughput > 0 &&
|
|
56
|
+
this.bytesProcessed < this.totalBytes) {
|
|
53
57
|
const remainingBytes = this.totalBytes - this.bytesProcessed;
|
|
54
58
|
estimatedTimeRemaining = Math.max(0, remainingBytes / throughput);
|
|
55
59
|
}
|
|
@@ -57,9 +61,10 @@ export class ProgressTracker {
|
|
|
57
61
|
bytesProcessed: this.bytesProcessed,
|
|
58
62
|
totalBytes: this.totalBytes,
|
|
59
63
|
chunksProcessed: this.chunksProcessed,
|
|
60
|
-
percentComplete: this.totalBytes
|
|
64
|
+
percentComplete: this.totalBytes
|
|
65
|
+
? Math.min(100, (this.bytesProcessed / this.totalBytes) * 100)
|
|
66
|
+
: undefined,
|
|
61
67
|
throughputBytesPerSec: throughput,
|
|
62
|
-
throughput, // Alias
|
|
63
68
|
estimatedTimeRemaining,
|
|
64
69
|
startTime: this.startTime,
|
|
65
70
|
elapsedTime,
|
|
@@ -71,10 +76,13 @@ export class ProgressTracker {
|
|
|
71
76
|
getProgress() {
|
|
72
77
|
const elapsedTime = Math.max(0, Date.now() - this.startTime);
|
|
73
78
|
const throughput = this.recentThroughputs.length > 0
|
|
74
|
-
? this.recentThroughputs.reduce((a, b) => a + b, 0) /
|
|
79
|
+
? this.recentThroughputs.reduce((a, b) => a + b, 0) /
|
|
80
|
+
this.recentThroughputs.length
|
|
75
81
|
: 0;
|
|
76
82
|
let estimatedTimeRemaining;
|
|
77
|
-
if (this.totalBytes &&
|
|
83
|
+
if (this.totalBytes &&
|
|
84
|
+
throughput > 0 &&
|
|
85
|
+
this.bytesProcessed < this.totalBytes) {
|
|
78
86
|
const remainingBytes = this.totalBytes - this.bytesProcessed;
|
|
79
87
|
estimatedTimeRemaining = Math.max(0, remainingBytes / throughput);
|
|
80
88
|
}
|
|
@@ -82,9 +90,10 @@ export class ProgressTracker {
|
|
|
82
90
|
bytesProcessed: this.bytesProcessed,
|
|
83
91
|
totalBytes: this.totalBytes,
|
|
84
92
|
chunksProcessed: this.chunksProcessed,
|
|
85
|
-
percentComplete: this.totalBytes
|
|
93
|
+
percentComplete: this.totalBytes
|
|
94
|
+
? Math.min(100, (this.bytesProcessed / this.totalBytes) * 100)
|
|
95
|
+
: undefined,
|
|
86
96
|
throughputBytesPerSec: throughput,
|
|
87
|
-
throughput, // Alias
|
|
88
97
|
estimatedTimeRemaining,
|
|
89
98
|
startTime: this.startTime,
|
|
90
99
|
elapsedTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"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"}
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAyB/D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgDA;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAMjE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAQnE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAI9D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAgC7D;AAED;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAoBlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAOjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CASrE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM,EACxB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CA4B7C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM,EACxB,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAOnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM,EACxB,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAalC"}
|
package/src/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { EciesStringKey } from './enumerations/ecies-string-key';
|
|
1
2
|
import { LengthEncodingType } from './enumerations/length-encoding-type';
|
|
2
3
|
import { LengthErrorType } from './enumerations/length-error-type';
|
|
3
4
|
import { LengthError } from './errors';
|
|
4
|
-
import {
|
|
5
|
-
import { EciesStringKey } from './enumerations/ecies-string-key';
|
|
5
|
+
import { EciesComponentId, getEciesI18nEngine } from './i18n-setup';
|
|
6
6
|
/**
|
|
7
7
|
* Encodes the length of the data in the buffer
|
|
8
8
|
* @param buffer The buffer to encode
|
|
@@ -33,13 +33,13 @@ export function lengthEncodeData(buffer) {
|
|
|
33
33
|
}
|
|
34
34
|
export function decodeLengthEncodedData(buffer) {
|
|
35
35
|
if (buffer.length < 1) {
|
|
36
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort
|
|
36
|
+
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
37
37
|
}
|
|
38
38
|
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
39
39
|
const lengthType = getLengthEncodingTypeFromValue(view.getUint8(0));
|
|
40
40
|
const lengthTypeSize = getLengthForLengthType(lengthType);
|
|
41
41
|
if (buffer.length < 1 + lengthTypeSize) {
|
|
42
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort
|
|
42
|
+
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
43
43
|
}
|
|
44
44
|
let length;
|
|
45
45
|
switch (lengthType) {
|
|
@@ -55,15 +55,15 @@ export function decodeLengthEncodedData(buffer) {
|
|
|
55
55
|
case LengthEncodingType.UInt64:
|
|
56
56
|
length = view.getBigUint64(1, false); // big-endian
|
|
57
57
|
if (length.valueOf() > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
58
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong
|
|
58
|
+
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
59
59
|
}
|
|
60
60
|
break;
|
|
61
61
|
default:
|
|
62
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType
|
|
62
|
+
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
63
63
|
}
|
|
64
64
|
const totalLength = 1 + lengthTypeSize + Number(length);
|
|
65
65
|
if (totalLength > buffer.length) {
|
|
66
|
-
throw new LengthError(LengthErrorType.LengthIsTooShort
|
|
66
|
+
throw new LengthError(LengthErrorType.LengthIsTooShort);
|
|
67
67
|
}
|
|
68
68
|
return {
|
|
69
69
|
data: buffer.subarray(1 + lengthTypeSize, totalLength),
|
|
@@ -199,7 +199,7 @@ export function getLengthEncodingTypeForLength(length) {
|
|
|
199
199
|
return LengthEncodingType.UInt64;
|
|
200
200
|
}
|
|
201
201
|
else {
|
|
202
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong
|
|
202
|
+
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
else if (typeof length === 'bigint') {
|
|
@@ -216,11 +216,11 @@ export function getLengthEncodingTypeForLength(length) {
|
|
|
216
216
|
return LengthEncodingType.UInt64;
|
|
217
217
|
}
|
|
218
218
|
else {
|
|
219
|
-
throw new LengthError(LengthErrorType.LengthIsTooLong
|
|
219
|
+
throw new LengthError(LengthErrorType.LengthIsTooLong);
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
else {
|
|
223
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType
|
|
223
|
+
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
/**
|
|
@@ -234,7 +234,7 @@ export function getLengthEncodingTypeFromValue(value) {
|
|
|
234
234
|
return length;
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType
|
|
237
|
+
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
240
|
* Safely converts BigInt to Number, throwing if value exceeds safe integer range
|
|
@@ -267,7 +267,7 @@ export function getLengthForLengthType(type) {
|
|
|
267
267
|
case LengthEncodingType.UInt64:
|
|
268
268
|
return 8;
|
|
269
269
|
default:
|
|
270
|
-
throw new LengthError(LengthErrorType.LengthIsInvalidType
|
|
270
|
+
throw new LengthError(LengthErrorType.LengthIsInvalidType);
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
//# 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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/utils.ts"],"names":[],"mappings":"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"}
|