@digitaldefiance/ecies-lib 1.1.23 → 1.1.24

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 (347) hide show
  1. package/README.md +4 -0
  2. package/package.json +13 -33
  3. package/src/constants.ts +474 -0
  4. package/src/email-string.ts +83 -0
  5. package/src/enumerations/ecies-encryption-type.ts +102 -0
  6. package/src/enumerations/ecies-error-type.ts +31 -0
  7. package/src/enumerations/ecies-string-key.ts +108 -0
  8. package/src/enumerations/guid-brand-type.ts +26 -0
  9. package/src/enumerations/guid-error-type.ts +6 -0
  10. package/{dist/enumerations/index.d.ts → src/enumerations/index.ts} +0 -1
  11. package/src/enumerations/invalid-email-type.ts +5 -0
  12. package/src/enumerations/length-encoding-type.ts +6 -0
  13. package/src/enumerations/length-error-type.ts +5 -0
  14. package/src/enumerations/member-error-type.ts +106 -0
  15. package/{dist/enumerations/member-type.d.ts → src/enumerations/member-type.ts} +7 -6
  16. package/src/enumerations/password-login-error-type.ts +4 -0
  17. package/src/enumerations/pbkdf2-error-type.ts +5 -0
  18. package/src/enumerations/pbkdf2-profile.ts +5 -0
  19. package/src/enumerations/secure-storage-error-type.ts +5 -0
  20. package/src/errors/disposed.ts +15 -0
  21. package/src/errors/ecies.ts +34 -0
  22. package/src/errors/guid.ts +34 -0
  23. package/{dist/errors/index.d.ts → src/errors/index.ts} +0 -1
  24. package/src/errors/invalid-email.ts +11 -0
  25. package/src/errors/length.ts +11 -0
  26. package/src/errors/member.ts +12 -0
  27. package/src/errors/pbkdf2.ts +12 -0
  28. package/src/errors/secure-storage.ts +13 -0
  29. package/src/errors/simple-ecies.ts +18 -0
  30. package/src/errors/simple-test-error.ts +6 -0
  31. package/src/guid.ts +800 -0
  32. package/src/i18n-setup.ts +1312 -0
  33. package/{dist/index.d.ts → src/index.ts} +0 -1
  34. package/src/interfaces/checksum-config.ts +4 -0
  35. package/src/interfaces/checksum-consts.ts +13 -0
  36. package/src/interfaces/constants.ts +48 -0
  37. package/src/interfaces/ecies-config.ts +8 -0
  38. package/src/interfaces/ecies-consts.ts +70 -0
  39. package/src/interfaces/ecies-file-service.ts +6 -0
  40. package/src/interfaces/guid.ts +53 -0
  41. package/{dist/interfaces/index.d.ts → src/interfaces/index.ts} +0 -1
  42. package/src/interfaces/library-error.ts +23 -0
  43. package/src/interfaces/member-operational.ts +54 -0
  44. package/{dist/interfaces/member-storage.d.ts → src/interfaces/member-storage.ts} +11 -10
  45. package/{dist/interfaces/member-with-mnemonic.d.ts → src/interfaces/member-with-mnemonic.ts} +3 -3
  46. package/src/interfaces/pbkdf2-config.ts +6 -0
  47. package/src/interfaces/pbkdf2-consts.ts +10 -0
  48. package/src/interfaces/pbkdf2-result.ts +5 -0
  49. package/src/member.ts +429 -0
  50. package/{dist/pbkdf2-profiles.d.ts → src/pbkdf2-profiles.ts} +2 -2
  51. package/src/phone-number.ts +18 -0
  52. package/src/regexes.ts +10 -0
  53. package/src/secure-buffer.ts +183 -0
  54. package/src/secure-string.ts +229 -0
  55. package/src/services/aes-gcm.ts +177 -0
  56. package/src/services/ecies/README.md +147 -0
  57. package/src/services/ecies/crypto-core.ts +180 -0
  58. package/src/services/ecies/example.ts +185 -0
  59. package/src/services/ecies/file.ts +167 -0
  60. package/{dist/services/ecies/index.d.ts → src/services/ecies/index.ts} +3 -1
  61. package/src/services/ecies/integration.ts +241 -0
  62. package/src/services/ecies/interfaces.ts +59 -0
  63. package/src/services/ecies/manual-test.ts +219 -0
  64. package/src/services/ecies/multi-recipient.ts +394 -0
  65. package/src/services/ecies/service.ts +317 -0
  66. package/src/services/ecies/signature.ts +93 -0
  67. package/src/services/ecies/single-recipient.ts +340 -0
  68. package/{dist/services/index.d.ts → src/services/index.ts} +0 -1
  69. package/src/services/password-login.ts +228 -0
  70. package/src/services/pbkdf2.ts +172 -0
  71. package/src/services/xor.ts +65 -0
  72. package/src/types/deep-partial.ts +11 -0
  73. package/{dist/types.d.ts → src/types.ts} +10 -4
  74. package/src/utils.ts +331 -0
  75. package/dist/constants.d.ts +0 -46
  76. package/dist/constants.d.ts.map +0 -1
  77. package/dist/constants.js +0 -358
  78. package/dist/constants.js.map +0 -1
  79. package/dist/email-string.d.ts +0 -42
  80. package/dist/email-string.d.ts.map +0 -1
  81. package/dist/email-string.js +0 -75
  82. package/dist/email-string.js.map +0 -1
  83. package/dist/enumerations/ecies-encryption-type.d.ts +0 -15
  84. package/dist/enumerations/ecies-encryption-type.d.ts.map +0 -1
  85. package/dist/enumerations/ecies-encryption-type.js +0 -71
  86. package/dist/enumerations/ecies-encryption-type.js.map +0 -1
  87. package/dist/enumerations/ecies-error-type.d.ts +0 -32
  88. package/dist/enumerations/ecies-error-type.d.ts.map +0 -1
  89. package/dist/enumerations/ecies-error-type.js +0 -36
  90. package/dist/enumerations/ecies-error-type.js.map +0 -1
  91. package/dist/enumerations/ecies-string-key.d.ts +0 -96
  92. package/dist/enumerations/ecies-string-key.d.ts.map +0 -1
  93. package/dist/enumerations/ecies-string-key.js +0 -105
  94. package/dist/enumerations/ecies-string-key.js.map +0 -1
  95. package/dist/enumerations/guid-brand-type.d.ts +0 -27
  96. package/dist/enumerations/guid-brand-type.d.ts.map +0 -1
  97. package/dist/enumerations/guid-brand-type.js +0 -31
  98. package/dist/enumerations/guid-brand-type.js.map +0 -1
  99. package/dist/enumerations/guid-error-type.d.ts +0 -7
  100. package/dist/enumerations/guid-error-type.d.ts.map +0 -1
  101. package/dist/enumerations/guid-error-type.js +0 -11
  102. package/dist/enumerations/guid-error-type.js.map +0 -1
  103. package/dist/enumerations/index.d.ts.map +0 -1
  104. package/dist/enumerations/index.js +0 -31
  105. package/dist/enumerations/index.js.map +0 -1
  106. package/dist/enumerations/invalid-email-type.d.ts +0 -6
  107. package/dist/enumerations/invalid-email-type.d.ts.map +0 -1
  108. package/dist/enumerations/invalid-email-type.js +0 -10
  109. package/dist/enumerations/invalid-email-type.js.map +0 -1
  110. package/dist/enumerations/length-encoding-type.d.ts +0 -7
  111. package/dist/enumerations/length-encoding-type.d.ts.map +0 -1
  112. package/dist/enumerations/length-encoding-type.js +0 -11
  113. package/dist/enumerations/length-encoding-type.js.map +0 -1
  114. package/dist/enumerations/length-error-type.d.ts +0 -6
  115. package/dist/enumerations/length-error-type.d.ts.map +0 -1
  116. package/dist/enumerations/length-error-type.js +0 -10
  117. package/dist/enumerations/length-error-type.js.map +0 -1
  118. package/dist/enumerations/member-error-type.d.ts +0 -87
  119. package/dist/enumerations/member-error-type.d.ts.map +0 -1
  120. package/dist/enumerations/member-error-type.js +0 -91
  121. package/dist/enumerations/member-error-type.js.map +0 -1
  122. package/dist/enumerations/member-type.d.ts.map +0 -1
  123. package/dist/enumerations/member-type.js +0 -19
  124. package/dist/enumerations/member-type.js.map +0 -1
  125. package/dist/enumerations/password-login-error-type.d.ts +0 -5
  126. package/dist/enumerations/password-login-error-type.d.ts.map +0 -1
  127. package/dist/enumerations/password-login-error-type.js +0 -9
  128. package/dist/enumerations/password-login-error-type.js.map +0 -1
  129. package/dist/enumerations/pbkdf2-error-type.d.ts +0 -6
  130. package/dist/enumerations/pbkdf2-error-type.d.ts.map +0 -1
  131. package/dist/enumerations/pbkdf2-error-type.js +0 -10
  132. package/dist/enumerations/pbkdf2-error-type.js.map +0 -1
  133. package/dist/enumerations/pbkdf2-profile.d.ts +0 -6
  134. package/dist/enumerations/pbkdf2-profile.d.ts.map +0 -1
  135. package/dist/enumerations/pbkdf2-profile.js +0 -10
  136. package/dist/enumerations/pbkdf2-profile.js.map +0 -1
  137. package/dist/enumerations/secure-storage-error-type.d.ts +0 -6
  138. package/dist/enumerations/secure-storage-error-type.d.ts.map +0 -1
  139. package/dist/enumerations/secure-storage-error-type.js +0 -10
  140. package/dist/enumerations/secure-storage-error-type.js.map +0 -1
  141. package/dist/errors/disposed.d.ts +0 -4
  142. package/dist/errors/disposed.d.ts.map +0 -1
  143. package/dist/errors/disposed.js +0 -20
  144. package/dist/errors/disposed.js.map +0 -1
  145. package/dist/errors/ecies.d.ts +0 -7
  146. package/dist/errors/ecies.d.ts.map +0 -1
  147. package/dist/errors/ecies.js +0 -15
  148. package/dist/errors/ecies.js.map +0 -1
  149. package/dist/errors/guid.d.ts +0 -15
  150. package/dist/errors/guid.d.ts.map +0 -1
  151. package/dist/errors/guid.js +0 -26
  152. package/dist/errors/guid.js.map +0 -1
  153. package/dist/errors/index.d.ts.map +0 -1
  154. package/dist/errors/index.js +0 -25
  155. package/dist/errors/index.js.map +0 -1
  156. package/dist/errors/invalid-email.d.ts +0 -7
  157. package/dist/errors/invalid-email.d.ts.map +0 -1
  158. package/dist/errors/invalid-email.js +0 -14
  159. package/dist/errors/invalid-email.js.map +0 -1
  160. package/dist/errors/length.d.ts +0 -7
  161. package/dist/errors/length.d.ts.map +0 -1
  162. package/dist/errors/length.js +0 -14
  163. package/dist/errors/length.js.map +0 -1
  164. package/dist/errors/member.d.ts +0 -7
  165. package/dist/errors/member.d.ts.map +0 -1
  166. package/dist/errors/member.js +0 -14
  167. package/dist/errors/member.js.map +0 -1
  168. package/dist/errors/pbkdf2.d.ts +0 -7
  169. package/dist/errors/pbkdf2.d.ts.map +0 -1
  170. package/dist/errors/pbkdf2.js +0 -14
  171. package/dist/errors/pbkdf2.js.map +0 -1
  172. package/dist/errors/secure-storage.d.ts +0 -7
  173. package/dist/errors/secure-storage.d.ts.map +0 -1
  174. package/dist/errors/secure-storage.js +0 -15
  175. package/dist/errors/secure-storage.js.map +0 -1
  176. package/dist/errors/simple-ecies.d.ts +0 -6
  177. package/dist/errors/simple-ecies.d.ts.map +0 -1
  178. package/dist/errors/simple-ecies.js +0 -15
  179. package/dist/errors/simple-ecies.js.map +0 -1
  180. package/dist/errors/simple-test-error.d.ts +0 -4
  181. package/dist/errors/simple-test-error.d.ts.map +0 -1
  182. package/dist/errors/simple-test-error.js +0 -11
  183. package/dist/errors/simple-test-error.js.map +0 -1
  184. package/dist/guid.d.ts +0 -153
  185. package/dist/guid.d.ts.map +0 -1
  186. package/dist/guid.js +0 -647
  187. package/dist/guid.js.map +0 -1
  188. package/dist/i18n-setup.d.ts +0 -24
  189. package/dist/i18n-setup.d.ts.map +0 -1
  190. package/dist/i18n-setup.js +0 -837
  191. package/dist/i18n-setup.js.map +0 -1
  192. package/dist/index.d.ts.map +0 -1
  193. package/dist/index.js +0 -32
  194. package/dist/index.js.map +0 -1
  195. package/dist/interfaces/checksum-config.d.ts +0 -5
  196. package/dist/interfaces/checksum-config.d.ts.map +0 -1
  197. package/dist/interfaces/checksum-config.js +0 -3
  198. package/dist/interfaces/checksum-config.js.map +0 -1
  199. package/dist/interfaces/checksum-consts.d.ts +0 -11
  200. package/dist/interfaces/checksum-consts.d.ts.map +0 -1
  201. package/dist/interfaces/checksum-consts.js +0 -3
  202. package/dist/interfaces/checksum-consts.js.map +0 -1
  203. package/dist/interfaces/constants.d.ts +0 -45
  204. package/dist/interfaces/constants.d.ts.map +0 -1
  205. package/dist/interfaces/constants.js +0 -3
  206. package/dist/interfaces/constants.js.map +0 -1
  207. package/dist/interfaces/ecies-config.d.ts +0 -9
  208. package/dist/interfaces/ecies-config.d.ts.map +0 -1
  209. package/dist/interfaces/ecies-config.js +0 -3
  210. package/dist/interfaces/ecies-config.js.map +0 -1
  211. package/dist/interfaces/ecies-consts.d.ts +0 -58
  212. package/dist/interfaces/ecies-consts.d.ts.map +0 -1
  213. package/dist/interfaces/ecies-consts.js +0 -3
  214. package/dist/interfaces/ecies-consts.js.map +0 -1
  215. package/dist/interfaces/ecies-file-service.d.ts +0 -7
  216. package/dist/interfaces/ecies-file-service.d.ts.map +0 -1
  217. package/dist/interfaces/ecies-file-service.js +0 -3
  218. package/dist/interfaces/ecies-file-service.js.map +0 -1
  219. package/dist/interfaces/guid.d.ts +0 -45
  220. package/dist/interfaces/guid.d.ts.map +0 -1
  221. package/dist/interfaces/guid.js +0 -3
  222. package/dist/interfaces/guid.js.map +0 -1
  223. package/dist/interfaces/index.d.ts.map +0 -1
  224. package/dist/interfaces/index.js +0 -30
  225. package/dist/interfaces/index.js.map +0 -1
  226. package/dist/interfaces/library-error.d.ts +0 -23
  227. package/dist/interfaces/library-error.d.ts.map +0 -1
  228. package/dist/interfaces/library-error.js +0 -3
  229. package/dist/interfaces/library-error.js.map +0 -1
  230. package/dist/interfaces/member-operational.d.ts +0 -40
  231. package/dist/interfaces/member-operational.d.ts.map +0 -1
  232. package/dist/interfaces/member-operational.js +0 -3
  233. package/dist/interfaces/member-operational.js.map +0 -1
  234. package/dist/interfaces/member-storage.d.ts.map +0 -1
  235. package/dist/interfaces/member-storage.js +0 -3
  236. package/dist/interfaces/member-storage.js.map +0 -1
  237. package/dist/interfaces/member-with-mnemonic.d.ts.map +0 -1
  238. package/dist/interfaces/member-with-mnemonic.js +0 -3
  239. package/dist/interfaces/member-with-mnemonic.js.map +0 -1
  240. package/dist/interfaces/pbkdf2-config.d.ts +0 -7
  241. package/dist/interfaces/pbkdf2-config.d.ts.map +0 -1
  242. package/dist/interfaces/pbkdf2-config.js +0 -3
  243. package/dist/interfaces/pbkdf2-config.js.map +0 -1
  244. package/dist/interfaces/pbkdf2-consts.d.ts +0 -9
  245. package/dist/interfaces/pbkdf2-consts.d.ts.map +0 -1
  246. package/dist/interfaces/pbkdf2-consts.js +0 -3
  247. package/dist/interfaces/pbkdf2-consts.js.map +0 -1
  248. package/dist/interfaces/pbkdf2-result.d.ts +0 -6
  249. package/dist/interfaces/pbkdf2-result.d.ts.map +0 -1
  250. package/dist/interfaces/pbkdf2-result.js +0 -3
  251. package/dist/interfaces/pbkdf2-result.js.map +0 -1
  252. package/dist/member.d.ts +0 -66
  253. package/dist/member.d.ts.map +0 -1
  254. package/dist/member.js +0 -271
  255. package/dist/member.js.map +0 -1
  256. package/dist/pbkdf2-profiles.d.ts.map +0 -1
  257. package/dist/pbkdf2-profiles.js +0 -3
  258. package/dist/pbkdf2-profiles.js.map +0 -1
  259. package/dist/phone-number.d.ts +0 -6
  260. package/dist/phone-number.d.ts.map +0 -1
  261. package/dist/phone-number.js +0 -22
  262. package/dist/phone-number.js.map +0 -1
  263. package/dist/regexes.d.ts +0 -7
  264. package/dist/regexes.d.ts.map +0 -1
  265. package/dist/regexes.js +0 -10
  266. package/dist/regexes.js.map +0 -1
  267. package/dist/secure-buffer.d.ts +0 -38
  268. package/dist/secure-buffer.d.ts.map +0 -1
  269. package/dist/secure-buffer.js +0 -168
  270. package/dist/secure-buffer.js.map +0 -1
  271. package/dist/secure-string.d.ts +0 -39
  272. package/dist/secure-string.d.ts.map +0 -1
  273. package/dist/secure-string.js +0 -195
  274. package/dist/secure-string.js.map +0 -1
  275. package/dist/services/aes-gcm.d.ts +0 -57
  276. package/dist/services/aes-gcm.d.ts.map +0 -1
  277. package/dist/services/aes-gcm.js +0 -111
  278. package/dist/services/aes-gcm.js.map +0 -1
  279. package/dist/services/ecies/crypto-core.d.ts +0 -51
  280. package/dist/services/ecies/crypto-core.d.ts.map +0 -1
  281. package/dist/services/ecies/crypto-core.js +0 -139
  282. package/dist/services/ecies/crypto-core.js.map +0 -1
  283. package/dist/services/ecies/example.d.ts +0 -25
  284. package/dist/services/ecies/example.d.ts.map +0 -1
  285. package/dist/services/ecies/example.js +0 -128
  286. package/dist/services/ecies/example.js.map +0 -1
  287. package/dist/services/ecies/file.d.ts +0 -18
  288. package/dist/services/ecies/file.d.ts.map +0 -1
  289. package/dist/services/ecies/file.js +0 -110
  290. package/dist/services/ecies/file.js.map +0 -1
  291. package/dist/services/ecies/index.d.ts.map +0 -1
  292. package/dist/services/ecies/index.js +0 -57
  293. package/dist/services/ecies/index.js.map +0 -1
  294. package/dist/services/ecies/integration.d.ts +0 -59
  295. package/dist/services/ecies/integration.d.ts.map +0 -1
  296. package/dist/services/ecies/integration.js +0 -172
  297. package/dist/services/ecies/integration.js.map +0 -1
  298. package/dist/services/ecies/interfaces.d.ts +0 -51
  299. package/dist/services/ecies/interfaces.d.ts.map +0 -1
  300. package/dist/services/ecies/interfaces.js +0 -6
  301. package/dist/services/ecies/interfaces.js.map +0 -1
  302. package/dist/services/ecies/manual-test.d.ts +0 -29
  303. package/dist/services/ecies/manual-test.d.ts.map +0 -1
  304. package/dist/services/ecies/manual-test.js +0 -171
  305. package/dist/services/ecies/manual-test.js.map +0 -1
  306. package/dist/services/ecies/multi-recipient.d.ts +0 -52
  307. package/dist/services/ecies/multi-recipient.d.ts.map +0 -1
  308. package/dist/services/ecies/multi-recipient.js +0 -243
  309. package/dist/services/ecies/multi-recipient.js.map +0 -1
  310. package/dist/services/ecies/service.d.ts +0 -104
  311. package/dist/services/ecies/service.d.ts.map +0 -1
  312. package/dist/services/ecies/service.js +0 -192
  313. package/dist/services/ecies/service.js.map +0 -1
  314. package/dist/services/ecies/signature.d.ts +0 -27
  315. package/dist/services/ecies/signature.d.ts.map +0 -1
  316. package/dist/services/ecies/signature.js +0 -76
  317. package/dist/services/ecies/signature.js.map +0 -1
  318. package/dist/services/ecies/single-recipient.d.ts +0 -46
  319. package/dist/services/ecies/single-recipient.d.ts.map +0 -1
  320. package/dist/services/ecies/single-recipient.js +0 -212
  321. package/dist/services/ecies/single-recipient.js.map +0 -1
  322. package/dist/services/index.d.ts.map +0 -1
  323. package/dist/services/index.js +0 -22
  324. package/dist/services/index.js.map +0 -1
  325. package/dist/services/password-login.d.ts +0 -49
  326. package/dist/services/password-login.d.ts.map +0 -1
  327. package/dist/services/password-login.js +0 -121
  328. package/dist/services/password-login.js.map +0 -1
  329. package/dist/services/pbkdf2.d.ts +0 -56
  330. package/dist/services/pbkdf2.d.ts.map +0 -1
  331. package/dist/services/pbkdf2.js +0 -114
  332. package/dist/services/pbkdf2.js.map +0 -1
  333. package/dist/services/xor.d.ts +0 -37
  334. package/dist/services/xor.d.ts.map +0 -1
  335. package/dist/services/xor.js +0 -67
  336. package/dist/services/xor.js.map +0 -1
  337. package/dist/types/deep-partial.d.ts +0 -4
  338. package/dist/types/deep-partial.d.ts.map +0 -1
  339. package/dist/types/deep-partial.js +0 -3
  340. package/dist/types/deep-partial.js.map +0 -1
  341. package/dist/types.d.ts.map +0 -1
  342. package/dist/types.js +0 -3
  343. package/dist/types.js.map +0 -1
  344. package/dist/utils.d.ts +0 -68
  345. package/dist/utils.d.ts.map +0 -1
  346. package/dist/utils.js +0 -288
  347. package/dist/utils.js.map +0 -1
