@digitaldefiance/ecies-lib 4.4.13 → 4.4.15

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 (597) hide show
  1. package/package.json +5 -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 +34 -0
  5. package/src/builders/ecies-builder.js.map +1 -0
  6. package/src/builders/{index.ts → index.d.ts} +1 -1
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/index.js +9 -0
  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 +101 -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 +457 -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 +60 -0
  21. package/src/core/errors/crypto-error.js.map +1 -0
  22. package/src/core/{index.ts → index.d.ts} +1 -1
  23. package/src/core/index.d.ts.map +1 -0
  24. package/src/core/index.js +9 -0
  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 +16 -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 +72 -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 +16 -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 +9 -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 +30 -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 +48 -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 +202 -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 +8 -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 +31 -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 +11 -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 +47 -0
  69. package/src/enumerations/id-provider-error-type.js.map +1 -0
  70. package/src/enumerations/{index.ts → index.d.ts} +1 -0
  71. package/src/enumerations/index.d.ts.map +1 -0
  72. package/src/enumerations/index.js +21 -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 +10 -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 +11 -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 +10 -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 +91 -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 +19 -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 +9 -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 +10 -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 +10 -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 +10 -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 +32 -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 +82 -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 +100 -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 +33 -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 +13 -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 +19 -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 +15 -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 +15 -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 +15 -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 +16 -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 +16 -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 +11 -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 +109 -0
  161. package/src/i18n-setup.js.map +1 -0
  162. package/src/{index.ts → index.d.ts} +12 -72
  163. package/src/index.d.ts.map +1 -0
  164. package/src/index.js +146 -0
  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 +3 -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 +3 -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 +8 -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 +3 -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 +3 -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 +3 -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 +3 -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 +15 -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 +5 -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 +3 -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 +3 -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 +56 -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 +16 -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 +22 -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 +3 -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 +3 -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 +3 -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 +3 -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 +16 -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 +3 -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 +3 -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 +3 -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 +11 -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 +12 -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 +3 -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 +30 -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 +50 -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 +919 -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 +89 -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 +126 -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 +37 -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 +108 -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 +114 -0
  297. package/src/lib/id-providers/uuid-provider.js.map +1 -0
  298. package/src/lib/{index.ts → index.d.ts} +2 -2
  299. package/src/lib/index.d.ts.map +1 -0
  300. package/src/lib/index.js +9 -0
  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 +101 -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 +53 -0
  309. package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
  310. package/src/lib/invariants/{index.ts → index.d.ts} +1 -0
  311. package/src/lib/invariants/index.d.ts.map +1 -0
  312. package/src/lib/invariants/index.js +7 -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 +62 -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 +35 -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 +45 -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 +327 -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 +3 -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 +22 -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 +10 -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 +205 -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 +210 -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 +146 -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 +149 -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 +209 -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 +128 -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 +110 -0
  369. package/src/services/ecies/file.js.map +1 -0
  370. package/src/services/ecies/{index.ts → index.d.ts} +1 -3
  371. package/src/services/ecies/index.d.ts.map +1 -0
  372. package/src/services/ecies/index.js +44 -0
  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 +172 -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 +6 -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 +171 -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 +348 -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 +214 -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 +76 -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 +326 -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 +299 -0
  405. package/src/services/encryption-stream.js.map +1 -0
  406. package/src/services/{index.ts → index.d.ts} +1 -0
  407. package/src/services/index.d.ts.map +1 -0
  408. package/src/services/index.js +14 -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 +293 -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 +119 -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 +112 -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 +107 -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 +109 -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 +67 -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 +5 -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 +194 -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.js +6 -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.js +207 -0
  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.js +207 -0
  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.js +207 -0
  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.js +207 -0
  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.js +206 -0
  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.js +209 -0
  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.js +206 -0
  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 +3 -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 +3 -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 +67 -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 +291 -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/testing.ts +0 -2
  588. package/src/translations/de.ts +0 -260
  589. package/src/translations/en-US.ts +0 -262
  590. package/src/translations/es.ts +0 -271
  591. package/src/translations/fr.ts +0 -269
  592. package/src/translations/ja.ts +0 -259
  593. package/src/translations/uk.ts +0 -271
  594. package/src/translations/zh-cn.ts +0 -234
  595. package/src/types/deep-partial.ts +0 -11
  596. package/src/utils/encryption-type-utils.ts +0 -76
  597. package/src/utils.ts +0 -329
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/guid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { BaseIdProvider } from '../../interfaces/id-provider';
2
+ /**
3
+ * Custom ID provider that accepts any fixed byte length.
4
+ *
5
+ * Use this when you need a non-standard ID size or custom validation logic.
6
+ * For standard formats, prefer ObjectIdProvider, GuidV4Provider, or UuidProvider.
7
+ *
8
+ * Example:
9
+ * ```typescript
10
+ * // 20-byte SHA-1 hash as recipient ID
11
+ * const provider = new CustomIdProvider(20, 'SHA1Hash');
12
+ * ```
13
+ */
14
+ export declare class CustomIdProvider extends BaseIdProvider {
15
+ readonly byteLength: number;
16
+ readonly name: string;
17
+ constructor(byteLength: number, name?: string);
18
+ /**
19
+ * Generate a new random ID of the specified byte length.
20
+ */
21
+ generate(): Uint8Array;
22
+ /**
23
+ * Validate an ID buffer.
24
+ * Only checks length - override this method for custom validation.
25
+ */
26
+ validate(id: Uint8Array): boolean;
27
+ /**
28
+ * Serialize to hexadecimal string.
29
+ */
30
+ serialize(id: Uint8Array): string;
31
+ /**
32
+ * Deserialize a hexadecimal string to buffer.
33
+ */
34
+ deserialize(str: string): Uint8Array;
35
+ /**
36
+ * Convert an ID of unknown type to a string representation.
37
+ * Delegates to base implementation.
38
+ */
39
+ idToString(id: unknown): string;
40
+ /**
41
+ * Convert a string representation of an ID back to an ID buffer.
42
+ * Delegates to deserialize.
43
+ */
44
+ idFromString(str: string): Uint8Array;
45
+ }
46
+ //# sourceMappingURL=custom-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/custom-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,UAAU,EAAE,MAAM,EAAE,IAAI,SAAW;IAgB/C;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAIjC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAQjC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IA2BpC;;;OAGG;IACM,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAIxC;;;OAGG;IACM,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAG/C"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomIdProvider = void 0;
4
+ const utils_js_1 = require("@noble/hashes/utils.js");
5
+ const id_provider_error_type_1 = require("../../enumerations/id-provider-error-type");
6
+ const id_provider_1 = require("../../errors/id-provider");
7
+ const id_provider_2 = require("../../interfaces/id-provider");
8
+ /**
9
+ * Custom ID provider that accepts any fixed byte length.
10
+ *
11
+ * Use this when you need a non-standard ID size or custom validation logic.
12
+ * For standard formats, prefer ObjectIdProvider, GuidV4Provider, or UuidProvider.
13
+ *
14
+ * Example:
15
+ * ```typescript
16
+ * // 20-byte SHA-1 hash as recipient ID
17
+ * const provider = new CustomIdProvider(20, 'SHA1Hash');
18
+ * ```
19
+ */
20
+ class CustomIdProvider extends id_provider_2.BaseIdProvider {
21
+ byteLength;
22
+ name;
23
+ constructor(byteLength, name = 'Custom') {
24
+ super();
25
+ if (!Number.isInteger(byteLength) || byteLength < 1 || byteLength > 255) {
26
+ throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidByteLengthParameter, undefined, undefined, { value: byteLength });
27
+ }
28
+ this.byteLength = byteLength;
29
+ this.name = name;
30
+ }
31
+ /**
32
+ * Generate a new random ID of the specified byte length.
33
+ */
34
+ generate() {
35
+ return (0, utils_js_1.randomBytes)(this.byteLength);
36
+ }
37
+ /**
38
+ * Validate an ID buffer.
39
+ * Only checks length - override this method for custom validation.
40
+ */
41
+ validate(id) {
42
+ return id.length === this.byteLength;
43
+ }
44
+ /**
45
+ * Serialize to hexadecimal string.
46
+ */
47
+ serialize(id) {
48
+ this.validateLength(id, `${this.name}.serialize`);
49
+ return Array.from(id)
50
+ .map((b) => b.toString(16).padStart(2, '0'))
51
+ .join('');
52
+ }
53
+ /**
54
+ * Deserialize a hexadecimal string to buffer.
55
+ */
56
+ deserialize(str) {
57
+ if (typeof str !== 'string') {
58
+ throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InputMustBeString);
59
+ }
60
+ const expectedLength = this.byteLength * 2;
61
+ if (str.length !== expectedLength) {
62
+ throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidStringLength, undefined, undefined, { expected: expectedLength, actual: str.length });
63
+ }
64
+ if (!/^[0-9a-fA-F]+$/.test(str)) {
65
+ throw new id_provider_1.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidCharacters);
66
+ }
67
+ const buffer = new Uint8Array(this.byteLength);
68
+ for (let i = 0; i < this.byteLength; i++) {
69
+ buffer[i] = parseInt(str.substr(i * 2, 2), 16);
70
+ }
71
+ return buffer;
72
+ }
73
+ /**
74
+ * Convert an ID of unknown type to a string representation.
75
+ * Delegates to base implementation.
76
+ */
77
+ idToString(id) {
78
+ return super.idToString(id);
79
+ }
80
+ /**
81
+ * Convert a string representation of an ID back to an ID buffer.
82
+ * Delegates to deserialize.
83
+ */
84
+ idFromString(str) {
85
+ return this.deserialize(str);
86
+ }
87
+ }
88
+ exports.CustomIdProvider = CustomIdProvider;
89
+ //# sourceMappingURL=custom-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/custom-provider.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,sFAAgF;AAChF,0DAA2D;AAC3D,8DAA8D;AAE9D;;;;;;;;;;;GAWG;AACH,MAAa,gBAAiB,SAAQ,4BAAc;IACzC,UAAU,CAAS;IACnB,IAAI,CAAS;IAEtB,YAAY,UAAkB,EAAE,IAAI,GAAG,QAAQ;QAC7C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACxE,MAAM,IAAI,6BAAe,CACvB,4CAAmB,CAAC,0BAA0B,EAC9C,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,EAAc;QACrB,OAAO,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,EAAc;QACtB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAAe,CAAC,4CAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,6BAAe,CACvB,4CAAmB,CAAC,mBAAmB,EACvC,SAAS,EACT,SAAS,EACT,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CACjD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,6BAAe,CAAC,4CAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACM,UAAU,CAAC,EAAW;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACM,YAAY,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AA3FD,4CA2FC"}
@@ -0,0 +1,56 @@
1
+ import { BaseIdProvider } from '../../interfaces/id-provider';
2
+ /**
3
+ * ID provider for GUIDv4 (16 bytes raw, 24 bytes base64).
4
+ *
5
+ * Uses the GuidV4 class which provides RFC 4122 compliant v4 GUIDs.
6
+ * The raw binary representation is 16 bytes (128 bits).
7
+ *
8
+ * Serialization uses base64 for compactness (24 characters vs 36 for hex with dashes).
9
+ */
10
+ export declare class GuidV4Provider extends BaseIdProvider {
11
+ readonly byteLength = 16;
12
+ readonly name = "GUIDv4";
13
+ /**
14
+ * Generate a new random GUIDv4.
15
+ */
16
+ generate(): Uint8Array;
17
+ /**
18
+ * Validate a GUID buffer.
19
+ * Checks length and RFC 4122 v4 compliance.
20
+ */
21
+ validate(id: Uint8Array): boolean;
22
+ /**
23
+ * Serialize GUID to base64 string (24 characters).
24
+ */
25
+ serialize(id: Uint8Array): string;
26
+ /**
27
+ * Deserialize a base64 or hex GUID string to buffer.
28
+ * Accepts multiple formats: base64 (24 chars), short hex (32 chars), full hex (36 chars).
29
+ */
30
+ deserialize(str: string): Uint8Array;
31
+ /**
32
+ * Create a GUID from a namespace and name (v5 - SHA-1 based).
33
+ * Useful for deterministic GUIDs.
34
+ */
35
+ fromNamespace(namespace: string, name: string): Uint8Array;
36
+ /**
37
+ * Get the GUID version from a buffer.
38
+ * Should return 4 for valid v4 GUIDs.
39
+ */
40
+ getVersion(id: Uint8Array): number | undefined;
41
+ /**
42
+ * Check if a GUID is the empty/nil GUID (all zeros).
43
+ */
44
+ isEmpty(id: Uint8Array): boolean;
45
+ /**
46
+ * Convert an ID of unknown type to a string representation.
47
+ * Handles Uint8Array, GuidV4 instances, and falls back to String().
48
+ */
49
+ idToString(id: unknown): string;
50
+ /**
51
+ * Convert a string representation of an ID back to an ID buffer.
52
+ * Delegates to deserialize.
53
+ */
54
+ idFromString(str: string): Uint8Array;
55
+ }
56
+ //# sourceMappingURL=guidv4-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidv4-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/guidv4-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,UAAU,MAAM;IACzB,QAAQ,CAAC,IAAI,YAAY;IAEzB;;OAEG;IACH,QAAQ,IAAI,UAAU;IAKtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAcjC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAgBjC;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAkBpC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAK1D;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAW9C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAWhC;;;OAGG;IACM,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAOxC;;;OAGG;IACM,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAG/C"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuidV4Provider = void 0;
4
+ const id_provider_1 = require("../../interfaces/id-provider");
5
+ const guid_1 = require("../guid");
6
+ const id_provider_2 = require("../../errors/id-provider");
7
+ const id_provider_error_type_1 = require("../../enumerations/id-provider-error-type");
8
+ /**
9
+ * ID provider for GUIDv4 (16 bytes raw, 24 bytes base64).
10
+ *
11
+ * Uses the GuidV4 class which provides RFC 4122 compliant v4 GUIDs.
12
+ * The raw binary representation is 16 bytes (128 bits).
13
+ *
14
+ * Serialization uses base64 for compactness (24 characters vs 36 for hex with dashes).
15
+ */
16
+ class GuidV4Provider extends id_provider_1.BaseIdProvider {
17
+ byteLength = 16;
18
+ name = 'GUIDv4';
19
+ /**
20
+ * Generate a new random GUIDv4.
21
+ */
22
+ generate() {
23
+ const guid = guid_1.GuidV4.generate();
24
+ return guid.asRawGuidBufferUnsafe;
25
+ }
26
+ /**
27
+ * Validate a GUID buffer.
28
+ * Checks length and RFC 4122 v4 compliance.
29
+ */
30
+ validate(id) {
31
+ if (id.length !== this.byteLength) {
32
+ return false;
33
+ }
34
+ try {
35
+ // Convert to GuidV4 and validate
36
+ const guid = new guid_1.GuidV4(Buffer.from(id));
37
+ return guid.isValidV4();
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
43
+ /**
44
+ * Serialize GUID to base64 string (24 characters).
45
+ */
46
+ serialize(id) {
47
+ this.validateLength(id, 'GuidV4Provider.serialize');
48
+ try {
49
+ const guid = new guid_1.GuidV4(Buffer.from(id));
50
+ return guid.asBase64Guid;
51
+ }
52
+ catch (error) {
53
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidGuidBuffer, { cause: error instanceof Error ? error : undefined }, undefined, { message: error instanceof Error ? error.message : String(error) });
54
+ }
55
+ }
56
+ /**
57
+ * Deserialize a base64 or hex GUID string to buffer.
58
+ * Accepts multiple formats: base64 (24 chars), short hex (32 chars), full hex (36 chars).
59
+ */
60
+ deserialize(str) {
61
+ if (typeof str !== 'string') {
62
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InputMustBeString);
63
+ }
64
+ try {
65
+ const guid = guid_1.GuidV4.parse(str);
66
+ return guid.asRawGuidBufferUnsafe;
67
+ }
68
+ catch (error) {
69
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.ParseFailed, { cause: error instanceof Error ? error : undefined }, undefined, { input: str, message: error instanceof Error ? error.message : String(error) });
70
+ }
71
+ }
72
+ /**
73
+ * Create a GUID from a namespace and name (v5 - SHA-1 based).
74
+ * Useful for deterministic GUIDs.
75
+ */
76
+ fromNamespace(namespace, name) {
77
+ const guid = guid_1.GuidV4.v5(name, namespace);
78
+ return guid.asRawGuidBufferUnsafe;
79
+ }
80
+ /**
81
+ * Get the GUID version from a buffer.
82
+ * Should return 4 for valid v4 GUIDs.
83
+ */
84
+ getVersion(id) {
85
+ this.validateLength(id, 'GuidV4Provider.getVersion');
86
+ try {
87
+ const guid = new guid_1.GuidV4(Buffer.from(id));
88
+ return guid.getVersion();
89
+ }
90
+ catch {
91
+ return undefined;
92
+ }
93
+ }
94
+ /**
95
+ * Check if a GUID is the empty/nil GUID (all zeros).
96
+ */
97
+ isEmpty(id) {
98
+ this.validateLength(id, 'GuidV4Provider.isEmpty');
99
+ try {
100
+ const guid = new guid_1.GuidV4(Buffer.from(id));
101
+ return guid.isEmpty();
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ }
107
+ /**
108
+ * Convert an ID of unknown type to a string representation.
109
+ * Handles Uint8Array, GuidV4 instances, and falls back to String().
110
+ */
111
+ idToString(id) {
112
+ if (id instanceof guid_1.GuidV4) {
113
+ return id.asBase64Guid;
114
+ }
115
+ return super.idToString(id);
116
+ }
117
+ /**
118
+ * Convert a string representation of an ID back to an ID buffer.
119
+ * Delegates to deserialize.
120
+ */
121
+ idFromString(str) {
122
+ return this.deserialize(str);
123
+ }
124
+ }
125
+ exports.GuidV4Provider = GuidV4Provider;
126
+ //# sourceMappingURL=guidv4-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidv4-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/guidv4-provider.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,30 @@
1
1
  /**
2
2
  * ID Providers for recipient identification in multi-recipient encryption.
3
- *
3
+ *
4
4
  * The library supports multiple ID formats to accommodate different use cases:
5
5
  * - ObjectID: MongoDB/BSON ObjectID (12 bytes)
6
6
  * - GUIDv4: RFC 4122 v4 GUID (16 bytes, base64 serialization)
7
7
  * - UUID: RFC 4122 v4 UUID (16 bytes, standard format with dashes)
8
8
  * - Legacy32Byte: Backward compatible 32-byte IDs (deprecated)
9
9
  * - Custom: User-defined byte length and validation
10
- *
10
+ *
11
11
  * @example
12
12
  * ```typescript
13
13
  * import { ObjectIdProvider, GuidV4Provider } from './lib/id-providers';
14
- *
14
+ *
15
15
  * // Use MongoDB ObjectIDs (12 bytes)
16
16
  * const objectIdProvider = new ObjectIdProvider();
17
17
  * const id = objectIdProvider.generate();
18
- *
18
+ *
19
19
  * // Use GUIDs (16 bytes)
20
20
  * const guidProvider = new GuidV4Provider();
21
21
  * const guid = guidProvider.generate();
22
22
  * ```
23
23
  */
