@digitaldefiance/node-ecies-lib 4.4.23 → 4.5.17

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.
Files changed (321) hide show
  1. package/package.json +14 -2
  2. package/src/builders/ecies-builder.d.ts +0 -11
  3. package/src/builders/ecies-builder.d.ts.map +0 -1
  4. package/src/builders/ecies-builder.js +0 -26
  5. package/src/builders/ecies-builder.js.map +0 -1
  6. package/src/builders/index.d.ts +0 -3
  7. package/src/builders/index.d.ts.map +0 -1
  8. package/src/builders/index.js +0 -6
  9. package/src/builders/index.js.map +0 -1
  10. package/src/builders/member-builder.d.ts +0 -47
  11. package/src/builders/member-builder.d.ts.map +0 -1
  12. package/src/builders/member-builder.js +0 -99
  13. package/src/builders/member-builder.js.map +0 -1
  14. package/src/constants.d.ts +0 -38
  15. package/src/constants.d.ts.map +0 -1
  16. package/src/constants.js +0 -191
  17. package/src/constants.js.map +0 -1
  18. package/src/core/errors/crypto-error.d.ts +0 -6
  19. package/src/core/errors/crypto-error.d.ts.map +0 -1
  20. package/src/core/errors/crypto-error.js +0 -15
  21. package/src/core/errors/crypto-error.js.map +0 -1
  22. package/src/core/index.d.ts +0 -3
  23. package/src/core/index.d.ts.map +0 -1
  24. package/src/core/index.js +0 -6
  25. package/src/core/index.js.map +0 -1
  26. package/src/core/types/result.d.ts +0 -8
  27. package/src/core/types/result.d.ts.map +0 -1
  28. package/src/core/types/result.js +0 -3
  29. package/src/core/types/result.js.map +0 -1
  30. package/src/enumerations/index.d.ts +0 -2
  31. package/src/enumerations/index.d.ts.map +0 -1
  32. package/src/enumerations/index.js +0 -5
  33. package/src/enumerations/index.js.map +0 -1
  34. package/src/enumerations/pbkdf2-profile.d.ts +0 -9
  35. package/src/enumerations/pbkdf2-profile.d.ts.map +0 -1
  36. package/src/enumerations/pbkdf2-profile.js +0 -13
  37. package/src/enumerations/pbkdf2-profile.js.map +0 -1
  38. package/src/i18n/ecies-i18n-factory.d.ts +0 -28
  39. package/src/i18n/ecies-i18n-factory.d.ts.map +0 -1
  40. package/src/i18n/ecies-i18n-factory.js +0 -90
  41. package/src/i18n/ecies-i18n-factory.js.map +0 -1
  42. package/src/i18n/index.d.ts +0 -3
  43. package/src/i18n/index.d.ts.map +0 -1
  44. package/src/i18n/index.js +0 -8
  45. package/src/i18n/index.js.map +0 -1
  46. package/src/i18n/node-ecies-i18n-setup.d.ts +0 -5
  47. package/src/i18n/node-ecies-i18n-setup.d.ts.map +0 -1
  48. package/src/i18n/node-ecies-i18n-setup.js +0 -48
  49. package/src/i18n/node-ecies-i18n-setup.js.map +0 -1
  50. package/src/i18n/node-keys.d.ts +0 -57
  51. package/src/i18n/node-keys.d.ts.map +0 -1
  52. package/src/i18n/node-keys.js +0 -67
  53. package/src/i18n/node-keys.js.map +0 -1
  54. package/src/i18n/translations/de.d.ts +0 -3
  55. package/src/i18n/translations/de.d.ts.map +0 -1
  56. package/src/i18n/translations/de.js +0 -57
  57. package/src/i18n/translations/de.js.map +0 -1
  58. package/src/i18n/translations/en-GB.d.ts +0 -3
  59. package/src/i18n/translations/en-GB.d.ts.map +0 -1
  60. package/src/i18n/translations/en-GB.js +0 -61
  61. package/src/i18n/translations/en-GB.js.map +0 -1
  62. package/src/i18n/translations/en-US.d.ts +0 -6
  63. package/src/i18n/translations/en-US.d.ts.map +0 -1
  64. package/src/i18n/translations/en-US.js +0 -65
  65. package/src/i18n/translations/en-US.js.map +0 -1
  66. package/src/i18n/translations/es.d.ts +0 -3
  67. package/src/i18n/translations/es.d.ts.map +0 -1
  68. package/src/i18n/translations/es.js +0 -57
  69. package/src/i18n/translations/es.js.map +0 -1
  70. package/src/i18n/translations/fr.d.ts +0 -3
  71. package/src/i18n/translations/fr.d.ts.map +0 -1
  72. package/src/i18n/translations/fr.js +0 -57
  73. package/src/i18n/translations/fr.js.map +0 -1
  74. package/src/i18n/translations/index.d.ts +0 -9
  75. package/src/i18n/translations/index.d.ts.map +0 -1
  76. package/src/i18n/translations/index.js +0 -20
  77. package/src/i18n/translations/index.js.map +0 -1
  78. package/src/i18n/translations/ja.d.ts +0 -3
  79. package/src/i18n/translations/ja.d.ts.map +0 -1
  80. package/src/i18n/translations/ja.js +0 -57
  81. package/src/i18n/translations/ja.js.map +0 -1
  82. package/src/i18n/translations/uk.d.ts +0 -3
  83. package/src/i18n/translations/uk.d.ts.map +0 -1
  84. package/src/i18n/translations/uk.js +0 -57
  85. package/src/i18n/translations/uk.js.map +0 -1
  86. package/src/i18n/translations/zh-cn.d.ts +0 -3
  87. package/src/i18n/translations/zh-cn.d.ts.map +0 -1
  88. package/src/i18n/translations/zh-cn.js +0 -57
  89. package/src/i18n/translations/zh-cn.js.map +0 -1
  90. package/src/index.d.ts +0 -17
  91. package/src/index.d.ts.map +0 -1
  92. package/src/index.js +0 -30
  93. package/src/index.js.map +0 -1
  94. package/src/interfaces/authenticated-cipher.d.ts +0 -12
  95. package/src/interfaces/authenticated-cipher.d.ts.map +0 -1
  96. package/src/interfaces/authenticated-cipher.js +0 -3
  97. package/src/interfaces/authenticated-cipher.js.map +0 -1
  98. package/src/interfaces/authenticated-decipher.d.ts +0 -11
  99. package/src/interfaces/authenticated-decipher.d.ts.map +0 -1
  100. package/src/interfaces/authenticated-decipher.js +0 -3
  101. package/src/interfaces/authenticated-decipher.js.map +0 -1
  102. package/src/interfaces/backend-member-operational.d.ts +0 -48
  103. package/src/interfaces/backend-member-operational.d.ts.map +0 -1
  104. package/src/interfaces/backend-member-operational.js +0 -3
  105. package/src/interfaces/backend-member-operational.js.map +0 -1
  106. package/src/interfaces/checksum-config.d.ts +0 -5
  107. package/src/interfaces/checksum-config.d.ts.map +0 -1
  108. package/src/interfaces/checksum-config.js +0 -3
  109. package/src/interfaces/checksum-config.js.map +0 -1
  110. package/src/interfaces/checksum-consts.d.ts +0 -11
  111. package/src/interfaces/checksum-consts.d.ts.map +0 -1
  112. package/src/interfaces/checksum-consts.js +0 -3
  113. package/src/interfaces/checksum-consts.js.map +0 -1
  114. package/src/interfaces/constants.d.ts +0 -52
  115. package/src/interfaces/constants.d.ts.map +0 -1
  116. package/src/interfaces/constants.js +0 -3
  117. package/src/interfaces/constants.js.map +0 -1
  118. package/src/interfaces/ecies-consts.d.ts +0 -88
  119. package/src/interfaces/ecies-consts.d.ts.map +0 -1
  120. package/src/interfaces/ecies-consts.js +0 -3
  121. package/src/interfaces/ecies-consts.js.map +0 -1
  122. package/src/interfaces/encrypted-chunk.d.ts +0 -12
  123. package/src/interfaces/encrypted-chunk.d.ts.map +0 -1
  124. package/src/interfaces/encrypted-chunk.js +0 -3
  125. package/src/interfaces/encrypted-chunk.js.map +0 -1
  126. package/src/interfaces/encryption-consts.d.ts +0 -11
  127. package/src/interfaces/encryption-consts.d.ts.map +0 -1
  128. package/src/interfaces/encryption-consts.js +0 -3
  129. package/src/interfaces/encryption-consts.js.map +0 -1
  130. package/src/interfaces/index.d.ts +0 -29
  131. package/src/interfaces/index.d.ts.map +0 -1
  132. package/src/interfaces/index.js +0 -30
  133. package/src/interfaces/index.js.map +0 -1
  134. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +0 -6
  135. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +0 -1
  136. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +0 -3
  137. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +0 -1
  138. package/src/interfaces/keyring-consts.d.ts +0 -6
  139. package/src/interfaces/keyring-consts.d.ts.map +0 -1
  140. package/src/interfaces/keyring-consts.js +0 -3
  141. package/src/interfaces/keyring-consts.js.map +0 -1
  142. package/src/interfaces/member-with-mnemonic.d.ts +0 -7
  143. package/src/interfaces/member-with-mnemonic.d.ts.map +0 -1
  144. package/src/interfaces/member-with-mnemonic.js +0 -3
  145. package/src/interfaces/member-with-mnemonic.js.map +0 -1
  146. package/src/interfaces/member.d.ts +0 -47
  147. package/src/interfaces/member.d.ts.map +0 -1
  148. package/src/interfaces/member.js +0 -3
  149. package/src/interfaces/member.js.map +0 -1
  150. package/src/interfaces/multi-encrypted-message.d.ts +0 -8
  151. package/src/interfaces/multi-encrypted-message.d.ts.map +0 -1
  152. package/src/interfaces/multi-encrypted-message.js +0 -3
  153. package/src/interfaces/multi-encrypted-message.js.map +0 -1
  154. package/src/interfaces/multi-encrypted-parsed-header.d.ts +0 -27
  155. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +0 -1
  156. package/src/interfaces/multi-encrypted-parsed-header.js +0 -3
  157. package/src/interfaces/multi-encrypted-parsed-header.js.map +0 -1
  158. package/src/interfaces/multi-recipient-chunk.d.ts +0 -26
  159. package/src/interfaces/multi-recipient-chunk.d.ts.map +0 -1
  160. package/src/interfaces/multi-recipient-chunk.js +0 -15
  161. package/src/interfaces/multi-recipient-chunk.js.map +0 -1
  162. package/src/interfaces/pbkdf-profiles.d.ts +0 -6
  163. package/src/interfaces/pbkdf-profiles.d.ts.map +0 -1
  164. package/src/interfaces/pbkdf-profiles.js +0 -3
  165. package/src/interfaces/pbkdf-profiles.js.map +0 -1
  166. package/src/interfaces/pbkdf2-result.d.ts +0 -6
  167. package/src/interfaces/pbkdf2-result.d.ts.map +0 -1
  168. package/src/interfaces/pbkdf2-result.js +0 -3
  169. package/src/interfaces/pbkdf2-result.js.map +0 -1
  170. package/src/interfaces/signing-key-private-key-info.d.ts +0 -11
  171. package/src/interfaces/signing-key-private-key-info.d.ts.map +0 -1
  172. package/src/interfaces/signing-key-private-key-info.js +0 -3
  173. package/src/interfaces/signing-key-private-key-info.js.map +0 -1
  174. package/src/interfaces/simple-keypair-buffer.d.ts +0 -6
  175. package/src/interfaces/simple-keypair-buffer.d.ts.map +0 -1
  176. package/src/interfaces/simple-keypair-buffer.js +0 -3
  177. package/src/interfaces/simple-keypair-buffer.js.map +0 -1
  178. package/src/interfaces/simple-keypair.d.ts +0 -6
  179. package/src/interfaces/simple-keypair.d.ts.map +0 -1
  180. package/src/interfaces/simple-keypair.js +0 -3
  181. package/src/interfaces/simple-keypair.js.map +0 -1
  182. package/src/interfaces/simple-public-key-only-buffer.d.ts +0 -4
  183. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +0 -1
  184. package/src/interfaces/simple-public-key-only-buffer.js +0 -3
  185. package/src/interfaces/simple-public-key-only-buffer.js.map +0 -1
  186. package/src/interfaces/simple-public-key-only.d.ts +0 -4
  187. package/src/interfaces/simple-public-key-only.d.ts.map +0 -1
  188. package/src/interfaces/simple-public-key-only.js +0 -3
  189. package/src/interfaces/simple-public-key-only.js.map +0 -1
  190. package/src/interfaces/single-encrypted-parsed-header.d.ts +0 -35
  191. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +0 -1
  192. package/src/interfaces/single-encrypted-parsed-header.js +0 -3
  193. package/src/interfaces/single-encrypted-parsed-header.js.map +0 -1
  194. package/src/interfaces/stream-config.d.ts +0 -6
  195. package/src/interfaces/stream-config.d.ts.map +0 -1
  196. package/src/interfaces/stream-config.js +0 -8
  197. package/src/interfaces/stream-config.js.map +0 -1
  198. package/src/interfaces/stream-progress.d.ts +0 -8
  199. package/src/interfaces/stream-progress.d.ts.map +0 -1
  200. package/src/interfaces/stream-progress.js +0 -3
  201. package/src/interfaces/stream-progress.js.map +0 -1
  202. package/src/interfaces/wallet-seed.d.ts +0 -7
  203. package/src/interfaces/wallet-seed.d.ts.map +0 -1
  204. package/src/interfaces/wallet-seed.js +0 -3
  205. package/src/interfaces/wallet-seed.js.map +0 -1
  206. package/src/interfaces/wrapped-key-consts.d.ts +0 -7
  207. package/src/interfaces/wrapped-key-consts.d.ts.map +0 -1
  208. package/src/interfaces/wrapped-key-consts.js +0 -3
  209. package/src/interfaces/wrapped-key-consts.js.map +0 -1
  210. package/src/lib/crypto-container.d.ts +0 -13
  211. package/src/lib/crypto-container.d.ts.map +0 -1
  212. package/src/lib/crypto-container.js +0 -32
  213. package/src/lib/crypto-container.js.map +0 -1
  214. package/src/lib/index.d.ts +0 -4
  215. package/src/lib/index.d.ts.map +0 -1
  216. package/src/lib/index.js +0 -7
  217. package/src/lib/index.js.map +0 -1
  218. package/src/lib/invariant-validator.d.ts +0 -69
  219. package/src/lib/invariant-validator.d.ts.map +0 -1
  220. package/src/lib/invariant-validator.js +0 -98
  221. package/src/lib/invariant-validator.js.map +0 -1
  222. package/src/lib/invariants/index.d.ts +0 -8
  223. package/src/lib/invariants/index.d.ts.map +0 -1
  224. package/src/lib/invariants/index.js +0 -12
  225. package/src/lib/invariants/index.js.map +0 -1
  226. package/src/lib/invariants/recipient-id-consistency.d.ts +0 -41
  227. package/src/lib/invariants/recipient-id-consistency.d.ts.map +0 -1
  228. package/src/lib/invariants/recipient-id-consistency.js +0 -75
  229. package/src/lib/invariants/recipient-id-consistency.js.map +0 -1
  230. package/src/member.d.ts +0 -81
  231. package/src/member.d.ts.map +0 -1
  232. package/src/member.js +0 -282
  233. package/src/member.js.map +0 -1
  234. package/src/services/aes-gcm.d.ts +0 -66
  235. package/src/services/aes-gcm.d.ts.map +0 -1
  236. package/src/services/aes-gcm.js +0 -161
  237. package/src/services/aes-gcm.js.map +0 -1
  238. package/src/services/chunk-processor.d.ts +0 -15
  239. package/src/services/chunk-processor.d.ts.map +0 -1
  240. package/src/services/chunk-processor.js +0 -36
  241. package/src/services/chunk-processor.js.map +0 -1
  242. package/src/services/ecies/crypto-core.d.ts +0 -104
  243. package/src/services/ecies/crypto-core.d.ts.map +0 -1
  244. package/src/services/ecies/crypto-core.js +0 -234
  245. package/src/services/ecies/crypto-core.js.map +0 -1
  246. package/src/services/ecies/file.d.ts +0 -30
  247. package/src/services/ecies/file.d.ts.map +0 -1
  248. package/src/services/ecies/file.js +0 -112
  249. package/src/services/ecies/file.js.map +0 -1
  250. package/src/services/ecies/index.d.ts +0 -8
  251. package/src/services/ecies/index.d.ts.map +0 -1
  252. package/src/services/ecies/index.js +0 -11
  253. package/src/services/ecies/index.js.map +0 -1
  254. package/src/services/ecies/multi-recipient.d.ts +0 -84
  255. package/src/services/ecies/multi-recipient.d.ts.map +0 -1
  256. package/src/services/ecies/multi-recipient.js +0 -494
  257. package/src/services/ecies/multi-recipient.js.map +0 -1
  258. package/src/services/ecies/service.d.ts +0 -75
  259. package/src/services/ecies/service.d.ts.map +0 -1
  260. package/src/services/ecies/service.js +0 -152
  261. package/src/services/ecies/service.js.map +0 -1
  262. package/src/services/ecies/signature.d.ts +0 -38
  263. package/src/services/ecies/signature.d.ts.map +0 -1
  264. package/src/services/ecies/signature.js +0 -69
  265. package/src/services/ecies/signature.js.map +0 -1
  266. package/src/services/ecies/single-recipient.d.ts +0 -83
  267. package/src/services/ecies/single-recipient.d.ts.map +0 -1
  268. package/src/services/ecies/single-recipient.js +0 -448
  269. package/src/services/ecies/single-recipient.js.map +0 -1
  270. package/src/services/ecies/utilities.d.ts +0 -33
  271. package/src/services/ecies/utilities.d.ts.map +0 -1
  272. package/src/services/ecies/utilities.js +0 -91
  273. package/src/services/ecies/utilities.js.map +0 -1
  274. package/src/services/encryption-stream.d.ts +0 -33
  275. package/src/services/encryption-stream.d.ts.map +0 -1
  276. package/src/services/encryption-stream.js +0 -211
  277. package/src/services/encryption-stream.js.map +0 -1
  278. package/src/services/index.d.ts +0 -8
  279. package/src/services/index.d.ts.map +0 -1
  280. package/src/services/index.js +0 -11
  281. package/src/services/index.js.map +0 -1
  282. package/src/services/multi-recipient-processor.d.ts +0 -72
  283. package/src/services/multi-recipient-processor.d.ts.map +0 -1
  284. package/src/services/multi-recipient-processor.js +0 -321
  285. package/src/services/multi-recipient-processor.js.map +0 -1
  286. package/src/services/pbkdf2.d.ts +0 -105
  287. package/src/services/pbkdf2.d.ts.map +0 -1
  288. package/src/services/pbkdf2.js +0 -191
  289. package/src/services/pbkdf2.js.map +0 -1
  290. package/src/services/progress-tracker.d.ts +0 -9
  291. package/src/services/progress-tracker.d.ts.map +0 -1
  292. package/src/services/progress-tracker.js +0 -41
  293. package/src/services/progress-tracker.js.map +0 -1
  294. package/src/test-mocks/index.d.ts +0 -2
  295. package/src/test-mocks/index.d.ts.map +0 -1
  296. package/src/test-mocks/index.js +0 -5
  297. package/src/test-mocks/index.js.map +0 -1
  298. package/src/test-mocks/mock-backend-member.d.ts +0 -76
  299. package/src/test-mocks/mock-backend-member.d.ts.map +0 -1
  300. package/src/test-mocks/mock-backend-member.js +0 -139
  301. package/src/test-mocks/mock-backend-member.js.map +0 -1
  302. package/src/testing.d.ts +0 -2
  303. package/src/testing.d.ts.map +0 -1
  304. package/src/testing.js +0 -6
  305. package/src/testing.js.map +0 -1
  306. package/src/types/id-guards.d.ts +0 -39
  307. package/src/types/id-guards.d.ts.map +0 -1
  308. package/src/types/id-guards.js +0 -91
  309. package/src/types/id-guards.js.map +0 -1
  310. package/src/types/index.d.ts +0 -2
  311. package/src/types/index.d.ts.map +0 -1
  312. package/src/types/index.js +0 -5
  313. package/src/types/index.js.map +0 -1
  314. package/src/types.d.ts +0 -26
  315. package/src/types.d.ts.map +0 -1
  316. package/src/types.js +0 -6
  317. package/src/types.js.map +0 -1
  318. package/src/utils.d.ts +0 -11
  319. package/src/utils.d.ts.map +0 -1
  320. package/src/utils.js +0 -82
  321. package/src/utils.js.map +0 -1
