@digitaldefiance/suite-core-lib 3.6.6 → 3.6.8

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 (563) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -44
  3. package/package.json +10 -6
  4. package/src/backup-code-string.ts +96 -0
  5. package/src/builders/{index.d.ts → index.ts} +1 -1
  6. package/src/builders/role-builder.ts +63 -0
  7. package/src/builders/user-builder.ts +72 -0
  8. package/src/constants.ts +220 -0
  9. package/src/core/{errors.d.ts → errors.ts} +4 -1
  10. package/src/core/{index.d.ts → index.ts} +1 -1
  11. package/src/core/result.ts +36 -0
  12. package/src/core/{types.d.ts → types.ts} +6 -1
  13. package/src/defaults.ts +110 -0
  14. package/src/enumerations/account-status.ts +17 -0
  15. package/src/enumerations/email-token-type.ts +24 -0
  16. package/src/enumerations/fec-error-type.ts +13 -0
  17. package/src/enumerations/{index.d.ts → index.ts} +1 -2
  18. package/src/enumerations/pbkdf2-error-type.ts +4 -0
  19. package/src/enumerations/role.ts +5 -0
  20. package/src/enumerations/suite-core-string-key.ts +495 -0
  21. package/src/errors/account-locked.ts +9 -0
  22. package/src/errors/account-status.ts +33 -0
  23. package/src/errors/admin-role-not-found.ts +10 -0
  24. package/src/errors/core-typed-handleable.ts +69 -0
  25. package/src/errors/direct-challenge-not-enabled.ts +12 -0
  26. package/src/errors/direct-token-used.ts +9 -0
  27. package/src/errors/email-in-use.ts +11 -0
  28. package/src/errors/email-token-expired.ts +12 -0
  29. package/src/errors/email-token-failed-to-send.ts +20 -0
  30. package/src/errors/email-token-sent-too-recently.ts +29 -0
  31. package/src/errors/email-token-used-or-invalid.ts +12 -0
  32. package/src/errors/email-verified.ts +11 -0
  33. package/src/errors/failed-to-use-direct-token.ts +9 -0
  34. package/src/errors/fec-error.ts +33 -0
  35. package/src/errors/generic-validation.ts +11 -0
  36. package/src/errors/{index.d.ts → index.ts} +0 -1
  37. package/src/errors/invalid-backup-code.ts +6 -0
  38. package/src/errors/invalid-challenge-response.ts +12 -0
  39. package/src/errors/invalid-challenge.ts +9 -0
  40. package/src/errors/invalid-credentials.ts +14 -0
  41. package/src/errors/invalid-email.ts +22 -0
  42. package/src/errors/invalid-expired-token.ts +11 -0
  43. package/src/errors/invalid-token.ts +13 -0
  44. package/src/errors/invalid-userid.ts +21 -0
  45. package/src/errors/invalid-username.ts +14 -0
  46. package/src/errors/last-admin-error.ts +12 -0
  47. package/src/errors/login-challenge-expired.ts +12 -0
  48. package/src/errors/member-role-not-found.ts +10 -0
  49. package/src/errors/password-login-not-enabled.ts +12 -0
  50. package/src/errors/password-login-not-setup.ts +12 -0
  51. package/src/errors/pbkdf2-error.ts +19 -0
  52. package/src/errors/pending-email-verification.ts +9 -0
  53. package/src/errors/private-key-required.ts +13 -0
  54. package/src/errors/system-role-not-found.ts +10 -0
  55. package/src/errors/token-not-found.ts +26 -0
  56. package/src/errors/translatable-suite-handleable.ts +27 -0
  57. package/src/errors/translatable-suite.ts +34 -0
  58. package/src/errors/user-not-found.ts +14 -0
  59. package/src/errors/username-email-required.ts +20 -0
  60. package/src/errors/username-in-use.ts +14 -0
  61. package/src/i18n-setup.ts +141 -0
  62. package/src/{index.d.ts → index.ts} +0 -1
  63. package/src/interfaces/backup-code-consts.ts +15 -0
  64. package/src/interfaces/backup-code.ts +6 -0
  65. package/src/interfaces/bases/email-token.ts +38 -0
  66. package/src/interfaces/bases/{index.d.ts → index.ts} +0 -1
  67. package/src/interfaces/bases/{mnemonic.d.ts → mnemonic.ts} +5 -5
  68. package/src/interfaces/bases/role.ts +40 -0
  69. package/src/interfaces/bases/token-role.ts +9 -0
  70. package/src/interfaces/bases/{used-direct-login-token.d.ts → used-direct-login-token.ts} +3 -3
  71. package/src/interfaces/bases/user-role.ts +21 -0
  72. package/src/interfaces/bases/user.ts +88 -0
  73. package/src/interfaces/combined-role-privileges.ts +6 -0
  74. package/src/interfaces/constants.ts +56 -0
  75. package/src/interfaces/core-consts.ts +130 -0
  76. package/src/interfaces/deep-partial.ts +3 -0
  77. package/src/interfaces/dto/{email-token.d.ts → email-token.ts} +1 -1
  78. package/src/interfaces/dto/{index.d.ts → index.ts} +1 -2
  79. package/src/interfaces/dto/{mnemonic.d.ts → mnemonic.ts} +1 -1
  80. package/src/interfaces/dto/request-user.ts +19 -0
  81. package/src/interfaces/dto/{role.d.ts → role.ts} +1 -1
  82. package/src/interfaces/dto/{token-role.d.ts → token-role.ts} +9 -3
  83. package/src/interfaces/dto/{user-role.d.ts → user-role.ts} +1 -1
  84. package/src/interfaces/dto/{user-settings.d.ts → user-settings.ts} +1 -2
  85. package/src/interfaces/dto/{user.d.ts → user.ts} +1 -1
  86. package/src/interfaces/failable-result.ts +6 -0
  87. package/src/interfaces/frontend-objects/email-token.ts +8 -0
  88. package/src/interfaces/frontend-objects/{index.d.ts → index.ts} +1 -2
  89. package/src/interfaces/frontend-objects/request-user.ts +17 -0
  90. package/src/interfaces/frontend-objects/{role.d.ts → role.ts} +1 -1
  91. package/src/interfaces/frontend-objects/{user-role.d.ts → user-role.ts} +1 -1
  92. package/src/interfaces/frontend-objects/user.ts +9 -0
  93. package/src/interfaces/has-creation.ts +6 -0
  94. package/src/interfaces/has-creator.ts +6 -0
  95. package/src/interfaces/has-id.ts +3 -0
  96. package/src/interfaces/has-soft-delete.ts +6 -0
  97. package/src/interfaces/has-soft-deleter.ts +6 -0
  98. package/src/interfaces/has-timestamp-owners.ts +6 -0
  99. package/src/interfaces/has-timestamps.ts +7 -0
  100. package/src/interfaces/has-updater.ts +6 -0
  101. package/src/interfaces/has-updates.ts +3 -0
  102. package/src/interfaces/{index.d.ts → index.ts} +0 -1
  103. package/src/interfaces/success-message.ts +4 -0
  104. package/src/interfaces/{token-user.d.ts → token-user.ts} +3 -3
  105. package/src/interfaces/{user-settings.d.ts → user-settings.ts} +2 -2
  106. package/src/lib/flags.ts +286 -0
  107. package/src/lib/formatters.ts +28 -0
  108. package/src/lib/hydrate-dehydrate.ts +27 -0
  109. package/src/lib/{index.d.ts → index.ts} +2 -2
  110. package/src/lib/validators-with-constants.ts +72 -0
  111. package/src/lib/validators.ts +72 -0
  112. package/src/local-storage-manager.ts +69 -0
  113. package/src/strings/de.ts +689 -0
  114. package/src/strings/en-GB.ts +626 -0
  115. package/src/strings/en-US.ts +628 -0
  116. package/src/strings/es.ts +688 -0
  117. package/src/strings/fr.ts +685 -0
  118. package/src/strings/ja.ts +654 -0
  119. package/src/strings/uk.ts +667 -0
  120. package/src/strings/zh-CN.ts +566 -0
  121. package/src/backup-code-string.d.ts +0 -29
  122. package/src/backup-code-string.d.ts.map +0 -1
  123. package/src/backup-code-string.js +0 -81
  124. package/src/backup-code-string.js.map +0 -1
  125. package/src/builders/index.d.ts.map +0 -1
  126. package/src/builders/index.js +0 -9
  127. package/src/builders/index.js.map +0 -1
  128. package/src/builders/role-builder.d.ts +0 -19
  129. package/src/builders/role-builder.d.ts.map +0 -1
  130. package/src/builders/role-builder.js +0 -57
  131. package/src/builders/role-builder.js.map +0 -1
  132. package/src/builders/user-builder.d.ts +0 -23
  133. package/src/builders/user-builder.d.ts.map +0 -1
  134. package/src/builders/user-builder.js +0 -63
  135. package/src/builders/user-builder.js.map +0 -1
  136. package/src/constants.d.ts +0 -7
  137. package/src/constants.d.ts.map +0 -1
  138. package/src/constants.js +0 -209
  139. package/src/constants.js.map +0 -1
  140. package/src/core/errors.d.ts.map +0 -1
  141. package/src/core/errors.js +0 -29
  142. package/src/core/errors.js.map +0 -1
  143. package/src/core/index.d.ts.map +0 -1
  144. package/src/core/index.js +0 -10
  145. package/src/core/index.js.map +0 -1
  146. package/src/core/result.d.ts +0 -34
  147. package/src/core/result.d.ts.map +0 -1
  148. package/src/core/result.js +0 -35
  149. package/src/core/result.js.map +0 -1
  150. package/src/core/types.d.ts.map +0 -1
  151. package/src/core/types.js +0 -6
  152. package/src/core/types.js.map +0 -1
  153. package/src/defaults.d.ts +0 -7
  154. package/src/defaults.d.ts.map +0 -1
  155. package/src/defaults.js +0 -66
  156. package/src/defaults.js.map +0 -1
  157. package/src/enumerations/account-status.d.ts +0 -18
  158. package/src/enumerations/account-status.d.ts.map +0 -1
  159. package/src/enumerations/account-status.js +0 -22
  160. package/src/enumerations/account-status.js.map +0 -1
  161. package/src/enumerations/email-token-type.d.ts +0 -25
  162. package/src/enumerations/email-token-type.d.ts.map +0 -1
  163. package/src/enumerations/email-token-type.js +0 -29
  164. package/src/enumerations/email-token-type.js.map +0 -1
  165. package/src/enumerations/fec-error-type.d.ts +0 -14
  166. package/src/enumerations/fec-error-type.d.ts.map +0 -1
  167. package/src/enumerations/fec-error-type.js +0 -18
  168. package/src/enumerations/fec-error-type.js.map +0 -1
  169. package/src/enumerations/index.d.ts.map +0 -1
  170. package/src/enumerations/index.js +0 -10
  171. package/src/enumerations/index.js.map +0 -1
  172. package/src/enumerations/pbkdf2-error-type.d.ts +0 -5
  173. package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
  174. package/src/enumerations/pbkdf2-error-type.js +0 -9
  175. package/src/enumerations/pbkdf2-error-type.js.map +0 -1
  176. package/src/enumerations/role.d.ts +0 -6
  177. package/src/enumerations/role.d.ts.map +0 -1
  178. package/src/enumerations/role.js +0 -10
  179. package/src/enumerations/role.js.map +0 -1
  180. package/src/enumerations/suite-core-string-key.d.ts +0 -482
  181. package/src/enumerations/suite-core-string-key.d.ts.map +0 -1
  182. package/src/enumerations/suite-core-string-key.js +0 -493
  183. package/src/enumerations/suite-core-string-key.js.map +0 -1
  184. package/src/errors/account-locked.d.ts +0 -5
  185. package/src/errors/account-locked.d.ts.map +0 -1
  186. package/src/errors/account-locked.js +0 -13
  187. package/src/errors/account-locked.js.map +0 -1
  188. package/src/errors/account-status.d.ts +0 -7
  189. package/src/errors/account-status.d.ts.map +0 -1
  190. package/src/errors/account-status.js +0 -31
  191. package/src/errors/account-status.js.map +0 -1
  192. package/src/errors/admin-role-not-found.d.ts +0 -6
  193. package/src/errors/admin-role-not-found.d.ts.map +0 -1
  194. package/src/errors/admin-role-not-found.js +0 -13
  195. package/src/errors/admin-role-not-found.js.map +0 -1
  196. package/src/errors/core-typed-handleable.d.ts +0 -12
  197. package/src/errors/core-typed-handleable.d.ts.map +0 -1
  198. package/src/errors/core-typed-handleable.js +0 -51
  199. package/src/errors/core-typed-handleable.js.map +0 -1
  200. package/src/errors/direct-challenge-not-enabled.d.ts +0 -5
  201. package/src/errors/direct-challenge-not-enabled.d.ts.map +0 -1
  202. package/src/errors/direct-challenge-not-enabled.js +0 -16
  203. package/src/errors/direct-challenge-not-enabled.js.map +0 -1
  204. package/src/errors/direct-token-used.d.ts +0 -5
  205. package/src/errors/direct-token-used.d.ts.map +0 -1
  206. package/src/errors/direct-token-used.js +0 -13
  207. package/src/errors/direct-token-used.js.map +0 -1
  208. package/src/errors/email-in-use.d.ts +0 -5
  209. package/src/errors/email-in-use.d.ts.map +0 -1
  210. package/src/errors/email-in-use.js +0 -15
  211. package/src/errors/email-in-use.js.map +0 -1
  212. package/src/errors/email-token-expired.d.ts +0 -5
  213. package/src/errors/email-token-expired.d.ts.map +0 -1
  214. package/src/errors/email-token-expired.js +0 -15
  215. package/src/errors/email-token-expired.js.map +0 -1
  216. package/src/errors/email-token-failed-to-send.d.ts +0 -6
  217. package/src/errors/email-token-failed-to-send.d.ts.map +0 -1
  218. package/src/errors/email-token-failed-to-send.js +0 -22
  219. package/src/errors/email-token-failed-to-send.js.map +0 -1
  220. package/src/errors/email-token-sent-too-recently.d.ts +0 -7
  221. package/src/errors/email-token-sent-too-recently.d.ts.map +0 -1
  222. package/src/errors/email-token-sent-too-recently.js +0 -21
  223. package/src/errors/email-token-sent-too-recently.js.map +0 -1
  224. package/src/errors/email-token-used-or-invalid.d.ts +0 -5
  225. package/src/errors/email-token-used-or-invalid.d.ts.map +0 -1
  226. package/src/errors/email-token-used-or-invalid.js +0 -15
  227. package/src/errors/email-token-used-or-invalid.js.map +0 -1
  228. package/src/errors/email-verified.d.ts +0 -5
  229. package/src/errors/email-verified.d.ts.map +0 -1
  230. package/src/errors/email-verified.js +0 -15
  231. package/src/errors/email-verified.js.map +0 -1
  232. package/src/errors/failed-to-use-direct-token.d.ts +0 -5
  233. package/src/errors/failed-to-use-direct-token.d.ts.map +0 -1
  234. package/src/errors/failed-to-use-direct-token.js +0 -13
  235. package/src/errors/failed-to-use-direct-token.js.map +0 -1
  236. package/src/errors/fec-error.d.ts +0 -6
  237. package/src/errors/fec-error.d.ts.map +0 -1
  238. package/src/errors/fec-error.js +0 -26
  239. package/src/errors/fec-error.js.map +0 -1
  240. package/src/errors/generic-validation.d.ts +0 -5
  241. package/src/errors/generic-validation.d.ts.map +0 -1
  242. package/src/errors/generic-validation.js +0 -12
  243. package/src/errors/generic-validation.js.map +0 -1
  244. package/src/errors/index.d.ts.map +0 -1
  245. package/src/errors/index.js +0 -43
  246. package/src/errors/index.js.map +0 -1
  247. package/src/errors/invalid-backup-code.d.ts +0 -4
  248. package/src/errors/invalid-backup-code.d.ts.map +0 -1
  249. package/src/errors/invalid-backup-code.js +0 -11
  250. package/src/errors/invalid-backup-code.js.map +0 -1
  251. package/src/errors/invalid-challenge-response.d.ts +0 -5
  252. package/src/errors/invalid-challenge-response.d.ts.map +0 -1
  253. package/src/errors/invalid-challenge-response.js +0 -16
  254. package/src/errors/invalid-challenge-response.js.map +0 -1
  255. package/src/errors/invalid-challenge.d.ts +0 -5
  256. package/src/errors/invalid-challenge.d.ts.map +0 -1
  257. package/src/errors/invalid-challenge.js +0 -13
  258. package/src/errors/invalid-challenge.js.map +0 -1
  259. package/src/errors/invalid-credentials.d.ts +0 -5
  260. package/src/errors/invalid-credentials.d.ts.map +0 -1
  261. package/src/errors/invalid-credentials.js +0 -15
  262. package/src/errors/invalid-credentials.js.map +0 -1
  263. package/src/errors/invalid-email.d.ts +0 -8
  264. package/src/errors/invalid-email.d.ts.map +0 -1
  265. package/src/errors/invalid-email.js +0 -25
  266. package/src/errors/invalid-email.js.map +0 -1
  267. package/src/errors/invalid-expired-token.d.ts +0 -7
  268. package/src/errors/invalid-expired-token.d.ts.map +0 -1
  269. package/src/errors/invalid-expired-token.js +0 -13
  270. package/src/errors/invalid-expired-token.js.map +0 -1
  271. package/src/errors/invalid-token.d.ts +0 -5
  272. package/src/errors/invalid-token.d.ts.map +0 -1
  273. package/src/errors/invalid-token.js +0 -16
  274. package/src/errors/invalid-token.js.map +0 -1
  275. package/src/errors/invalid-userid.d.ts +0 -6
  276. package/src/errors/invalid-userid.d.ts.map +0 -1
  277. package/src/errors/invalid-userid.js +0 -18
  278. package/src/errors/invalid-userid.js.map +0 -1
  279. package/src/errors/invalid-username.d.ts +0 -5
  280. package/src/errors/invalid-username.d.ts.map +0 -1
  281. package/src/errors/invalid-username.js +0 -13
  282. package/src/errors/invalid-username.js.map +0 -1
  283. package/src/errors/last-admin-error.d.ts +0 -6
  284. package/src/errors/last-admin-error.d.ts.map +0 -1
  285. package/src/errors/last-admin-error.js +0 -15
  286. package/src/errors/last-admin-error.js.map +0 -1
  287. package/src/errors/login-challenge-expired.d.ts +0 -5
  288. package/src/errors/login-challenge-expired.d.ts.map +0 -1
  289. package/src/errors/login-challenge-expired.js +0 -16
  290. package/src/errors/login-challenge-expired.js.map +0 -1
  291. package/src/errors/member-role-not-found.d.ts +0 -6
  292. package/src/errors/member-role-not-found.d.ts.map +0 -1
  293. package/src/errors/member-role-not-found.js +0 -13
  294. package/src/errors/member-role-not-found.js.map +0 -1
  295. package/src/errors/password-login-not-enabled.d.ts +0 -5
  296. package/src/errors/password-login-not-enabled.d.ts.map +0 -1
  297. package/src/errors/password-login-not-enabled.js +0 -16
  298. package/src/errors/password-login-not-enabled.js.map +0 -1
  299. package/src/errors/password-login-not-setup.d.ts +0 -5
  300. package/src/errors/password-login-not-setup.d.ts.map +0 -1
  301. package/src/errors/password-login-not-setup.js +0 -16
  302. package/src/errors/password-login-not-setup.js.map +0 -1
  303. package/src/errors/pbkdf2-error.d.ts +0 -7
  304. package/src/errors/pbkdf2-error.d.ts.map +0 -1
  305. package/src/errors/pbkdf2-error.js +0 -20
  306. package/src/errors/pbkdf2-error.js.map +0 -1
  307. package/src/errors/pending-email-verification.d.ts +0 -5
  308. package/src/errors/pending-email-verification.d.ts.map +0 -1
  309. package/src/errors/pending-email-verification.js +0 -13
  310. package/src/errors/pending-email-verification.js.map +0 -1
  311. package/src/errors/private-key-required.d.ts +0 -5
  312. package/src/errors/private-key-required.d.ts.map +0 -1
  313. package/src/errors/private-key-required.js +0 -13
  314. package/src/errors/private-key-required.js.map +0 -1
  315. package/src/errors/system-role-not-found.d.ts +0 -6
  316. package/src/errors/system-role-not-found.d.ts.map +0 -1
  317. package/src/errors/system-role-not-found.js +0 -13
  318. package/src/errors/system-role-not-found.js.map +0 -1
  319. package/src/errors/token-not-found.d.ts +0 -7
  320. package/src/errors/token-not-found.d.ts.map +0 -1
  321. package/src/errors/token-not-found.js +0 -19
  322. package/src/errors/token-not-found.js.map +0 -1
  323. package/src/errors/translatable-suite-handleable.d.ts +0 -10
  324. package/src/errors/translatable-suite-handleable.d.ts.map +0 -1
  325. package/src/errors/translatable-suite-handleable.js +0 -15
  326. package/src/errors/translatable-suite-handleable.js.map +0 -1
  327. package/src/errors/translatable-suite.d.ts +0 -13
  328. package/src/errors/translatable-suite.d.ts.map +0 -1
  329. package/src/errors/translatable-suite.js +0 -29
  330. package/src/errors/translatable-suite.js.map +0 -1
  331. package/src/errors/user-not-found.d.ts +0 -5
  332. package/src/errors/user-not-found.d.ts.map +0 -1
  333. package/src/errors/user-not-found.js +0 -13
  334. package/src/errors/user-not-found.js.map +0 -1
  335. package/src/errors/username-email-required.d.ts +0 -6
  336. package/src/errors/username-email-required.d.ts.map +0 -1
  337. package/src/errors/username-email-required.js +0 -16
  338. package/src/errors/username-email-required.js.map +0 -1
  339. package/src/errors/username-in-use.d.ts +0 -5
  340. package/src/errors/username-in-use.d.ts.map +0 -1
  341. package/src/errors/username-in-use.js +0 -13
  342. package/src/errors/username-in-use.js.map +0 -1
  343. package/src/i18n-setup.d.ts +0 -13
  344. package/src/i18n-setup.d.ts.map +0 -1
  345. package/src/i18n-setup.js +0 -116
  346. package/src/i18n-setup.js.map +0 -1
  347. package/src/index.d.ts.map +0 -1
  348. package/src/index.js +0 -15
  349. package/src/index.js.map +0 -1
  350. package/src/interfaces/backup-code-consts.d.ts +0 -16
  351. package/src/interfaces/backup-code-consts.d.ts.map +0 -1
  352. package/src/interfaces/backup-code-consts.js +0 -3
  353. package/src/interfaces/backup-code-consts.js.map +0 -1
  354. package/src/interfaces/backup-code.d.ts +0 -7
  355. package/src/interfaces/backup-code.d.ts.map +0 -1
  356. package/src/interfaces/backup-code.js +0 -3
  357. package/src/interfaces/backup-code.js.map +0 -1
  358. package/src/interfaces/bases/email-token.d.ts +0 -33
  359. package/src/interfaces/bases/email-token.d.ts.map +0 -1
  360. package/src/interfaces/bases/email-token.js +0 -3
  361. package/src/interfaces/bases/email-token.js.map +0 -1
  362. package/src/interfaces/bases/index.d.ts.map +0 -1
  363. package/src/interfaces/bases/index.js +0 -11
  364. package/src/interfaces/bases/index.js.map +0 -1
  365. package/src/interfaces/bases/mnemonic.d.ts.map +0 -1
  366. package/src/interfaces/bases/mnemonic.js +0 -3
  367. package/src/interfaces/bases/mnemonic.js.map +0 -1
  368. package/src/interfaces/bases/role.d.ts +0 -32
  369. package/src/interfaces/bases/role.d.ts.map +0 -1
  370. package/src/interfaces/bases/role.js +0 -3
  371. package/src/interfaces/bases/role.js.map +0 -1
  372. package/src/interfaces/bases/token-role.d.ts +0 -8
  373. package/src/interfaces/bases/token-role.d.ts.map +0 -1
  374. package/src/interfaces/bases/token-role.js +0 -3
  375. package/src/interfaces/bases/token-role.js.map +0 -1
  376. package/src/interfaces/bases/used-direct-login-token.d.ts.map +0 -1
  377. package/src/interfaces/bases/used-direct-login-token.js +0 -3
  378. package/src/interfaces/bases/used-direct-login-token.js.map +0 -1
  379. package/src/interfaces/bases/user-role.d.ts +0 -16
  380. package/src/interfaces/bases/user-role.d.ts.map +0 -1
  381. package/src/interfaces/bases/user-role.js +0 -3
  382. package/src/interfaces/bases/user-role.js.map +0 -1
  383. package/src/interfaces/bases/user.d.ts +0 -79
  384. package/src/interfaces/bases/user.d.ts.map +0 -1
  385. package/src/interfaces/bases/user.js +0 -3
  386. package/src/interfaces/bases/user.js.map +0 -1
  387. package/src/interfaces/combined-role-privileges.d.ts +0 -7
  388. package/src/interfaces/combined-role-privileges.d.ts.map +0 -1
  389. package/src/interfaces/combined-role-privileges.js +0 -3
  390. package/src/interfaces/combined-role-privileges.js.map +0 -1
  391. package/src/interfaces/constants.d.ts +0 -56
  392. package/src/interfaces/constants.d.ts.map +0 -1
  393. package/src/interfaces/constants.js +0 -3
  394. package/src/interfaces/constants.js.map +0 -1
  395. package/src/interfaces/core-consts.d.ts +0 -130
  396. package/src/interfaces/core-consts.d.ts.map +0 -1
  397. package/src/interfaces/core-consts.js +0 -3
  398. package/src/interfaces/core-consts.js.map +0 -1
  399. package/src/interfaces/deep-partial.d.ts +0 -4
  400. package/src/interfaces/deep-partial.d.ts.map +0 -1
  401. package/src/interfaces/deep-partial.js +0 -3
  402. package/src/interfaces/deep-partial.js.map +0 -1
  403. package/src/interfaces/dto/email-token.d.ts.map +0 -1
  404. package/src/interfaces/dto/email-token.js +0 -3
  405. package/src/interfaces/dto/email-token.js.map +0 -1
  406. package/src/interfaces/dto/index.d.ts.map +0 -1
  407. package/src/interfaces/dto/index.js +0 -12
  408. package/src/interfaces/dto/index.js.map +0 -1
  409. package/src/interfaces/dto/mnemonic.d.ts.map +0 -1
  410. package/src/interfaces/dto/mnemonic.js +0 -3
  411. package/src/interfaces/dto/mnemonic.js.map +0 -1
  412. package/src/interfaces/dto/request-user.d.ts +0 -17
  413. package/src/interfaces/dto/request-user.d.ts.map +0 -1
  414. package/src/interfaces/dto/request-user.js +0 -3
  415. package/src/interfaces/dto/request-user.js.map +0 -1
  416. package/src/interfaces/dto/role.d.ts.map +0 -1
  417. package/src/interfaces/dto/role.js +0 -3
  418. package/src/interfaces/dto/role.js.map +0 -1
  419. package/src/interfaces/dto/token-role.d.ts.map +0 -1
  420. package/src/interfaces/dto/token-role.js +0 -3
  421. package/src/interfaces/dto/token-role.js.map +0 -1
  422. package/src/interfaces/dto/user-role.d.ts.map +0 -1
  423. package/src/interfaces/dto/user-role.js +0 -3
  424. package/src/interfaces/dto/user-role.js.map +0 -1
  425. package/src/interfaces/dto/user-settings.d.ts.map +0 -1
  426. package/src/interfaces/dto/user-settings.js +0 -3
  427. package/src/interfaces/dto/user-settings.js.map +0 -1
  428. package/src/interfaces/dto/user.d.ts.map +0 -1
  429. package/src/interfaces/dto/user.js +0 -3
  430. package/src/interfaces/dto/user.js.map +0 -1
  431. package/src/interfaces/failable-result.d.ts +0 -7
  432. package/src/interfaces/failable-result.d.ts.map +0 -1
  433. package/src/interfaces/failable-result.js +0 -3
  434. package/src/interfaces/failable-result.js.map +0 -1
  435. package/src/interfaces/frontend-objects/email-token.d.ts +0 -4
  436. package/src/interfaces/frontend-objects/email-token.d.ts.map +0 -1
  437. package/src/interfaces/frontend-objects/email-token.js +0 -3
  438. package/src/interfaces/frontend-objects/email-token.js.map +0 -1
  439. package/src/interfaces/frontend-objects/index.d.ts.map +0 -1
  440. package/src/interfaces/frontend-objects/index.js +0 -9
  441. package/src/interfaces/frontend-objects/index.js.map +0 -1
  442. package/src/interfaces/frontend-objects/request-user.d.ts +0 -17
  443. package/src/interfaces/frontend-objects/request-user.d.ts.map +0 -1
  444. package/src/interfaces/frontend-objects/request-user.js +0 -3
  445. package/src/interfaces/frontend-objects/request-user.js.map +0 -1
  446. package/src/interfaces/frontend-objects/role.d.ts.map +0 -1
  447. package/src/interfaces/frontend-objects/role.js +0 -3
  448. package/src/interfaces/frontend-objects/role.js.map +0 -1
  449. package/src/interfaces/frontend-objects/user-role.d.ts.map +0 -1
  450. package/src/interfaces/frontend-objects/user-role.js +0 -3
  451. package/src/interfaces/frontend-objects/user-role.js.map +0 -1
  452. package/src/interfaces/frontend-objects/user.d.ts +0 -4
  453. package/src/interfaces/frontend-objects/user.d.ts.map +0 -1
  454. package/src/interfaces/frontend-objects/user.js +0 -3
  455. package/src/interfaces/frontend-objects/user.js.map +0 -1
  456. package/src/interfaces/has-creation.d.ts +0 -7
  457. package/src/interfaces/has-creation.d.ts.map +0 -1
  458. package/src/interfaces/has-creation.js +0 -3
  459. package/src/interfaces/has-creation.js.map +0 -1
  460. package/src/interfaces/has-creator.d.ts +0 -7
  461. package/src/interfaces/has-creator.d.ts.map +0 -1
  462. package/src/interfaces/has-creator.js +0 -3
  463. package/src/interfaces/has-creator.js.map +0 -1
  464. package/src/interfaces/has-id.d.ts +0 -4
  465. package/src/interfaces/has-id.d.ts.map +0 -1
  466. package/src/interfaces/has-id.js +0 -3
  467. package/src/interfaces/has-id.js.map +0 -1
  468. package/src/interfaces/has-soft-delete.d.ts +0 -7
  469. package/src/interfaces/has-soft-delete.d.ts.map +0 -1
  470. package/src/interfaces/has-soft-delete.js +0 -3
  471. package/src/interfaces/has-soft-delete.js.map +0 -1
  472. package/src/interfaces/has-soft-deleter.d.ts +0 -7
  473. package/src/interfaces/has-soft-deleter.d.ts.map +0 -1
  474. package/src/interfaces/has-soft-deleter.js +0 -3
  475. package/src/interfaces/has-soft-deleter.js.map +0 -1
  476. package/src/interfaces/has-timestamp-owners.d.ts +0 -5
  477. package/src/interfaces/has-timestamp-owners.d.ts.map +0 -1
  478. package/src/interfaces/has-timestamp-owners.js +0 -3
  479. package/src/interfaces/has-timestamp-owners.js.map +0 -1
  480. package/src/interfaces/has-timestamps.d.ts +0 -6
  481. package/src/interfaces/has-timestamps.d.ts.map +0 -1
  482. package/src/interfaces/has-timestamps.js +0 -3
  483. package/src/interfaces/has-timestamps.js.map +0 -1
  484. package/src/interfaces/has-updater.d.ts +0 -7
  485. package/src/interfaces/has-updater.d.ts.map +0 -1
  486. package/src/interfaces/has-updater.js +0 -3
  487. package/src/interfaces/has-updater.js.map +0 -1
  488. package/src/interfaces/has-updates.d.ts +0 -4
  489. package/src/interfaces/has-updates.d.ts.map +0 -1
  490. package/src/interfaces/has-updates.js +0 -3
  491. package/src/interfaces/has-updates.js.map +0 -1
  492. package/src/interfaces/index.d.ts.map +0 -1
  493. package/src/interfaces/index.js +0 -26
  494. package/src/interfaces/index.js.map +0 -1
  495. package/src/interfaces/success-message.d.ts +0 -5
  496. package/src/interfaces/success-message.d.ts.map +0 -1
  497. package/src/interfaces/success-message.js +0 -3
  498. package/src/interfaces/success-message.js.map +0 -1
  499. package/src/interfaces/token-user.d.ts.map +0 -1
  500. package/src/interfaces/token-user.js +0 -3
  501. package/src/interfaces/token-user.js.map +0 -1
  502. package/src/interfaces/user-settings.d.ts.map +0 -1
  503. package/src/interfaces/user-settings.js +0 -3
  504. package/src/interfaces/user-settings.js.map +0 -1
  505. package/src/lib/flags.d.ts +0 -10
  506. package/src/lib/flags.d.ts.map +0 -1
  507. package/src/lib/flags.js +0 -288
  508. package/src/lib/flags.js.map +0 -1
  509. package/src/lib/formatters.d.ts +0 -16
  510. package/src/lib/formatters.d.ts.map +0 -1
  511. package/src/lib/formatters.js +0 -29
  512. package/src/lib/formatters.js.map +0 -1
  513. package/src/lib/hydrate-dehydrate.d.ts +0 -4
  514. package/src/lib/hydrate-dehydrate.d.ts.map +0 -1
  515. package/src/lib/hydrate-dehydrate.js +0 -27
  516. package/src/lib/hydrate-dehydrate.js.map +0 -1
  517. package/src/lib/index.d.ts.map +0 -1
  518. package/src/lib/index.js +0 -12
  519. package/src/lib/index.js.map +0 -1
  520. package/src/lib/validators-with-constants.d.ts +0 -73
  521. package/src/lib/validators-with-constants.d.ts.map +0 -1
  522. package/src/lib/validators-with-constants.js +0 -64
  523. package/src/lib/validators-with-constants.js.map +0 -1
  524. package/src/lib/validators.d.ts +0 -37
  525. package/src/lib/validators.d.ts.map +0 -1
  526. package/src/lib/validators.js +0 -74
  527. package/src/lib/validators.js.map +0 -1
  528. package/src/local-storage-manager.d.ts +0 -22
  529. package/src/local-storage-manager.d.ts.map +0 -1
  530. package/src/local-storage-manager.js +0 -74
  531. package/src/local-storage-manager.js.map +0 -1
  532. package/src/strings/de.d.ts +0 -3
  533. package/src/strings/de.d.ts.map +0 -1
  534. package/src/strings/de.js +0 -486
  535. package/src/strings/de.js.map +0 -1
  536. package/src/strings/en-GB.d.ts +0 -3
  537. package/src/strings/en-GB.d.ts.map +0 -1
  538. package/src/strings/en-GB.js +0 -486
  539. package/src/strings/en-GB.js.map +0 -1
  540. package/src/strings/en-US.d.ts +0 -3
  541. package/src/strings/en-US.d.ts.map +0 -1
  542. package/src/strings/en-US.js +0 -486
  543. package/src/strings/en-US.js.map +0 -1
  544. package/src/strings/es.d.ts +0 -3
  545. package/src/strings/es.d.ts.map +0 -1
  546. package/src/strings/es.js +0 -486
  547. package/src/strings/es.js.map +0 -1
  548. package/src/strings/fr.d.ts +0 -3
  549. package/src/strings/fr.d.ts.map +0 -1
  550. package/src/strings/fr.js +0 -486
  551. package/src/strings/fr.js.map +0 -1
  552. package/src/strings/ja.d.ts +0 -3
  553. package/src/strings/ja.d.ts.map +0 -1
  554. package/src/strings/ja.js +0 -486
  555. package/src/strings/ja.js.map +0 -1
  556. package/src/strings/uk.d.ts +0 -3
  557. package/src/strings/uk.d.ts.map +0 -1
  558. package/src/strings/uk.js +0 -486
  559. package/src/strings/uk.js.map +0 -1
  560. package/src/strings/zh-CN.d.ts +0 -3
  561. package/src/strings/zh-CN.d.ts.map +0 -1
  562. package/src/strings/zh-CN.js +0 -486
  563. package/src/strings/zh-CN.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  import { IUserBase } from '../bases/user';