24
-
25
24
  export { ObjectIdProvider } from './objectid-provider';
26
25
  export { GuidV4Provider } from './guidv4-provider';
27
26
  export { UuidProvider } from './uuid-provider';
28
27
  export { CustomIdProvider } from './custom-provider';
29
-
30
28
  export type { IIdProvider } from '../../interfaces/id-provider';
31
29
  export { BaseIdProvider } from '../../interfaces/id-provider';
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * ID Providers for recipient identification in multi-recipient encryption.
4
+ *
5
+ * The library supports multiple ID formats to accommodate different use cases:
6
+ * - ObjectID: MongoDB/BSON ObjectID (12 bytes)
7
+ * - GUIDv4: RFC 4122 v4 GUID (16 bytes, base64 serialization)
8
+ * - UUID: RFC 4122 v4 UUID (16 bytes, standard format with dashes)
9
+ * - Legacy32Byte: Backward compatible 32-byte IDs (deprecated)
10
+ * - Custom: User-defined byte length and validation
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { ObjectIdProvider, GuidV4Provider } from './lib/id-providers';
15
+ *
16
+ * // Use MongoDB ObjectIDs (12 bytes)
17
+ * const objectIdProvider = new ObjectIdProvider();
18
+ * const id = objectIdProvider.generate();
19
+ *
20
+ * // Use GUIDs (16 bytes)
21
+ * const guidProvider = new GuidV4Provider();
22
+ * const guid = guidProvider.generate();
23
+ * ```
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.BaseIdProvider = exports.CustomIdProvider = exports.UuidProvider = exports.GuidV4Provider = exports.ObjectIdProvider = void 0;
27
+ var objectid_provider_1 = require("./objectid-provider");
28
+ Object.defineProperty(exports, "ObjectIdProvider", { enumerable: true, get: function () { return objectid_provider_1.ObjectIdProvider; } });
29
+ var guidv4_provider_1 = require("./guidv4-provider");
30
+ Object.defineProperty(exports, "GuidV4Provider", { enumerable: true, get: function () { return guidv4_provider_1.GuidV4Provider; } });
31
+ var uuid_provider_1 = require("./uuid-provider");
32
+ Object.defineProperty(exports, "UuidProvider", { enumerable: true, get: function () { return uuid_provider_1.UuidProvider; } });
33
+ var custom_provider_1 = require("./custom-provider");
34
+ Object.defineProperty(exports, "CustomIdProvider", { enumerable: true, get: function () { return custom_provider_1.CustomIdProvider; } });
35
+ var id_provider_1 = require("../../interfaces/id-provider");
36
+ Object.defineProperty(exports, "BaseIdProvider", { enumerable: true, get: function () { return id_provider_1.BaseIdProvider; } });
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAEH,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qDAAqD;AAA5C,mHAAA,gBAAgB,OAAA;AAGzB,4DAA8D;AAArD,6GAAA,cAAc,OAAA"}
@@ -0,0 +1,43 @@
1
+ import { BaseIdProvider } from '../../interfaces/id-provider';
2
+ /**
3
+ * ID provider for MongoDB/BSON ObjectIDs (12 bytes).
4
+ *
5
+ * Format: 4-byte timestamp + 5-byte random + 3-byte counter
6
+ * This matches the MongoDB ObjectID specification.
7
+ *
8
+ * @see https://docs.mongodb.com/manual/reference/method/ObjectId/
9
+ */
10
+ export declare class ObjectIdProvider extends BaseIdProvider {
11
+ readonly byteLength = 12;
12
+ readonly name = "ObjectID";
13
+ constructor();
14
+ /**
15
+ * Generate a new MongoDB-style ObjectID.
16
+ * Format: [timestamp:4][random:5][counter:3]
17
+ */
18
+ generate(): Uint8Array;
19
+ /**
20
+ * Validate an ObjectID buffer.
21
+ * Checks length and ensures it's not all zeros (invalid ObjectID).
22
+ */
23
+ validate(id: Uint8Array): boolean;
24
+ /**
25
+ * Serialize ObjectID to 24-character hex string (MongoDB standard).
26
+ */
27
+ serialize(id: Uint8Array): string;
28
+ /**
29
+ * Deserialize a 24-character hex string to ObjectID buffer.
30
+ */
31
+ deserialize(str: string): Uint8Array;
32
+ /**
33
+ * Convert an ID of unknown type to a string representation.
34
+ * Handles Uint8Array, ObjectId instances, and falls back to String().
35
+ */
36
+ idToString(id: unknown): string;
37
+ /**
38
+ * Convert a string representation of an ID back to an ID buffer.
39
+ * Delegates to deserialize.
40
+ */
41
+ idFromString(str: string): Uint8Array;
42
+ }
43
+ //# sourceMappingURL=objectid-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectid-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,UAAU,MAAM;IACzB,QAAQ,CAAC,IAAI,cAAc;;IAM3B;;;OAGG;IACH,QAAQ,IAAI,UAAU;IAgBtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAiBjC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAQjC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IA8BpC;;;OAGG;IACM,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAOxC;;;OAGG;IACM,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAG/C"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectIdProvider = void 0;
4
+ const id_provider_1 = require("../../interfaces/id-provider");
5
+ const bson_1 = require("bson");
6
+ const id_provider_2 = require("../../errors/id-provider");
7
+ const id_provider_error_type_1 = require("../../enumerations/id-provider-error-type");
8
+ /**
9
+ * ID provider for MongoDB/BSON ObjectIDs (12 bytes).
10
+ *
11
+ * Format: 4-byte timestamp + 5-byte random + 3-byte counter
12
+ * This matches the MongoDB ObjectID specification.
13
+ *
14
+ * @see https://docs.mongodb.com/manual/reference/method/ObjectId/
15
+ */
16
+ class ObjectIdProvider extends id_provider_1.BaseIdProvider {
17
+ byteLength = 12;
18
+ name = 'ObjectID';
19
+ constructor() {
20
+ super();
21
+ }
22
+ /**
23
+ * Generate a new MongoDB-style ObjectID.
24
+ * Format: [timestamp:4][random:5][counter:3]
25
+ */
26
+ generate() {
27
+ const buffer = new Uint8Array(12);
28
+ const objectId = new bson_1.ObjectId();
29
+ if (typeof objectId.id === 'string') {
30
+ const hex = objectId.id;
31
+ for (let i = 0; i < 12; i++) {
32
+ buffer[i] = parseInt(hex.substring(i * 2, (i * 2) + 2), 16);
33
+ }
34
+ }
35
+ else {
36
+ buffer.set(objectId.id, 0);
37
+ }
38
+ return buffer;
39
+ }
40
+ /**
41
+ * Validate an ObjectID buffer.
42
+ * Checks length and ensures it's not all zeros (invalid ObjectID).
43
+ */
44
+ validate(id) {
45
+ if (id.length !== this.byteLength) {
46
+ return false;
47
+ }
48
+ // Check if all bytes are zero (invalid ObjectID)
49
+ let allZeros = true;
50
+ for (let i = 0; i < id.length; i++) {
51
+ if (id[i] !== 0) {
52
+ allZeros = false;
53
+ break;
54
+ }
55
+ }
56
+ return !allZeros;
57
+ }
58
+ /**
59
+ * Serialize ObjectID to 24-character hex string (MongoDB standard).
60
+ */
61
+ serialize(id) {
62
+ this.validateLength(id, 'ObjectIdProvider.serialize');
63
+ return Array.from(id)
64
+ .map(b => b.toString(16).padStart(2, '0'))
65
+ .join('');
66
+ }
67
+ /**
68
+ * Deserialize a 24-character hex string to ObjectID buffer.
69
+ */
70
+ deserialize(str) {
71
+ if (typeof str !== 'string') {
72
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InputMustBeString);
73
+ }
74
+ if (str.length !== 24) {
75
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidStringLength, undefined, undefined, { expected: 24, actual: str.length });
76
+ }
77
+ if (!/^[0-9a-fA-F]{24}$/.test(str)) {
78
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidCharacters);
79
+ }
80
+ const buffer = new Uint8Array(12);
81
+ for (let i = 0; i < 12; i++) {
82
+ buffer[i] = parseInt(str.substr(i * 2, 2), 16);
83
+ }
84
+ if (!this.validate(buffer)) {
85
+ throw new id_provider_2.IdProviderError(id_provider_error_type_1.IdProviderErrorType.InvalidDeserializedId);
86
+ }
87
+ return buffer;
88
+ }
89
+ /**
90
+ * Convert an ID of unknown type to a string representation.
91
+ * Handles Uint8Array, ObjectId instances, and falls back to String().
92
+ */
93
+ idToString(id) {
94
+ if (id instanceof bson_1.ObjectId) {
95
+ return id.toHexString();
96
+ }
97
+ return super.idToString(id);
98
+ }
99
+ /**
100
+ * Convert a string representation of an ID back to an ID buffer.
101
+ * Delegates to deserialize.
102
+ */
103
+ idFromString(str) {
104
+ return this.deserialize(str);
105
+ }
106
+ }
107
+ exports.ObjectIdProvider = ObjectIdProvider;
108
+ //# sourceMappingURL=objectid-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectid-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"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"}