@digitaldefiance/ecies-lib 4.4.13 → 4.4.14

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 (589) hide show
  1. package/package.json +6 -4
  2. package/src/builders/ecies-builder.d.ts +18 -0
  3. package/src/builders/ecies-builder.d.ts.map +1 -0
  4. package/src/builders/ecies-builder.js +30 -0
  5. package/src/builders/ecies-builder.js.map +1 -0
  6. package/src/builders/index.d.ts +6 -0
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/{index.ts → index.js} +1 -1
  9. package/src/builders/index.js.map +1 -0
  10. package/src/builders/member-builder.d.ts +51 -0
  11. package/src/builders/member-builder.d.ts.map +1 -0
  12. package/src/builders/member-builder.js +97 -0
  13. package/src/builders/member-builder.js.map +1 -0
  14. package/src/constants.d.ts +60 -0
  15. package/src/constants.d.ts.map +1 -0
  16. package/src/constants.js +446 -0
  17. package/src/constants.js.map +1 -0
  18. package/src/core/errors/crypto-error.d.ts +34 -0
  19. package/src/core/errors/crypto-error.d.ts.map +1 -0
  20. package/src/core/errors/crypto-error.js +56 -0
  21. package/src/core/errors/crypto-error.js.map +1 -0
  22. package/src/core/index.d.ts +6 -0
  23. package/src/core/index.d.ts.map +1 -0
  24. package/src/core/{index.ts → index.js} +1 -1
  25. package/src/core/index.js.map +1 -0
  26. package/src/core/types/result.d.ts +16 -0
  27. package/src/core/types/result.d.ts.map +1 -0
  28. package/src/core/types/result.js +12 -0
  29. package/src/core/types/result.js.map +1 -0
  30. package/src/email-string.d.ts +42 -0
  31. package/src/email-string.d.ts.map +1 -0
  32. package/src/email-string.js +67 -0
  33. package/src/email-string.js.map +1 -0
  34. package/src/enumerations/disposed-error-type.d.ts +12 -0
  35. package/src/enumerations/disposed-error-type.d.ts.map +1 -0
  36. package/src/enumerations/disposed-error-type.js +13 -0
  37. package/src/enumerations/disposed-error-type.js.map +1 -0
  38. package/src/enumerations/ecies-cipher-suite.d.ts +4 -0
  39. package/src/enumerations/ecies-cipher-suite.d.ts.map +1 -0
  40. package/src/enumerations/ecies-cipher-suite.js +6 -0
  41. package/src/enumerations/ecies-cipher-suite.js.map +1 -0
  42. package/src/enumerations/ecies-encryption-type.d.ts +11 -0
  43. package/src/enumerations/ecies-encryption-type.d.ts.map +1 -0
  44. package/src/enumerations/ecies-encryption-type.js +27 -0
  45. package/src/enumerations/ecies-encryption-type.js.map +1 -0
  46. package/src/enumerations/ecies-error-type.d.ts +44 -0
  47. package/src/enumerations/ecies-error-type.d.ts.map +1 -0
  48. package/src/enumerations/ecies-error-type.js +45 -0
  49. package/src/enumerations/ecies-error-type.js.map +1 -0
  50. package/src/enumerations/ecies-string-key.d.ts +192 -0
  51. package/src/enumerations/ecies-string-key.d.ts.map +1 -0
  52. package/src/enumerations/ecies-string-key.js +199 -0
  53. package/src/enumerations/ecies-string-key.js.map +1 -0
  54. package/src/enumerations/ecies-version.d.ts +4 -0
  55. package/src/enumerations/ecies-version.d.ts.map +1 -0
  56. package/src/enumerations/ecies-version.js +5 -0
  57. package/src/enumerations/ecies-version.js.map +1 -0
  58. package/src/enumerations/guid-brand-type.d.ts +27 -0
  59. package/src/enumerations/guid-brand-type.d.ts.map +1 -0
  60. package/src/enumerations/guid-brand-type.js +28 -0
  61. package/src/enumerations/guid-brand-type.js.map +1 -0
  62. package/src/enumerations/guid-error-type.d.ts +7 -0
  63. package/src/enumerations/guid-error-type.d.ts.map +1 -0
  64. package/src/enumerations/guid-error-type.js +8 -0
  65. package/src/enumerations/guid-error-type.js.map +1 -0
  66. package/src/enumerations/id-provider-error-type.d.ts +43 -0
  67. package/src/enumerations/id-provider-error-type.d.ts.map +1 -0
  68. package/src/enumerations/id-provider-error-type.js +44 -0
  69. package/src/enumerations/id-provider-error-type.js.map +1 -0
  70. package/src/enumerations/index.d.ts +18 -0
  71. package/src/enumerations/index.d.ts.map +1 -0
  72. package/src/enumerations/{index.ts → index.js} +1 -0
  73. package/src/enumerations/index.js.map +1 -0
  74. package/src/enumerations/invalid-email-type.d.ts +6 -0
  75. package/src/enumerations/invalid-email-type.d.ts.map +1 -0
  76. package/src/enumerations/invalid-email-type.js +7 -0
  77. package/src/enumerations/invalid-email-type.js.map +1 -0
  78. package/src/enumerations/length-encoding-type.d.ts +7 -0
  79. package/src/enumerations/length-encoding-type.d.ts.map +1 -0
  80. package/src/enumerations/length-encoding-type.js +8 -0
  81. package/src/enumerations/length-encoding-type.js.map +1 -0
  82. package/src/enumerations/length-error-type.d.ts +6 -0
  83. package/src/enumerations/length-error-type.d.ts.map +1 -0
  84. package/src/enumerations/length-error-type.js +7 -0
  85. package/src/enumerations/length-error-type.js.map +1 -0
  86. package/src/enumerations/member-error-type.d.ts +87 -0
  87. package/src/enumerations/member-error-type.d.ts.map +1 -0
  88. package/src/enumerations/member-error-type.js +88 -0
  89. package/src/enumerations/member-error-type.js.map +1 -0
  90. package/src/enumerations/{member-type.ts → member-type.d.ts} +6 -7
  91. package/src/enumerations/member-type.d.ts.map +1 -0
  92. package/src/enumerations/member-type.js +16 -0
  93. package/src/enumerations/member-type.js.map +1 -0
  94. package/src/enumerations/password-login-error-type.d.ts +5 -0
  95. package/src/enumerations/password-login-error-type.d.ts.map +1 -0
  96. package/src/enumerations/password-login-error-type.js +6 -0
  97. package/src/enumerations/password-login-error-type.js.map +1 -0
  98. package/src/enumerations/pbkdf2-error-type.d.ts +6 -0
  99. package/src/enumerations/pbkdf2-error-type.d.ts.map +1 -0
  100. package/src/enumerations/pbkdf2-error-type.js +7 -0
  101. package/src/enumerations/pbkdf2-error-type.js.map +1 -0
  102. package/src/enumerations/pbkdf2-profile.d.ts +6 -0
  103. package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
  104. package/src/enumerations/pbkdf2-profile.js +7 -0
  105. package/src/enumerations/pbkdf2-profile.js.map +1 -0
  106. package/src/enumerations/secure-storage-error-type.d.ts +6 -0
  107. package/src/enumerations/secure-storage-error-type.d.ts.map +1 -0
  108. package/src/enumerations/secure-storage-error-type.js +7 -0
  109. package/src/enumerations/secure-storage-error-type.js.map +1 -0
  110. package/src/errors/disposed.d.ts +22 -0
  111. package/src/errors/disposed.d.ts.map +1 -0
  112. package/src/errors/disposed.js +28 -0
  113. package/src/errors/disposed.js.map +1 -0
  114. package/src/errors/ecies.d.ts +52 -0
  115. package/src/errors/ecies.d.ts.map +1 -0
  116. package/src/errors/ecies.js +78 -0
  117. package/src/errors/ecies.js.map +1 -0
  118. package/src/errors/guid.d.ts +49 -0
  119. package/src/errors/guid.d.ts.map +1 -0
  120. package/src/errors/guid.js +96 -0
  121. package/src/errors/guid.js.map +1 -0
  122. package/src/errors/id-provider.d.ts +23 -0
  123. package/src/errors/id-provider.d.ts.map +1 -0
  124. package/src/errors/id-provider.js +29 -0
  125. package/src/errors/id-provider.js.map +1 -0
  126. package/src/errors/{index.ts → index.d.ts} +1 -0
  127. package/src/errors/index.d.ts.map +1 -0
  128. package/src/errors/index.js +10 -0
  129. package/src/errors/index.js.map +1 -0
  130. package/src/errors/invalid-email.d.ts +8 -0
  131. package/src/errors/invalid-email.d.ts.map +1 -0
  132. package/src/errors/invalid-email.js +15 -0
  133. package/src/errors/invalid-email.js.map +1 -0
  134. package/src/errors/length.d.ts +7 -0
  135. package/src/errors/length.d.ts.map +1 -0
  136. package/src/errors/length.js +11 -0
  137. package/src/errors/length.js.map +1 -0
  138. package/src/errors/member.d.ts +7 -0
  139. package/src/errors/member.d.ts.map +1 -0
  140. package/src/errors/member.js +11 -0
  141. package/src/errors/member.js.map +1 -0
  142. package/src/errors/pbkdf2.d.ts +7 -0
  143. package/src/errors/pbkdf2.d.ts.map +1 -0
  144. package/src/errors/pbkdf2.js +11 -0
  145. package/src/errors/pbkdf2.js.map +1 -0
  146. package/src/errors/secure-storage.d.ts +7 -0
  147. package/src/errors/secure-storage.d.ts.map +1 -0
  148. package/src/errors/secure-storage.js +12 -0
  149. package/src/errors/secure-storage.js.map +1 -0
  150. package/src/errors/simple-ecies.d.ts +6 -0
  151. package/src/errors/simple-ecies.d.ts.map +1 -0
  152. package/src/errors/simple-ecies.js +12 -0
  153. package/src/errors/simple-ecies.js.map +1 -0
  154. package/src/errors/simple-test-error.d.ts +4 -0
  155. package/src/errors/simple-test-error.d.ts.map +1 -0
  156. package/src/errors/simple-test-error.js +7 -0
  157. package/src/errors/simple-test-error.js.map +1 -0
  158. package/src/i18n-setup.d.ts +32 -0
  159. package/src/i18n-setup.d.ts.map +1 -0
  160. package/src/i18n-setup.js +101 -0
  161. package/src/i18n-setup.js.map +1 -0
  162. package/src/index.d.ts +80 -0
  163. package/src/index.d.ts.map +1 -0
  164. package/src/{index.ts → index.js} +7 -64
  165. package/src/index.js.map +1 -0
  166. package/src/interfaces/checksum-config.d.ts +5 -0
  167. package/src/interfaces/checksum-config.d.ts.map +1 -0
  168. package/src/interfaces/checksum-config.js +2 -0
  169. package/src/interfaces/checksum-config.js.map +1 -0
  170. package/src/interfaces/checksum-consts.d.ts +11 -0
  171. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  172. package/src/interfaces/checksum-consts.js +2 -0
  173. package/src/interfaces/checksum-consts.js.map +1 -0
  174. package/src/interfaces/configuration-provenance.d.ts +43 -0
  175. package/src/interfaces/configuration-provenance.d.ts.map +1 -0
  176. package/src/interfaces/configuration-provenance.js +3 -0
  177. package/src/interfaces/configuration-provenance.js.map +1 -0
  178. package/src/interfaces/constants.d.ts +70 -0
  179. package/src/interfaces/constants.d.ts.map +1 -0
  180. package/src/interfaces/constants.js +2 -0
  181. package/src/interfaces/constants.js.map +1 -0
  182. package/src/interfaces/ecies-config.d.ts +9 -0
  183. package/src/interfaces/ecies-config.d.ts.map +1 -0
  184. package/src/interfaces/ecies-config.js +2 -0
  185. package/src/interfaces/ecies-config.js.map +1 -0
  186. package/src/interfaces/ecies-consts.d.ts +61 -0
  187. package/src/interfaces/ecies-consts.d.ts.map +1 -0
  188. package/src/interfaces/ecies-consts.js +2 -0
  189. package/src/interfaces/ecies-consts.js.map +1 -0
  190. package/src/interfaces/ecies-file-service.d.ts +7 -0
  191. package/src/interfaces/ecies-file-service.d.ts.map +1 -0
  192. package/src/interfaces/ecies-file-service.js +2 -0
  193. package/src/interfaces/ecies-file-service.js.map +1 -0
  194. package/src/interfaces/encrypted-chunk.d.ts +55 -0
  195. package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
  196. package/src/interfaces/encrypted-chunk.js +12 -0
  197. package/src/interfaces/encrypted-chunk.js.map +1 -0
  198. package/src/interfaces/encryption-state.d.ts +18 -0
  199. package/src/interfaces/encryption-state.d.ts.map +1 -0
  200. package/src/interfaces/encryption-state.js +2 -0
  201. package/src/interfaces/encryption-state.js.map +1 -0
  202. package/src/interfaces/frontend-member-operational.d.ts +51 -0
  203. package/src/interfaces/frontend-member-operational.d.ts.map +1 -0
  204. package/src/interfaces/frontend-member-operational.js +2 -0
  205. package/src/interfaces/frontend-member-operational.js.map +1 -0
  206. package/src/interfaces/guid.d.ts +78 -0
  207. package/src/interfaces/guid.d.ts.map +1 -0
  208. package/src/interfaces/guid.js +2 -0
  209. package/src/interfaces/guid.js.map +1 -0
  210. package/src/interfaces/id-provider.d.ts +107 -0
  211. package/src/interfaces/id-provider.d.ts.map +1 -0
  212. package/src/interfaces/id-provider.js +52 -0
  213. package/src/interfaces/id-provider.js.map +1 -0
  214. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  215. package/src/interfaces/index.d.ts.map +1 -0
  216. package/src/interfaces/index.js +13 -0
  217. package/src/interfaces/index.js.map +1 -0
  218. package/src/interfaces/invariant.d.ts +46 -0
  219. package/src/interfaces/invariant.d.ts.map +1 -0
  220. package/src/interfaces/invariant.js +18 -0
  221. package/src/interfaces/invariant.js.map +1 -0
  222. package/src/interfaces/library-error.d.ts +23 -0
  223. package/src/interfaces/library-error.d.ts.map +1 -0
  224. package/src/interfaces/library-error.js +2 -0
  225. package/src/interfaces/library-error.js.map +1 -0
  226. package/src/interfaces/{member-storage.ts → member-storage.d.ts} +10 -11
  227. package/src/interfaces/member-storage.d.ts.map +1 -0
  228. package/src/interfaces/member-storage.js +2 -0
  229. package/src/interfaces/member-storage.js.map +1 -0
  230. package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
  231. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
  232. package/src/interfaces/member-with-mnemonic.js +2 -0
  233. package/src/interfaces/member-with-mnemonic.js.map +1 -0
  234. package/src/interfaces/member.d.ts +55 -0
  235. package/src/interfaces/member.d.ts.map +1 -0
  236. package/src/interfaces/member.js +2 -0
  237. package/src/interfaces/member.js.map +1 -0
  238. package/src/interfaces/multi-recipient-chunk.d.ts +54 -0
  239. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
  240. package/src/interfaces/multi-recipient-chunk.js +11 -0
  241. package/src/interfaces/multi-recipient-chunk.js.map +1 -0
  242. package/src/interfaces/pbkdf2-config.d.ts +7 -0
  243. package/src/interfaces/pbkdf2-config.d.ts.map +1 -0
  244. package/src/interfaces/pbkdf2-config.js +2 -0
  245. package/src/interfaces/pbkdf2-config.js.map +1 -0
  246. package/src/interfaces/pbkdf2-consts.d.ts +9 -0
  247. package/src/interfaces/pbkdf2-consts.d.ts.map +1 -0
  248. package/src/interfaces/pbkdf2-consts.js +2 -0
  249. package/src/interfaces/pbkdf2-consts.js.map +1 -0
  250. package/src/interfaces/pbkdf2-result.d.ts +6 -0
  251. package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
  252. package/src/interfaces/pbkdf2-result.js +2 -0
  253. package/src/interfaces/pbkdf2-result.js.map +1 -0
  254. package/src/interfaces/stream-config.d.ts +14 -0
  255. package/src/interfaces/stream-config.d.ts.map +1 -0
  256. package/src/interfaces/stream-config.js +8 -0
  257. package/src/interfaces/stream-config.js.map +1 -0
  258. package/src/interfaces/stream-header.d.ts +29 -0
  259. package/src/interfaces/stream-header.d.ts.map +1 -0
  260. package/src/interfaces/stream-header.js +9 -0
  261. package/src/interfaces/stream-header.js.map +1 -0
  262. package/src/interfaces/stream-progress.d.ts +33 -0
  263. package/src/interfaces/stream-progress.d.ts.map +1 -0
  264. package/src/interfaces/stream-progress.js +2 -0
  265. package/src/interfaces/stream-progress.js.map +1 -0
  266. package/src/lib/configuration-provenance-utils.d.ts +11 -0
  267. package/src/lib/configuration-provenance-utils.d.ts.map +1 -0
  268. package/src/lib/configuration-provenance-utils.js +26 -0
  269. package/src/lib/configuration-provenance-utils.js.map +1 -0
  270. package/src/lib/crypto-container.d.ts +25 -0
  271. package/src/lib/crypto-container.d.ts.map +1 -0
  272. package/src/lib/crypto-container.js +46 -0
  273. package/src/lib/crypto-container.js.map +1 -0
  274. package/src/lib/guid.d.ts +344 -0
  275. package/src/lib/guid.d.ts.map +1 -0
  276. package/src/lib/guid.js +914 -0
  277. package/src/lib/guid.js.map +1 -0
  278. package/src/lib/id-providers/custom-provider.d.ts +46 -0
  279. package/src/lib/id-providers/custom-provider.d.ts.map +1 -0
  280. package/src/lib/id-providers/custom-provider.js +85 -0
  281. package/src/lib/id-providers/custom-provider.js.map +1 -0
  282. package/src/lib/id-providers/guidv4-provider.d.ts +56 -0
  283. package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -0
  284. package/src/lib/id-providers/guidv4-provider.js +122 -0
  285. package/src/lib/id-providers/guidv4-provider.js.map +1 -0
  286. package/src/lib/id-providers/{index.ts → index.d.ts} +5 -6
  287. package/src/lib/id-providers/index.d.ts.map +1 -0
  288. package/src/lib/id-providers/index.js +29 -0
  289. package/src/lib/id-providers/index.js.map +1 -0
  290. package/src/lib/id-providers/objectid-provider.d.ts +43 -0
  291. package/src/lib/id-providers/objectid-provider.d.ts.map +1 -0
  292. package/src/lib/id-providers/objectid-provider.js +104 -0
  293. package/src/lib/id-providers/objectid-provider.js.map +1 -0
  294. package/src/lib/id-providers/uuid-provider.d.ts +52 -0
  295. package/src/lib/id-providers/uuid-provider.d.ts.map +1 -0
  296. package/src/lib/id-providers/uuid-provider.js +110 -0
  297. package/src/lib/id-providers/uuid-provider.js.map +1 -0
  298. package/src/lib/index.d.ts +6 -0
  299. package/src/lib/index.d.ts.map +1 -0
  300. package/src/lib/{index.ts → index.js} +2 -2
  301. package/src/lib/index.js.map +1 -0
  302. package/src/lib/invariant-validator.d.ts +59 -0
  303. package/src/lib/invariant-validator.d.ts.map +1 -0
  304. package/src/lib/invariant-validator.js +97 -0
  305. package/src/lib/invariant-validator.js.map +1 -0
  306. package/src/lib/invariants/encryption-algorithm-consistency.d.ts +17 -0
  307. package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +1 -0
  308. package/src/lib/invariants/encryption-algorithm-consistency.js +49 -0
  309. package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
  310. package/src/lib/invariants/index.d.ts +4 -0
  311. package/src/lib/invariants/index.d.ts.map +1 -0
  312. package/src/lib/invariants/{index.ts → index.js} +1 -0
  313. package/src/lib/invariants/index.js.map +1 -0
  314. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +16 -0
  315. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +1 -0
  316. package/src/lib/invariants/pbkdf2-profiles-validity.js +58 -0
  317. package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -0
  318. package/src/lib/invariants/recipient-id-consistency.d.ts +18 -0
  319. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  320. package/src/lib/invariants/recipient-id-consistency.js +31 -0
  321. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  322. package/src/lib/multi-recipient-chunk-utils.d.ts +38 -0
  323. package/src/lib/multi-recipient-chunk-utils.d.ts.map +1 -0
  324. package/src/lib/multi-recipient-chunk-utils.js +41 -0
  325. package/src/lib/multi-recipient-chunk-utils.js.map +1 -0
  326. package/src/member.d.ts +92 -0
  327. package/src/member.d.ts.map +1 -0
  328. package/src/member.js +322 -0
  329. package/src/member.js.map +1 -0
  330. package/src/{pbkdf2-profiles.ts → pbkdf2-profiles.d.ts} +2 -2
  331. package/src/pbkdf2-profiles.d.ts.map +1 -0
  332. package/src/pbkdf2-profiles.js +2 -0
  333. package/src/pbkdf2-profiles.js.map +1 -0
  334. package/src/phone-number.d.ts +6 -0
  335. package/src/phone-number.d.ts.map +1 -0
  336. package/src/phone-number.js +18 -0
  337. package/src/phone-number.js.map +1 -0
  338. package/src/regexes.d.ts +7 -0
  339. package/src/regexes.d.ts.map +1 -0
  340. package/src/regexes.js +7 -0
  341. package/src/regexes.js.map +1 -0
  342. package/src/secure-buffer.d.ts +61 -0
  343. package/src/secure-buffer.d.ts.map +1 -0
  344. package/src/secure-buffer.js +201 -0
  345. package/src/secure-buffer.js.map +1 -0
  346. package/src/secure-string.d.ts +46 -0
  347. package/src/secure-string.d.ts.map +1 -0
  348. package/src/secure-string.js +206 -0
  349. package/src/secure-string.js.map +1 -0
  350. package/src/services/aes-gcm.d.ts +57 -0
  351. package/src/services/aes-gcm.d.ts.map +1 -0
  352. package/src/services/aes-gcm.js +142 -0
  353. package/src/services/aes-gcm.js.map +1 -0
  354. package/src/services/chunk-processor.d.ts +31 -0
  355. package/src/services/chunk-processor.d.ts.map +1 -0
  356. package/src/services/chunk-processor.js +145 -0
  357. package/src/services/chunk-processor.js.map +1 -0
  358. package/src/services/ecies/crypto-core.d.ts +72 -0
  359. package/src/services/ecies/crypto-core.d.ts.map +1 -0
  360. package/src/services/ecies/crypto-core.js +205 -0
  361. package/src/services/ecies/crypto-core.js.map +1 -0
  362. package/src/services/ecies/example.d.ts +25 -0
  363. package/src/services/ecies/example.d.ts.map +1 -0
  364. package/src/services/ecies/example.js +121 -0
  365. package/src/services/ecies/example.js.map +1 -0
  366. package/src/services/ecies/file.d.ts +18 -0
  367. package/src/services/ecies/file.d.ts.map +1 -0
  368. package/src/services/ecies/file.js +106 -0
  369. package/src/services/ecies/file.js.map +1 -0
  370. package/src/services/ecies/index.d.ts +38 -0
  371. package/src/services/ecies/index.d.ts.map +1 -0
  372. package/src/services/ecies/{index.ts → index.js} +1 -2
  373. package/src/services/ecies/index.js.map +1 -0
  374. package/src/services/ecies/integration.d.ts +59 -0
  375. package/src/services/ecies/integration.d.ts.map +1 -0
  376. package/src/services/ecies/integration.js +167 -0
  377. package/src/services/ecies/integration.js.map +1 -0
  378. package/src/services/ecies/interfaces.d.ts +54 -0
  379. package/src/services/ecies/interfaces.d.ts.map +1 -0
  380. package/src/services/ecies/interfaces.js +5 -0
  381. package/src/services/ecies/interfaces.js.map +1 -0
  382. package/src/services/ecies/manual-test.d.ts +29 -0
  383. package/src/services/ecies/manual-test.d.ts.map +1 -0
  384. package/src/services/ecies/manual-test.js +163 -0
  385. package/src/services/ecies/manual-test.js.map +1 -0
  386. package/src/services/ecies/multi-recipient.d.ts +56 -0
  387. package/src/services/ecies/multi-recipient.d.ts.map +1 -0
  388. package/src/services/ecies/multi-recipient.js +344 -0
  389. package/src/services/ecies/multi-recipient.js.map +1 -0
  390. package/src/services/ecies/service.d.ts +120 -0
  391. package/src/services/ecies/service.d.ts.map +1 -0
  392. package/src/services/ecies/service.js +210 -0
  393. package/src/services/ecies/service.js.map +1 -0
  394. package/src/services/ecies/signature.d.ts +27 -0
  395. package/src/services/ecies/signature.d.ts.map +1 -0
  396. package/src/services/ecies/signature.js +72 -0
  397. package/src/services/ecies/signature.js.map +1 -0
  398. package/src/services/ecies/single-recipient.d.ts +46 -0
  399. package/src/services/ecies/single-recipient.d.ts.map +1 -0
  400. package/src/services/ecies/single-recipient.js +322 -0
  401. package/src/services/ecies/single-recipient.js.map +1 -0
  402. package/src/services/encryption-stream.d.ts +71 -0
  403. package/src/services/encryption-stream.d.ts.map +1 -0
  404. package/src/services/encryption-stream.js +295 -0
  405. package/src/services/encryption-stream.js.map +1 -0
  406. package/src/services/index.d.ts +11 -0
  407. package/src/services/index.d.ts.map +1 -0
  408. package/src/services/{index.ts → index.js} +1 -0
  409. package/src/services/index.js.map +1 -0
  410. package/src/services/multi-recipient-processor.d.ts +35 -0
  411. package/src/services/multi-recipient-processor.d.ts.map +1 -0
  412. package/src/services/multi-recipient-processor.js +289 -0
  413. package/src/services/multi-recipient-processor.js.map +1 -0
  414. package/src/services/password-login.d.ts +47 -0
  415. package/src/services/password-login.d.ts.map +1 -0
  416. package/src/services/password-login.js +115 -0
  417. package/src/services/password-login.js.map +1 -0
  418. package/src/services/pbkdf2.d.ts +54 -0
  419. package/src/services/pbkdf2.d.ts.map +1 -0
  420. package/src/services/pbkdf2.js +108 -0
  421. package/src/services/pbkdf2.js.map +1 -0
  422. package/src/services/progress-tracker.d.ts +23 -0
  423. package/src/services/progress-tracker.d.ts.map +1 -0
  424. package/src/services/progress-tracker.js +103 -0
  425. package/src/services/progress-tracker.js.map +1 -0
  426. package/src/services/resumable-encryption.d.ts +19 -0
  427. package/src/services/resumable-encryption.d.ts.map +1 -0
  428. package/src/services/resumable-encryption.js +105 -0
  429. package/src/services/resumable-encryption.js.map +1 -0
  430. package/src/services/xor.d.ts +37 -0
  431. package/src/services/xor.d.ts.map +1 -0
  432. package/src/services/xor.js +63 -0
  433. package/src/services/xor.js.map +1 -0
  434. package/src/test-mocks/index.d.ts +2 -0
  435. package/src/test-mocks/index.d.ts.map +1 -0
  436. package/src/test-mocks/index.js +2 -0
  437. package/src/test-mocks/index.js.map +1 -0
  438. package/src/test-mocks/mock-frontend-member.d.ts +85 -0
  439. package/src/test-mocks/mock-frontend-member.d.ts.map +1 -0
  440. package/src/test-mocks/mock-frontend-member.js +190 -0
  441. package/src/test-mocks/mock-frontend-member.js.map +1 -0
  442. package/src/testing.d.ts +2 -0
  443. package/src/testing.d.ts.map +1 -0
  444. package/src/{testing.ts → testing.js} +1 -0
  445. package/src/testing.js.map +1 -0
  446. package/src/translations/de.d.ts +4 -0
  447. package/src/translations/de.d.ts.map +1 -0
  448. package/src/translations/{de.ts → de.js} +56 -112
  449. package/src/translations/de.js.map +1 -0
  450. package/src/translations/en-US.d.ts +4 -0
  451. package/src/translations/en-US.d.ts.map +1 -0
  452. package/src/translations/{en-US.ts → en-US.js} +58 -116
  453. package/src/translations/en-US.js.map +1 -0
  454. package/src/translations/es.d.ts +4 -0
  455. package/src/translations/es.d.ts.map +1 -0
  456. package/src/translations/{es.ts → es.js} +67 -134
  457. package/src/translations/es.js.map +1 -0
  458. package/src/translations/fr.d.ts +4 -0
  459. package/src/translations/fr.d.ts.map +1 -0
  460. package/src/translations/{fr.ts → fr.js} +64 -129
  461. package/src/translations/fr.js.map +1 -0
  462. package/src/translations/ja.d.ts +4 -0
  463. package/src/translations/ja.d.ts.map +1 -0
  464. package/src/translations/{ja.ts → ja.js} +55 -111
  465. package/src/translations/ja.js.map +1 -0
  466. package/src/translations/uk.d.ts +4 -0
  467. package/src/translations/uk.d.ts.map +1 -0
  468. package/src/translations/{uk.ts → uk.js} +67 -132
  469. package/src/translations/uk.js.map +1 -0
  470. package/src/translations/zh-cn.d.ts +4 -0
  471. package/src/translations/zh-cn.d.ts.map +1 -0
  472. package/src/translations/{zh-cn.ts → zh-cn.js} +29 -60
  473. package/src/translations/zh-cn.js.map +1 -0
  474. package/src/types/deep-partial.d.ts +4 -0
  475. package/src/types/deep-partial.d.ts.map +1 -0
  476. package/src/types/deep-partial.js +2 -0
  477. package/src/types/deep-partial.js.map +1 -0
  478. package/src/{types.ts → types.d.ts} +7 -15
  479. package/src/types.d.ts.map +1 -0
  480. package/src/types.js +2 -0
  481. package/src/types.js.map +1 -0
  482. package/src/utils/encryption-type-utils.d.ts +29 -0
  483. package/src/utils/encryption-type-utils.d.ts.map +1 -0
  484. package/src/utils/encryption-type-utils.js +61 -0
  485. package/src/utils/encryption-type-utils.js.map +1 -0
  486. package/src/utils.d.ts +68 -0
  487. package/src/utils.d.ts.map +1 -0
  488. package/src/utils.js +273 -0
  489. package/src/utils.js.map +1 -0
  490. package/LICENSE +0 -21
  491. package/src/builders/ecies-builder.ts +0 -39
  492. package/src/builders/member-builder.ts +0 -155
  493. package/src/constants.ts +0 -609
  494. package/src/core/errors/crypto-error.ts +0 -78
  495. package/src/core/types/result.ts +0 -19
  496. package/src/email-string.ts +0 -82
  497. package/src/enumerations/disposed-error-type.ts +0 -11
  498. package/src/enumerations/ecies-cipher-suite.ts +0 -4
  499. package/src/enumerations/ecies-encryption-type.ts +0 -41
  500. package/src/enumerations/ecies-error-type.ts +0 -43
  501. package/src/enumerations/ecies-string-key.ts +0 -205
  502. package/src/enumerations/ecies-version.ts +0 -3
  503. package/src/enumerations/guid-brand-type.ts +0 -26
  504. package/src/enumerations/guid-error-type.ts +0 -6
  505. package/src/enumerations/id-provider-error-type.ts +0 -50
  506. package/src/enumerations/invalid-email-type.ts +0 -5
  507. package/src/enumerations/length-encoding-type.ts +0 -6
  508. package/src/enumerations/length-error-type.ts +0 -5
  509. package/src/enumerations/member-error-type.ts +0 -106
  510. package/src/enumerations/password-login-error-type.ts +0 -4
  511. package/src/enumerations/pbkdf2-error-type.ts +0 -5
  512. package/src/enumerations/pbkdf2-profile.ts +0 -5
  513. package/src/enumerations/secure-storage-error-type.ts +0 -5
  514. package/src/errors/disposed.ts +0 -36
  515. package/src/errors/ecies.ts +0 -153
  516. package/src/errors/guid.ts +0 -130
  517. package/src/errors/id-provider.ts +0 -40
  518. package/src/errors/invalid-email.ts +0 -23
  519. package/src/errors/length.ts +0 -19
  520. package/src/errors/member.ts +0 -20
  521. package/src/errors/pbkdf2.ts +0 -20
  522. package/src/errors/secure-storage.ts +0 -17
  523. package/src/errors/simple-ecies.ts +0 -21
  524. package/src/errors/simple-test-error.ts +0 -6
  525. package/src/i18n-setup.ts +0 -130
  526. package/src/interfaces/checksum-config.ts +0 -4
  527. package/src/interfaces/checksum-consts.ts +0 -13
  528. package/src/interfaces/configuration-provenance.ts +0 -54
  529. package/src/interfaces/constants.ts +0 -75
  530. package/src/interfaces/ecies-config.ts +0 -8
  531. package/src/interfaces/ecies-consts.ts +0 -76
  532. package/src/interfaces/ecies-file-service.ts +0 -6
  533. package/src/interfaces/encrypted-chunk.ts +0 -64
  534. package/src/interfaces/encryption-state.ts +0 -19
  535. package/src/interfaces/frontend-member-operational.ts +0 -77
  536. package/src/interfaces/guid.ts +0 -86
  537. package/src/interfaces/id-provider.ts +0 -152
  538. package/src/interfaces/invariant.ts +0 -60
  539. package/src/interfaces/library-error.ts +0 -23
  540. package/src/interfaces/member.ts +0 -84
  541. package/src/interfaces/multi-recipient-chunk.ts +0 -61
  542. package/src/interfaces/pbkdf2-config.ts +0 -6
  543. package/src/interfaces/pbkdf2-consts.ts +0 -10
  544. package/src/interfaces/pbkdf2-result.ts +0 -5
  545. package/src/interfaces/stream-config.ts +0 -17
  546. package/src/interfaces/stream-header.ts +0 -34
  547. package/src/interfaces/stream-progress.ts +0 -31
  548. package/src/lib/configuration-provenance-utils.ts +0 -29
  549. package/src/lib/crypto-container.ts +0 -64
  550. package/src/lib/guid.ts +0 -1097
  551. package/src/lib/id-providers/custom-provider.ts +0 -109
  552. package/src/lib/id-providers/guidv4-provider.ts +0 -141
  553. package/src/lib/id-providers/objectid-provider.ts +0 -125
  554. package/src/lib/id-providers/uuid-provider.ts +0 -133
  555. package/src/lib/invariant-validator.ts +0 -133
  556. package/src/lib/invariants/encryption-algorithm-consistency.ts +0 -73
  557. package/src/lib/invariants/pbkdf2-profiles-validity.ts +0 -78
  558. package/src/lib/invariants/recipient-id-consistency.ts +0 -46
  559. package/src/lib/multi-recipient-chunk-utils.ts +0 -63
  560. package/src/member.ts +0 -495
  561. package/src/phone-number.ts +0 -18
  562. package/src/regexes.ts +0 -10
  563. package/src/secure-buffer.ts +0 -226
  564. package/src/secure-string.ts +0 -244
  565. package/src/services/aes-gcm.ts +0 -220
  566. package/src/services/chunk-processor.ts +0 -188
  567. package/src/services/ecies/README.md +0 -147
  568. package/src/services/ecies/crypto-core.ts +0 -292
  569. package/src/services/ecies/example.ts +0 -185
  570. package/src/services/ecies/file.ts +0 -167
  571. package/src/services/ecies/integration.ts +0 -241
  572. package/src/services/ecies/interfaces.ts +0 -62
  573. package/src/services/ecies/manual-test.ts +0 -219
  574. package/src/services/ecies/multi-recipient.ts +0 -545
  575. package/src/services/ecies/service.ts +0 -370
  576. package/src/services/ecies/signature.ts +0 -93
  577. package/src/services/ecies/single-recipient.ts +0 -476
  578. package/src/services/encryption-stream.ts +0 -435
  579. package/src/services/multi-recipient-processor.ts +0 -377
  580. package/src/services/password-login.ts +0 -226
  581. package/src/services/pbkdf2.ts +0 -169
  582. package/src/services/progress-tracker.ts +0 -128
  583. package/src/services/resumable-encryption.ts +0 -135
  584. package/src/services/xor.ts +0 -65
  585. package/src/test-mocks/index.ts +0 -1
  586. package/src/test-mocks/mock-frontend-member.ts +0 -276
  587. package/src/types/deep-partial.ts +0 -11
  588. package/src/utils/encryption-type-utils.ts +0 -76
  589. package/src/utils.ts +0 -329