package/src/testing.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './test-mocks';
2
- //# sourceMappingURL=testing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/testing.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC"}
package/src/testing.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- // Test utilities entry point - import from '@digitaldefiance/node-ecies-lib/testing'
5
- tslib_1.__exportStar(require("./test-mocks"), exports);
6
- //# sourceMappingURL=testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/testing.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,uDAA6B"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Type guards and converters for ID types
3
- * Used to safely convert between Buffer and Uint8Array without unsafe type casts
4
- */
5
- /**
6
- * Type guard to check if a value is a Buffer
7
- * @param value - The value to check
8
- * @returns True if the value is a Buffer
9
- */
10
- export declare function isBuffer(value: unknown): value is Buffer;
11
- /**
12
- * Type guard to check if a value is a Uint8Array
13
- * @param value - The value to check
14
- * @returns True if the value is a Uint8Array
15
- */
16
- export declare function isUint8Array(value: unknown): value is Uint8Array;
17
- /**
18
- * Safely converts an ID value to Buffer
19
- * @param id - The ID to convert (Buffer, Uint8Array, or string)
20
- * @returns The ID as a Buffer
21
- * @throws Error if the ID type is not supported
22
- */
23
- export declare function toBuffer(id: Buffer | Uint8Array | string): Buffer;
24
- /**
25
- * Safely converts an ID value to Uint8Array
26
- * @param id - The ID to convert (Buffer, Uint8Array, or string)
27
- * @returns The ID as a Uint8Array
28
- * @throws Error if the ID type is not supported
29
- */
30
- export declare function toUint8Array(id: Buffer | Uint8Array | string): Uint8Array;
31
- /**
32
- * Generic ID converter that can convert between Buffer, Uint8Array, and string
33
- * @param id - The ID to convert
34
- * @param toType - The target type ('Buffer', 'Uint8Array', or 'string')
35
- * @returns The converted ID
36
- * @throws Error if the conversion is not supported
37
- */
38
- export declare function convertId<T extends 'Buffer' | 'Uint8Array' | 'string'>(id: Buffer | Uint8Array | string, toType: T): T extends 'Buffer' ? Buffer : T extends 'Uint8Array' ? Uint8Array : string;
39
- //# sourceMappingURL=id-guards.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-guards.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/id-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAWjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAWzE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,YAAY,GAAG,QAAQ,EACpE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAChC,MAAM,EAAE,CAAC,GACR,CAAC,SAAS,QAAQ,GAAG,MAAM,GAAG,CAAC,SAAS,YAAY,GAAG,UAAU,GAAG,MAAM,CAuC5E"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type guards and converters for ID types
4
- * Used to safely convert between Buffer and Uint8Array without unsafe type casts
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isBuffer = isBuffer;
8
- exports.isUint8Array = isUint8Array;
9
- exports.toBuffer = toBuffer;
10
- exports.toUint8Array = toUint8Array;
11
- exports.convertId = convertId;
12
- /**
13
- * Type guard to check if a value is a Buffer
14
- * @param value - The value to check
15
- * @returns True if the value is a Buffer
16
- */
17
- function isBuffer(value) {
18
- return Buffer.isBuffer(value);
19
- }
20
- /**
21
- * Type guard to check if a value is a Uint8Array
22
- * @param value - The value to check
23
- * @returns True if the value is a Uint8Array
24
- */
25
- function isUint8Array(value) {
26
- return value instanceof Uint8Array;
27
- }
28
- /**
29
- * Safely converts an ID value to Buffer
30
- * @param id - The ID to convert (Buffer, Uint8Array, or string)
31
- * @returns The ID as a Buffer
32
- * @throws Error if the ID type is not supported
33
- */
34
- function toBuffer(id) {
35
- if (isBuffer(id)) {
36
- return id;
37
- }
38
- if (isUint8Array(id)) {
39
- return Buffer.from(id);
40
- }
41
- if (typeof id === 'string') {
42
- return Buffer.from(id, 'hex');
43
- }
44
- throw new Error(`Cannot convert ID of type ${typeof id} to Buffer`);
45
- }
46
- /**
47
- * Safely converts an ID value to Uint8Array
48
- * @param id - The ID to convert (Buffer, Uint8Array, or string)
49
- * @returns The ID as a Uint8Array
50
- * @throws Error if the ID type is not supported
51
- */
52
- function toUint8Array(id) {
53
- if (isUint8Array(id)) {
54
- return id;
55
- }
56
- if (isBuffer(id)) {
57
- return new Uint8Array(id);
58
- }
59
- if (typeof id === 'string') {
60
- return new Uint8Array(Buffer.from(id, 'hex'));
61
- }
62
- throw new Error(`Cannot convert ID of type ${typeof id} to Uint8Array`);
63
- }
64
- /**
65
- * Generic ID converter that can convert between Buffer, Uint8Array, and string
66
- * @param id - The ID to convert
67
- * @param toType - The target type ('Buffer', 'Uint8Array', or 'string')
68
- * @returns The converted ID
69
- * @throws Error if the conversion is not supported
70
- */
71
- function convertId(id, toType) {
72
- if (toType === 'Buffer') {
73
- return toBuffer(id);
74
- }
75
- if (toType === 'Uint8Array') {
76
- return toUint8Array(id);
77
- }
78
- if (toType === 'string') {
79
- if (typeof id === 'string') {
80
- return id;
81
- }
82
- if (isBuffer(id)) {
83
- return id.toString('hex');
84
- }
85
- if (isUint8Array(id)) {
86
- return Buffer.from(id).toString('hex');
87
- }
88
- }
89
- throw new Error(`Cannot convert ID to type ${toType}`);
90
- }
91
- //# sourceMappingURL=id-guards.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-guards.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/id-guards.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,4BAEC;AAOD,oCAEC;AAQD,4BAWC;AAQD,oCAWC;AASD,8BA0CC;AAzGD;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,UAAU,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,EAAgC;IACvD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,EAAgC;IAC3D,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,EAAgC,EAChC,MAAS;IAET,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,EAAE,CAIN,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,EAAE,CAIV,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAIK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAIZ,CAAC;QACf,CAAC;QACD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAIzB,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './id-guards';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./id-guards"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
package/src/types.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import { HexString } from '@digitaldefiance/ecies-lib';
2
- import { Brand } from 'ts-brand';
3
- import { IKeyPairBufferWithUnEncryptedPrivateKey } from './interfaces/keypair-buffer-with-un-encrypted-private-key';
4
- import { ISigningKeyPrivateKeyInfo } from './interfaces/signing-key-private-key-info';
5
- import { ISimpleKeyPairBuffer } from './interfaces/simple-keypair-buffer';
6
- import { ISimplePublicKeyOnly } from './interfaces/simple-public-key-only';
7
- import { ISimplePublicKeyOnlyBuffer } from './interfaces/simple-public-key-only-buffer';
8
- export type KeyPairBufferWithUnEncryptedPrivateKey = Brand<IKeyPairBufferWithUnEncryptedPrivateKey, 'KeyPairBufferWithUnEncryptedPrivateKey'>;
9
- export type SigningKeyPrivateKeyInfo = Brand<ISigningKeyPrivateKeyInfo, 'SigningKeyPrivateKeyInfo'>;
10
- export type SimpleKeyPair = Brand<SimplePublicKeyOnly, 'SimpleKeyPair'>;
11
- export type SimplePublicKeyOnly = Brand<ISimplePublicKeyOnly, 'SimplePublicKeyOnly'>;
12
- export type SimpleKeyPairBuffer = Brand<ISimpleKeyPairBuffer, 'SimpleKeyPairBuffer'>;
13
- export type SimplePublicKeyOnlyBuffer = Brand<ISimplePublicKeyOnlyBuffer, 'SimplePublicKeyOnlyBuffer'>;
14
- export type SignatureString = Brand<HexString, 'SignatureString'>;
15
- export type SignatureBuffer = Buffer & Brand<Buffer, 'SignatureBuffer'>;
16
- export type ChecksumBuffer = Buffer & Brand<Buffer, 'Sha3Checksum', 'ChecksumBuffer'>;
17
- export type ChecksumString = Brand<HexString, 'Sha3Checksum', 'ChecksumString'>;
18
- /**
19
- * Extended Buffer type for data
20
- */
21
- export type DataBuffer = Buffer & {
22
- toBuffer(): Buffer;
23
- toHex(): string;
24
- };
25
- export * from './types/id-guards';
26
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AACpH,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,MAAM,MAAM,sCAAsC,GAAG,KAAK,CACxD,uCAAuC,EACvC,wCAAwC,CACzC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAC1C,yBAAyB,EACzB,0BAA0B,CAC3B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,MAAM,GACjC,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,QAAQ,IAAI,MAAM,CAAC;IACnB,KAAK,IAAI,MAAM,CAAC;CACjB,CAAC;AAGF,cAAc,mBAAmB,CAAC"}
package/src/types.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- // Export ID type guards and converters
5
- tslib_1.__exportStar(require("./types/id-guards"), exports);
6
- //# sourceMappingURL=types.js.map
package/src/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/types.ts"],"names":[],"mappings":";;;AA4CA,uCAAuC;AACvC,4DAAkC"}
package/src/utils.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * Encodes the length of the data in the buffer
3
- * @param buffer The buffer to encode
4
- * @returns The encoded buffer
5
- */
6
- export declare function lengthEncodeData(buffer: Buffer): Buffer;
7
- export declare function decodeLengthEncodedData(buffer: Buffer): {
8
- data: Buffer;
9
- totalLength: number;
10
- };
11
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/utils.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBvD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAmEA"}
package/src/utils.js DELETED
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lengthEncodeData = lengthEncodeData;
4
- exports.decodeLengthEncodedData = decodeLengthEncodedData;
5
- const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
6
- const ecies_i18n_factory_1 = require("./i18n/ecies-i18n-factory");
7
- /**
8
- * Custom error class for length encoding errors
9
- */
10
- class LengthEncodingError extends Error {
11
- constructor(message) {
12
- super(message);
13
- this.name = 'LengthEncodingError';
14
- }
15
- }
16
- /**
17
- * Encodes the length of the data in the buffer
18
- * @param buffer The buffer to encode
19
- * @returns The encoded buffer
20
- */
21
- function lengthEncodeData(buffer) {
22
- const lengthType = (0, ecies_lib_1.getLengthEncodingTypeForLength)(buffer.length);
23
- const lengthTypeSize = (0, ecies_lib_1.getLengthForLengthType)(lengthType);
24
- const result = Buffer.alloc(1 + lengthTypeSize + buffer.length);
25
- result.writeUInt8(lengthType, 0);
26
- switch (lengthType) {
27
- case ecies_lib_1.LengthEncodingType.UInt8:
28
- result.writeUInt8(buffer.length, 1);
29
- break;
30
- case ecies_lib_1.LengthEncodingType.UInt16:
31
- result.writeUInt16BE(buffer.length, 1);
32
- break;
33
- case ecies_lib_1.LengthEncodingType.UInt32:
34
- result.writeUInt32BE(buffer.length, 1);
35
- break;
36
- case ecies_lib_1.LengthEncodingType.UInt64:
37
- result.writeBigUInt64BE(BigInt(buffer.length), 1);
38
- break;
39
- }
40
- buffer.copy(result, 1 + lengthTypeSize);
41
- return result;
42
- }
43
- function decodeLengthEncodedData(buffer) {
44
- const pluginEngine = (0, ecies_i18n_factory_1.getEciesPluginI18nEngine)();
45
- if (buffer.length < 1) {
46
- throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShort));
47
- }
48
- const lengthType = (0, ecies_lib_1.getLengthEncodingTypeFromValue)(buffer.readUint8(0));
49
- const lengthTypeSize = (0, ecies_lib_1.getLengthForLengthType)(lengthType);
50
- if (buffer.length < 1 + lengthTypeSize) {
51
- throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue));
52
- }
53
- let length;
54
- switch (lengthType) {
55
- case ecies_lib_1.LengthEncodingType.UInt8:
56
- length = buffer.readUint8(1);
57
- break;
58
- case ecies_lib_1.LengthEncodingType.UInt16:
59
- length = buffer.readUint16BE(1);
60
- break;
61
- case ecies_lib_1.LengthEncodingType.UInt32:
62
- length = buffer.readUint32BE(1);
63
- break;
64
- case ecies_lib_1.LengthEncodingType.UInt64:
65
- length = buffer.readBigUInt64BE(1);
66
- if (Number(length) > Number.MAX_SAFE_INTEGER) {
67
- throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger));
68
- }
69
- break;
70
- default:
71
- throw new LengthEncodingError((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_LengthError_LengthIsInvalidType));
72
- }
73
- const totalLength = 1 + lengthTypeSize + Number(length);
74
- if (totalLength > buffer.length) {
75
- throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength));
76
- }
77
- return {
78
- data: buffer.subarray(1 + lengthTypeSize, totalLength),
79
- totalLength,
80
- };
81
- }
82
- //# sourceMappingURL=utils.js.map
package/src/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/utils.ts"],"names":[],"mappings":"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"}