@digitaldefiance/suite-core-lib 3.6.46 → 3.6.48
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.
- package/LICENSE +21 -0
- package/package.json +4 -5
- package/src/backup-code-string.ts +102 -0
- package/src/builders/{index.d.ts → index.ts} +1 -1
- package/src/builders/role-builder.ts +67 -0
- package/src/builders/user-builder.ts +81 -0
- package/src/constants.ts +229 -0
- package/src/core/{errors.d.ts → errors.ts} +4 -1
- package/src/core/{index.d.ts → index.ts} +1 -1
- package/src/core/result.ts +40 -0
- package/src/core/{types.d.ts → types.ts} +6 -1
- package/src/defaults.ts +114 -0
- package/src/enumerations/account-status.ts +17 -0
- package/src/enumerations/email-token-type.ts +27 -0
- package/src/enumerations/fec-error-type.ts +16 -0
- package/src/enumerations/{index.d.ts → index.ts} +3 -1
- package/src/enumerations/pbkdf2-error-type.ts +7 -0
- package/src/enumerations/role.ts +8 -0
- package/src/enumerations/suite-core-string-key.ts +500 -0
- package/src/errors/account-locked.ts +12 -0
- package/src/errors/account-status.ts +38 -0
- package/src/errors/admin-role-not-found.ts +15 -0
- package/src/errors/core-typed-handleable.ts +72 -0
- package/src/errors/direct-challenge-not-enabled.ts +22 -0
- package/src/errors/direct-token-used.ts +17 -0
- package/src/errors/email-in-use.ts +14 -0
- package/src/errors/email-token-expired.ts +14 -0
- package/src/errors/email-token-failed-to-send.ts +46 -0
- package/src/errors/email-token-sent-too-recently.ts +32 -0
- package/src/errors/email-token-used-or-invalid.ts +14 -0
- package/src/errors/email-verified.ts +19 -0
- package/src/errors/failed-to-use-direct-token.ts +17 -0
- package/src/errors/fec-error.ts +49 -0
- package/src/errors/generic-validation.ts +14 -0
- package/src/errors/{index.d.ts → index.ts} +3 -1
- package/src/errors/invalid-backup-code.ts +9 -0
- package/src/errors/invalid-challenge-response.ts +22 -0
- package/src/errors/invalid-challenge.ts +12 -0
- package/src/errors/invalid-credentials.ts +19 -0
- package/src/errors/invalid-email.ts +46 -0
- package/src/errors/invalid-expired-token.ts +21 -0
- package/src/errors/invalid-token.ts +22 -0
- package/src/errors/invalid-userid.ts +38 -0
- package/src/errors/invalid-username.ts +17 -0
- package/src/errors/last-admin-error.ts +15 -0
- package/src/errors/login-challenge-expired.ts +22 -0
- package/src/errors/member-role-not-found.ts +15 -0
- package/src/errors/password-login-not-enabled.ts +22 -0
- package/src/errors/password-login-not-setup.ts +22 -0
- package/src/errors/pbkdf2-error.ts +26 -0
- package/src/errors/pending-email-verification.ts +12 -0
- package/src/errors/private-key-required.ts +16 -0
- package/src/errors/system-role-not-found.ts +15 -0
- package/src/errors/token-not-found.ts +24 -0
- package/src/errors/translatable-suite-handleable.ts +30 -0
- package/src/errors/translatable-suite.ts +37 -0
- package/src/errors/user-not-found.ts +14 -0
- package/src/errors/username-email-required.ts +23 -0
- package/src/errors/username-in-use.ts +14 -0
- package/src/i18n-setup.ts +150 -0
- package/src/{index.d.ts → index.ts} +4 -1
- package/src/interfaces/backup-code-consts.ts +18 -0
- package/src/interfaces/backup-code.ts +9 -0
- package/src/interfaces/bases/email-token.ts +39 -0
- package/src/interfaces/bases/{index.d.ts → index.ts} +3 -1
- package/src/interfaces/bases/mnemonic.ts +12 -0
- package/src/interfaces/bases/role.ts +43 -0
- package/src/interfaces/bases/token-role.ts +16 -0
- package/src/interfaces/bases/used-direct-login-token.ts +17 -0
- package/src/interfaces/bases/user-role.ts +23 -0
- package/src/interfaces/bases/user.ts +91 -0
- package/src/interfaces/combined-role-privileges.ts +9 -0
- package/src/interfaces/constants.ts +59 -0
- package/src/interfaces/core-consts.ts +133 -0
- package/src/interfaces/deep-partial.ts +6 -0
- package/src/interfaces/dto/email-token.ts +7 -0
- package/src/interfaces/dto/{index.d.ts → index.ts} +3 -1
- package/src/interfaces/dto/mnemonic.ts +7 -0
- package/src/interfaces/dto/request-user.ts +23 -0
- package/src/interfaces/dto/role.ts +7 -0
- package/src/interfaces/dto/token-role.ts +21 -0
- package/src/interfaces/dto/user-role.ts +7 -0
- package/src/interfaces/dto/user-settings.ts +12 -0
- package/src/interfaces/dto/user.ts +7 -0
- package/src/interfaces/failable-result.ts +9 -0
- package/src/interfaces/frontend-objects/email-token.ts +12 -0
- package/src/interfaces/frontend-objects/{index.d.ts → index.ts} +3 -1
- package/src/interfaces/frontend-objects/request-user.ts +21 -0
- package/src/interfaces/frontend-objects/{role.d.ts → role.ts} +5 -1
- package/src/interfaces/frontend-objects/user-role.ts +7 -0
- package/src/interfaces/frontend-objects/user.ts +13 -0
- package/src/interfaces/has-creation.ts +9 -0
- package/src/interfaces/has-creator.ts +11 -0
- package/src/interfaces/has-id.ts +8 -0
- package/src/interfaces/has-soft-delete.ts +9 -0
- package/src/interfaces/has-soft-deleter.ts +11 -0
- package/src/interfaces/has-timestamp-owners.ts +9 -0
- package/src/interfaces/has-timestamps.ts +11 -0
- package/src/interfaces/has-updater.ts +11 -0
- package/src/interfaces/has-updates.ts +6 -0
- package/src/interfaces/{index.d.ts → index.ts} +3 -1
- package/src/interfaces/success-message.ts +7 -0
- package/src/interfaces/{token-user.d.ts → token-user.ts} +3 -3
- package/src/interfaces/user-settings.ts +14 -0
- package/src/lib/flags.ts +286 -0
- package/src/lib/formatters.ts +26 -0
- package/src/lib/hydrate-dehydrate.ts +43 -0
- package/src/lib/{index.d.ts → index.ts} +1 -1
- package/src/lib/validators-with-constants.ts +74 -0
- package/src/lib/validators.ts +72 -0
- package/src/local-storage-manager.ts +69 -0
- package/src/strings/de.ts +793 -0
- package/src/strings/en-GB.ts +743 -0
- package/src/strings/en-US.ts +746 -0
- package/src/strings/es.ts +799 -0
- package/src/strings/fr.ts +804 -0
- package/src/strings/ja.ts +766 -0
- package/src/strings/uk.ts +783 -0
- package/src/strings/zh-CN.ts +650 -0
- package/src/backup-code-string.d.ts +0 -29
- package/src/backup-code-string.d.ts.map +0 -1
- package/src/backup-code-string.js +0 -81
- package/src/backup-code-string.js.map +0 -1
- package/src/builders/index.d.ts.map +0 -1
- package/src/builders/index.js +0 -9
- package/src/builders/index.js.map +0 -1
- package/src/builders/role-builder.d.ts +0 -19
- package/src/builders/role-builder.d.ts.map +0 -1
- package/src/builders/role-builder.js +0 -57
- package/src/builders/role-builder.js.map +0 -1
- package/src/builders/user-builder.d.ts +0 -23
- package/src/builders/user-builder.d.ts.map +0 -1
- package/src/builders/user-builder.js +0 -63
- package/src/builders/user-builder.js.map +0 -1
- package/src/constants.d.ts +0 -7
- package/src/constants.d.ts.map +0 -1
- package/src/constants.js +0 -209
- package/src/constants.js.map +0 -1
- package/src/core/errors.d.ts.map +0 -1
- package/src/core/errors.js +0 -29
- package/src/core/errors.js.map +0 -1
- package/src/core/index.d.ts.map +0 -1
- package/src/core/index.js +0 -10
- package/src/core/index.js.map +0 -1
- package/src/core/result.d.ts +0 -34
- package/src/core/result.d.ts.map +0 -1
- package/src/core/result.js +0 -35
- package/src/core/result.js.map +0 -1
- package/src/core/types.d.ts.map +0 -1
- package/src/core/types.js +0 -6
- package/src/core/types.js.map +0 -1
- package/src/defaults.d.ts +0 -7
- package/src/defaults.d.ts.map +0 -1
- package/src/defaults.js +0 -66
- package/src/defaults.js.map +0 -1
- package/src/enumerations/account-status.d.ts +0 -18
- package/src/enumerations/account-status.d.ts.map +0 -1
- package/src/enumerations/account-status.js +0 -22
- package/src/enumerations/account-status.js.map +0 -1
- package/src/enumerations/email-token-type.d.ts +0 -25
- package/src/enumerations/email-token-type.d.ts.map +0 -1
- package/src/enumerations/email-token-type.js +0 -29
- package/src/enumerations/email-token-type.js.map +0 -1
- package/src/enumerations/fec-error-type.d.ts +0 -14
- package/src/enumerations/fec-error-type.d.ts.map +0 -1
- package/src/enumerations/fec-error-type.js +0 -18
- package/src/enumerations/fec-error-type.js.map +0 -1
- package/src/enumerations/index.d.ts.map +0 -1
- package/src/enumerations/index.js +0 -10
- package/src/enumerations/index.js.map +0 -1
- package/src/enumerations/pbkdf2-error-type.d.ts +0 -5
- package/src/enumerations/pbkdf2-error-type.d.ts.map +0 -1
- package/src/enumerations/pbkdf2-error-type.js +0 -9
- package/src/enumerations/pbkdf2-error-type.js.map +0 -1
- package/src/enumerations/role.d.ts +0 -6
- package/src/enumerations/role.d.ts.map +0 -1
- package/src/enumerations/role.js +0 -10
- package/src/enumerations/role.js.map +0 -1
- package/src/enumerations/suite-core-string-key.d.ts +0 -483
- package/src/enumerations/suite-core-string-key.d.ts.map +0 -1
- package/src/enumerations/suite-core-string-key.js +0 -494
- package/src/enumerations/suite-core-string-key.js.map +0 -1
- package/src/errors/account-locked.d.ts +0 -5
- package/src/errors/account-locked.d.ts.map +0 -1
- package/src/errors/account-locked.js +0 -13
- package/src/errors/account-locked.js.map +0 -1
- package/src/errors/account-status.d.ts +0 -7
- package/src/errors/account-status.d.ts.map +0 -1
- package/src/errors/account-status.js +0 -33
- package/src/errors/account-status.js.map +0 -1
- package/src/errors/admin-role-not-found.d.ts +0 -6
- package/src/errors/admin-role-not-found.d.ts.map +0 -1
- package/src/errors/admin-role-not-found.js +0 -15
- package/src/errors/admin-role-not-found.js.map +0 -1
- package/src/errors/core-typed-handleable.d.ts +0 -12
- package/src/errors/core-typed-handleable.d.ts.map +0 -1
- package/src/errors/core-typed-handleable.js +0 -51
- package/src/errors/core-typed-handleable.js.map +0 -1
- package/src/errors/direct-challenge-not-enabled.d.ts +0 -5
- package/src/errors/direct-challenge-not-enabled.d.ts.map +0 -1
- package/src/errors/direct-challenge-not-enabled.js +0 -16
- package/src/errors/direct-challenge-not-enabled.js.map +0 -1
- package/src/errors/direct-token-used.d.ts +0 -5
- package/src/errors/direct-token-used.d.ts.map +0 -1
- package/src/errors/direct-token-used.js +0 -13
- package/src/errors/direct-token-used.js.map +0 -1
- package/src/errors/email-in-use.d.ts +0 -5
- package/src/errors/email-in-use.d.ts.map +0 -1
- package/src/errors/email-in-use.js +0 -15
- package/src/errors/email-in-use.js.map +0 -1
- package/src/errors/email-token-expired.d.ts +0 -5
- package/src/errors/email-token-expired.d.ts.map +0 -1
- package/src/errors/email-token-expired.js +0 -15
- package/src/errors/email-token-expired.js.map +0 -1
- package/src/errors/email-token-failed-to-send.d.ts +0 -6
- package/src/errors/email-token-failed-to-send.d.ts.map +0 -1
- package/src/errors/email-token-failed-to-send.js +0 -22
- package/src/errors/email-token-failed-to-send.js.map +0 -1
- package/src/errors/email-token-sent-too-recently.d.ts +0 -7
- package/src/errors/email-token-sent-too-recently.d.ts.map +0 -1
- package/src/errors/email-token-sent-too-recently.js +0 -21
- package/src/errors/email-token-sent-too-recently.js.map +0 -1
- package/src/errors/email-token-used-or-invalid.d.ts +0 -5
- package/src/errors/email-token-used-or-invalid.d.ts.map +0 -1
- package/src/errors/email-token-used-or-invalid.js +0 -15
- package/src/errors/email-token-used-or-invalid.js.map +0 -1
- package/src/errors/email-verified.d.ts +0 -5
- package/src/errors/email-verified.d.ts.map +0 -1
- package/src/errors/email-verified.js +0 -15
- package/src/errors/email-verified.js.map +0 -1
- package/src/errors/failed-to-use-direct-token.d.ts +0 -5
- package/src/errors/failed-to-use-direct-token.d.ts.map +0 -1
- package/src/errors/failed-to-use-direct-token.js +0 -13
- package/src/errors/failed-to-use-direct-token.js.map +0 -1
- package/src/errors/fec-error.d.ts +0 -6
- package/src/errors/fec-error.d.ts.map +0 -1
- package/src/errors/fec-error.js +0 -26
- package/src/errors/fec-error.js.map +0 -1
- package/src/errors/generic-validation.d.ts +0 -5
- package/src/errors/generic-validation.d.ts.map +0 -1
- package/src/errors/generic-validation.js +0 -12
- package/src/errors/generic-validation.js.map +0 -1
- package/src/errors/index.d.ts.map +0 -1
- package/src/errors/index.js +0 -43
- package/src/errors/index.js.map +0 -1
- package/src/errors/invalid-backup-code.d.ts +0 -4
- package/src/errors/invalid-backup-code.d.ts.map +0 -1
- package/src/errors/invalid-backup-code.js +0 -11
- package/src/errors/invalid-backup-code.js.map +0 -1
- package/src/errors/invalid-challenge-response.d.ts +0 -5
- package/src/errors/invalid-challenge-response.d.ts.map +0 -1
- package/src/errors/invalid-challenge-response.js +0 -16
- package/src/errors/invalid-challenge-response.js.map +0 -1
- package/src/errors/invalid-challenge.d.ts +0 -5
- package/src/errors/invalid-challenge.d.ts.map +0 -1
- package/src/errors/invalid-challenge.js +0 -13
- package/src/errors/invalid-challenge.js.map +0 -1
- package/src/errors/invalid-credentials.d.ts +0 -5
- package/src/errors/invalid-credentials.d.ts.map +0 -1
- package/src/errors/invalid-credentials.js +0 -15
- package/src/errors/invalid-credentials.js.map +0 -1
- package/src/errors/invalid-email.d.ts +0 -8
- package/src/errors/invalid-email.d.ts.map +0 -1
- package/src/errors/invalid-email.js +0 -25
- package/src/errors/invalid-email.js.map +0 -1
- package/src/errors/invalid-expired-token.d.ts +0 -6
- package/src/errors/invalid-expired-token.d.ts.map +0 -1
- package/src/errors/invalid-expired-token.js +0 -13
- package/src/errors/invalid-expired-token.js.map +0 -1
- package/src/errors/invalid-token.d.ts +0 -5
- package/src/errors/invalid-token.d.ts.map +0 -1
- package/src/errors/invalid-token.js +0 -16
- package/src/errors/invalid-token.js.map +0 -1
- package/src/errors/invalid-userid.d.ts +0 -6
- package/src/errors/invalid-userid.d.ts.map +0 -1
- package/src/errors/invalid-userid.js +0 -20
- package/src/errors/invalid-userid.js.map +0 -1
- package/src/errors/invalid-username.d.ts +0 -5
- package/src/errors/invalid-username.d.ts.map +0 -1
- package/src/errors/invalid-username.js +0 -13
- package/src/errors/invalid-username.js.map +0 -1
- package/src/errors/last-admin-error.d.ts +0 -6
- package/src/errors/last-admin-error.d.ts.map +0 -1
- package/src/errors/last-admin-error.js +0 -15
- package/src/errors/last-admin-error.js.map +0 -1
- package/src/errors/login-challenge-expired.d.ts +0 -5
- package/src/errors/login-challenge-expired.d.ts.map +0 -1
- package/src/errors/login-challenge-expired.js +0 -16
- package/src/errors/login-challenge-expired.js.map +0 -1
- package/src/errors/member-role-not-found.d.ts +0 -6
- package/src/errors/member-role-not-found.d.ts.map +0 -1
- package/src/errors/member-role-not-found.js +0 -15
- package/src/errors/member-role-not-found.js.map +0 -1
- package/src/errors/password-login-not-enabled.d.ts +0 -5
- package/src/errors/password-login-not-enabled.d.ts.map +0 -1
- package/src/errors/password-login-not-enabled.js +0 -16
- package/src/errors/password-login-not-enabled.js.map +0 -1
- package/src/errors/password-login-not-setup.d.ts +0 -5
- package/src/errors/password-login-not-setup.d.ts.map +0 -1
- package/src/errors/password-login-not-setup.js +0 -16
- package/src/errors/password-login-not-setup.js.map +0 -1
- package/src/errors/pbkdf2-error.d.ts +0 -7
- package/src/errors/pbkdf2-error.d.ts.map +0 -1
- package/src/errors/pbkdf2-error.js +0 -19
- package/src/errors/pbkdf2-error.js.map +0 -1
- package/src/errors/pending-email-verification.d.ts +0 -5
- package/src/errors/pending-email-verification.d.ts.map +0 -1
- package/src/errors/pending-email-verification.js +0 -13
- package/src/errors/pending-email-verification.js.map +0 -1
- package/src/errors/private-key-required.d.ts +0 -5
- package/src/errors/private-key-required.d.ts.map +0 -1
- package/src/errors/private-key-required.js +0 -13
- package/src/errors/private-key-required.js.map +0 -1
- package/src/errors/system-role-not-found.d.ts +0 -6
- package/src/errors/system-role-not-found.d.ts.map +0 -1
- package/src/errors/system-role-not-found.js +0 -15
- package/src/errors/system-role-not-found.js.map +0 -1
- package/src/errors/token-not-found.d.ts +0 -7
- package/src/errors/token-not-found.d.ts.map +0 -1
- package/src/errors/token-not-found.js +0 -19
- package/src/errors/token-not-found.js.map +0 -1
- package/src/errors/translatable-suite-handleable.d.ts +0 -10
- package/src/errors/translatable-suite-handleable.d.ts.map +0 -1
- package/src/errors/translatable-suite-handleable.js +0 -15
- package/src/errors/translatable-suite-handleable.js.map +0 -1
- package/src/errors/translatable-suite.d.ts +0 -13
- package/src/errors/translatable-suite.d.ts.map +0 -1
- package/src/errors/translatable-suite.js +0 -29
- package/src/errors/translatable-suite.js.map +0 -1
- package/src/errors/user-not-found.d.ts +0 -5
- package/src/errors/user-not-found.d.ts.map +0 -1
- package/src/errors/user-not-found.js +0 -15
- package/src/errors/user-not-found.js.map +0 -1
- package/src/errors/username-email-required.d.ts +0 -6
- package/src/errors/username-email-required.d.ts.map +0 -1
- package/src/errors/username-email-required.js +0 -16
- package/src/errors/username-email-required.js.map +0 -1
- package/src/errors/username-in-use.d.ts +0 -5
- package/src/errors/username-in-use.d.ts.map +0 -1
- package/src/errors/username-in-use.js +0 -15
- package/src/errors/username-in-use.js.map +0 -1
- package/src/i18n-setup.d.ts +0 -13
- package/src/i18n-setup.d.ts.map +0 -1
- package/src/i18n-setup.js +0 -116
- package/src/i18n-setup.js.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -15
- package/src/index.js.map +0 -1
- package/src/interfaces/backup-code-consts.d.ts +0 -16
- package/src/interfaces/backup-code-consts.d.ts.map +0 -1
- package/src/interfaces/backup-code-consts.js +0 -3
- package/src/interfaces/backup-code-consts.js.map +0 -1
- package/src/interfaces/backup-code.d.ts +0 -7
- package/src/interfaces/backup-code.d.ts.map +0 -1
- package/src/interfaces/backup-code.js +0 -3
- package/src/interfaces/backup-code.js.map +0 -1
- package/src/interfaces/bases/email-token.d.ts +0 -33
- package/src/interfaces/bases/email-token.d.ts.map +0 -1
- package/src/interfaces/bases/email-token.js +0 -3
- package/src/interfaces/bases/email-token.js.map +0 -1
- package/src/interfaces/bases/index.d.ts.map +0 -1
- package/src/interfaces/bases/index.js +0 -11
- package/src/interfaces/bases/index.js.map +0 -1
- package/src/interfaces/bases/mnemonic.d.ts +0 -11
- package/src/interfaces/bases/mnemonic.d.ts.map +0 -1
- package/src/interfaces/bases/mnemonic.js +0 -3
- package/src/interfaces/bases/mnemonic.js.map +0 -1
- package/src/interfaces/bases/role.d.ts +0 -32
- package/src/interfaces/bases/role.d.ts.map +0 -1
- package/src/interfaces/bases/role.js +0 -3
- package/src/interfaces/bases/role.js.map +0 -1
- package/src/interfaces/bases/token-role.d.ts +0 -8
- package/src/interfaces/bases/token-role.d.ts.map +0 -1
- package/src/interfaces/bases/token-role.js +0 -3
- package/src/interfaces/bases/token-role.js.map +0 -1
- package/src/interfaces/bases/used-direct-login-token.d.ts +0 -6
- package/src/interfaces/bases/used-direct-login-token.d.ts.map +0 -1
- package/src/interfaces/bases/used-direct-login-token.js +0 -3
- package/src/interfaces/bases/used-direct-login-token.js.map +0 -1
- package/src/interfaces/bases/user-role.d.ts +0 -16
- package/src/interfaces/bases/user-role.d.ts.map +0 -1
- package/src/interfaces/bases/user-role.js +0 -3
- package/src/interfaces/bases/user-role.js.map +0 -1
- package/src/interfaces/bases/user.d.ts +0 -79
- package/src/interfaces/bases/user.d.ts.map +0 -1
- package/src/interfaces/bases/user.js +0 -3
- package/src/interfaces/bases/user.js.map +0 -1
- package/src/interfaces/combined-role-privileges.d.ts +0 -7
- package/src/interfaces/combined-role-privileges.d.ts.map +0 -1
- package/src/interfaces/combined-role-privileges.js +0 -3
- package/src/interfaces/combined-role-privileges.js.map +0 -1
- package/src/interfaces/constants.d.ts +0 -56
- package/src/interfaces/constants.d.ts.map +0 -1
- package/src/interfaces/constants.js +0 -3
- package/src/interfaces/constants.js.map +0 -1
- package/src/interfaces/core-consts.d.ts +0 -130
- package/src/interfaces/core-consts.d.ts.map +0 -1
- package/src/interfaces/core-consts.js +0 -3
- package/src/interfaces/core-consts.js.map +0 -1
- package/src/interfaces/deep-partial.d.ts +0 -4
- package/src/interfaces/deep-partial.d.ts.map +0 -1
- package/src/interfaces/deep-partial.js +0 -3
- package/src/interfaces/deep-partial.js.map +0 -1
- package/src/interfaces/dto/email-token.d.ts +0 -3
- package/src/interfaces/dto/email-token.d.ts.map +0 -1
- package/src/interfaces/dto/email-token.js +0 -3
- package/src/interfaces/dto/email-token.js.map +0 -1
- package/src/interfaces/dto/index.d.ts.map +0 -1
- package/src/interfaces/dto/index.js +0 -12
- package/src/interfaces/dto/index.js.map +0 -1
- package/src/interfaces/dto/mnemonic.d.ts +0 -3
- package/src/interfaces/dto/mnemonic.d.ts.map +0 -1
- package/src/interfaces/dto/mnemonic.js +0 -3
- package/src/interfaces/dto/mnemonic.js.map +0 -1
- package/src/interfaces/dto/request-user.d.ts +0 -17
- package/src/interfaces/dto/request-user.d.ts.map +0 -1
- package/src/interfaces/dto/request-user.js +0 -3
- package/src/interfaces/dto/request-user.js.map +0 -1
- package/src/interfaces/dto/role.d.ts +0 -3
- package/src/interfaces/dto/role.d.ts.map +0 -1
- package/src/interfaces/dto/role.js +0 -3
- package/src/interfaces/dto/role.js.map +0 -1
- package/src/interfaces/dto/token-role.d.ts +0 -10
- package/src/interfaces/dto/token-role.d.ts.map +0 -1
- package/src/interfaces/dto/token-role.js +0 -3
- package/src/interfaces/dto/token-role.js.map +0 -1
- package/src/interfaces/dto/user-role.d.ts +0 -3
- package/src/interfaces/dto/user-role.d.ts.map +0 -1
- package/src/interfaces/dto/user-role.js +0 -3
- package/src/interfaces/dto/user-role.js.map +0 -1
- package/src/interfaces/dto/user-settings.d.ts +0 -9
- package/src/interfaces/dto/user-settings.d.ts.map +0 -1
- package/src/interfaces/dto/user-settings.js +0 -3
- package/src/interfaces/dto/user-settings.js.map +0 -1
- package/src/interfaces/dto/user.d.ts +0 -3
- package/src/interfaces/dto/user.d.ts.map +0 -1
- package/src/interfaces/dto/user.js +0 -3
- package/src/interfaces/dto/user.js.map +0 -1
- package/src/interfaces/failable-result.d.ts +0 -7
- package/src/interfaces/failable-result.d.ts.map +0 -1
- package/src/interfaces/failable-result.js +0 -3
- package/src/interfaces/failable-result.js.map +0 -1
- package/src/interfaces/frontend-objects/email-token.d.ts +0 -4
- package/src/interfaces/frontend-objects/email-token.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/email-token.js +0 -3
- package/src/interfaces/frontend-objects/email-token.js.map +0 -1
- package/src/interfaces/frontend-objects/index.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/index.js +0 -9
- package/src/interfaces/frontend-objects/index.js.map +0 -1
- package/src/interfaces/frontend-objects/request-user.d.ts +0 -17
- package/src/interfaces/frontend-objects/request-user.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/request-user.js +0 -3
- package/src/interfaces/frontend-objects/request-user.js.map +0 -1
- package/src/interfaces/frontend-objects/role.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/role.js +0 -3
- package/src/interfaces/frontend-objects/role.js.map +0 -1
- package/src/interfaces/frontend-objects/user-role.d.ts +0 -3
- package/src/interfaces/frontend-objects/user-role.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/user-role.js +0 -3
- package/src/interfaces/frontend-objects/user-role.js.map +0 -1
- package/src/interfaces/frontend-objects/user.d.ts +0 -4
- package/src/interfaces/frontend-objects/user.d.ts.map +0 -1
- package/src/interfaces/frontend-objects/user.js +0 -3
- package/src/interfaces/frontend-objects/user.js.map +0 -1
- package/src/interfaces/has-creation.d.ts +0 -7
- package/src/interfaces/has-creation.d.ts.map +0 -1
- package/src/interfaces/has-creation.js +0 -3
- package/src/interfaces/has-creation.js.map +0 -1
- package/src/interfaces/has-creator.d.ts +0 -7
- package/src/interfaces/has-creator.d.ts.map +0 -1
- package/src/interfaces/has-creator.js +0 -3
- package/src/interfaces/has-creator.js.map +0 -1
- package/src/interfaces/has-id.d.ts +0 -4
- package/src/interfaces/has-id.d.ts.map +0 -1
- package/src/interfaces/has-id.js +0 -3
- package/src/interfaces/has-id.js.map +0 -1
- package/src/interfaces/has-soft-delete.d.ts +0 -7
- package/src/interfaces/has-soft-delete.d.ts.map +0 -1
- package/src/interfaces/has-soft-delete.js +0 -3
- package/src/interfaces/has-soft-delete.js.map +0 -1
- package/src/interfaces/has-soft-deleter.d.ts +0 -7
- package/src/interfaces/has-soft-deleter.d.ts.map +0 -1
- package/src/interfaces/has-soft-deleter.js +0 -3
- package/src/interfaces/has-soft-deleter.js.map +0 -1
- package/src/interfaces/has-timestamp-owners.d.ts +0 -5
- package/src/interfaces/has-timestamp-owners.d.ts.map +0 -1
- package/src/interfaces/has-timestamp-owners.js +0 -3
- package/src/interfaces/has-timestamp-owners.js.map +0 -1
- package/src/interfaces/has-timestamps.d.ts +0 -6
- package/src/interfaces/has-timestamps.d.ts.map +0 -1
- package/src/interfaces/has-timestamps.js +0 -3
- package/src/interfaces/has-timestamps.js.map +0 -1
- package/src/interfaces/has-updater.d.ts +0 -7
- package/src/interfaces/has-updater.d.ts.map +0 -1
- package/src/interfaces/has-updater.js +0 -3
- package/src/interfaces/has-updater.js.map +0 -1
- package/src/interfaces/has-updates.d.ts +0 -4
- package/src/interfaces/has-updates.d.ts.map +0 -1
- package/src/interfaces/has-updates.js +0 -3
- package/src/interfaces/has-updates.js.map +0 -1
- package/src/interfaces/index.d.ts.map +0 -1
- package/src/interfaces/index.js +0 -26
- package/src/interfaces/index.js.map +0 -1
- package/src/interfaces/success-message.d.ts +0 -5
- package/src/interfaces/success-message.d.ts.map +0 -1
- package/src/interfaces/success-message.js +0 -3
- package/src/interfaces/success-message.js.map +0 -1
- package/src/interfaces/token-user.d.ts.map +0 -1
- package/src/interfaces/token-user.js +0 -3
- package/src/interfaces/token-user.js.map +0 -1
- package/src/interfaces/user-settings.d.ts +0 -11
- package/src/interfaces/user-settings.d.ts.map +0 -1
- package/src/interfaces/user-settings.js +0 -3
- package/src/interfaces/user-settings.js.map +0 -1
- package/src/lib/flags.d.ts +0 -10
- package/src/lib/flags.d.ts.map +0 -1
- package/src/lib/flags.js +0 -288
- package/src/lib/flags.js.map +0 -1
- package/src/lib/formatters.d.ts +0 -16
- package/src/lib/formatters.d.ts.map +0 -1
- package/src/lib/formatters.js +0 -29
- package/src/lib/formatters.js.map +0 -1
- package/src/lib/hydrate-dehydrate.d.ts +0 -4
- package/src/lib/hydrate-dehydrate.d.ts.map +0 -1
- package/src/lib/hydrate-dehydrate.js +0 -27
- package/src/lib/hydrate-dehydrate.js.map +0 -1
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/index.js +0 -12
- package/src/lib/index.js.map +0 -1
- package/src/lib/validators-with-constants.d.ts +0 -73
- package/src/lib/validators-with-constants.d.ts.map +0 -1
- package/src/lib/validators-with-constants.js +0 -64
- package/src/lib/validators-with-constants.js.map +0 -1
- package/src/lib/validators.d.ts +0 -37
- package/src/lib/validators.d.ts.map +0 -1
- package/src/lib/validators.js +0 -74
- package/src/lib/validators.js.map +0 -1
- package/src/local-storage-manager.d.ts +0 -22
- package/src/local-storage-manager.d.ts.map +0 -1
- package/src/local-storage-manager.js +0 -74
- package/src/local-storage-manager.js.map +0 -1
- package/src/strings/de.d.ts +0 -3
- package/src/strings/de.d.ts.map +0 -1
- package/src/strings/de.js +0 -487
- package/src/strings/de.js.map +0 -1
- package/src/strings/en-GB.d.ts +0 -3
- package/src/strings/en-GB.d.ts.map +0 -1
- package/src/strings/en-GB.js +0 -487
- package/src/strings/en-GB.js.map +0 -1
- package/src/strings/en-US.d.ts +0 -3
- package/src/strings/en-US.d.ts.map +0 -1
- package/src/strings/en-US.js +0 -487
- package/src/strings/en-US.js.map +0 -1
- package/src/strings/es.d.ts +0 -3
- package/src/strings/es.d.ts.map +0 -1
- package/src/strings/es.js +0 -487
- package/src/strings/es.js.map +0 -1
- package/src/strings/fr.d.ts +0 -3
- package/src/strings/fr.d.ts.map +0 -1
- package/src/strings/fr.js +0 -487
- package/src/strings/fr.js.map +0 -1
- package/src/strings/ja.d.ts +0 -3
- package/src/strings/ja.d.ts.map +0 -1
- package/src/strings/ja.js +0 -487
- package/src/strings/ja.js.map +0 -1
- package/src/strings/uk.d.ts +0 -3
- package/src/strings/uk.d.ts.map +0 -1
- package/src/strings/uk.js +0 -487
- package/src/strings/uk.js.map +0 -1
- package/src/strings/zh-CN.d.ts +0 -3
- package/src/strings/zh-CN.d.ts.map +0 -1
- package/src/strings/zh-CN.js +0 -487
- package/src/strings/zh-CN.js.map +0 -1
package/src/lib/flags.ts
ADDED
|
@@ -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,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common formatting helpers
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Format backup code with dashes (XXXX-XXXX-XXXX-XXXX)
|
|
7
|
+
*/
|
|
8
|
+
export function formatBackupCode(code: string): string {
|
|
9
|
+
const cleaned = code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
|
|
10
|
+
return cleaned.match(/.{1,4}/g)?.join('-') || cleaned;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Validate backup code format
|
|
15
|
+
*/
|
|
16
|
+
export function isValidBackupCodeFormat(code: string): boolean {
|
|
17
|
+
const cleaned = code.replace(/[^A-Z0-9]/gi, '');
|
|
18
|
+
return cleaned.length === 16;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Normalize backup code (remove dashes, uppercase)
|
|
23
|
+
*/
|
|
24
|
+
export function normalizeBackupCode(code: string): string {
|
|
25
|
+
return code.replace(/[^A-Z0-9]/gi, '').toUpperCase();
|
|
26
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hydration and dehydration utilities for converting between DTOs and domain objects.
|
|
3
|
+
* Provides functions to transform plain data objects into rich domain objects with validation.
|
|
4
|
+
*/
|
|
5
|
+
import { EmailString } from '@digitaldefiance/ecies-lib';
|
|
6
|
+
import { CurrencyCode, Timezone } from '@digitaldefiance/i18n-lib';
|
|
7
|
+
import { IUserSettings, IUserSettingsDTO } from '../interfaces';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Hydrate user settings DTO into domain object with validated types.
|
|
11
|
+
* Converts plain string values into typed domain objects (EmailString, Timezone, CurrencyCode).
|
|
12
|
+
* @param dto - Plain user settings data transfer object
|
|
13
|
+
* @returns Hydrated user settings with validated domain types
|
|
14
|
+
*/
|
|
15
|
+
export function hydrateUserSettings(dto: IUserSettingsDTO): IUserSettings {
|
|
16
|
+
return {
|
|
17
|
+
email: new EmailString(dto.email),
|
|
18
|
+
timezone: new Timezone(dto.timezone),
|
|
19
|
+
currency: new CurrencyCode(dto.currency),
|
|
20
|
+
siteLanguage: dto.siteLanguage,
|
|
21
|
+
darkMode: dto.darkMode,
|
|
22
|
+
directChallenge: dto.directChallenge,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Dehydrate user settings domain object into plain DTO.
|
|
28
|
+
* Converts typed domain objects back into plain string values for serialization.
|
|
29
|
+
* @param settings - User settings domain object with typed values
|
|
30
|
+
* @returns Plain user settings DTO suitable for JSON serialization
|
|
31
|
+
*/
|
|
32
|
+
export function dehydrateUserSettings(
|
|
33
|
+
settings: IUserSettings,
|
|
34
|
+
): IUserSettingsDTO {
|
|
35
|
+
return {
|
|
36
|
+
email: settings.email.email,
|
|
37
|
+
timezone: settings.timezone.value,
|
|
38
|
+
currency: settings.currency.value,
|
|
39
|
+
siteLanguage: settings.siteLanguage,
|
|
40
|
+
darkMode: settings.darkMode,
|
|
41
|
+
directChallenge: settings.directChallenge,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -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 './hydrate-dehydrate';
|
|
7
8
|
export * from './validators';
|
|
8
9
|
export * from './validators-with-constants';
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validators that accept custom constants
|
|
3
|
+
* Allows consumers to pass their own IConstants implementation
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { CORE } from '../constants';
|
|
7
|
+
import { IConstants } from '../interfaces/constants';
|
|
8
|
+
import { ICoreConstants } from '../interfaces/core-consts';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Create validators bound to specific constants
|
|
12
|
+
*/
|
|
13
|
+
export function createValidators(
|
|
14
|
+
constants: ICoreConstants | IConstants = CORE,
|
|
15
|
+
) {
|
|
16
|
+
return {
|
|
17
|
+
/**
|
|
18
|
+
* Validate username format using provided constants
|
|
19
|
+
*/
|
|
20
|
+
isValidUsername(username: string): boolean {
|
|
21
|
+
return constants.UsernameRegex.test(username);
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Validate password format using provided constants
|
|
26
|
+
*/
|
|
27
|
+
isValidPassword(password: string): boolean {
|
|
28
|
+
return constants.PasswordRegex.test(password);
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Validate mnemonic format using provided constants
|
|
33
|
+
*/
|
|
34
|
+
isValidMnemonic(mnemonic: string): boolean {
|
|
35
|
+
return constants.MnemonicRegex.test(mnemonic);
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Validate backup code normalized format using provided constants
|
|
40
|
+
*/
|
|
41
|
+
isValidBackupCodeNormalized(code: string): boolean {
|
|
42
|
+
return constants.BACKUP_CODES.NormalizedHexRegex.test(code);
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Validate backup code display format using provided constants
|
|
47
|
+
*/
|
|
48
|
+
isValidBackupCodeDisplay(code: string): boolean {
|
|
49
|
+
return constants.BACKUP_CODES.DisplayRegex.test(code);
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Validate username length using provided constants
|
|
54
|
+
*/
|
|
55
|
+
isValidUsernameLength(username: string): boolean {
|
|
56
|
+
return (
|
|
57
|
+
username.length >= constants.UsernameMinLength &&
|
|
58
|
+
username.length <= constants.UsernameMaxLength
|
|
59
|
+
);
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Validate password length using provided constants
|
|
64
|
+
*/
|
|
65
|
+
isValidPasswordLength(password: string): boolean {
|
|
66
|
+
return password.length >= constants.PasswordMinLength;
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Default validators using CORE constants
|
|
73
|
+
*/
|
|
74
|
+
export const defaultValidators = createValidators();
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common validation helpers
|
|
3
|
+
*/
|
|
4
|
+
import { CORE } from '../constants';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Email validation regex (RFC 5322 simplified)
|
|
8
|
+
*/
|
|
9
|
+
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Validate email format
|
|
13
|
+
*/
|
|
14
|
+
export function isValidEmail(email: string): boolean {
|
|
15
|
+
return EMAIL_REGEX.test(email);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Validate username format using constants
|
|
20
|
+
*/
|
|
21
|
+
export function isValidUsername(username: string): boolean {
|
|
22
|
+
return CORE.UsernameRegex.test(username);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Validate password format using constants
|
|
27
|
+
*/
|
|
28
|
+
export function isValidPassword(password: string): boolean {
|
|
29
|
+
return CORE.PasswordRegex.test(password);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Validate mnemonic format using constants
|
|
34
|
+
*/
|
|
35
|
+
export function isValidMnemonic(mnemonic: string): boolean {
|
|
36
|
+
return CORE.MnemonicRegex.test(mnemonic);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Validate backup code format using constants
|
|
41
|
+
*/
|
|
42
|
+
export function isValidBackupCodeNormalized(code: string): boolean {
|
|
43
|
+
return CORE.BACKUP_CODES.NormalizedHexRegex.test(code);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Validate backup code display format using constants
|
|
48
|
+
*/
|
|
49
|
+
export function isValidBackupCodeDisplay(code: string): boolean {
|
|
50
|
+
return CORE.BACKUP_CODES.DisplayRegex.test(code);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Validate that a value is not empty
|
|
55
|
+
*/
|
|
56
|
+
export function isNotEmpty(value: string | null | undefined): boolean {
|
|
57
|
+
return value !== null && value !== undefined && value.trim().length > 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Validate minimum length
|
|
62
|
+
*/
|
|
63
|
+
export function hasMinLength(value: string, minLength: number): boolean {
|
|
64
|
+
return value.length >= minLength;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Validate maximum length
|
|
69
|
+
*/
|
|
70
|
+
export function hasMaxLength(value: string, maxLength: number): boolean {
|
|
71
|
+
return value.length <= maxLength;
|
|
72
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for managing localStorage with type safety
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export class LocalStorageManager {
|
|
6
|
+
/**
|
|
7
|
+
* Get a value from localStorage with a default fallback
|
|
8
|
+
*/
|
|
9
|
+
static getValue<T>(key: string, defaultValue: T): T {
|
|
10
|
+
try {
|
|
11
|
+
const stored = localStorage.getItem(key);
|
|
12
|
+
if (stored === null) return defaultValue;
|
|
13
|
+
|
|
14
|
+
// For primitive types, parse appropriately
|
|
15
|
+
if (typeof defaultValue === 'number') {
|
|
16
|
+
const parsed = parseInt(stored, 10);
|
|
17
|
+
return (isNaN(parsed) ? defaultValue : parsed) as T;
|
|
18
|
+
}
|
|
19
|
+
if (typeof defaultValue === 'string') {
|
|
20
|
+
return stored as T;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// For objects, parse JSON
|
|
24
|
+
return JSON.parse(stored) as T;
|
|
25
|
+
} catch {
|
|
26
|
+
return defaultValue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Set a value in localStorage
|
|
32
|
+
*/
|
|
33
|
+
static setValue<T>(key: string, value: T): void {
|
|
34
|
+
try {
|
|
35
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
36
|
+
localStorage.setItem(key, value.toString());
|
|
37
|
+
} else {
|
|
38
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.warn(`Failed to save to localStorage (${key}):`, error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Remove a value from localStorage
|
|
47
|
+
*/
|
|
48
|
+
static removeValue(key: string): void {
|
|
49
|
+
try {
|
|
50
|
+
localStorage.removeItem(key);
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.warn(`Failed to remove from localStorage (${key}):`, error);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Check if localStorage is available
|
|
58
|
+
*/
|
|
59
|
+
static isAvailable(): boolean {
|
|
60
|
+
try {
|
|
61
|
+
const test = '__localStorage_test__';
|
|
62
|
+
localStorage.setItem(test, test);
|
|
63
|
+
localStorage.removeItem(test);
|
|
64
|
+
return true;
|
|
65
|
+
} catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|