2
+
2
3
  export type IUserDTO = IUserBase<string, string, string, string>;
3
- //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1,6 @@
1
+ export interface IFailableResult<T> {
2
+ success: boolean;
3
+ data?: T;
4
+ message?: string;
5
+ error?: string | Error;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { EmailTokenType } from '../../enumerations/email-token-type';
2
+ import { IEmailTokenBase } from '../bases/email-token';
3
+
4
+ export type IEmailTokenFrontendObject = IEmailTokenBase<
5
+ string,
6
+ Date,
7
+ EmailTokenType
8
+ >;
@@ -2,5 +2,4 @@ export * from './email-token';
2
2
  export * from './request-user';
3
3
  export * from './role';
4
4
  export * from './user-role';
5
- export * from './user';
6
- //# sourceMappingURL=index.d.ts.map
5
+ export * from './user';
@@ -0,0 +1,17 @@
1
+ import { ICombinedRolePrivileges } from '../combined-role-privileges';
2
+ import { IRoleFrontendObject } from './role';
3
+
4
+ export interface IRequestUserFrontendObject {
5
+ id: string;
6
+ roles: Array<IRoleFrontendObject>;
7
+ rolePrivileges: ICombinedRolePrivileges;
8
+ username: string;
9
+ email: string;
10
+ timezone: string;
11
+ currency: string;
12
+ directChallenge: boolean;
13
+ siteLanguage: string;
14
+ lastLogin?: Date;
15
+ emailVerified: boolean;
16
+ darkMode: boolean;
17
+ }
@@ -1,4 +1,4 @@
1
1
  import { Role } from '../../enumerations/role';
2
2
  import { IRoleBase } from '../bases/role';
3
+
3
4
  export type IRoleFrontendObject = IRoleBase<string, Date, Role>;
4
- //# sourceMappingURL=role.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import { IUserRoleBase } from '../bases/user-role';
2
+
2
3
  export type IUserRoleFrontendObject = IUserRoleBase<string, Date>;
3
- //# sourceMappingURL=user-role.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { AccountStatus } from '../../enumerations/account-status';
2
+ import { IUserBase } from '../bases/user';
3
+
4
+ export type IUserFrontendObject = IUserBase<
5
+ string,
6
+ Date,
7
+ string,
8
+ AccountStatus
9
+ >;
@@ -0,0 +1,6 @@
1
+ export interface IHasCreation<D extends Date | string> {
2
+ /**
3
+ * The date the object was created.
4
+ */
5
+ createdAt: D;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface IHasCreator<I> {
2
+ /**
3
+ * The unique identifier for the user who created the object.
4
+ */
5
+ createdBy: I;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface IHasId<I> {
2
+ _id: I;
3
+ }
@@ -0,0 +1,6 @@
1
+ export interface IHasSoftDelete<D extends Date | string> {
2
+ /**
3
+ * The date the object was deleted.
4
+ */
5
+ deletedAt?: D;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface IHasSoftDeleter<I> {
2
+ /**
3
+ * The unique identifier for the user who deleted the object.
4
+ */
5
+ deletedBy?: I;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { IHasCreator } from './has-creator';
2
+ import { IHasUpdater } from './has-updater';
3
+
4
+ export interface IHasTimestampOwners<I>
5
+ extends IHasCreator<I>,
6
+ IHasUpdater<I> {}
@@ -0,0 +1,7 @@
1
+ import { IHasCreation } from './has-creation';
2
+
3
+ export interface IHasTimestamps<D extends Date | string>
4
+ extends IHasCreation<D> {
5
+ createdAt: D;
6
+ updatedAt: D;
7
+ }
@@ -0,0 +1,6 @@
1
+ export interface IHasUpdater<I> {
2
+ /**
3
+ * The unique identifier for the user who updated the object.
4
+ */
5
+ updatedBy: I;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface IHasUpdates<D extends Date | string> {
2
+ updatedAt: D;
3
+ }
@@ -20,4 +20,3 @@ export * from './has-updates';
20
20
  export * from './success-message';
21
21
  export * from './token-user';
22
22
  export * from './user-settings';
23
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export interface ISuccessMessage {
2
+ success: boolean;
3
+ message: string;
4
+ }
@@ -1,9 +1,9 @@
1
1
  import { ITokenRoleDTO } from './dto/token-role';
2
+
2
3
  /**
3
4
  * Interface for the user object stored in the JWT token
4
5
  */
5
6
  export interface ITokenUser {
6
- userId: string;
7
- roles: ITokenRoleDTO[];
7
+ userId: string;
8
+ roles: ITokenRoleDTO[];
8
9
  }
9
- //# sourceMappingURL=token-user.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { EmailString } from '@digitaldefiance/ecies-lib';
2
2
  import { CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
3
+
3
4
  export interface IUserSettings {
4
5
  email: EmailString;
5
6
  timezone: Timezone;
@@ -7,5 +8,4 @@ export interface IUserSettings {
7
8
  siteLanguage: string;
8
9
  darkMode: boolean;
9
10
  directChallenge: boolean;
10
- }
11
- //# sourceMappingURL=user-settings.d.ts.map
11
+ }
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Mapping from BCP-47 language codes to FlagCDN flag codes
3
+ * Based on Flagpedia.net flag codes
4
+ */
5
+
6
+ export const BCP47_TO_FLAG_CDN: Record<string, string> = {
7
+ // Major languages with country flags
8
+ 'en-US': 'us',
9
+ 'en-GB': 'gb',
10
+ 'en': 'gb',
11
+ 'fr': 'fr',
12
+ 'fr-FR': 'fr',
13
+ 'es': 'es',
14
+ 'es-ES': 'es',
15
+ 'de': 'de',
16
+ 'de-DE': 'de',
17
+ 'zh-CN': 'cn',
18
+ 'zh': 'cn',
19
+ 'ja': 'jp',
20
+ 'ja-JP': 'jp',
21
+ 'uk': 'ua',
22
+ 'uk-UA': 'ua',
23
+
24
+ // All ISO 3166-1 alpha-2 codes from the HTML
25
+ 'af': 'af', // Afghanistan
26
+ 'ax': 'ax', // Åland Islands
27
+ 'al': 'al', // Albania
28
+ 'dz': 'dz', // Algeria
29
+ 'as': 'as', // American Samoa
30
+ 'ad': 'ad', // Andorra
31
+ 'ao': 'ao', // Angola
32
+ 'ai': 'ai', // Anguilla
33
+ 'aq': 'aq', // Antarctica
34
+ 'ag': 'ag', // Antigua and Barbuda
35
+ 'ar': 'ar', // Argentina
36
+ 'am': 'am', // Armenia
37
+ 'aw': 'aw', // Aruba
38
+ 'au': 'au', // Australia
39
+ 'at': 'at', // Austria
40
+ 'az': 'az', // Azerbaijan
41
+ 'bs': 'bs', // Bahamas
42
+ 'bh': 'bh', // Bahrain
43
+ 'bd': 'bd', // Bangladesh
44
+ 'bb': 'bb', // Barbados
45
+ 'by': 'by', // Belarus
46
+ 'be': 'be', // Belgium
47
+ 'bz': 'bz', // Belize
48
+ 'bj': 'bj', // Benin
49
+ 'bm': 'bm', // Bermuda
50
+ 'bt': 'bt', // Bhutan
51
+ 'bo': 'bo', // Bolivia
52
+ 'ba': 'ba', // Bosnia and Herzegovina
53
+ 'bw': 'bw', // Botswana
54
+ 'bv': 'bv', // Bouvet Island
55
+ 'br': 'br', // Brazil
56
+ 'io': 'io', // British Indian Ocean Territory
57
+ 'bn': 'bn', // Brunei
58
+ 'bg': 'bg', // Bulgaria
59
+ 'bf': 'bf', // Burkina Faso
60
+ 'bi': 'bi', // Burundi
61
+ 'kh': 'kh', // Cambodia
62
+ 'cm': 'cm', // Cameroon
63
+ 'ca': 'ca', // Canada
64
+ 'cv': 'cv', // Cape Verde
65
+ 'bq': 'bq', // Caribbean Netherlands
66
+ 'ky': 'ky', // Cayman Islands
67
+ 'cf': 'cf', // Central African Republic
68
+ 'td': 'td', // Chad
69
+ 'cl': 'cl', // Chile
70
+ 'cn': 'cn', // China
71
+ 'cx': 'cx', // Christmas Island
72
+ 'cc': 'cc', // Cocos Islands
73
+ 'co': 'co', // Colombia
74
+ 'km': 'km', // Comoros
75
+ 'cg': 'cg', // Republic of the Congo
76
+ 'cd': 'cd', // DR Congo
77
+ 'ck': 'ck', // Cook Islands
78
+ 'cr': 'cr', // Costa Rica
79
+ 'ci': 'ci', // Côte d'Ivoire
80
+ 'hr': 'hr', // Croatia
81
+ 'cu': 'cu', // Cuba
82
+ 'cw': 'cw', // Curaçao
83
+ 'cy': 'cy', // Cyprus
84
+ 'cz': 'cz', // Czechia
85
+ 'dk': 'dk', // Denmark
86
+ 'dj': 'dj', // Djibouti
87
+ 'dm': 'dm', // Dominica
88
+ 'do': 'do', // Dominican Republic
89
+ 'ec': 'ec', // Ecuador
90
+ 'eg': 'eg', // Egypt
91
+ 'sv': 'sv', // El Salvador
92
+ 'gq': 'gq', // Equatorial Guinea
93
+ 'er': 'er', // Eritrea
94
+ 'ee': 'ee', // Estonia
95
+ 'sz': 'sz', // Eswatini
96
+ 'et': 'et', // Ethiopia
97
+ 'fk': 'fk', // Falkland Islands
98
+ 'fo': 'fo', // Faroe Islands
99
+ 'fj': 'fj', // Fiji
100
+ 'fi': 'fi', // Finland
101
+ 'gf': 'gf', // French Guiana
102
+ 'pf': 'pf', // French Polynesia
103
+ 'tf': 'tf', // French Southern and Antarctic Lands
104
+ 'ga': 'ga', // Gabon
105
+ 'gm': 'gm', // Gambia
106
+ 'ge': 'ge', // Georgia
107
+ 'gh': 'gh', // Ghana
108
+ 'gi': 'gi', // Gibraltar
109
+ 'gr': 'gr', // Greece
110
+ 'gl': 'gl', // Greenland
111
+ 'gd': 'gd', // Grenada
112
+ 'gp': 'gp', // Guadeloupe
113
+ 'gu': 'gu', // Guam
114
+ 'gt': 'gt', // Guatemala
115
+ 'gg': 'gg', // Guernsey
116
+ 'gn': 'gn', // Guinea
117
+ 'gw': 'gw', // Guinea-Bissau
118
+ 'gy': 'gy', // Guyana
119
+ 'ht': 'ht', // Haiti
120
+ 'hm': 'hm', // Heard Island and McDonald Islands
121
+ 'hn': 'hn', // Honduras
122
+ 'hk': 'hk', // Hong Kong
123
+ 'hu': 'hu', // Hungary
124
+ 'is': 'is', // Iceland
125
+ 'in': 'in', // India
126
+ 'id': 'id', // Indonesia
127
+ 'ir': 'ir', // Iran
128
+ 'iq': 'iq', // Iraq
129
+ 'ie': 'ie', // Ireland
130
+ 'im': 'im', // Isle of Man
131
+ 'il': 'il', // Israel
132
+ 'it': 'it', // Italy
133
+ 'jm': 'jm', // Jamaica
134
+ 'jp': 'jp', // Japan
135
+ 'je': 'je', // Jersey
136
+ 'jo': 'jo', // Jordan
137
+ 'kz': 'kz', // Kazakhstan
138
+ 'ke': 'ke', // Kenya
139
+ 'ki': 'ki', // Kiribati
140
+ 'kp': 'kp', // North Korea
141
+ 'kr': 'kr', // South Korea
142
+ 'xk': 'xk', // Kosovo
143
+ 'kw': 'kw', // Kuwait
144
+ 'kg': 'kg', // Kyrgyzstan
145
+ 'la': 'la', // Laos
146
+ 'lv': 'lv', // Latvia
147
+ 'lb': 'lb', // Lebanon
148
+ 'ls': 'ls', // Lesotho
149
+ 'lr': 'lr', // Liberia
150
+ 'ly': 'ly', // Libya
151
+ 'li': 'li', // Liechtenstein
152
+ 'lt': 'lt', // Lithuania
153
+ 'lu': 'lu', // Luxembourg
154
+ 'mo': 'mo', // Macau
155
+ 'mg': 'mg', // Madagascar
156
+ 'mw': 'mw', // Malawi
157
+ 'my': 'my', // Malaysia
158
+ 'mv': 'mv', // Maldives
159
+ 'ml': 'ml', // Mali
160
+ 'mt': 'mt', // Malta
161
+ 'mh': 'mh', // Marshall Islands
162
+ 'mq': 'mq', // Martinique
163
+ 'mr': 'mr', // Mauritania
164
+ 'mu': 'mu', // Mauritius
165
+ 'yt': 'yt', // Mayotte
166
+ 'mx': 'mx', // Mexico
167
+ 'fm': 'fm', // Micronesia
168
+ 'md': 'md', // Moldova
169
+ 'mc': 'mc', // Monaco
170
+ 'mn': 'mn', // Mongolia
171
+ 'me': 'me', // Montenegro
172
+ 'ms': 'ms', // Montserrat
173
+ 'ma': 'ma', // Morocco
174
+ 'mz': 'mz', // Mozambique
175
+ 'mm': 'mm', // Myanmar
176
+ 'na': 'na', // Namibia
177
+ 'nr': 'nr', // Nauru
178
+ 'np': 'np', // Nepal
179
+ 'nl': 'nl', // Netherlands
180
+ 'nc': 'nc', // New Caledonia
181
+ 'nz': 'nz', // New Zealand
182
+ 'ni': 'ni', // Nicaragua
183
+ 'ne': 'ne', // Niger
184
+ 'ng': 'ng', // Nigeria
185
+ 'nu': 'nu', // Niue
186
+ 'nf': 'nf', // Norfolk Island
187
+ 'mk': 'mk', // North Macedonia
188
+ 'mp': 'mp', // Northern Mariana Islands
189
+ 'no': 'no', // Norway
190
+ 'om': 'om', // Oman
191
+ 'pk': 'pk', // Pakistan
192
+ 'pw': 'pw', // Palau
193
+ 'ps': 'ps', // Palestine
194
+ 'pa': 'pa', // Panama
195
+ 'pg': 'pg', // Papua New Guinea
196
+ 'py': 'py', // Paraguay
197
+ 'pe': 'pe', // Peru
198
+ 'ph': 'ph', // Philippines
199
+ 'pn': 'pn', // Pitcairn Islands
200
+ 'pl': 'pl', // Poland
201
+ 'pt': 'pt', // Portugal
202
+ 'pr': 'pr', // Puerto Rico
203
+ 'qa': 'qa', // Qatar
204
+ 're': 're', // Réunion
205
+ 'ro': 'ro', // Romania
206
+ 'ru': 'ru', // Russia
207
+ 'rw': 'rw', // Rwanda
208
+ 'bl': 'bl', // Saint Barthélemy
209
+ 'sh': 'sh', // Saint Helena
210
+ 'kn': 'kn', // Saint Kitts and Nevis
211
+ 'lc': 'lc', // Saint Lucia
212
+ 'mf': 'mf', // Saint Martin
213
+ 'pm': 'pm', // Saint Pierre and Miquelon
214
+ 'vc': 'vc', // Saint Vincent and the Grenadines
215
+ 'ws': 'ws', // Samoa
216
+ 'sm': 'sm', // San Marino
217
+ 'st': 'st', // São Tomé and Príncipe
218
+ 'sa': 'sa', // Saudi Arabia
219
+ 'sn': 'sn', // Senegal
220
+ 'rs': 'rs', // Serbia
221
+ 'sc': 'sc', // Seychelles
222
+ 'sl': 'sl', // Sierra Leone
223
+ 'sg': 'sg', // Singapore
224
+ 'sx': 'sx', // Sint Maarten
225
+ 'sk': 'sk', // Slovakia
226
+ 'si': 'si', // Slovenia
227
+ 'sb': 'sb', // Solomon Islands
228
+ 'so': 'so', // Somalia
229
+ 'za': 'za', // South Africa
230
+ 'gs': 'gs', // South Georgia
231
+ 'ss': 'ss', // South Sudan
232
+ 'lk': 'lk', // Sri Lanka
233
+ 'sd': 'sd', // Sudan
234
+ 'sr': 'sr', // Suriname
235
+ 'sj': 'sj', // Svalbard and Jan Mayen
236
+ 'se': 'se', // Sweden
237
+ 'ch': 'ch', // Switzerland
238
+ 'sy': 'sy', // Syria
239
+ 'tw': 'tw', // Taiwan
240
+ 'tj': 'tj', // Tajikistan
241
+ 'tz': 'tz', // Tanzania
242
+ 'th': 'th', // Thailand
243
+ 'tl': 'tl', // Timor-Leste
244
+ 'tg': 'tg', // Togo
245
+ 'tk': 'tk', // Tokelau
246
+ 'to': 'to', // Tonga
247
+ 'tt': 'tt', // Trinidad and Tobago
248
+ 'tn': 'tn', // Tunisia
249
+ 'tr': 'tr', // Turkey
250
+ 'tm': 'tm', // Turkmenistan
251
+ 'tc': 'tc', // Turks and Caicos Islands
252
+ 'tv': 'tv', // Tuvalu
253
+ 'ug': 'ug', // Uganda
254
+ 'ua': 'ua', // Ukraine
255
+ 'ae': 'ae', // United Arab Emirates
256
+ 'gb': 'gb', // United Kingdom
257
+ 'us': 'us', // United States
258
+ 'um': 'um', // United States Minor Outlying Islands
259
+ 'uy': 'uy', // Uruguay
260
+ 'uz': 'uz', // Uzbekistan
261
+ 'vu': 'vu', // Vanuatu
262
+ 'va': 'va', // Vatican City
263
+ 've': 've', // Venezuela
264
+ 'vn': 'vn', // Vietnam
265
+ 'vg': 'vg', // British Virgin Islands
266
+ 'vi': 'vi', // United States Virgin Islands
267
+ 'wf': 'wf', // Wallis and Futuna
268
+ 'eh': 'eh', // Western Sahara
269
+ 'ye': 'ye', // Yemen
270
+ 'zm': 'zm', // Zambia
271
+ 'zw': 'zw', // Zimbabwe
272
+
273
+ // UK constituent countries
274
+ 'en-GB-ENG': 'gb-eng', // England
275
+ 'en-GB-SCT': 'gb-sct', // Scotland
276
+ 'en-GB-WLS': 'gb-wls', // Wales
277
+ 'en-GB-NIR': 'gb-nir', // Northern Ireland
278
+ };
279
+
280
+ /**
281
+ * Get FlagCDN flag code from BCP-47 language code
282
+ */
283
+ export function getFlagCode(bcp47: string): string | undefined {
284
+ if (!bcp47) return undefined;
285
+ return BCP47_TO_FLAG_CDN[bcp47] || BCP47_TO_FLAG_CDN[bcp47.toLowerCase()];
286
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Common formatting helpers
3
+ */
4
+
5
+ import { BackupCodeString } from '../backup-code-string';
6
+
7
+ /**
8
+ * Format backup code with dashes (XXXX-XXXX-XXXX-XXXX)
9
+ */
10
+ export function formatBackupCode(code: string): string {
11
+ const cleaned = code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
12
+ return cleaned.match(/.{1,4}/g)?.join('-') || cleaned;
13
+ }
14
+
15
+ /**
16
+ * Validate backup code format
17
+ */
18
+ export function isValidBackupCodeFormat(code: string): boolean {
19
+ const cleaned = code.replace(/[^A-Z0-9]/gi, '');
20
+ return cleaned.length === 16;
21
+ }
22
+
23
+ /**
24
+ * Normalize backup code (remove dashes, uppercase)
25
+ */
26
+ export function normalizeBackupCode(code: string): string {
27
+ return code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
28
+ }
@@ -0,0 +1,27 @@
1
+ import { EmailString } from '@digitaldefiance/ecies-lib';
2
+ import { IUserSettings, IUserSettingsDTO } from '../interfaces';
3
+ import { CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
4
+
5
+ export function hydrateUserSettings(dto: IUserSettingsDTO): IUserSettings {
6
+ return {
7
+ email: new EmailString(dto.email),
8
+ timezone: new Timezone(dto.timezone),
9
+ currency: new CurrencyCode(dto.currency),
10
+ siteLanguage: dto.siteLanguage,
11
+ darkMode: dto.darkMode,
12
+ directChallenge: dto.directChallenge,
13
+ };
14
+ }
15
+
16
+ export function dehydrateUserSettings(
17
+ settings: IUserSettings,
18
+ ): IUserSettingsDTO {
19
+ return {
20
+ email: settings.email.email,
21
+ timezone: settings.timezone.value,
22
+ currency: settings.currency.value,
23
+ siteLanguage: settings.siteLanguage,
24
+ darkMode: settings.darkMode,
25
+ directChallenge: settings.directChallenge,
26
+ };
27
+ }
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Library utilities - validators, formatters, and helpers
3
3
  */
4
+
4
5
  export * from './flags';
5
6
  export * from './formatters';
6
7
  export * from './validators';
7
8
  export * from './validators-with-constants';
8
- export * from './hydrate-dehydrate';
9
- //# sourceMappingURL=index.d.ts.map
9
+ export * from './hydrate-dehydrate';
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Validators that accept custom constants
3
+ * Allows consumers to pass their own IConstants implementation
4
+ */
5
+
6
+ import { IConstants } from '../interfaces/constants';
7
+ import { ICoreConstants } from '../interfaces/core-consts';
8
+ import { CORE } from '../constants';
9
+
10
+ /**
11
+ * Create validators bound to specific constants
12
+ */
13
+ export function createValidators(constants: ICoreConstants | IConstants = CORE) {
14
+ return {
15
+ /**
16
+ * Validate username format using provided constants
17
+ */
18
+ isValidUsername(username: string): boolean {
19
+ return constants.UsernameRegex.test(username);
20
+ },
21
+
22
+ /**
23
+ * Validate password format using provided constants
24
+ */
25
+ isValidPassword(password: string): boolean {
26
+ return constants.PasswordRegex.test(password);
27
+ },
28
+
29
+ /**
30
+ * Validate mnemonic format using provided constants
31
+ */
32
+ isValidMnemonic(mnemonic: string): boolean {
33
+ return constants.MnemonicRegex.test(mnemonic);
34
+ },
35
+
36
+ /**
37
+ * Validate backup code normalized format using provided constants
38
+ */
39
+ isValidBackupCodeNormalized(code: string): boolean {
40
+ return constants.BACKUP_CODES.NormalizedHexRegex.test(code);
41
+ },
42
+
43
+ /**
44
+ * Validate backup code display format using provided constants
45
+ */
46
+ isValidBackupCodeDisplay(code: string): boolean {
47
+ return constants.BACKUP_CODES.DisplayRegex.test(code);
48
+ },
49
+
50
+ /**
51
+ * Validate username length using provided constants
52
+ */
53
+ isValidUsernameLength(username: string): boolean {
54
+ return (
55
+ username.length >= constants.UsernameMinLength &&
56
+ username.length <= constants.UsernameMaxLength
57
+ );
58
+ },
59
+
60
+ /**
61
+ * Validate password length using provided constants
62
+ */
63
+ isValidPasswordLength(password: string): boolean {
64
+ return password.length >= constants.PasswordMinLength;
65
+ },
66
+ };
67
+ }
68
+
69
+ /**
70
+ * Default validators using CORE constants
71
+ */
72
+ export const defaultValidators = createValidators();