@digitaldefiance/ecies-lib 4.19.6 → 4.19.11

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/ecies-lib",
3
- "version": "4.19.6",
3
+ "version": "4.19.11",
4
4
  "description": "Digital Defiance ECIES Library",
5
5
  "homepage": "https://github.com/Digital-Defiance/ecies-lib",
6
6
  "repository": {
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Provider-to-GUID conversion utilities.
3
+ *
4
+ * Extracted from GuidUint8Array to break the circular dependency between
5
+ * guid.ts and id-providers. These functions import both modules without
6
+ * creating a cycle since nothing imports back into this file from either side.
7
+ */
8
+ import { BaseIdProvider } from './base-id-provider';
9
+ import { VersionedGuidUint8Array } from './guid';
10
+ /**
11
+ * Convert a provider's native ID to a GuidUint8Array.
12
+ *
13
+ * For 16-byte providers (GuidV4Provider, UuidProvider) the bytes are
14
+ * reinterpreted directly as a GUID — they already are one.
15
+ *
16
+ * For non-16-byte providers (ObjectIdProvider, CustomIdProvider,
17
+ * Uint8ArrayIdProvider) a deterministic UUID v5 is derived using a
18
+ * provider-specific namespace, so the same input always yields the same
19
+ * GUID and different providers never collide.
20
+ */
21
+ export declare function fromProviderId<T>(id: T, provider: BaseIdProvider<T>): VersionedGuidUint8Array;
22
+ /**
23
+ * Convert raw ID bytes (from any provider) to a GuidUint8Array.
24
+ *
25
+ * Same strategy as {@link fromProviderId} but starts from the Uint8Array
26
+ * byte representation rather than the provider's native type.
27
+ */
28
+ export declare function fromProviderIdBytes<T>(idBytes: Uint8Array, provider: BaseIdProvider<T>): VersionedGuidUint8Array;
29
+ //# sourceMappingURL=guid-provider-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid-provider-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/guid-provider-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAkB,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAiBjE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,uBAAuB,CAGzB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,uBAAuB,CA0BzB"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Provider-to-GUID conversion utilities.
4
+ *
5
+ * Extracted from GuidUint8Array to break the circular dependency between
6
+ * guid.ts and id-providers. These functions import both modules without
7
+ * creating a cycle since nothing imports back into this file from either side.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.fromProviderId = fromProviderId;
11
+ exports.fromProviderIdBytes = fromProviderIdBytes;
12
+ const guid_error_type_1 = require("../enumerations/guid-error-type");
13
+ const guid_1 = require("../errors/guid");
14
+ const guid_2 = require("./guid");
15
+ const id_providers_1 = require("./id-providers");
16
+ // Well-known v5 namespace UUIDs for deterministic derivation.
17
+ // These are arbitrary but fixed UUIDs that scope the v5 hash per provider,
18
+ // ensuring that the same raw bytes from different providers produce
19
+ // different GUIDs.
20
+ const NS_OBJECTID = '6ba7b814-9dad-11d1-80b4-00c04fd430c8';
21
+ const NS_CUSTOM = '6ba7b815-9dad-11d1-80b4-00c04fd430c8';
22
+ const NS_UINT8ARRAY = '6ba7b816-9dad-11d1-80b4-00c04fd430c8';
23
+ /**
24
+ * Convert a provider's native ID to a GuidUint8Array.
25
+ *
26
+ * For 16-byte providers (GuidV4Provider, UuidProvider) the bytes are
27
+ * reinterpreted directly as a GUID — they already are one.
28
+ *
29
+ * For non-16-byte providers (ObjectIdProvider, CustomIdProvider,
30
+ * Uint8ArrayIdProvider) a deterministic UUID v5 is derived using a
31
+ * provider-specific namespace, so the same input always yields the same
32
+ * GUID and different providers never collide.
33
+ */
34
+ function fromProviderId(id, provider) {
35
+ const bytes = provider.toBytes(id);
36
+ return fromProviderIdBytes(bytes, provider);
37
+ }
38
+ /**
39
+ * Convert raw ID bytes (from any provider) to a GuidUint8Array.
40
+ *
41
+ * Same strategy as {@link fromProviderId} but starts from the Uint8Array
42
+ * byte representation rather than the provider's native type.
43
+ */
44
+ function fromProviderIdBytes(idBytes, provider) {
45
+ if (idBytes.length !== provider.byteLength) {
46
+ throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.InvalidGuid);
47
+ }
48
+ // 16-byte providers: the bytes already represent a valid GUID
49
+ if (provider instanceof id_providers_1.GuidV4Provider || provider instanceof id_providers_1.UuidProvider) {
50
+ return guid_2.GuidUint8Array.fromPlatformBuffer(idBytes);
51
+ }
52
+ // Non-16-byte providers: derive a deterministic v5 GUID
53
+ const serialized = provider.serialize(idBytes);
54
+ let namespace;
55
+ if (provider instanceof id_providers_1.ObjectIdProvider) {
56
+ namespace = NS_OBJECTID;
57
+ }
58
+ else if (provider instanceof id_providers_1.CustomIdProvider) {
59
+ namespace = NS_CUSTOM;
60
+ }
61
+ else if (provider instanceof id_providers_1.Uint8ArrayIdProvider) {
62
+ namespace = NS_UINT8ARRAY;
63
+ }
64
+ else {
65
+ // Fallback for unknown providers
66
+ namespace = NS_CUSTOM;
67
+ }
68
+ return guid_2.GuidUint8Array.v5(serialized, namespace);
69
+ }
70
+ //# sourceMappingURL=guid-provider-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid-provider-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/guid-provider-utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAiCH,wCAMC;AAQD,kDA6BC;AA1ED,qEAAgE;AAChE,yCAA2C;AAE3C,iCAAiE;AACjE,iDAMwB;AAExB,8DAA8D;AAC9D,2EAA2E;AAC3E,oEAAoE;AACpE,mBAAmB;AACnB,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAC3D,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,aAAa,GAAG,sCAAsC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,SAAgB,cAAc,CAC5B,EAAK,EACL,QAA2B;IAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,OAAmB,EACnB,QAA2B;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,gBAAS,CAAC,+BAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,8DAA8D;IAC9D,IAAI,QAAQ,YAAY,6BAAc,IAAI,QAAQ,YAAY,2BAAY,EAAE,CAAC;QAC3E,OAAO,qBAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,SAAiB,CAAC;IAEtB,IAAI,QAAQ,YAAY,+BAAgB,EAAE,CAAC;QACzC,SAAS,GAAG,WAAW,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,YAAY,+BAAgB,EAAE,CAAC;QAChD,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,IAAI,QAAQ,YAAY,mCAAoB,EAAE,CAAC;QACpD,SAAS,GAAG,aAAa,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,qBAAc,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -3,5 +3,6 @@
3
3
  */
4
4
  export * from './crypto-container';
5
5
  export * from './guid';
6
+ export * from './guid-provider-utils';
6
7
  export * from './id-providers';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
package/src/lib/index.js CHANGED
@@ -6,5 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
7
  tslib_1.__exportStar(require("./crypto-container"), exports);
8
8
  tslib_1.__exportStar(require("./guid"), exports);
9
+ tslib_1.__exportStar(require("./guid-provider-utils"), exports);
9
10
  tslib_1.__exportStar(require("./id-providers"), exports);
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAAmC;AACnC,iDAAuB;AACvB,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAAmC;AACnC,iDAAuB;AACvB,gEAAsC;AACtC,yDAA+B"}