@@ -0,0 +1,446 @@
1
+ import { ECIESErrorTypeEnum, EciesStringKey } from './enumerations';
2
+ import { Pbkdf2ProfileEnum } from './enumerations/pbkdf2-profile';
3
+ import { ECIESError } from './errors/ecies';
4
+ import { EciesComponentId, getEciesI18nEngine } from './i18n-setup';
5
+ import { calculateConfigChecksum, captureCreationStack, } from './interfaces/configuration-provenance';
6
+ import { ObjectIdProvider } from './lib/id-providers/objectid-provider';
7
+ import { InvariantValidator } from './lib/invariant-validator';
8
+ import { MNEMONIC_REGEX, PASSWORD_REGEX } from './regexes';
9
+ export const UINT8_SIZE = 1;
10
+ export const UINT16_SIZE = 2;
11
+ export const UINT16_MAX = 65535;
12
+ export const UINT32_SIZE = 4;
13
+ export const UINT32_MAX = 4294967295;
14
+ export const UINT64_SIZE = 8;
15
+ export const UINT64_MAX = 18446744073709551615n;
16
+ export const OBJECT_ID_LENGTH = 12;
17
+ if (OBJECT_ID_LENGTH !== 12) {
18
+ console.warn('ObjectID length may have changed, breaking encryption', OBJECT_ID_LENGTH);
19
+ }
20
+ /**
21
+ * Constants for checksum operations
22
+ * These values are critical for data integrity and MUST NOT be changed
23
+ * in an already established system as it will break all existing checksums.
24
+ */
25
+ export const CHECKSUM = Object.freeze({
26
+ /** Default hash bits for SHA3 */
27
+ SHA3_DEFAULT_HASH_BITS: 512,
28
+ /** Length of a SHA3 checksum buffer in bytes */
29
+ SHA3_BUFFER_LENGTH: 64,
30
+ /** algorithm to use for checksum */
31
+ ALGORITHM: 'sha3-512',
32
+ /** encoding to use for checksum */
33
+ ENCODING: 'hex',
34
+ });
35
+ export const PBKDF2 = Object.freeze({
36
+ ALGORITHM: 'SHA-256',
37
+ SALT_BYTES: 32,
38
+ /**
39
+ * Number of pbkdf2 iterations per second when hashing a password.
40
+ * This is the high-security default for user login operations.
41
+ */
42
+ ITERATIONS_PER_SECOND: 1304000,
43
+ });
44
+ export const PBKDF2_PROFILES = Object.freeze({
45
+ [Pbkdf2ProfileEnum.BROWSER_PASSWORD]: Object.freeze({
46
+ hashBytes: 32,
47
+ saltBytes: 64,
48
+ iterations: 2000000,
49
+ algorithm: 'SHA-512',
50
+ }),
51
+ [Pbkdf2ProfileEnum.HIGH_SECURITY]: Object.freeze({
52
+ hashBytes: 64,
53
+ saltBytes: 32,
54
+ iterations: 5000000,
55
+ algorithm: 'SHA-256',
56
+ }),
57
+ [Pbkdf2ProfileEnum.TEST_FAST]: Object.freeze({
58
+ hashBytes: 32,
59
+ saltBytes: 64,
60
+ iterations: 1000,
61
+ algorithm: 'SHA-512',
62
+ }),
63
+ });
64
+ const ECIES_SYMMETRIC_KEY_SIZE = 32;
65
+ const ECIES_PUBLIC_KEY_LENGTH = 33;
66
+ const ECIES_RAW_PUBLIC_KEY_LENGTH = 32;
67
+ const ECIES_IV_SIZE = 12;
68
+ const ECIES_AUTH_TAG_SIZE = 16;
69
+ const ECIES_MULTIPLE_RECIPIENT_ID_SIZE = 12;
70
+ const ECIES_VERSION_SIZE = 1;
71
+ const ECIES_CIPHER_SUITE_SIZE = 1;
72
+ // Define the expected value for SIMPLE.FIXED_OVERHEAD_SIZE
73
+ const expectedSimpleOverhead = ECIES_VERSION_SIZE +
74
+ ECIES_CIPHER_SUITE_SIZE +
75
+ UINT8_SIZE +
76
+ ECIES_PUBLIC_KEY_LENGTH +
77
+ ECIES_IV_SIZE +
78
+ ECIES_AUTH_TAG_SIZE;
79
+ // Define the expected value for MULTIPLE.FIXED_OVERHEAD_SIZE
80
+ // Includes: version (1) + cipher suite (1) + type (1) + public key (33) + IV (16) + auth tag (16) = 68 (no CRC, AES-GCM provides authentication)
81
+ const expectedMultipleOverhead = ECIES_VERSION_SIZE +
82
+ ECIES_CIPHER_SUITE_SIZE +
83
+ UINT8_SIZE +
84
+ ECIES_PUBLIC_KEY_LENGTH +
85
+ ECIES_IV_SIZE +
86
+ ECIES_AUTH_TAG_SIZE;
87
+ // Update ENCRYPTED_KEY_SIZE to match Simple encryption (no CRC)
88
+ // Now only contains IV + Tag + EncryptedSymKey (Public Key is moved to global header)
89
+ const expectedMultipleEncryptedKeySize = ECIES_IV_SIZE + ECIES_AUTH_TAG_SIZE + ECIES_SYMMETRIC_KEY_SIZE;
90
+ export const ECIES = Object.freeze({
91
+ /** The elliptic curve to use for all ECDSA operations */
92
+ CURVE_NAME: 'secp256k1',
93
+ /** The primary key derivation path for HD wallets */
94
+ PRIMARY_KEY_DERIVATION_PATH: "m/44'/60'/0'/0/0",
95
+ SYMMETRIC_ALGORITHM_CONFIGURATION: 'aes-256-gcm',
96
+ /** Length of ECDSA signatures in bytes */
97
+ SIGNATURE_SIZE: 64,
98
+ /** Length of raw public keys in bytes (without 0x04 prefix) */
99
+ RAW_PUBLIC_KEY_LENGTH: ECIES_RAW_PUBLIC_KEY_LENGTH,
100
+ /** Length of public keys in bytes (with 0x02/0x03 prefix) */
101
+ PUBLIC_KEY_LENGTH: ECIES_PUBLIC_KEY_LENGTH,
102
+ PUBLIC_KEY_MAGIC: 0x02, // Compressed keys start with 0x02 or 0x03
103
+ /** Mnemonic strength in bits. This will produce a 32-bit key for ECDSA */
104
+ MNEMONIC_STRENGTH: 256,
105
+ /** Symmetric encryption algorithm configuration */
106
+ SYMMETRIC: Object.freeze({
107
+ ALGORITHM: 'aes',
108
+ MODE: 'gcm',
109
+ KEY_BITS: 256,
110
+ KEY_SIZE: ECIES_SYMMETRIC_KEY_SIZE, // KEY_BITS / 8
111
+ }),
112
+ IV_SIZE: ECIES_IV_SIZE,
113
+ AUTH_TAG_SIZE: ECIES_AUTH_TAG_SIZE,
114
+ MAX_RAW_DATA_SIZE: 9007199254740991, // 2^53 - 1 (max safe integer for JS)
115
+ VERSION_SIZE: ECIES_VERSION_SIZE,
116
+ CIPHER_SUITE_SIZE: ECIES_CIPHER_SUITE_SIZE,
117
+ ENCRYPTION_TYPE_SIZE: 1,
118
+ /**
119
+ * Message encrypts without data length or crc
120
+ */
121
+ SIMPLE: Object.freeze({
122
+ FIXED_OVERHEAD_SIZE: expectedSimpleOverhead, // version (1) + cipher suite (1) + type (1) + public key (33) + IV (16) + auth tag (16)
123
+ DATA_LENGTH_SIZE: 0,
124
+ }),
125
+ /**
126
+ * Message encrypts with data length but no CRC (AES-GCM provides authentication)
127
+ */
128
+ SINGLE: Object.freeze({
129
+ FIXED_OVERHEAD_SIZE: expectedSimpleOverhead + 8, // version (1) + cipher suite (1) + type (1) + public key (33) + IV (16) + auth tag (16) + data length (8)
130
+ DATA_LENGTH_SIZE: 8,
131
+ }),
132
+ /**
133
+ * Message encrypts for multiple recipients
134
+ */
135
+ MULTIPLE: Object.freeze({
136
+ FIXED_OVERHEAD_SIZE: expectedMultipleOverhead, // version (1) + cipher suite (1) + type (1) + public key (33) + IV (16) + auth tag (16)
137
+ ENCRYPTED_KEY_SIZE: expectedMultipleEncryptedKeySize, // 64
138
+ MAX_RECIPIENTS: 65535,
139
+ RECIPIENT_ID_SIZE: ECIES_MULTIPLE_RECIPIENT_ID_SIZE,
140
+ RECIPIENT_COUNT_SIZE: 2,
141
+ DATA_LENGTH_SIZE: 8,
142
+ }),
143
+ ENCRYPTION_TYPE: Object.freeze({
144
+ SIMPLE: 33,
145
+ SINGLE: 66,
146
+ MULTIPLE: 99,
147
+ }),
148
+ });
149
+ /**
150
+ * Default ID provider instance (singleton).
151
+ * Uses MongoDB ObjectID format (12 bytes).
152
+ */
153
+ const DEFAULT_ID_PROVIDER = new ObjectIdProvider();
154
+ export const Constants = Object.freeze({
155
+ UINT8_SIZE: UINT8_SIZE,
156
+ UINT16_SIZE: UINT16_SIZE,
157
+ UINT16_MAX: UINT16_MAX,
158
+ UINT32_SIZE: UINT32_SIZE,
159
+ UINT32_MAX: UINT32_MAX,
160
+ UINT64_SIZE: UINT64_SIZE,
161
+ UINT64_MAX: UINT64_MAX,
162
+ HEX_RADIX: 16,
163
+ MEMBER_ID_LENGTH: DEFAULT_ID_PROVIDER.byteLength,
164
+ OBJECT_ID_LENGTH: OBJECT_ID_LENGTH,
165
+ idProvider: DEFAULT_ID_PROVIDER,
166
+ CHECKSUM: CHECKSUM,
167
+ ECIES: ECIES,
168
+ PBKDF2: PBKDF2,
169
+ PBKDF2_PROFILES: PBKDF2_PROFILES,
170
+ /**
171
+ * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
172
+ */
173
+ BcryptRounds: 10,
174
+ /**
175
+ * Minimum password length
176
+ */
177
+ PasswordMinLength: 8,
178
+ /**
179
+ * The regular expression for valid passwords.
180
+ */
181
+ PasswordRegex: PASSWORD_REGEX,
182
+ /**
183
+ * The regular expression for valid mnemonic phrases.
184
+ * BIP39 - supports 12, 15, 18, 21, or 24 word mnemonics
185
+ */
186
+ MnemonicRegex: MNEMONIC_REGEX,
187
+ /**
188
+ * Matches a 64-character hexadecimal string (SHA-256).
189
+ */
190
+ MnemonicHmacRegex: /^[a-f0-9]{64}$/,
191
+ });
192
+ const DEFAULT_CONFIGURATION_KEY = Symbol.for('digitaldefiance.ecies.constants.default');
193
+ function isPlainObject(value) {
194
+ if (value === null) {
195
+ return false;
196
+ }
197
+ if (typeof value !== 'object') {
198
+ return false;
199
+ }
200
+ if (Array.isArray(value)) {
201
+ return false;
202
+ }
203
+ if (value instanceof RegExp || value instanceof Date) {
204
+ return false;
205
+ }
206
+ return Object.getPrototypeOf(value) === Object.prototype;
207
+ }
208
+ function deepClone(input) {
209
+ if (input === null || input === undefined) {
210
+ return input;
211
+ }
212
+ if (typeof input !== 'object') {
213
+ return input;
214
+ }
215
+ if (Array.isArray(input)) {
216
+ return input.map((item) => deepClone(item));
217
+ }
218
+ if (input instanceof RegExp) {
219
+ return new RegExp(input.source, input.flags);
220
+ }
221
+ if (input instanceof Date) {
222
+ return new Date(input.getTime());
223
+ }
224
+ if (isPlainObject(input)) {
225
+ const result = {};
226
+ for (const [key, value] of Object.entries(input)) {
227
+ result[key] = deepClone(value);
228
+ }
229
+ return result;
230
+ }
231
+ return input;
232
+ }
233
+ function applyOverrides(target, overrides) {
234
+ if (!overrides) {
235
+ return target;
236
+ }
237
+ for (const [key, overrideValue] of Object.entries(overrides)) {
238
+ const typedKey = key;
239
+ if (overrideValue === undefined) {
240
+ continue;
241
+ }
242
+ const currentValue = target[typedKey];
243
+ if (isPlainObject(currentValue) && isPlainObject(overrideValue)) {
244
+ target[typedKey] = applyOverrides(currentValue, overrideValue);
245
+ }
246
+ else {
247
+ target[typedKey] =
248
+ deepClone(overrideValue);
249
+ }
250
+ }
251
+ return target;
252
+ }
253
+ function deepFreeze(value) {
254
+ if (value === null || typeof value !== 'object') {
255
+ return value;
256
+ }
257
+ if (Object.isFrozen(value)) {
258
+ return value;
259
+ }
260
+ Object.freeze(value);
261
+ for (const property of Object.getOwnPropertyNames(value)) {
262
+ const nestedValue = value[property];
263
+ if (nestedValue && typeof nestedValue === 'object') {
264
+ deepFreeze(nestedValue);
265
+ }
266
+ }
267
+ return value;
268
+ }
269
+ function computeMultipleEncryptedKeySize(ecies) {
270
+ return ecies.IV_SIZE + ecies.AUTH_TAG_SIZE + ecies.SYMMETRIC.KEY_SIZE;
271
+ }
272
+ function validateConstants(config) {
273
+ const checksum = config.CHECKSUM;
274
+ const ecies = config.ECIES;
275
+ if (checksum.SHA3_BUFFER_LENGTH !== checksum.SHA3_DEFAULT_HASH_BITS / 8 ||
276
+ checksum.SHA3_BUFFER_LENGTH !== checksum.SHA3_DEFAULT_HASH_BITS / 8) {
277
+ const engine = getEciesI18nEngine();
278
+ throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_ECIESError_InvalidChecksumConstants));
279
+ }
280
+ const expectedEncryptedKeySize = computeMultipleEncryptedKeySize(ecies);
281
+ if (ecies.MULTIPLE.ENCRYPTED_KEY_SIZE !== expectedEncryptedKeySize) {
282
+ throw new ECIESError(ECIESErrorTypeEnum.InvalidECIESMultipleEncryptedKeySize);
283
+ }
284
+ if (ecies.PUBLIC_KEY_LENGTH !== ecies.RAW_PUBLIC_KEY_LENGTH + 1) {
285
+ throw new ECIESError(ECIESErrorTypeEnum.InvalidECIESPublicKeyLength);
286
+ }
287
+ if (ecies.MULTIPLE.RECIPIENT_COUNT_SIZE !== UINT16_SIZE) {
288
+ throw new ECIESError(ECIESErrorTypeEnum.InvalidECIESMultipleRecipientCountSize);
289
+ }
290
+ if (ecies.MULTIPLE.DATA_LENGTH_SIZE !== UINT64_SIZE) {
291
+ throw new ECIESError(ECIESErrorTypeEnum.InvalidECIESMultipleDataLengthSize);
292
+ }
293
+ // Validate ID provider is present and valid
294
+ if (!config.idProvider) {
295
+ throw new Error('ID provider is required in constants configuration');
296
+ }
297
+ if (typeof config.idProvider.byteLength !== 'number' ||
298
+ config.idProvider.byteLength < 1 ||
299
+ config.idProvider.byteLength > 255) {
300
+ throw new Error(`Invalid ID provider byteLength: ${config.idProvider.byteLength}. Must be between 1 and 255.`);
301
+ }
302
+ // Validate MEMBER_ID_LENGTH matches ID provider
303
+ if (config.MEMBER_ID_LENGTH !== config.idProvider.byteLength) {
304
+ throw new Error(`MEMBER_ID_LENGTH (${config.MEMBER_ID_LENGTH}) must match idProvider.byteLength (${config.idProvider.byteLength})`);
305
+ }
306
+ // NOTE: We now validate against idProvider.byteLength instead of OBJECT_ID_LENGTH
307
+ // This allows for flexible ID sizes (12 bytes for ObjectID, 16 for GUID, 32 for legacy, etc.)
308
+ if (ecies.MULTIPLE.RECIPIENT_ID_SIZE !== config.idProvider.byteLength) {
309
+ throw new ECIESError(ECIESErrorTypeEnum.InvalidECIESMultipleRecipientIdSize);
310
+ }
311
+ }
312
+ validateConstants(Constants);
313
+ const configurationRegistry = new Map();
314
+ configurationRegistry.set(DEFAULT_CONFIGURATION_KEY, Constants);
315
+ // Provenance tracking
316
+ const provenanceRegistry = new Map();
317
+ provenanceRegistry.set(DEFAULT_CONFIGURATION_KEY, {
318
+ baseConfigKey: 'none',
319
+ overrides: {},
320
+ timestamp: new Date(),
321
+ source: 'default',
322
+ checksum: calculateConfigChecksum(Constants),
323
+ description: 'Built-in default configuration',
324
+ });
325
+ function isFullConstantsConfig(value) {
326
+ if (!isPlainObject(value)) {
327
+ return false;
328
+ }
329
+ const candidate = value;
330
+ return (candidate.CHECKSUM !== undefined &&
331
+ candidate.ECIES !== undefined &&
332
+ candidate.PBKDF2 !== undefined &&
333
+ candidate.PBKDF2_PROFILES !== undefined &&
334
+ candidate.idProvider !== undefined);
335
+ }
336
+ export function createRuntimeConfiguration(overrides, base = Constants) {
337
+ const merged = deepClone(base);
338
+ applyOverrides(merged, overrides);
339
+ // Auto-sync MEMBER_ID_LENGTH with idProvider.byteLength if provider changed
340
+ if (merged.idProvider && merged.idProvider !== base.idProvider) {
341
+ merged.MEMBER_ID_LENGTH = merged.idProvider.byteLength;
342
+ }
343
+ // Auto-sync ECIES.MULTIPLE.RECIPIENT_ID_SIZE with idProvider.byteLength if provider changed
344
+ if (merged.idProvider && merged.idProvider !== base.idProvider) {
345
+ merged.ECIES = {
346
+ ...merged.ECIES,
347
+ MULTIPLE: {
348
+ ...merged.ECIES.MULTIPLE,
349
+ RECIPIENT_ID_SIZE: merged.idProvider.byteLength,
350
+ },
351
+ };
352
+ }
353
+ // Validate individual properties
354
+ validateConstants(merged);
355
+ // Validate all invariants (relationships between properties)
356
+ InvariantValidator.validateAll(merged);
357
+ return deepFreeze(merged);
358
+ }
359
+ export class ConstantsRegistry {
360
+ static DEFAULT_KEY = DEFAULT_CONFIGURATION_KEY;
361
+ static listKeys() {
362
+ return Array.from(configurationRegistry.keys());
363
+ }
364
+ static has(key) {
365
+ return configurationRegistry.has(key);
366
+ }
367
+ static get(key = DEFAULT_CONFIGURATION_KEY) {
368
+ return (configurationRegistry.get(key) ??
369
+ configurationRegistry.get(DEFAULT_CONFIGURATION_KEY));
370
+ }
371
+ /**
372
+ * Get provenance information for a configuration
373
+ */
374
+ static getProvenance(key = DEFAULT_CONFIGURATION_KEY) {
375
+ return provenanceRegistry.get(key);
376
+ }
377
+ /**
378
+ * List all configurations with their provenance
379
+ */
380
+ static listWithProvenance() {
381
+ return Array.from(configurationRegistry.entries()).map(([key, config]) => ({
382
+ key,
383
+ config,
384
+ provenance: provenanceRegistry.get(key),
385
+ }));
386
+ }
387
+ static create(overrides, baseKey = DEFAULT_CONFIGURATION_KEY) {
388
+ const baseConfig = ConstantsRegistry.get(baseKey);
389
+ return createRuntimeConfiguration(overrides, baseConfig);
390
+ }
391
+ static register(key, configOrOverrides, options) {
392
+ if (key === DEFAULT_CONFIGURATION_KEY) {
393
+ const engine = getEciesI18nEngine();
394
+ throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_ECIESError_CannotOverwriteDefaultConfiguration));
395
+ }
396
+ const baseKey = options?.baseKey ?? DEFAULT_CONFIGURATION_KEY;
397
+ const baseConfig = ConstantsRegistry.get(baseKey);
398
+ const isFullConfig = isFullConstantsConfig(configOrOverrides);
399
+ const configuration = isFullConfig
400
+ ? createRuntimeConfiguration(undefined, configOrOverrides)
401
+ : createRuntimeConfiguration(configOrOverrides, baseConfig);
402
+ // Track provenance
403
+ const provenance = {
404
+ baseConfigKey: typeof baseKey === 'symbol' ? baseKey.toString() : baseKey,
405
+ overrides: isFullConfig ? {} : configOrOverrides ?? {},
406
+ timestamp: new Date(),
407
+ source: isFullConfig ? 'custom' : 'runtime',
408
+ checksum: calculateConfigChecksum(configuration),
409
+ description: options?.description,
410
+ creationStack: captureCreationStack(),
411
+ };
412
+ configurationRegistry.set(key, configuration);
413
+ provenanceRegistry.set(key, provenance);
414
+ return configuration;
415
+ }
416
+ static unregister(key) {
417
+ if (key === DEFAULT_CONFIGURATION_KEY) {
418
+ return false;
419
+ }
420
+ provenanceRegistry.delete(key);
421
+ return configurationRegistry.delete(key);
422
+ }
423
+ static clear() {
424
+ const defaultProvenance = provenanceRegistry.get(DEFAULT_CONFIGURATION_KEY);
425
+ configurationRegistry.clear();
426
+ provenanceRegistry.clear();
427
+ configurationRegistry.set(DEFAULT_CONFIGURATION_KEY, Constants);
428
+ if (defaultProvenance) {
429
+ provenanceRegistry.set(DEFAULT_CONFIGURATION_KEY, defaultProvenance);
430
+ }
431
+ }
432
+ }
433
+ export function getRuntimeConfiguration(key = DEFAULT_CONFIGURATION_KEY) {
434
+ return ConstantsRegistry.get(key);
435
+ }
436
+ export function registerRuntimeConfiguration(key, configOrOverrides, options) {
437
+ return ConstantsRegistry.register(key, configOrOverrides, options);
438
+ }
439
+ export function unregisterRuntimeConfiguration(key) {
440
+ return ConstantsRegistry.unregister(key);
441
+ }
442
+ export function clearRuntimeConfigurations() {
443
+ ConstantsRegistry.clear();
444
+ }
445
+ export { MNEMONIC_REGEX, PASSWORD_REGEX } from './regexes';
446
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Unified error class for all crypto operations
3
+ * Consolidates ECIESError, MemberError, Pbkdf2Error, etc.
4
+ */
5
+ import { EciesStringKey } from '../../enumerations/ecies-string-key';
6
+ export declare enum CryptoErrorCode {
7
+ DECRYPTION_FAILED = "DECRYPTION_FAILED",
8
+ INVALID_KEY_SIZE = "INVALID_KEY_SIZE",
9
+ INVALID_ENCRYPTION_TYPE = "INVALID_ENCRYPTION_TYPE",
10
+ INVALID_PUBLIC_KEY = "INVALID_PUBLIC_KEY",
11
+ RECIPIENT_NOT_FOUND = "RECIPIENT_NOT_FOUND",
12
+ TOO_MANY_RECIPIENTS = "TOO_MANY_RECIPIENTS",
13
+ MISSING_MEMBER_NAME = "MISSING_MEMBER_NAME",
14
+ INVALID_EMAIL = "INVALID_EMAIL",
15
+ WALLET_NOT_LOADED = "WALLET_NOT_LOADED",
16
+ INVALID_MNEMONIC = "INVALID_MNEMONIC",
17
+ INVALID_PROFILE = "INVALID_PROFILE",
18
+ INVALID_SALT_LENGTH = "INVALID_SALT_LENGTH",
19
+ INVALID_HASH_LENGTH = "INVALID_HASH_LENGTH",
20
+ VALUE_IS_NULL = "VALUE_IS_NULL",
21
+ CHECKSUM_MISMATCH = "CHECKSUM_MISMATCH",
22
+ PASSWORD_LOGIN_NOT_SETUP = "PASSWORD_LOGIN_NOT_SETUP",
23
+ FAILED_TO_STORE_LOGIN_DATA = "FAILED_TO_STORE_LOGIN_DATA"
24
+ }
25
+ export declare class CryptoError extends Error {
26
+ readonly code: CryptoErrorCode;
27
+ readonly stringKey: EciesStringKey;
28
+ readonly metadata?: Record<string, string | number> | undefined;
29
+ constructor(code: CryptoErrorCode, stringKey: EciesStringKey, metadata?: Record<string, string | number> | undefined);
30
+ static decryptionFailed(metadata?: Record<string, string | number>): CryptoError;
31
+ static invalidProfile(metadata?: Record<string, string | number>): CryptoError;
32
+ static invalidEmail(metadata?: Record<string, string | number>): CryptoError;
33
+ }
34
+ //# sourceMappingURL=crypto-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-error.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/core/errors/crypto-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGrE,oBAAY,eAAe;IAEzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IAGrC,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IAGvC,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;CAC1D;AAED,qBAAa,WAAY,SAAQ,KAAK;aAElB,IAAI,EAAE,eAAe;aACrB,SAAS,EAAE,cAAc;aAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBAFnD,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,cAAc,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAA;IASrE,MAAM,CAAC,gBAAgB,CACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,WAAW;IAQd,MAAM,CAAC,cAAc,CACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,WAAW;IAQd,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,WAAW;CAO7E"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Unified error class for all crypto operations
3
+ * Consolidates ECIESError, MemberError, Pbkdf2Error, etc.
4
+ */
5
+ import { EciesStringKey } from '../../enumerations/ecies-string-key';
6
+ import { EciesComponentId, getEciesI18nEngine } from '../../i18n-setup';
7
+ export var CryptoErrorCode;
8
+ (function (CryptoErrorCode) {
9
+ // ECIES Errors
10
+ CryptoErrorCode["DECRYPTION_FAILED"] = "DECRYPTION_FAILED";
11
+ CryptoErrorCode["INVALID_KEY_SIZE"] = "INVALID_KEY_SIZE";
12
+ CryptoErrorCode["INVALID_ENCRYPTION_TYPE"] = "INVALID_ENCRYPTION_TYPE";
13
+ CryptoErrorCode["INVALID_PUBLIC_KEY"] = "INVALID_PUBLIC_KEY";
14
+ CryptoErrorCode["RECIPIENT_NOT_FOUND"] = "RECIPIENT_NOT_FOUND";
15
+ CryptoErrorCode["TOO_MANY_RECIPIENTS"] = "TOO_MANY_RECIPIENTS";
16
+ // Member Errors
17
+ CryptoErrorCode["MISSING_MEMBER_NAME"] = "MISSING_MEMBER_NAME";
18
+ CryptoErrorCode["INVALID_EMAIL"] = "INVALID_EMAIL";
19
+ CryptoErrorCode["WALLET_NOT_LOADED"] = "WALLET_NOT_LOADED";
20
+ CryptoErrorCode["INVALID_MNEMONIC"] = "INVALID_MNEMONIC";
21
+ // PBKDF2 Errors
22
+ CryptoErrorCode["INVALID_PROFILE"] = "INVALID_PROFILE";
23
+ CryptoErrorCode["INVALID_SALT_LENGTH"] = "INVALID_SALT_LENGTH";
24
+ CryptoErrorCode["INVALID_HASH_LENGTH"] = "INVALID_HASH_LENGTH";
25
+ // Storage Errors
26
+ CryptoErrorCode["VALUE_IS_NULL"] = "VALUE_IS_NULL";
27
+ CryptoErrorCode["CHECKSUM_MISMATCH"] = "CHECKSUM_MISMATCH";
28
+ // Password Login Errors
29
+ CryptoErrorCode["PASSWORD_LOGIN_NOT_SETUP"] = "PASSWORD_LOGIN_NOT_SETUP";
30
+ CryptoErrorCode["FAILED_TO_STORE_LOGIN_DATA"] = "FAILED_TO_STORE_LOGIN_DATA";
31
+ })(CryptoErrorCode || (CryptoErrorCode = {}));
32
+ export class CryptoError extends Error {
33
+ code;
34
+ stringKey;
35
+ metadata;
36
+ constructor(code, stringKey, metadata) {
37
+ const engine = getEciesI18nEngine();
38
+ const message = engine.translate(EciesComponentId, stringKey, metadata);
39
+ super(message);
40
+ this.code = code;
41
+ this.stringKey = stringKey;
42
+ this.metadata = metadata;
43
+ this.name = 'CryptoError';
44
+ Object.setPrototypeOf(this, CryptoError.prototype);
45
+ }
46
+ static decryptionFailed(metadata) {
47
+ return new CryptoError(CryptoErrorCode.DECRYPTION_FAILED, EciesStringKey.Error_ECIESError_DecryptionFailed, metadata);
48
+ }
49
+ static invalidProfile(metadata) {
50
+ return new CryptoError(CryptoErrorCode.INVALID_PROFILE, EciesStringKey.Error_Pbkdf2Error_InvalidProfile, metadata);
51
+ }
52
+ static invalidEmail(metadata) {
53
+ return new CryptoError(CryptoErrorCode.INVALID_EMAIL, EciesStringKey.Error_MemberError_InvalidEmail, metadata);
54
+ }
55
+ }
56
+ //# sourceMappingURL=crypto-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-error.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/core/errors/crypto-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,CAAN,IAAY,eA2BX;AA3BD,WAAY,eAAe;IACzB,eAAe;IACf,0DAAuC,CAAA;IACvC,wDAAqC,CAAA;IACrC,sEAAmD,CAAA;IACnD,4DAAyC,CAAA;IACzC,8DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAE3C,gBAAgB;IAChB,8DAA2C,CAAA;IAC3C,kDAA+B,CAAA;IAC/B,0DAAuC,CAAA;IACvC,wDAAqC,CAAA;IAErC,gBAAgB;IAChB,sDAAmC,CAAA;IACnC,8DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAE3C,iBAAiB;IACjB,kDAA+B,CAAA;IAC/B,0DAAuC,CAAA;IAEvC,wBAAwB;IACxB,wEAAqD,CAAA;IACrD,4EAAyD,CAAA;AAC3D,CAAC,EA3BW,eAAe,KAAf,eAAe,QA2B1B;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB;IACA;IACS;IAH3B,YACkB,IAAqB,EACrB,SAAyB,EAChB,QAA0C;QAEnE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QANC,SAAI,GAAJ,IAAI,CAAiB;QACrB,cAAS,GAAT,SAAS,CAAgB;QAChB,aAAQ,GAAR,QAAQ,CAAkC;QAKnE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,QAA0C;QAE1C,OAAO,IAAI,WAAW,CACpB,eAAe,CAAC,iBAAiB,EACjC,cAAc,CAAC,iCAAiC,EAChD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,QAA0C;QAE1C,OAAO,IAAI,WAAW,CACpB,eAAe,CAAC,eAAe,EAC/B,cAAc,CAAC,gCAAgC,EAC/C,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAA0C;QAC5D,OAAO,IAAI,WAAW,CACpB,eAAe,CAAC,aAAa,EAC7B,cAAc,CAAC,8BAA8B,EAC7C,QAAQ,CACT,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Core exports for v2 architecture
3
+ */
4
+ export * from './errors/crypto-error';
5
+ export * from './types/result';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Core exports for v2 architecture
3
3
  */
4
-
5
4
  export * from './errors/crypto-error';
6
5
  export * from './types/result';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Result pattern for better error handling
3
+ */
4
+ import { CryptoError } from '../errors/crypto-error';
5
+ export type CryptoResult<T> = {
6
+ success: true;
7
+ data: T;
8
+ } | {
9
+ success: false;
10
+ error: CryptoError;
11
+ };
12
+ export declare class ResultBuilder {
13
+ static success<T>(data: T): CryptoResult<T>;
14
+ static failure<T>(error: CryptoError): CryptoResult<T>;
15
+ }
16
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/core/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,YAAY,CAAC,CAAC,IACtB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC1B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3C,qBAAa,aAAa;IACxB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAI3C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;CAGvD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Result pattern for better error handling
3
+ */
4
+ export class ResultBuilder {
5
+ static success(data) {
6
+ return { success: true, data };
7
+ }
8
+ static failure(error) {
9
+ return { success: false, error };
10
+ }
11
+ }
12
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/core/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,OAAO,CAAI,IAAO;QACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAAO,CAAI,KAAkB;QAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;CACF"}