package/dist/guid.js DELETED
@@ -1,647 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.GuidV4 = void 0;
37
- const uuid = __importStar(require("uuid"));
38
- const guid_brand_type_1 = require("./enumerations/guid-brand-type");
39
- const guid_error_type_1 = require("./enumerations/guid-error-type");
40
- const guid_1 = require("./errors/guid");
41
- const i18n_setup_1 = require("./i18n-setup");
42
- const utils_1 = require("./utils");
43
- /**
44
- * GuidV4 represents a GUID (Globally Unique Identifier) that is compliant with the RFC 4122 standard.
45
- * GuidV4 instances can be created from a variety of input types, including:
46
- * - FullHexGuid: A 36-character string representation of the GUID, including dashes
47
- * - ShortHexGuid: A 32-character string representation of the GUID, excluding dashes
48
- * - Base64Guid: A 24-character base64-encoded string representation of the GUID
49
- * - BigIntGuid: A bigint representation of the GUID
50
- * - RawGuidUint8Array: A 16-byte Uint8Array representation of the GUID
51
- * GuidV4 instances can be converted to any of these representations using the appropriate method.
52
- */
53
- class GuidV4 {
54
- /**
55
- * GUID is stored internally as a raw 16-byte Uint8Array.
56
- */
57
- _value;
58
- constructor(value) {
59
- // Check for UnknownLength issues first - this applies to any input type
60
- let brandCheckPassed = false;
61
- try {
62
- GuidV4.whichBrand(value);
63
- brandCheckPassed = true;
64
- }
65
- catch (error) {
66
- if (error instanceof guid_1.GuidError &&
67
- (error.type === guid_error_type_1.GuidErrorType.UnknownLength ||
68
- error.type === guid_error_type_1.GuidErrorType.UnknownBrand)) {
69
- // For Uint8Array with wrong length, treat as Invalid rather than UnknownLength
70
- if (value instanceof Uint8Array &&
71
- error.type === guid_error_type_1.GuidErrorType.UnknownLength) {
72
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
73
- }
74
- throw error; // Let UnknownLength/UnknownBrand bubble up for other types
75
- }
76
- // For other errors from whichBrand, continue with validation
77
- }
78
- // Only do validation if brand check passed
79
- if (brandCheckPassed) {
80
- try {
81
- if (!GuidV4.isValid(value)) {
82
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
83
- }
84
- }
85
- catch (error) {
86
- if (error instanceof guid_1.GuidError) {
87
- throw error;
88
- }
89
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
90
- }
91
- }
92
- this._value = GuidV4.toRawGuidUint8Array(value);
93
- }
94
- static isValid(value) {
95
- try {
96
- if (value === null || value === undefined) {
97
- return false;
98
- }
99
- const strValue = String(value);
100
- if (!strValue && value !== 0n) {
101
- return false;
102
- }
103
- const expectedBrand = GuidV4.whichBrand(value);
104
- const verifiedBrand = GuidV4.verifyGuid(expectedBrand, value);
105
- if (!verifiedBrand) {
106
- return false;
107
- }
108
- const uintArray = GuidV4.toRawGuidUint8Array(value);
109
- // Skip UUID validation for boundary values that are mathematically valid but not RFC 4122 compliant
110
- const fullHex = GuidV4.toFullHexGuid(uintArray);
111
- const isAllZeros = fullHex === '00000000-0000-0000-0000-000000000000';
112
- const isAllFs = fullHex === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
113
- if (!isAllZeros && !isAllFs && !uuid.validate(fullHex)) {
114
- return false;
115
- }
116
- return true;
117
- }
118
- catch (error) {
119
- return false;
120
- }
121
- }
122
- static validateUuid(value) {
123
- return uuid.validate(value);
124
- }
125
- serialize() {
126
- return this.asBase64Guid;
127
- }
128
- static hydrate(value) {
129
- return new GuidV4(value);
130
- }
131
- static LengthMap = {
132
- [guid_brand_type_1.GuidBrandType.Unknown]: -1,
133
- [guid_brand_type_1.GuidBrandType.FullHexGuid]: 36,
134
- [guid_brand_type_1.GuidBrandType.ShortHexGuid]: 32,
135
- [guid_brand_type_1.GuidBrandType.Base64Guid]: 24,
136
- [guid_brand_type_1.GuidBrandType.RawGuidUint8Array]: 16,
137
- [guid_brand_type_1.GuidBrandType.BigIntGuid]: -1, // Variable length
138
- };
139
- static ReverseLengthMap = {
140
- 0: guid_brand_type_1.GuidBrandType.Unknown,
141
- 36: guid_brand_type_1.GuidBrandType.FullHexGuid,
142
- 32: guid_brand_type_1.GuidBrandType.ShortHexGuid,
143
- 24: guid_brand_type_1.GuidBrandType.Base64Guid,
144
- 16: guid_brand_type_1.GuidBrandType.RawGuidUint8Array,
145
- // BigIntGuid is variable length, so it is not included in the reverse map
146
- };
147
- static VerifyFunctions = {
148
- [guid_brand_type_1.GuidBrandType.Unknown]: () => false,
149
- [guid_brand_type_1.GuidBrandType.FullHexGuid]: (guid) => this.isFullHexGuid(guid),
150
- [guid_brand_type_1.GuidBrandType.ShortHexGuid]: (guid) => this.isShortHexGuid(guid),
151
- [guid_brand_type_1.GuidBrandType.Base64Guid]: (guid) => this.isBase64Guid(guid),
152
- [guid_brand_type_1.GuidBrandType.BigIntGuid]: (guid) => this.isBigIntGuid(guid),
153
- [guid_brand_type_1.GuidBrandType.RawGuidUint8Array]: (guid) => this.isRawGuidUint8Array(guid),
154
- };
155
- /**
156
- * Returns the GUID as a raw Uint8Array.
157
- */
158
- get asRawGuidUint8Array() {
159
- return this._value;
160
- }
161
- static new() {
162
- try {
163
- const uuidStr = uuid.v4();
164
- if (!uuidStr) {
165
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
166
- }
167
- return new GuidV4(uuidStr);
168
- }
169
- catch (error) {
170
- // If there's an error creating the GUID, throw a more specific error
171
- if (error instanceof guid_1.GuidError) {
172
- throw error;
173
- }
174
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
175
- }
176
- }
177
- /**
178
- * Returns the GUID as a full hex string.
179
- */
180
- get asFullHexGuid() {
181
- return GuidV4.toFullHexGuid(this._value);
182
- }
183
- /**
184
- * Returns the GUID as a raw Uint8Array.
185
- */
186
- get asUint8Array() {
187
- return this._value;
188
- }
189
- /**
190
- * Returns the GUID as a short hex string.
191
- */
192
- get asShortHexGuid() {
193
- return GuidV4.toShortHexGuid(this.asFullHexGuid);
194
- }
195
- /**
196
- * Returns the GUID as a base64 string.
197
- */
198
- toString() {
199
- return this.asBase64Guid;
200
- }
201
- /**
202
- * Returns the GUID as a JSON string.
203
- * @returns The GUID as a JSON string.
204
- */
205
- toJson() {
206
- return JSON.stringify(this.asBase64Guid);
207
- }
208
- /**
209
- * Returns the GUID as a bigint.
210
- */
211
- get asBigIntGuid() {
212
- const hex = (0, utils_1.uint8ArrayToHex)(this._value);
213
- return BigInt('0x' + hex);
214
- }
215
- /**
216
- * Returns the GUID as a base64 string.
217
- */
218
- get asBase64Guid() {
219
- return btoa(String.fromCharCode(...this._value));
220
- }
221
- /**
222
- * Verifies if a given GUID is valid for the given brand.
223
- * @param guidBrand The brand of the GUID to verify.
224
- * @param guid The GUID to verify.
225
- * @returns True if the GUID is valid for the given brand, false otherwise.
226
- */
227
- static verifyGuid(guidBrand, guid) {
228
- if (guid === null || guid === undefined) {
229
- return false;
230
- }
231
- try {
232
- const verifyFunc = GuidV4.VerifyFunctions[guidBrand];
233
- return verifyFunc(guid);
234
- }
235
- catch {
236
- return false;
237
- }
238
- }
239
- /**
240
- * Returns the length of the GUID for the given brand.
241
- * @param guidBrand The brand of the GUID to get the length for.
242
- * @returns The length of the GUID for the given brand.
243
- */
244
- static guidBrandToLength(guidBrand) {
245
- const length = GuidV4.LengthMap[guidBrand];
246
- if (length <= 0) {
247
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.UnknownBrand, (0, i18n_setup_1.getEciesI18nEngine)(), guidBrand);
248
- }
249
- return length;
250
- }
251
- /**
252
- * Returns the brand of the GUID for the given length.
253
- * @param length The length of the GUID to get the brand for.
254
- * @param isUint8Array Whether the GUID is a Uint8Array.
255
- * @returns The brand of the GUID for the given length.
256
- */
257
- static lengthToGuidBrand(length, isUint8Array) {
258
- if (length <= 0) {
259
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.UnknownLength, (0, i18n_setup_1.getEciesI18nEngine)(), undefined, length);
260
- }
261
- const keys = Object.keys(GuidV4.ReverseLengthMap);
262
- const values = Object.values(GuidV4.ReverseLengthMap);
263
- for (let i = 0; i < keys.length; i++) {
264
- const len = parseInt(keys[i]);
265
- const brand = values[i];
266
- if (len === length) {
267
- if (isUint8Array && !brand.endsWith('Uint8Array')) {
268
- continue;
269
- }
270
- else if (!isUint8Array && brand.endsWith('Uint8Array')) {
271
- continue;
272
- }
273
- return brand;
274
- }
275
- }
276
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.UnknownLength, (0, i18n_setup_1.getEciesI18nEngine)(), undefined, length);
277
- }
278
- /**
279
- * Verifies if a given GUID is a valid full hex GUID.
280
- * @param fullHexGuidValue The full hex GUID to verify.
281
- * @returns True if the GUID is a valid full hex GUID, false otherwise.
282
- */
283
- static isFullHexGuid(fullHexGuidValue) {
284
- try {
285
- if (fullHexGuidValue === null || fullHexGuidValue === undefined) {
286
- return false;
287
- }
288
- const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid);
289
- const strValue = String(fullHexGuidValue);
290
- if (strValue.length !== expectedLength) {
291
- return false;
292
- }
293
- // Allow boundary values (all zeros and all fs)
294
- const isAllZeros = strValue === '00000000-0000-0000-0000-000000000000';
295
- const isAllFs = strValue === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
296
- return isAllZeros || isAllFs || GuidV4.validateUuid(strValue);
297
- }
298
- catch {
299
- return false;
300
- }
301
- }
302
- /**
303
- * Verifies if a given GUID is a valid short hex GUID.
304
- * @param shortHexGuidValue The short hex GUID to verify.
305
- * @returns True if the GUID is a valid short hex GUID, false otherwise.
306
- */
307
- static isShortHexGuid(shortHexGuidValue) {
308
- try {
309
- if (shortHexGuidValue === null || shortHexGuidValue === undefined) {
310
- return false;
311
- }
312
- const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid);
313
- const strValue = String(shortHexGuidValue);
314
- if (strValue.length !== expectedLength) {
315
- return false;
316
- }
317
- try {
318
- const fullHexGuid = GuidV4.toFullHexGuid(strValue);
319
- // Allow boundary values (all zeros and all fs)
320
- const isAllZeros = fullHexGuid === '00000000-0000-0000-0000-000000000000';
321
- const isAllFs = fullHexGuid === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
322
- return isAllZeros || isAllFs || uuid.validate(fullHexGuid);
323
- }
324
- catch {
325
- return false;
326
- }
327
- }
328
- catch {
329
- return false;
330
- }
331
- }
332
- /**
333
- * Verifies if a given GUID is a valid base64 GUID.
334
- * @param value The base64 GUID to verify.
335
- * @returns True if the GUID is a valid base64 GUID, false otherwise.
336
- */
337
- static isBase64Guid(value) {
338
- try {
339
- if (value === null || value === undefined) {
340
- return false;
341
- }
342
- let valueLength;
343
- if (typeof value === 'bigint') {
344
- valueLength = value.toString(16).length;
345
- }
346
- else if (value instanceof Uint8Array) {
347
- valueLength = value.length;
348
- }
349
- else {
350
- valueLength = String(value).length;
351
- }
352
- const result = valueLength === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid);
353
- if (result) {
354
- try {
355
- const fromBase64 = GuidV4.toRawGuidUint8Array(value);
356
- const hex = (0, utils_1.uint8ArrayToHex)(fromBase64);
357
- const fullHexGuid = GuidV4.toFullHexGuid(hex);
358
- // Allow boundary values (all zeros and all fs)
359
- const isAllZeros = fullHexGuid === '00000000-0000-0000-0000-000000000000';
360
- const isAllFs = fullHexGuid === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
361
- return isAllZeros || isAllFs || uuid.validate(fullHexGuid);
362
- }
363
- catch {
364
- return false;
365
- }
366
- }
367
- return result;
368
- }
369
- catch {
370
- return false;
371
- }
372
- }
373
- /**
374
- * Verifies if a given GUID is a valid raw GUID buffer.
375
- * @param value The raw GUID buffer to verify.
376
- * @returns True if the GUID is a valid raw GUID buffer, false otherwise.
377
- */
378
- static isRawGuidUint8Array(value) {
379
- try {
380
- if (value === null || value === undefined) {
381
- return false;
382
- }
383
- const expectedLength = GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidUint8Array);
384
- let valueLength;
385
- if (typeof value === 'bigint') {
386
- valueLength = value.toString(16).length;
387
- }
388
- else if (value instanceof Uint8Array) {
389
- valueLength = value.length;
390
- }
391
- else {
392
- valueLength = String(value).length;
393
- }
394
- if (valueLength !== expectedLength) {
395
- return false;
396
- }
397
- try {
398
- if (!(value instanceof Uint8Array)) {
399
- return false;
400
- }
401
- const hex = (0, utils_1.uint8ArrayToHex)(value);
402
- const fullHexGuid = GuidV4.toFullHexGuid(hex);
403
- // Allow boundary values (all zeros and all fs)
404
- const isAllZeros = fullHexGuid === '00000000-0000-0000-0000-000000000000';
405
- const isAllFs = fullHexGuid === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
406
- return isAllZeros || isAllFs || GuidV4.validateUuid(fullHexGuid);
407
- }
408
- catch {
409
- return false;
410
- }
411
- }
412
- catch {
413
- return false;
414
- }
415
- }
416
- /**
417
- * Verifies if a given GUID is a valid bigint GUID.
418
- * @param value The bigint GUID to verify.
419
- * @returns True if the GUID is a valid bigint GUID, false otherwise.
420
- */
421
- static isBigIntGuid(value) {
422
- try {
423
- if (value === null || value === undefined) {
424
- return false;
425
- }
426
- if (typeof value !== 'bigint') {
427
- return false;
428
- }
429
- if (value < 0n) {
430
- return false;
431
- }
432
- const bigIntString = value.toString(16);
433
- if (bigIntString.length > 32) {
434
- return false;
435
- }
436
- try {
437
- const fromBigInt = GuidV4.toFullHexFromBigInt(value);
438
- // Allow boundary values (all zeros and all fs)
439
- const isAllZeros = fromBigInt === '00000000-0000-0000-0000-000000000000';
440
- const isAllFs = fromBigInt === 'ffffffff-ffff-ffff-ffff-ffffffffffff';
441
- return isAllZeros || isAllFs || uuid.validate(fromBigInt);
442
- }
443
- catch {
444
- return false;
445
- }
446
- }
447
- catch {
448
- return false;
449
- }
450
- }
451
- /**
452
- * Determines the brand of a given GUID value.
453
- * @param value The GUID value to determine the brand of.
454
- * @returns The brand of the GUID value.
455
- */
456
- static whichBrand(value) {
457
- if (value === null || value === undefined) {
458
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
459
- }
460
- if (typeof value === 'bigint') {
461
- return guid_brand_type_1.GuidBrandType.BigIntGuid;
462
- }
463
- const isUint8Array = value instanceof Uint8Array;
464
- let expectedLength;
465
- if (typeof value === 'bigint') {
466
- // For bigint, we'll use the string representation length
467
- const bigintValue = value;
468
- expectedLength = bigintValue.toString(16).length;
469
- }
470
- else if (isUint8Array) {
471
- expectedLength = value.length;
472
- }
473
- else {
474
- expectedLength = String(value).length;
475
- }
476
- return GuidV4.lengthToGuidBrand(expectedLength, isUint8Array);
477
- }
478
- /**
479
- * Converts a given short hex GUID to a full hex GUID.
480
- * @param shortGuid The short hex GUID to convert.
481
- * @returns The short hex GUID as a full hex GUID.
482
- */
483
- static shortGuidToFullGuid(shortGuid) {
484
- // insert dashes
485
- const str = shortGuid.replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-$3-$4-$5');
486
- return str;
487
- }
488
- /**
489
- * Converts a given GUID value to a full hex GUID.
490
- * @param guid The GUID value to convert.
491
- * @param dateCreated The date created for Mongoose IDs
492
- * @returns The GUID value as a full hex GUID.
493
- */
494
- static toFullHexGuid(guid) {
495
- if (!guid) {
496
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
497
- }
498
- else if (typeof guid === 'bigint') {
499
- return GuidV4.toFullHexFromBigInt(guid);
500
- }
501
- else if (guid instanceof Uint8Array &&
502
- guid.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidUint8Array)) {
503
- const shortHex = (0, utils_1.uint8ArrayToHex)(guid);
504
- return GuidV4.shortGuidToFullGuid(shortHex);
505
- }
506
- else if (guid instanceof Uint8Array) {
507
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
508
- }
509
- // all remaining cases are string types
510
- const strValue = String(guid);
511
- if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid)) {
512
- // short hex guid
513
- return GuidV4.shortGuidToFullGuid(strValue);
514
- }
515
- else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid)) {
516
- // already a full hex guid
517
- return strValue;
518
- }
519
- else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid)) {
520
- // base64 guid
521
- const shortGuid = (0, utils_1.uint8ArrayToHex)((0, utils_1.base64ToUint8Array)(strValue));
522
- return GuidV4.shortGuidToFullGuid(shortGuid);
523
- }
524
- else {
525
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
526
- }
527
- }
528
- static toShortHexGuid(guid) {
529
- if (!guid) {
530
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
531
- }
532
- else if (typeof guid === 'bigint') {
533
- const fullHex = GuidV4.toFullHexFromBigInt(guid);
534
- return fullHex.replace(/-/g, '');
535
- }
536
- else if (guid instanceof Uint8Array &&
537
- guid.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidUint8Array)) {
538
- return (0, utils_1.uint8ArrayToHex)(guid);
539
- }
540
- else if (guid instanceof Uint8Array) {
541
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
542
- }
543
- // all remaining cases are string types
544
- const strValue = String(guid);
545
- if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.ShortHexGuid)) {
546
- // already a short hex guid
547
- return strValue;
548
- }
549
- else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.FullHexGuid)) {
550
- // full hex guid
551
- return strValue.replace(/-/g, '');
552
- }
553
- else if (strValue.length === GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.Base64Guid)) {
554
- // base64 guid
555
- return (0, utils_1.uint8ArrayToHex)((0, utils_1.base64ToUint8Array)(strValue));
556
- }
557
- else {
558
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
559
- }
560
- }
561
- /**
562
- * Converts a given bigint to a full hex GUID.
563
- * @param bigInt The bigint to convert.
564
- * @returns The bigint as a full hex GUID.
565
- */
566
- static toFullHexFromBigInt(bigInt) {
567
- if (bigInt < 0n) {
568
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
569
- }
570
- const uuidBigInt = bigInt.toString(16).padStart(32, '0');
571
- if (uuidBigInt.length !== 32) {
572
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
573
- }
574
- const rebuiltUuid = uuidBigInt.slice(0, 8) +
575
- '-' +
576
- uuidBigInt.slice(8, 12) +
577
- '-' +
578
- uuidBigInt.slice(12, 16) +
579
- '-' +
580
- uuidBigInt.slice(16, 20) +
581
- '-' +
582
- uuidBigInt.slice(20);
583
- return rebuiltUuid;
584
- }
585
- /**
586
- * Converts a given GUID value to a raw GUID buffer.
587
- * @param value The GUID value to convert.
588
- * @param dateCreated The date the GUID was created for Mongoose GUIDs
589
- * @returns The GUID value as a raw GUID buffer.
590
- */
591
- static toRawGuidUint8Array(value) {
592
- const expectedBrand = GuidV4.whichBrand(value);
593
- let rawGuidUint8ArrayResult = new Uint8Array(0);
594
- switch (expectedBrand) {
595
- case guid_brand_type_1.GuidBrandType.FullHexGuid:
596
- const shortHex1 = GuidV4.toShortHexGuid(value);
597
- rawGuidUint8ArrayResult = new Uint8Array(shortHex1.match(/.{2}/g).map((byte) => parseInt(byte, 16)));
598
- break;
599
- case guid_brand_type_1.GuidBrandType.ShortHexGuid:
600
- const shortHex2 = GuidV4.toShortHexGuid(value);
601
- rawGuidUint8ArrayResult = new Uint8Array(shortHex2.match(/.{2}/g).map((byte) => parseInt(byte, 16)));
602
- break;
603
- case guid_brand_type_1.GuidBrandType.Base64Guid:
604
- // Ensure value is a string before using it with atob
605
- if (typeof value === 'string' || value instanceof Uint8Array) {
606
- const binaryString = atob(value.toString());
607
- rawGuidUint8ArrayResult = new Uint8Array(Array.from(binaryString).map((c) => c.charCodeAt(0)));
608
- }
609
- else {
610
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.Invalid, (0, i18n_setup_1.getEciesI18nEngine)());
611
- }
612
- break;
613
- case guid_brand_type_1.GuidBrandType.RawGuidUint8Array:
614
- rawGuidUint8ArrayResult = value;
615
- break;
616
- case guid_brand_type_1.GuidBrandType.BigIntGuid:
617
- const shortHex3 = GuidV4.toShortHexGuid(GuidV4.toFullHexFromBigInt(value));
618
- rawGuidUint8ArrayResult = new Uint8Array(shortHex3.match(/.{2}/g).map((byte) => parseInt(byte, 16)));
619
- break;
620
- default:
621
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.UnknownBrand, (0, i18n_setup_1.getEciesI18nEngine)());
622
- }
623
- if (rawGuidUint8ArrayResult.length !==
624
- GuidV4.guidBrandToLength(guid_brand_type_1.GuidBrandType.RawGuidUint8Array)) {
625
- throw new guid_1.GuidError(guid_error_type_1.GuidErrorType.UnknownLength, (0, i18n_setup_1.getEciesI18nEngine)(), undefined, rawGuidUint8ArrayResult.length);
626
- }
627
- return rawGuidUint8ArrayResult;
628
- }
629
- /**
630
- * Compare two GuidV4 instances
631
- * @param other - The other GuidV4 instance to compare
632
- * @returns True if the two GuidV4 instances are equal, false otherwise
633
- */
634
- equals(other) {
635
- const a = this.asRawGuidUint8Array;
636
- const b = other.asRawGuidUint8Array;
637
- if (a.length !== b.length)
638
- return false;
639
- for (let i = 0; i < a.length; i++) {
640
- if (a[i] !== b[i])
641
- return false;
642
- }
643
- return true;
644
- }
645
- }
646
- exports.GuidV4 = GuidV4;
647
- //# sourceMappingURL=guid.js.map
package/dist/guid.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"guid.js","sourceRoot":"","sources":["../src/guid.ts"],"names":[],"mappings":"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"}