@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
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Service Container for dependency injection
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CryptoContainer = exports.CryptoServiceKey = void 0;
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const ecies_string_key_1 = require("../enumerations/ecies-string-key");
|
|
9
|
+
const i18n_setup_1 = require("../i18n-setup");
|
|
10
|
+
var CryptoServiceKey;
|
|
8
11
|
(function (CryptoServiceKey) {
|
|
9
12
|
CryptoServiceKey["ECIES"] = "ecies";
|
|
10
13
|
CryptoServiceKey["PBKDF2"] = "pbkdf2";
|
|
@@ -12,8 +15,8 @@ export var CryptoServiceKey;
|
|
|
12
15
|
CryptoServiceKey["PASSWORD_LOGIN"] = "password-login";
|
|
13
16
|
CryptoServiceKey["FILE"] = "file";
|
|
14
17
|
CryptoServiceKey["XOR"] = "xor";
|
|
15
|
-
})(CryptoServiceKey || (CryptoServiceKey = {}));
|
|
16
|
-
|
|
18
|
+
})(CryptoServiceKey || (exports.CryptoServiceKey = CryptoServiceKey = {}));
|
|
19
|
+
class CryptoContainer {
|
|
17
20
|
services = new Map();
|
|
18
21
|
config;
|
|
19
22
|
i18n;
|
|
@@ -22,13 +25,13 @@ export class CryptoContainer {
|
|
|
22
25
|
this.i18n = i18n;
|
|
23
26
|
this.initServices();
|
|
24
27
|
}
|
|
25
|
-
static create(config = Constants, i18n) {
|
|
26
|
-
return new CryptoContainer(config, i18n || getEciesI18nEngine());
|
|
28
|
+
static create(config = constants_1.Constants, i18n) {
|
|
29
|
+
return new CryptoContainer(config, i18n || (0, i18n_setup_1.getEciesI18nEngine)());
|
|
27
30
|
}
|
|
28
31
|
get(key) {
|
|
29
32
|
const service = this.services.get(key);
|
|
30
33
|
if (!service) {
|
|
31
|
-
throw new Error(this.i18n.translate(EciesComponentId, EciesStringKey.Error_Container_ServiceNotFoundTemplate, { service: key }));
|
|
34
|
+
throw new Error(this.i18n.translate(i18n_setup_1.EciesComponentId, ecies_string_key_1.EciesStringKey.Error_Container_ServiceNotFoundTemplate, { service: key }));
|
|
32
35
|
}
|
|
33
36
|
return service;
|
|
34
37
|
}
|
|
@@ -43,4 +46,5 @@ export class CryptoContainer {
|
|
|
43
46
|
return this.i18n;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
49
|
+
exports.CryptoContainer = CryptoContainer;
|
|
46
50
|
//# sourceMappingURL=crypto-container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-container.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/crypto-container.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"crypto-container.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/crypto-container.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,4CAAyC;AACzC,uEAAkE;AAClE,8CAAqE;AAGrE,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,qDAAiC,CAAA;IACjC,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAED,MAAa,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChD,MAAM,CAAa;IACnB,IAAI,CAAa;IAEzB,YAAoB,MAAkB,EAAE,IAAgB;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAqB,qBAAS,EAC9B,IAAiB;QAEjB,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,IAAI,IAAA,+BAAkB,GAAE,CAAC,CAAC;IACnE,CAAC;IAED,GAAG,CAAI,GAAqB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,6BAAgB,EAChB,iCAAc,CAAC,uCAAuC,EACtD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAY,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,gEAAgE;QAChE,wDAAwD;IAC1D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AA5CD,0CA4CC"}
|
package/src/lib/guid.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GuidV4 = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const uuid = tslib_1.__importStar(require("uuid"));
|
|
6
|
+
const guid_brand_type_1 = require("../enumerations/guid-brand-type");
|
|
7
|
+
const guid_error_type_1 = require("../enumerations/guid-error-type");
|
|
8
|
+
const guid_1 = require("../errors/guid");
|
|
5
9
|
/**
|
|
6
10
|
* GuidV4 represents a GUID (Globally Unique Identifier) that is compliant with the RFC 4122 standard.
|
|
7
11
|
* GuidV4 instances can be created from a variety of input types, including:
|
|
@@ -12,7 +16,7 @@ import { GuidError } from '../errors/guid';
|
|
|
12
16
|
* - RawGuidBuffer: A 16-byte Buffer representation of the GUID
|
|
13
17
|
* GuidV4 instances can be converted to any of these representations using the appropriate method.
|
|
14
18
|
*/
|
|
15
|
-
|
|
19
|
+
class GuidV4 {
|
|
16
20
|
/**
|
|
17
21
|
* GUID is stored internally as a raw 16-byte Buffer.
|
|
18
22
|
*/
|
|
@@ -87,16 +91,16 @@ export class GuidV4 {
|
|
|
87
91
|
try {
|
|
88
92
|
// Null/undefined check
|
|
89
93
|
if (value === null || value === undefined) {
|
|
90
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
94
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
91
95
|
}
|
|
92
96
|
// Empty string check (but allow 0n bigint)
|
|
93
97
|
const strValue = String(value);
|
|
94
98
|
if (!strValue && value !== 0n) {
|
|
95
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
99
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
96
100
|
}
|
|
97
101
|
// Validate bigint is non-negative
|
|
98
102
|
if (typeof value === 'bigint' && value < 0n) {
|
|
99
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
103
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
100
104
|
}
|
|
101
105
|
// Validate hex strings contain only valid hex characters
|
|
102
106
|
if (typeof value === 'string') {
|
|
@@ -104,11 +108,11 @@ export class GuidV4 {
|
|
|
104
108
|
const isShortHex = value.length === 32 && !value.includes('-');
|
|
105
109
|
if (isFullHex && !GuidV4.FULL_HEX_PATTERN.test(value)) {
|
|
106
110
|
const buffer = Buffer.from(value);
|
|
107
|
-
throw new GuidError(GuidErrorType.InvalidGuidWithDetails, GuidBrandType.FullHexGuid, value.length, buffer);
|
|
111
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidWithDetails, guid_brand_type_1.GuidBrandType.FullHexGuid, value.length, buffer);
|
|
108
112
|
}
|
|
109
113
|
else if (isShortHex && !GuidV4.HEX_PATTERN.test(value)) {
|
|
110
114
|
const buffer = Buffer.from(value);
|
|
111
|
-
throw new GuidError(GuidErrorType.InvalidGuidWithDetails, GuidBrandType.ShortHexGuid, value.length, buffer);
|
|
115
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidWithDetails, guid_brand_type_1.GuidBrandType.ShortHexGuid, value.length, buffer);
|
|
112
116
|
}
|
|
113
117
|
}
|
|
114
118
|
// Determine and verify the brand/type
|
|
@@ -118,7 +122,7 @@ export class GuidV4 {
|
|
|
118
122
|
const valueBuffer = Buffer.isBuffer(value)
|
|
119
123
|
? value
|
|
120
124
|
: Buffer.from(strValue);
|
|
121
|
-
throw new GuidError(GuidErrorType.InvalidGuidWithDetails, expectedBrand, undefined, valueBuffer);
|
|
125
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidWithDetails, expectedBrand, undefined, valueBuffer);
|
|
122
126
|
}
|
|
123
127
|
// Convert to raw buffer
|
|
124
128
|
const buffer = GuidV4.toRawGuidBuffer(value);
|
|
@@ -126,21 +130,21 @@ export class GuidV4 {
|
|
|
126
130
|
const fullHex = GuidV4.toFullHexGuid(buffer.toString('hex'));
|
|
127
131
|
const isBoundary = GuidV4.isBoundaryValue(fullHex);
|
|
128
132
|
if (!isBoundary && !uuid.validate(fullHex)) {
|
|
129
|
-
throw new GuidError(GuidErrorType.InvalidGuid, expectedBrand, undefined, buffer);
|
|
133
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid, expectedBrand, undefined, buffer);
|
|
130
134
|
}
|
|
131
135
|
return buffer;
|
|
132
136
|
}
|
|
133
137
|
catch (error) {
|
|
134
138
|
// Re-throw GuidError as-is
|
|
135
|
-
if (error instanceof GuidError) {
|
|
139
|
+
if (error instanceof guid_1.GuidError) {
|
|
136
140
|
throw error;
|
|
137
141
|
}
|
|
138
142
|
// Wrap other errors with context
|
|
139
143
|
if (typeof value === 'bigint') {
|
|
140
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
144
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
141
145
|
}
|
|
142
146
|
const length = value instanceof Buffer ? value.length : String(value).length;
|
|
143
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
147
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
static validateUuid(value) {
|
|
@@ -153,28 +157,28 @@ export class GuidV4 {
|
|
|
153
157
|
return new GuidV4(value);
|
|
154
158
|
}
|
|
155
159
|
static LengthMap = {
|
|
156
|
-
[GuidBrandType.Unknown]: -1,
|
|
157
|
-
[GuidBrandType.FullHexGuid]: 36,
|
|
158
|
-
[GuidBrandType.ShortHexGuid]: 32,
|
|
159
|
-
[GuidBrandType.Base64Guid]: 24,
|
|
160
|
-
[GuidBrandType.RawGuidBuffer]: 16,
|
|
161
|
-
[GuidBrandType.BigIntGuid]: -1, // Variable length
|
|
160
|
+
[guid_brand_type_1.GuidBrandType.Unknown]: -1,
|
|
161
|
+
[guid_brand_type_1.GuidBrandType.FullHexGuid]: 36,
|
|
162
|
+
[guid_brand_type_1.GuidBrandType.ShortHexGuid]: 32,
|
|
163
|
+
[guid_brand_type_1.GuidBrandType.Base64Guid]: 24,
|
|
164
|
+
[guid_brand_type_1.GuidBrandType.RawGuidBuffer]: 16,
|
|
165
|
+
[guid_brand_type_1.GuidBrandType.BigIntGuid]: -1, // Variable length
|
|
162
166
|
};
|
|
163
167
|
static ReverseLengthMap = {
|
|
164
|
-
0: GuidBrandType.Unknown,
|
|
165
|
-
36: GuidBrandType.FullHexGuid,
|
|
166
|
-
32: GuidBrandType.ShortHexGuid,
|
|
167
|
-
24: GuidBrandType.Base64Guid,
|
|
168
|
-
16: GuidBrandType.RawGuidBuffer,
|
|
168
|
+
0: guid_brand_type_1.GuidBrandType.Unknown,
|
|
169
|
+
36: guid_brand_type_1.GuidBrandType.FullHexGuid,
|
|
170
|
+
32: guid_brand_type_1.GuidBrandType.ShortHexGuid,
|
|
171
|
+
24: guid_brand_type_1.GuidBrandType.Base64Guid,
|
|
172
|
+
16: guid_brand_type_1.GuidBrandType.RawGuidBuffer,
|
|
169
173
|
// BigIntGuid is variable length, so it is not included in the reverse map
|
|
170
174
|
};
|
|
171
175
|
static VerifyFunctions = {
|
|
172
|
-
[GuidBrandType.Unknown]: () => false,
|
|
173
|
-
[GuidBrandType.FullHexGuid]: (guid) => this.isFullHexGuid(guid),
|
|
174
|
-
[GuidBrandType.ShortHexGuid]: (guid) => this.isShortHexGuid(guid),
|
|
175
|
-
[GuidBrandType.Base64Guid]: (guid) => this.isBase64Guid(guid),
|
|
176
|
-
[GuidBrandType.BigIntGuid]: (guid) => this.isBigIntGuid(guid),
|
|
177
|
-
[GuidBrandType.RawGuidBuffer]: (guid) => this.isRawGuidBuffer(guid),
|
|
176
|
+
[guid_brand_type_1.GuidBrandType.Unknown]: () => false,
|
|
177
|
+
[guid_brand_type_1.GuidBrandType.FullHexGuid]: (guid) => this.isFullHexGuid(guid),
|
|
178
|
+
[guid_brand_type_1.GuidBrandType.ShortHexGuid]: (guid) => this.isShortHexGuid(guid),
|
|
179
|
+
[guid_brand_type_1.GuidBrandType.Base64Guid]: (guid) => this.isBase64Guid(guid),
|
|
180
|
+
[guid_brand_type_1.GuidBrandType.BigIntGuid]: (guid) => this.isBigIntGuid(guid),
|
|
181
|
+
[guid_brand_type_1.GuidBrandType.RawGuidBuffer]: (guid) => this.isRawGuidBuffer(guid),
|
|
178
182
|
};
|
|
179
183
|
/**
|
|
180
184
|
* Returns the GUID as a raw Buffer.
|
|
@@ -201,15 +205,15 @@ export class GuidV4 {
|
|
|
201
205
|
try {
|
|
202
206
|
const uuidStr = uuid.v4();
|
|
203
207
|
if (!uuidStr) {
|
|
204
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
208
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
205
209
|
}
|
|
206
210
|
return new GuidV4(uuidStr);
|
|
207
211
|
}
|
|
208
212
|
catch (error) {
|
|
209
|
-
if (error instanceof GuidError) {
|
|
213
|
+
if (error instanceof guid_1.GuidError) {
|
|
210
214
|
throw error;
|
|
211
215
|
}
|
|
212
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
216
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
219
|
/**
|
|
@@ -318,10 +322,10 @@ export class GuidV4 {
|
|
|
318
322
|
return new GuidV4(v3Guid);
|
|
319
323
|
}
|
|
320
324
|
catch (error) {
|
|
321
|
-
if (error instanceof GuidError) {
|
|
325
|
+
if (error instanceof guid_1.GuidError) {
|
|
322
326
|
throw error;
|
|
323
327
|
}
|
|
324
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
328
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
325
329
|
}
|
|
326
330
|
}
|
|
327
331
|
/**
|
|
@@ -343,10 +347,10 @@ export class GuidV4 {
|
|
|
343
347
|
return new GuidV4(v5Guid);
|
|
344
348
|
}
|
|
345
349
|
catch (error) {
|
|
346
|
-
if (error instanceof GuidError) {
|
|
350
|
+
if (error instanceof guid_1.GuidError) {
|
|
347
351
|
throw error;
|
|
348
352
|
}
|
|
349
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
353
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
350
354
|
}
|
|
351
355
|
}
|
|
352
356
|
/**
|
|
@@ -449,7 +453,7 @@ export class GuidV4 {
|
|
|
449
453
|
static guidBrandToLength(guidBrand) {
|
|
450
454
|
const length = GuidV4.LengthMap[guidBrand];
|
|
451
455
|
if (length <= 0) {
|
|
452
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownBrand, guidBrand);
|
|
456
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownBrand, guidBrand);
|
|
453
457
|
}
|
|
454
458
|
return length;
|
|
455
459
|
}
|
|
@@ -461,16 +465,16 @@ export class GuidV4 {
|
|
|
461
465
|
*/
|
|
462
466
|
static lengthToGuidBrand(length, isBuffer) {
|
|
463
467
|
if (length <= 0) {
|
|
464
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
468
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
465
469
|
}
|
|
466
470
|
const brand = GuidV4.ReverseLengthMap[length];
|
|
467
|
-
if (!brand || brand === GuidBrandType.Unknown) {
|
|
468
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
471
|
+
if (!brand || brand === guid_brand_type_1.GuidBrandType.Unknown) {
|
|
472
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownLength, undefined, length);
|
|
469
473
|
}
|
|
470
474
|
// Validate buffer vs string type consistency
|
|
471
|
-
const isBrandBuffer = brand === GuidBrandType.RawGuidBuffer;
|
|
475
|
+
const isBrandBuffer = brand === guid_brand_type_1.GuidBrandType.RawGuidBuffer;
|
|
472
476
|
if (isBuffer !== isBrandBuffer) {
|
|
473
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownLength, brand, length);
|
|
477
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownLength, brand, length);
|
|
474
478
|
}
|
|
475
479
|
return brand;
|
|
476
480
|
}
|
|
@@ -484,7 +488,7 @@ export class GuidV4 {
|
|
|
484
488
|
if (fullHexGuidValue === null || fullHexGuidValue === undefined) {
|
|
485
489
|
return false;
|
|
486
490
|
}
|
|
487
|
-
const expectedLength = GuidV4.guidBrandToLength(GuidBrandType.FullHexGuid);
|
|
491
|
+
const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid);
|
|
488
492
|
const strValue = String(fullHexGuidValue);
|
|
489
493
|
if (strValue.length !== expectedLength) {
|
|
490
494
|
return false;
|
|
@@ -509,7 +513,7 @@ export class GuidV4 {
|
|
|
509
513
|
if (shortHexGuidValue === null || shortHexGuidValue === undefined) {
|
|
510
514
|
return false;
|
|
511
515
|
}
|
|
512
|
-
const expectedLength = GuidV4.guidBrandToLength(GuidBrandType.ShortHexGuid);
|
|
516
|
+
const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid);
|
|
513
517
|
const strValue = String(shortHexGuidValue);
|
|
514
518
|
if (strValue.length !== expectedLength) {
|
|
515
519
|
return false;
|
|
@@ -550,7 +554,7 @@ export class GuidV4 {
|
|
|
550
554
|
else {
|
|
551
555
|
valueLength = String(value).length;
|
|
552
556
|
}
|
|
553
|
-
const result = valueLength === GuidV4.guidBrandToLength(GuidBrandType.Base64Guid);
|
|
557
|
+
const result = valueLength === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid);
|
|
554
558
|
if (result) {
|
|
555
559
|
try {
|
|
556
560
|
const fromBase64 = GuidV4.toRawGuidBuffer(value);
|
|
@@ -581,7 +585,7 @@ export class GuidV4 {
|
|
|
581
585
|
if (value === null || value === undefined) {
|
|
582
586
|
return false;
|
|
583
587
|
}
|
|
584
|
-
const expectedLength = GuidV4.guidBrandToLength(GuidBrandType.RawGuidBuffer);
|
|
588
|
+
const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidBuffer);
|
|
585
589
|
let valueLength;
|
|
586
590
|
if (typeof value === 'bigint') {
|
|
587
591
|
valueLength = value.toString(16).length;
|
|
@@ -653,10 +657,10 @@ export class GuidV4 {
|
|
|
653
657
|
*/
|
|
654
658
|
static whichBrand(value) {
|
|
655
659
|
if (value === null || value === undefined) {
|
|
656
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
660
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
657
661
|
}
|
|
658
662
|
if (typeof value === 'bigint') {
|
|
659
|
-
return GuidBrandType.BigIntGuid;
|
|
663
|
+
return guid_brand_type_1.GuidBrandType.BigIntGuid;
|
|
660
664
|
}
|
|
661
665
|
const isBuffer = value instanceof Buffer;
|
|
662
666
|
const expectedLength = isBuffer ? value.length : String(value).length;
|
|
@@ -679,69 +683,69 @@ export class GuidV4 {
|
|
|
679
683
|
*/
|
|
680
684
|
static toFullHexGuid(guid) {
|
|
681
685
|
if (guid === null || guid === undefined) {
|
|
682
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
686
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
683
687
|
}
|
|
684
688
|
if (typeof guid === 'bigint') {
|
|
685
689
|
return GuidV4.toFullHexFromBigInt(guid);
|
|
686
690
|
}
|
|
687
691
|
else if (Buffer.isBuffer(guid) &&
|
|
688
|
-
guid.length === GuidV4.guidBrandToLength(GuidBrandType.RawGuidBuffer)) {
|
|
692
|
+
guid.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidBuffer)) {
|
|
689
693
|
const shortHex = guid.toString('hex');
|
|
690
694
|
return GuidV4.shortGuidToFullGuid(shortHex);
|
|
691
695
|
}
|
|
692
696
|
else if (Buffer.isBuffer(guid)) {
|
|
693
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
697
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
694
698
|
}
|
|
695
699
|
// all remaining cases are string types
|
|
696
700
|
const strValue = String(guid);
|
|
697
|
-
if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.ShortHexGuid)) {
|
|
701
|
+
if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid)) {
|
|
698
702
|
// short hex guid
|
|
699
703
|
return GuidV4.shortGuidToFullGuid(strValue);
|
|
700
704
|
}
|
|
701
|
-
else if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.FullHexGuid)) {
|
|
705
|
+
else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid)) {
|
|
702
706
|
// already a full hex guid
|
|
703
707
|
return strValue;
|
|
704
708
|
}
|
|
705
|
-
else if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.Base64Guid)) {
|
|
709
|
+
else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid)) {
|
|
706
710
|
// base64 guid
|
|
707
711
|
const shortGuid = Buffer.from(strValue, 'base64').toString('hex');
|
|
708
712
|
return GuidV4.shortGuidToFullGuid(shortGuid);
|
|
709
713
|
}
|
|
710
714
|
else {
|
|
711
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
715
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
712
716
|
}
|
|
713
717
|
}
|
|
714
718
|
static toShortHexGuid(guid) {
|
|
715
719
|
if (guid === null || guid === undefined) {
|
|
716
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
720
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
717
721
|
}
|
|
718
722
|
if (typeof guid === 'bigint') {
|
|
719
723
|
const fullHex = GuidV4.toFullHexFromBigInt(guid);
|
|
720
724
|
return fullHex.replace(/-/g, '');
|
|
721
725
|
}
|
|
722
726
|
else if (Buffer.isBuffer(guid) &&
|
|
723
|
-
guid.length === GuidV4.guidBrandToLength(GuidBrandType.RawGuidBuffer)) {
|
|
727
|
+
guid.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidBuffer)) {
|
|
724
728
|
return guid.toString('hex');
|
|
725
729
|
}
|
|
726
730
|
else if (Buffer.isBuffer(guid)) {
|
|
727
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
731
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
728
732
|
}
|
|
729
733
|
// all remaining cases are string types
|
|
730
734
|
const strValue = String(guid);
|
|
731
|
-
if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.ShortHexGuid)) {
|
|
735
|
+
if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid)) {
|
|
732
736
|
// already a short hex guid
|
|
733
737
|
return strValue;
|
|
734
738
|
}
|
|
735
|
-
else if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.FullHexGuid)) {
|
|
739
|
+
else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid)) {
|
|
736
740
|
// full hex guid
|
|
737
741
|
return strValue.replace(/-/g, '');
|
|
738
742
|
}
|
|
739
|
-
else if (strValue.length === GuidV4.guidBrandToLength(GuidBrandType.Base64Guid)) {
|
|
743
|
+
else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid)) {
|
|
740
744
|
// base64 guid
|
|
741
745
|
return Buffer.from(strValue, 'base64').toString('hex');
|
|
742
746
|
}
|
|
743
747
|
else {
|
|
744
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
748
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
745
749
|
}
|
|
746
750
|
}
|
|
747
751
|
/**
|
|
@@ -751,12 +755,12 @@ export class GuidV4 {
|
|
|
751
755
|
*/
|
|
752
756
|
static toFullHexFromBigInt(bigInt) {
|
|
753
757
|
if (bigInt < 0n || bigInt > GuidV4.MAX_BIGINT_VALUE) {
|
|
754
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
758
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
755
759
|
}
|
|
756
760
|
const uuidBigInt = bigInt.toString(16).padStart(32, '0');
|
|
757
761
|
// After padding, should always be exactly 32 characters
|
|
758
762
|
if (uuidBigInt.length !== 32) {
|
|
759
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
763
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
760
764
|
}
|
|
761
765
|
const rebuiltUuid = uuidBigInt.slice(0, 8) +
|
|
762
766
|
'-' +
|
|
@@ -778,33 +782,33 @@ export class GuidV4 {
|
|
|
778
782
|
const expectedBrand = GuidV4.whichBrand(value);
|
|
779
783
|
let rawGuidBufferResult = Buffer.alloc(0);
|
|
780
784
|
switch (expectedBrand) {
|
|
781
|
-
case GuidBrandType.FullHexGuid:
|
|
785
|
+
case guid_brand_type_1.GuidBrandType.FullHexGuid:
|
|
782
786
|
rawGuidBufferResult = Buffer.from(GuidV4.toShortHexGuid(value), 'hex');
|
|
783
787
|
break;
|
|
784
|
-
case GuidBrandType.ShortHexGuid:
|
|
788
|
+
case guid_brand_type_1.GuidBrandType.ShortHexGuid:
|
|
785
789
|
rawGuidBufferResult = Buffer.from(GuidV4.toShortHexGuid(value), 'hex');
|
|
786
790
|
break;
|
|
787
|
-
case GuidBrandType.Base64Guid:
|
|
791
|
+
case guid_brand_type_1.GuidBrandType.Base64Guid:
|
|
788
792
|
// Ensure value is a string before using it with Buffer.from
|
|
789
793
|
if (typeof value === 'string' || value instanceof Buffer) {
|
|
790
794
|
rawGuidBufferResult = Buffer.from(value.toString(), 'base64');
|
|
791
795
|
}
|
|
792
796
|
else {
|
|
793
|
-
throw new GuidError(GuidErrorType.InvalidGuid);
|
|
797
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
|
|
794
798
|
}
|
|
795
799
|
break;
|
|
796
|
-
case GuidBrandType.RawGuidBuffer:
|
|
800
|
+
case guid_brand_type_1.GuidBrandType.RawGuidBuffer:
|
|
797
801
|
rawGuidBufferResult = value;
|
|
798
802
|
break;
|
|
799
|
-
case GuidBrandType.BigIntGuid:
|
|
803
|
+
case guid_brand_type_1.GuidBrandType.BigIntGuid:
|
|
800
804
|
rawGuidBufferResult = Buffer.from(GuidV4.toShortHexGuid(GuidV4.toFullHexFromBigInt(value)), 'hex');
|
|
801
805
|
break;
|
|
802
806
|
default:
|
|
803
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownBrand);
|
|
807
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownBrand);
|
|
804
808
|
}
|
|
805
809
|
if (rawGuidBufferResult.length !==
|
|
806
|
-
GuidV4.guidBrandToLength(GuidBrandType.RawGuidBuffer)) {
|
|
807
|
-
throw new GuidError(GuidErrorType.InvalidGuidUnknownLength, undefined, rawGuidBufferResult.length);
|
|
810
|
+
GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidBuffer)) {
|
|
811
|
+
throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuidUnknownLength, undefined, rawGuidBufferResult.length);
|
|
808
812
|
}
|
|
809
813
|
return rawGuidBufferResult;
|
|
810
814
|
}
|
|
@@ -911,4 +915,5 @@ export class GuidV4 {
|
|
|
911
915
|
return Buffer.compare(this.asRawGuidBufferUnsafe, other.asRawGuidBuffer);
|
|
912
916
|
}
|
|
913
917
|
}
|
|
918
|
+
exports.GuidV4 = GuidV4;
|
|
914
919
|
//# sourceMappingURL=guid.js.map
|
package/src/lib/guid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guid.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/guid.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guid.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/guid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomIdProvider = void 0;
|
|
4
|
+
const utils_js_1 = require("@noble/hashes/utils.js");
|
|
5
|
+
const id_provider_error_type_1 = require("../../enumerations/id-provider-error-type");
|
|
6
|
+
const id_provider_1 = require("../../errors/id-provider");
|
|
7
|
+
const id_provider_2 = require("../../interfaces/id-provider");
|
|
5
8
|
/**
|
|
6
9
|
* Custom ID provider that accepts any fixed byte length.
|
|
7
10
|
*
|
|
@@ -14,13 +17,13 @@ import { BaseIdProvider } from '../../interfaces/id-provider';
|
|
|
14
17
|
* const provider = new CustomIdProvider(20, 'SHA1Hash');
|
|
15
18
|
* ```
|
|
16
19
|
*/
|
|
17
|
-
|
|
20
|
+
class CustomIdProvider extends id_provider_2.BaseIdProvider {
|
|
18
21
|
byteLength;
|
|
19
22
|
name;
|
|
20
23
|
constructor(byteLength, name = 'Custom') {
|
|
21
24
|
super();
|
|
22
25
|
if (!Number.isInteger(byteLength) || byteLength < 1 || byteLength > 255) {
|
|
23
|
-
throw new IdProviderError(IdProviderErrorType.InvalidByteLengthParameter, undefined, undefined, { value: byteLength });
|
|
26
|
+
throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidByteLengthParameter, undefined, undefined, { value: byteLength });
|
|
24
27
|
}
|
|
25
28
|
this.byteLength = byteLength;
|
|
26
29
|
this.name = name;
|
|
@@ -29,7 +32,7 @@ export class CustomIdProvider extends BaseIdProvider {
|
|
|
29
32
|
* Generate a new random ID of the specified byte length.
|
|
30
33
|
*/
|
|
31
34
|
generate() {
|
|
32
|
-
return randomBytes(this.byteLength);
|
|
35
|
+
return (0, utils_js_1.randomBytes)(this.byteLength);
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
35
38
|
* Validate an ID buffer.
|
|
@@ -52,14 +55,14 @@ export class CustomIdProvider extends BaseIdProvider {
|
|
|
52
55
|
*/
|
|
53
56
|
deserialize(str) {
|
|
54
57
|
if (typeof str !== 'string') {
|
|
55
|
-
throw new IdProviderError(IdProviderErrorType.InputMustBeString);
|
|
58
|
+
throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InputMustBeString);
|
|
56
59
|
}
|
|
57
60
|
const expectedLength = this.byteLength * 2;
|
|
58
61
|
if (str.length !== expectedLength) {
|
|
59
|
-
throw new IdProviderError(IdProviderErrorType.InvalidStringLength, undefined, undefined, { expected: expectedLength, actual: str.length });
|
|
62
|
+
throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidStringLength, undefined, undefined, { expected: expectedLength, actual: str.length });
|
|
60
63
|
}
|
|
61
64
|
if (!/^[0-9a-fA-F]+$/.test(str)) {
|
|
62
|
-
throw new IdProviderError(IdProviderErrorType.InvalidCharacters);
|
|
65
|
+
throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidCharacters);
|
|
63
66
|
}
|
|
64
67
|
const buffer = new Uint8Array(this.byteLength);
|
|
65
68
|
for (let i = 0; i < this.byteLength; i++) {
|
|
@@ -82,4 +85,5 @@ export class CustomIdProvider extends BaseIdProvider {
|
|
|
82
85
|
return this.deserialize(str);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
88
|
+
exports.CustomIdProvider = CustomIdProvider;
|
|
85
89
|
//# sourceMappingURL=custom-provider.js.map
|