@digitaldefiance/node-ecies-lib 4.19.7 → 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/node-ecies-lib",
3
- "version": "4.19.7",
3
+ "version": "4.19.11",
4
4
  "description": "Digital Defiance Node ECIES Library",
5
5
  "homepage": "https://github.com/Digital-Defiance/node-ecies-lib",
6
6
  "repository": {
@@ -59,7 +59,7 @@
59
59
  "license": "MIT",
60
60
  "packageManager": "yarn@4.10.3",
61
61
  "dependencies": {
62
- "@digitaldefiance/ecies-lib": "4.19.6",
62
+ "@digitaldefiance/ecies-lib": "4.19.11",
63
63
  "@digitaldefiance/i18n-lib": "4.6.4",
64
64
  "@ethereumjs/wallet": "^2.0.4",
65
65
  "@noble/curves": "^1.4.2",
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Provider-to-GUID conversion utilities for Node.js Buffer-based GUIDs.
3
+ *
4
+ * Extracted from GuidBuffer 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 '@digitaldefiance/ecies-lib';
9
+ import { VersionedGuidBuffer } from './guid';
10
+ /**
11
+ * Convert a provider's native ID to a GuidBuffer.
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, BufferIdProvider) a deterministic UUID v5 is
18
+ * derived using a provider-specific namespace.
19
+ */
20
+ export declare function fromProviderId<T>(id: T, provider: BaseIdProvider<T>): VersionedGuidBuffer;
21
+ /**
22
+ * Convert raw ID bytes (from any provider) to a GuidBuffer.
23
+ *
24
+ * Same strategy as {@link fromProviderId} but starts from the Buffer
25
+ * byte representation rather than the provider's native type.
26
+ */
27
+ export declare function fromProviderIdBytes<T>(idBytes: Buffer, provider: BaseIdProvider<T>): VersionedGuidBuffer;
28
+ //# sourceMappingURL=guid-provider-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid-provider-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/guid-provider-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,EAQf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAc,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAUzD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,mBAAmB,CAGrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,mBAAmB,CAgCrB"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * Provider-to-GUID conversion utilities for Node.js Buffer-based GUIDs.
4
+ *
5
+ * Extracted from GuidBuffer 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 ecies_lib_1 = require("@digitaldefiance/ecies-lib");
13
+ const guid_1 = require("./guid");
14
+ const buffer_provider_1 = require("./id-providers/buffer-provider");
15
+ const guidv4_provider_1 = require("./id-providers/guidv4-provider");
16
+ // Well-known v5 namespace UUIDs for deterministic derivation.
17
+ const NS_OBJECTID = '6ba7b814-9dad-11d1-80b4-00c04fd430c8';
18
+ const NS_CUSTOM = '6ba7b815-9dad-11d1-80b4-00c04fd430c8';
19
+ const NS_UINT8ARRAY = '6ba7b816-9dad-11d1-80b4-00c04fd430c8';
20
+ const NS_BUFFER = '6ba7b817-9dad-11d1-80b4-00c04fd430c8';
21
+ /**
22
+ * Convert a provider's native ID to a GuidBuffer.
23
+ *
24
+ * For 16-byte providers (GuidV4Provider, UuidProvider) the bytes are
25
+ * reinterpreted directly as a GUID — they already are one.
26
+ *
27
+ * For non-16-byte providers (ObjectIdProvider, CustomIdProvider,
28
+ * Uint8ArrayIdProvider, BufferIdProvider) a deterministic UUID v5 is
29
+ * derived using a provider-specific namespace.
30
+ */
31
+ function fromProviderId(id, provider) {
32
+ const bytes = Buffer.from(provider.toBytes(id));
33
+ return fromProviderIdBytes(bytes, provider);
34
+ }
35
+ /**
36
+ * Convert raw ID bytes (from any provider) to a GuidBuffer.
37
+ *
38
+ * Same strategy as {@link fromProviderId} but starts from the Buffer
39
+ * byte representation rather than the provider's native type.
40
+ */
41
+ function fromProviderIdBytes(idBytes, provider) {
42
+ if (idBytes.length !== provider.byteLength) {
43
+ throw new ecies_lib_1.GuidError(ecies_lib_1.GuidErrorType.InvalidGuid);
44
+ }
45
+ // 16-byte providers: the bytes already represent a valid GUID
46
+ if (provider instanceof guidv4_provider_1.GuidV4Provider ||
47
+ provider instanceof ecies_lib_1.GuidV4Provider ||
48
+ provider instanceof ecies_lib_1.UuidProvider) {
49
+ return guid_1.GuidBuffer.fromPlatformBuffer(idBytes);
50
+ }
51
+ // Non-16-byte providers: derive a deterministic v5 GUID
52
+ const serialized = provider.serialize(idBytes);
53
+ let namespace;
54
+ if (provider instanceof ecies_lib_1.ObjectIdProvider) {
55
+ namespace = NS_OBJECTID;
56
+ }
57
+ else if (provider instanceof ecies_lib_1.CustomIdProvider) {
58
+ namespace = NS_CUSTOM;
59
+ }
60
+ else if (provider instanceof ecies_lib_1.Uint8ArrayIdProvider) {
61
+ namespace = NS_UINT8ARRAY;
62
+ }
63
+ else if (provider instanceof buffer_provider_1.BufferIdProvider) {
64
+ namespace = NS_BUFFER;
65
+ }
66
+ else {
67
+ // Fallback for unknown providers
68
+ namespace = NS_CUSTOM;
69
+ }
70
+ return guid_1.GuidBuffer.v5(serialized, namespace);
71
+ }
72
+ //# sourceMappingURL=guid-provider-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid-provider-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/guid-provider-utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAiCH,wCAMC;AAQD,kDAmCC;AAhFD,0DASoC;AAEpC,iCAAyD;AACzD,oEAAkE;AAClE,oEAAgE;AAEhE,8DAA8D;AAC9D,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAC3D,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,aAAa,GAAG,sCAAsC,CAAC;AAC7D,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAEzD;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,EAAK,EACL,QAA2B;IAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,QAA2B;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAS,CAAC,yBAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,8DAA8D;IAC9D,IACE,QAAQ,YAAY,gCAAc;QAClC,QAAQ,YAAY,0BAAwB;QAC5C,QAAQ,YAAY,wBAAY,EAChC,CAAC;QACD,OAAO,iBAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,SAAiB,CAAC;IAEtB,IAAI,QAAQ,YAAY,4BAAgB,EAAE,CAAC;QACzC,SAAS,GAAG,WAAW,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,YAAY,4BAAgB,EAAE,CAAC;QAChD,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,IAAI,QAAQ,YAAY,gCAAoB,EAAE,CAAC;QACpD,SAAS,GAAG,aAAa,CAAC;IAC5B,CAAC;SAAM,IAAI,QAAQ,YAAY,kCAAgB,EAAE,CAAC;QAChD,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,iBAAU,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC"}
@@ -3,6 +3,7 @@
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/buffer-provider';
7
8
  export * from './id-providers/guidv4-provider';
8
9
  export * from './invariant-validator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
package/src/lib/index.js CHANGED
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  */
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/buffer-provider"), exports);
10
11
  tslib_1.__exportStar(require("./id-providers/guidv4-provider"), exports);
11
12
  tslib_1.__exportStar(require("./invariant-validator"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,6DAAmC;AACnC,iDAAuB;AACvB,yEAA+C;AAC/C,yEAA+C;AAC/C,gEAAsC;AACtC,uDAA6B;AAC7B,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,6DAAmC;AACnC,iDAAuB;AACvB,gEAAsC;AACtC,yEAA+C;AAC/C,yEAA+C;AAC/C,gEAAsC;AACtC,uDAA6B;AAC7B,mDAAyB"}