@plyaz/config 1.7.8 → 1.7.9

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/locale/iso.ts","../../src/locale/formats.ts","../../src/locale/phone.ts","../../src/locale/address.ts","../../src/locale/currencies.ts","../../src/locale/countries.ts","../../src/locale/languages.ts","../../src/locale/timezone.ts"],"names":["ISO_STANDARDS","LOCALE_FORMATS","DATE_FORMATS","TEXT_DIRECTION","PHONE_FORMATS","PHONE_PATTERNS","ADDRESS_FORMATS","ADDRESS_FIELDS","CURRENCY_INFO","COUNTRY_CODES","COUNTRY_CALLING_CODES","COUNTRY_REGIONS","COUNTRY_REGIONS_DETAILED","LOCALE_REGIONS","LOCALE_REGIONS_DETAILED","TIMEZONE_REGIONS"],"mappings":"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AAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CAGJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CAGJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,E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IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,OAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,CAAQ,CAAC,IAAI,EAIb,MAAA,CAAQ,CAAC,IAAI,CAAA,CAIb,MAAA,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","file":"index.mjs","sourcesContent":["/**\n * ISO Standards Constants\n *\n * International Organization for Standardization (ISO) code lengths\n * and standards used for country codes, language codes, currencies, etc.\n *\n * @module locale/iso\n */\n\n/**\n * ISO code length standards\n */\nexport const ISO_STANDARDS = {\n /**\n * ISO 3166-1 alpha-2 country code length (e.g., \"US\", \"GB\", \"FR\")\n */\n ISO_COUNTRY_CODE_LENGTH: 2,\n\n /**\n * ISO 3166-1 alpha-3 country code length (e.g., \"USA\", \"GBR\", \"FRA\")\n */\n ISO_COUNTRY_CODE_ALPHA3_LENGTH: 3,\n\n /**\n * ISO 639-1 language code length (e.g., \"en\", \"fr\", \"es\")\n */\n ISO_LANGUAGE_CODE_LENGTH: 2,\n\n /**\n * ISO 639-2 language code length (e.g., \"eng\", \"fra\", \"spa\")\n */\n ISO_LANGUAGE_CODE_ALPHA3_LENGTH: 3,\n\n /**\n * ISO 4217 currency code length (e.g., \"USD\", \"EUR\", \"GBP\")\n */\n ISO_CURRENCY_CODE_LENGTH: 3,\n\n /**\n * ISO 8601 date format length (YYYY-MM-DD)\n */\n ISO_DATE_LENGTH: 10,\n\n /**\n * ISO 8601 datetime format length (YYYY-MM-DDTHH:mm:ss.sssZ)\n */\n ISO_DATETIME_LENGTH: 24,\n\n /**\n * ISO 8601 time format length (HH:mm:ss)\n */\n ISO_TIME_LENGTH: 8,\n\n /**\n * ISO week date format length (YYYY-Www)\n */\n ISO_WEEK_DATE_LENGTH: 8,\n\n /**\n * BCP 47 language tag minimum length (e.g., \"en\")\n */\n BCP47_MIN_LENGTH: 2,\n\n /**\n * BCP 47 language tag with region (e.g., \"en-US\")\n */\n BCP47_WITH_REGION_LENGTH: 5,\n\n /**\n * RFC 5646 maximum language tag length\n */\n RFC5646_MAX_LENGTH: 35,\n\n /**\n * ISO 3166-1 numeric country code length\n */\n ISO_NUMERIC_COUNTRY_CODE_LENGTH: 3,\n\n /**\n * ISO 639-3 language code length\n */\n ISO_639_3_LENGTH: 3,\n} as const;\n\n/**\n * Type for ISO standard values\n */\nexport type IsoStandard = (typeof ISO_STANDARDS)[keyof typeof ISO_STANDARDS];\n","/**\n * Locale and Date Formatting Constants\n *\n * Constants for formatting dates, numbers, and locale-specific values.\n *\n * @module locale/formats\n */\n\n/**\n * Number and currency formatting constants\n */\nexport const LOCALE_FORMATS = {\n /**\n * Locale separator character\n */\n LOCALE_SEPARATOR: '-',\n\n /**\n * BCP 47 separator character\n */\n BCP47_SEPARATOR: '-',\n\n /**\n * Currency decimal places\n */\n CURRENCY_DECIMALS: 2,\n\n /**\n * Currency symbol placement (before/after)\n */\n CURRENCY_SYMBOL_BEFORE: true,\n\n /**\n * Thousands separator\n */\n THOUSANDS_SEPARATOR: ',',\n\n /**\n * Decimal separator\n */\n DECIMAL_SEPARATOR: '.',\n\n /**\n * Maximum locale string length\n */\n MAX_LOCALE_LENGTH: 35,\n\n /**\n * Minimum locale string length\n */\n MIN_LOCALE_LENGTH: 2,\n\n /**\n * Percentage decimal places\n */\n PERCENTAGE_DECIMALS: 2,\n\n /**\n * Default number of fraction digits\n */\n DEFAULT_FRACTION_DIGITS: 2,\n\n /**\n * Maximum fraction digits\n */\n MAX_FRACTION_DIGITS: 20,\n} as const;\n\n/**\n * Date and time formatting patterns\n */\nexport const DATE_FORMATS = {\n /**\n * ISO 8601 date format\n */\n ISO_DATE: 'YYYY-MM-DD',\n\n /**\n * ISO 8601 datetime format\n */\n ISO_DATETIME: 'YYYY-MM-DDTHH:mm:ss.sssZ',\n\n /**\n * ISO 8601 time format\n */\n ISO_TIME: 'HH:mm:ss',\n\n /**\n * US date format\n */\n US_DATE: 'MM/DD/YYYY',\n\n /**\n * European date format\n */\n EU_DATE: 'DD/MM/YYYY',\n\n /**\n * UK date format\n */\n UK_DATE: 'DD/MM/YYYY',\n\n /**\n * Japanese date format\n */\n JP_DATE: 'YYYY/MM/DD',\n\n /**\n * Short date format\n */\n SHORT_DATE: 'MMM DD',\n\n /**\n * Long date format\n */\n LONG_DATE: 'MMMM DD, YYYY',\n\n /**\n * Full date format\n */\n FULL_DATE: 'dddd, MMMM DD, YYYY',\n\n /**\n * Time format 12-hour\n */\n TIME_12H: 'hh:mm A',\n\n /**\n * Time format 24-hour\n */\n TIME_24H: 'HH:mm',\n\n /**\n * Time with seconds 12-hour\n */\n TIME_12H_SECONDS: 'hh:mm:ss A',\n\n /**\n * Time with seconds 24-hour\n */\n TIME_24H_SECONDS: 'HH:mm:ss',\n\n /**\n * Relative time threshold in seconds\n */\n RELATIVE_TIME_THRESHOLD: 86400,\n\n /**\n * Month/Year format\n */\n MONTH_YEAR: 'MMMM YYYY',\n\n /**\n * Short month/Year format\n */\n SHORT_MONTH_YEAR: 'MMM YYYY',\n\n /**\n * Year only format\n */\n YEAR_ONLY: 'YYYY',\n} as const;\n\n/**\n * Text direction constants\n */\nexport const TEXT_DIRECTION = {\n /**\n * Left-to-right\n */\n LTR: 'ltr',\n\n /**\n * Right-to-left\n */\n RTL: 'rtl',\n\n /**\n * Auto-detect\n */\n AUTO: 'auto',\n} as const;\n\n/**\n * Type exports\n */\nexport type LocaleFormat = (typeof LOCALE_FORMATS)[keyof typeof LOCALE_FORMATS];\nexport type DateFormat = (typeof DATE_FORMATS)[keyof typeof DATE_FORMATS];\nexport type TextDirectionValue = (typeof TEXT_DIRECTION)[keyof typeof TEXT_DIRECTION];\n","/**\n * Phone Number Formatting Constants\n *\n * Constants for phone number validation and formatting across different countries.\n *\n * @module locale/phone\n */\n\n/**\n * Phone number formats and validation\n */\nexport const PHONE_FORMATS = {\n /**\n * International prefix\n */\n INTERNATIONAL_PREFIX: '+',\n\n /**\n * International direct dialing prefix\n */\n IDD_PREFIX: '00',\n\n /**\n * US country code\n */\n US_COUNTRY_CODE: '1',\n\n /**\n * UK country code\n */\n UK_COUNTRY_CODE: '44',\n\n /**\n * Germany country code\n */\n DE_COUNTRY_CODE: '49',\n\n /**\n * France country code\n */\n FR_COUNTRY_CODE: '33',\n\n /**\n * Japan country code\n */\n JP_COUNTRY_CODE: '81',\n\n /**\n * China country code\n */\n CN_COUNTRY_CODE: '86',\n\n /**\n * India country code\n */\n IN_COUNTRY_CODE: '91',\n\n /**\n * Brazil country code\n */\n BR_COUNTRY_CODE: '55',\n\n /**\n * US phone number length (without country code)\n */\n US_PHONE_LENGTH: 10,\n\n /**\n * UK phone number length (without country code)\n */\n UK_PHONE_LENGTH: 10,\n\n /**\n * International phone minimum length\n */\n MIN_PHONE_LENGTH: 7,\n\n /**\n * International phone maximum length\n */\n MAX_PHONE_LENGTH: 15,\n\n /**\n * E.164 format maximum length (with +)\n */\n E164_MAX_LENGTH: 16,\n\n /**\n * E.164 format minimum length (with +)\n */\n E164_MIN_LENGTH: 8,\n\n /**\n * Area code length (US)\n */\n US_AREA_CODE_LENGTH: 3,\n\n /**\n * Exchange code length (US)\n */\n US_EXCHANGE_CODE_LENGTH: 3,\n\n /**\n * Line number length (US)\n */\n US_LINE_NUMBER_LENGTH: 4,\n\n /**\n * Extension maximum length\n */\n MAX_EXTENSION_LENGTH: 6,\n\n /**\n * Country code maximum length\n */\n MAX_COUNTRY_CODE_LENGTH: 3,\n\n /**\n * National number maximum length\n */\n MAX_NATIONAL_NUMBER_LENGTH: 15,\n} as const;\n\n/**\n * Phone number format patterns\n */\nexport const PHONE_PATTERNS = {\n /**\n * US phone format pattern\n */\n US_FORMAT: '(XXX) XXX-XXXX',\n\n /**\n * UK phone format pattern\n */\n UK_FORMAT: 'XXXX XXX XXXX',\n\n /**\n * International format pattern\n */\n INTERNATIONAL_FORMAT: '+X XXX XXX XXXX',\n\n /**\n * E.164 format pattern\n */\n E164_FORMAT: '+XXXXXXXXXXXX',\n\n /**\n * Extension format\n */\n EXTENSION_FORMAT: 'ext. XXXX',\n} as const;\n\n/**\n * Type exports\n */\nexport type PhoneFormat = (typeof PHONE_FORMATS)[keyof typeof PHONE_FORMATS];\nexport type PhonePattern = (typeof PHONE_PATTERNS)[keyof typeof PHONE_PATTERNS];\n","/**\n * Address Formatting Constants\n *\n * Constants for address validation and formatting across different countries.\n *\n * @module locale/address\n */\n\n/**\n * Address formatting and validation constants\n */\nexport const ADDRESS_FORMATS = {\n /**\n * US ZIP code length\n */\n US_ZIP_LENGTH: 5,\n\n /**\n * US ZIP+4 code length\n */\n US_ZIP_PLUS4_LENGTH: 9,\n\n /**\n * US ZIP+4 separator\n */\n US_ZIP_SEPARATOR: '-',\n\n /**\n * Canadian postal code length\n */\n CA_POSTAL_CODE_LENGTH: 6,\n\n /**\n * UK postcode minimum length\n */\n UK_POSTCODE_MIN_LENGTH: 5,\n\n /**\n * UK postcode maximum length\n */\n UK_POSTCODE_MAX_LENGTH: 8,\n\n /**\n * German postal code length\n */\n DE_POSTAL_CODE_LENGTH: 5,\n\n /**\n * French postal code length\n */\n FR_POSTAL_CODE_LENGTH: 5,\n\n /**\n * Japanese postal code length\n */\n JP_POSTAL_CODE_LENGTH: 7,\n\n /**\n * Australian postal code length\n */\n AU_POSTAL_CODE_LENGTH: 4,\n\n /**\n * Brazilian CEP code length\n */\n BR_CEP_LENGTH: 8,\n\n /**\n * State/Province code length\n */\n STATE_CODE_LENGTH: 2,\n\n /**\n * State/Province full name maximum length\n */\n STATE_NAME_MAX_LENGTH: 50,\n\n /**\n * Maximum address line length\n */\n MAX_ADDRESS_LINE_LENGTH: 100,\n\n /**\n * Minimum address line length\n */\n MIN_ADDRESS_LINE_LENGTH: 3,\n\n /**\n * Maximum city name length\n */\n MAX_CITY_LENGTH: 50,\n\n /**\n * Minimum city name length\n */\n MIN_CITY_LENGTH: 2,\n\n /**\n * Maximum country name length\n */\n MAX_COUNTRY_LENGTH: 56,\n\n /**\n * Maximum building number length\n */\n MAX_BUILDING_NUMBER_LENGTH: 10,\n\n /**\n * Maximum apartment/suite number length\n */\n MAX_UNIT_NUMBER_LENGTH: 10,\n\n /**\n * PO Box number maximum length\n */\n MAX_PO_BOX_LENGTH: 10,\n\n /**\n * Maximum number of address lines\n */\n MAX_ADDRESS_LINES: 3,\n} as const;\n\n/**\n * Address field types\n */\nexport const ADDRESS_FIELDS = {\n /**\n * Street address line 1\n */\n ADDRESS_LINE_1: 'addressLine1',\n\n /**\n * Street address line 2\n */\n ADDRESS_LINE_2: 'addressLine2',\n\n /**\n * City or locality\n */\n CITY: 'city',\n\n /**\n * State or province\n */\n STATE: 'state',\n\n /**\n * Postal or ZIP code\n */\n POSTAL_CODE: 'postalCode',\n\n /**\n * Country\n */\n COUNTRY: 'country',\n\n /**\n * Building number\n */\n BUILDING_NUMBER: 'buildingNumber',\n\n /**\n * Unit/Apartment number\n */\n UNIT_NUMBER: 'unitNumber',\n\n /**\n * PO Box\n */\n PO_BOX: 'poBox',\n\n /**\n * District or neighborhood\n */\n DISTRICT: 'district',\n\n /**\n * County\n */\n COUNTY: 'county',\n} as const;\n\n/**\n * Type exports\n */\nexport type AddressFormat = (typeof ADDRESS_FORMATS)[keyof typeof ADDRESS_FORMATS];\nexport type AddressField = (typeof ADDRESS_FIELDS)[keyof typeof ADDRESS_FIELDS];\n","/**\n * Currency Code Constants\n *\n * @module locale/currencies\n */\n\nexport { CURRENCY_CODES, type CurrencyCode } from '@plyaz/types';\n\n/**\n * Currency metadata\n */\nexport const CURRENCY_INFO = {\n /**\n * Currencies with no decimal places\n */\n NO_DECIMAL_CURRENCIES: ['JPY', 'KRW', 'VND', 'IDR', 'CLP', 'ISK', 'TWD'],\n\n /**\n * Currencies with 3 decimal places\n */\n THREE_DECIMAL_CURRENCIES: ['BHD', 'IQD', 'JOD', 'KWD', 'OMR', 'TND'],\n\n /**\n * Major reserve currencies\n */\n RESERVE_CURRENCIES: ['USD', 'EUR', 'GBP', 'JPY', 'CNY'],\n\n /**\n * G7 currencies\n */\n G7_CURRENCIES: ['USD', 'EUR', 'GBP', 'JPY', 'CAD'],\n\n /**\n * Default decimal places for most currencies\n */\n DEFAULT_DECIMAL_PLACES: 2,\n} as const;\n\n/**\n * Type exports\n */\nexport type CurrencyInfo = (typeof CURRENCY_INFO)[keyof typeof CURRENCY_INFO];\n","/**\n * Country Constants\n *\n * ISO 3166-1 country codes and related data.\n *\n * @module locale/countries\n */\n\n/**\n * Common country codes (ISO 3166-1 alpha-2)\n */\nexport const COUNTRY_CODES = {\n // Americas\n US: 'US', // United States\n CA: 'CA', // Canada\n MX: 'MX', // Mexico\n BR: 'BR', // Brazil\n AR: 'AR', // Argentina\n CL: 'CL', // Chile\n CO: 'CO', // Colombia\n PE: 'PE', // Peru\n VE: 'VE', // Venezuela\n EC: 'EC', // Ecuador\n BO: 'BO', // Bolivia\n PY: 'PY', // Paraguay\n UY: 'UY', // Uruguay\n GY: 'GY', // Guyana\n SR: 'SR', // Suriname\n GF: 'GF', // French Guiana\n FK: 'FK', // Falkland Islands\n\n // Caribbean\n CU: 'CU', // Cuba\n DO: 'DO', // Dominican Republic\n HT: 'HT', // Haiti\n JM: 'JM', // Jamaica\n TT: 'TT', // Trinidad and Tobago\n BB: 'BB', // Barbados\n BS: 'BS', // Bahamas\n PR: 'PR', // Puerto Rico\n\n // Central America\n GT: 'GT', // Guatemala\n HN: 'HN', // Honduras\n SV: 'SV', // El Salvador\n NI: 'NI', // Nicaragua\n CR: 'CR', // Costa Rica\n PA: 'PA', // Panama\n BZ: 'BZ', // Belize\n\n // Europe\n GB: 'GB', // United Kingdom\n FR: 'FR', // France\n DE: 'DE', // Germany\n IT: 'IT', // Italy\n ES: 'ES', // Spain\n PT: 'PT', // Portugal\n NL: 'NL', // Netherlands\n BE: 'BE', // Belgium\n LU: 'LU', // Luxembourg\n CH: 'CH', // Switzerland\n AT: 'AT', // Austria\n IE: 'IE', // Ireland\n DK: 'DK', // Denmark\n SE: 'SE', // Sweden\n NO: 'NO', // Norway\n FI: 'FI', // Finland\n IS: 'IS', // Iceland\n PL: 'PL', // Poland\n CZ: 'CZ', // Czech Republic\n SK: 'SK', // Slovakia\n HU: 'HU', // Hungary\n RO: 'RO', // Romania\n BG: 'BG', // Bulgaria\n GR: 'GR', // Greece\n HR: 'HR', // Croatia\n SI: 'SI', // Slovenia\n RS: 'RS', // Serbia\n BA: 'BA', // Bosnia and Herzegovina\n ME: 'ME', // Montenegro\n MK: 'MK', // North Macedonia\n AL: 'AL', // Albania\n XK: 'XK', // Kosovo\n EE: 'EE', // Estonia\n LV: 'LV', // Latvia\n LT: 'LT', // Lithuania\n BY: 'BY', // Belarus\n UA: 'UA', // Ukraine\n MD: 'MD', // Moldova\n RU: 'RU', // Russia\n CY: 'CY', // Cyprus\n MT: 'MT', // Malta\n AD: 'AD', // Andorra\n MC: 'MC', // Monaco\n SM: 'SM', // San Marino\n VA: 'VA', // Vatican City\n LI: 'LI', // Liechtenstein\n\n // Asia\n CN: 'CN', // China\n JP: 'JP', // Japan\n KR: 'KR', // South Korea\n KP: 'KP', // North Korea\n TW: 'TW', // Taiwan\n HK: 'HK', // Hong Kong\n MO: 'MO', // Macao\n IN: 'IN', // India\n PK: 'PK', // Pakistan\n BD: 'BD', // Bangladesh\n LK: 'LK', // Sri Lanka\n NP: 'NP', // Nepal\n BT: 'BT', // Bhutan\n MV: 'MV', // Maldives\n AF: 'AF', // Afghanistan\n TH: 'TH', // Thailand\n VN: 'VN', // Vietnam\n MY: 'MY', // Malaysia\n SG: 'SG', // Singapore\n ID: 'ID', // Indonesia\n PH: 'PH', // Philippines\n BN: 'BN', // Brunei\n KH: 'KH', // Cambodia\n LA: 'LA', // Laos\n MM: 'MM', // Myanmar\n TL: 'TL', // Timor-Leste\n MN: 'MN', // Mongolia\n KZ: 'KZ', // Kazakhstan\n UZ: 'UZ', // Uzbekistan\n TJ: 'TJ', // Tajikistan\n KG: 'KG', // Kyrgyzstan\n TM: 'TM', // Turkmenistan\n AZ: 'AZ', // Azerbaijan\n GE: 'GE', // Georgia\n AM: 'AM', // Armenia\n\n // Middle East\n SA: 'SA', // Saudi Arabia\n AE: 'AE', // United Arab Emirates\n QA: 'QA', // Qatar\n KW: 'KW', // Kuwait\n BH: 'BH', // Bahrain\n OM: 'OM', // Oman\n YE: 'YE', // Yemen\n JO: 'JO', // Jordan\n LB: 'LB', // Lebanon\n SY: 'SY', // Syria\n IQ: 'IQ', // Iraq\n IR: 'IR', // Iran\n IL: 'IL', // Israel\n PS: 'PS', // Palestine\n TR: 'TR', // Turkey\n\n // Africa\n EG: 'EG', // Egypt\n LY: 'LY', // Libya\n TN: 'TN', // Tunisia\n DZ: 'DZ', // Algeria\n MA: 'MA', // Morocco\n EH: 'EH', // Western Sahara\n MR: 'MR', // Mauritania\n ML: 'ML', // Mali\n NE: 'NE', // Niger\n TD: 'TD', // Chad\n SD: 'SD', // Sudan\n SS: 'SS', // South Sudan\n ER: 'ER', // Eritrea\n DJ: 'DJ', // Djibouti\n SO: 'SO', // Somalia\n ET: 'ET', // Ethiopia\n KE: 'KE', // Kenya\n UG: 'UG', // Uganda\n RW: 'RW', // Rwanda\n BI: 'BI', // Burundi\n TZ: 'TZ', // Tanzania\n MZ: 'MZ', // Mozambique\n MW: 'MW', // Malawi\n ZM: 'ZM', // Zambia\n ZW: 'ZW', // Zimbabwe\n BW: 'BW', // Botswana\n NA: 'NA', // Namibia\n ZA: 'ZA', // South Africa\n LS: 'LS', // Lesotho\n SZ: 'SZ', // Eswatini\n AO: 'AO', // Angola\n CD: 'CD', // Democratic Republic of the Congo\n CG: 'CG', // Republic of the Congo\n GA: 'GA', // Gabon\n GQ: 'GQ', // Equatorial Guinea\n CM: 'CM', // Cameroon\n CF: 'CF', // Central African Republic\n NG: 'NG', // Nigeria\n BJ: 'BJ', // Benin\n TG: 'TG', // Togo\n GH: 'GH', // Ghana\n BF: 'BF', // Burkina Faso\n CI: 'CI', // Côte d'Ivoire\n LR: 'LR', // Liberia\n SL: 'SL', // Sierra Leone\n GN: 'GN', // Guinea\n GW: 'GW', // Guinea-Bissau\n SN: 'SN', // Senegal\n GM: 'GM', // Gambia\n CV: 'CV', // Cape Verde\n ST: 'ST', // São Tomé and Príncipe\n MG: 'MG', // Madagascar\n MU: 'MU', // Mauritius\n SC: 'SC', // Seychelles\n KM: 'KM', // Comoros\n RE: 'RE', // Réunion\n\n // Oceania\n AU: 'AU', // Australia\n NZ: 'NZ', // New Zealand\n PG: 'PG', // Papua New Guinea\n FJ: 'FJ', // Fiji\n SB: 'SB', // Solomon Islands\n VU: 'VU', // Vanuatu\n NC: 'NC', // New Caledonia\n PF: 'PF', // French Polynesia\n WS: 'WS', // Samoa\n TO: 'TO', // Tonga\n TV: 'TV', // Tuvalu\n NR: 'NR', // Nauru\n KI: 'KI', // Kiribati\n PW: 'PW', // Palau\n MH: 'MH', // Marshall Islands\n FM: 'FM', // Micronesia\n GU: 'GU', // Guam\n MP: 'MP', // Northern Mariana Islands\n AS: 'AS', // American Samoa\n CK: 'CK', // Cook Islands\n NU: 'NU', // Niue\n TK: 'TK', // Tokelau\n WF: 'WF', // Wallis and Futuna\n PN: 'PN', // Pitcairn Islands\n\n // Antarctica\n AQ: 'AQ', // Antarctica\n} as const;\n\n/**\n * Country calling codes\n */\nexport const COUNTRY_CALLING_CODES = {\n /**\n * United States and Canada\n */\n '+1': ['US', 'CA'],\n /**\n * Egypt\n */\n '+20': ['EG'],\n /**\n * South Africa\n */\n '+27': ['ZA'],\n /**\n * Greece\n */\n '+30': ['GR'],\n /**\n * Netherlands\n */\n '+31': ['NL'],\n /**\n * Belgium\n */\n '+32': ['BE'],\n /**\n * France\n */\n '+33': ['FR'],\n /**\n * Spain\n */\n '+34': ['ES'],\n /**\n * Hungary\n */\n '+36': ['HU'],\n /**\n * Italy\n */\n '+39': ['IT'],\n /**\n * Romania\n */\n '+40': ['RO'],\n /**\n * Switzerland\n */\n '+41': ['CH'],\n /**\n * Austria\n */\n '+43': ['AT'],\n /**\n * United Kingdom\n */\n '+44': ['GB'],\n /**\n * Denmark\n */\n '+45': ['DK'],\n /**\n * Sweden\n */\n '+46': ['SE'],\n /**\n * Norway\n */\n '+47': ['NO'],\n /**\n * Poland\n */\n '+48': ['PL'],\n /**\n * Germany\n */\n '+49': ['DE'],\n /**\n * Peru\n */\n '+51': ['PE'],\n /**\n * Mexico\n */\n '+52': ['MX'],\n /**\n * Cuba\n */\n '+53': ['CU'],\n /**\n * Argentina\n */\n '+54': ['AR'],\n /**\n * Brazil\n */\n '+55': ['BR'],\n /**\n * Chile\n */\n '+56': ['CL'],\n /**\n * Colombia\n */\n '+57': ['CO'],\n /**\n * Venezuela\n */\n '+58': ['VE'],\n /**\n * Malaysia\n */\n '+60': ['MY'],\n /**\n * Australia\n */\n '+61': ['AU'],\n /**\n * Indonesia\n */\n '+62': ['ID'],\n /**\n * Philippines\n */\n '+63': ['PH'],\n /**\n * New Zealand\n */\n '+64': ['NZ'],\n /**\n * Singapore\n */\n '+65': ['SG'],\n /**\n * Thailand\n */\n '+66': ['TH'],\n /**\n * Russia and Kazakhstan\n */\n '+7': ['RU', 'KZ'],\n /**\n * Japan\n */\n '+81': ['JP'],\n /**\n * South Korea\n */\n '+82': ['KR'],\n /**\n * Vietnam\n */\n '+84': ['VN'],\n /**\n * China\n */\n '+86': ['CN'],\n /**\n * Turkey\n */\n '+90': ['TR'],\n /**\n * India\n */\n '+91': ['IN'],\n /**\n * Pakistan\n */\n '+92': ['PK'],\n /**\n * Afghanistan\n */\n '+93': ['AF'],\n /**\n * Sri Lanka\n */\n '+94': ['LK'],\n /**\n * Myanmar\n */\n '+95': ['MM'],\n /**\n * Iran\n */\n '+98': ['IR'],\n /**\n * Morocco\n */\n '+212': ['MA'],\n /**\n * Algeria\n */\n '+213': ['DZ'],\n /**\n * Tunisia\n */\n '+216': ['TN'],\n /**\n * Libya\n */\n '+218': ['LY'],\n /**\n * Gambia\n */\n '+220': ['GM'],\n /**\n * Senegal\n */\n '+221': ['SN'],\n /**\n * Mali\n */\n '+223': ['ML'],\n /**\n * Guinea\n */\n '+224': ['GN'],\n /**\n * Côte d'Ivoire\n */\n '+225': ['CI'],\n /**\n * Burkina Faso\n */\n '+226': ['BF'],\n /**\n * Niger\n */\n '+227': ['NE'],\n /**\n * Togo\n */\n '+228': ['TG'],\n /**\n * Benin\n */\n '+229': ['BJ'],\n /**\n * Mauritius\n */\n '+230': ['MU'],\n /**\n * Liberia\n */\n '+231': ['LR'],\n /**\n * Sierra Leone\n */\n '+232': ['SL'],\n /**\n * Ghana\n */\n '+233': ['GH'],\n /**\n * Nigeria\n */\n '+234': ['NG'],\n /**\n * Chad\n */\n '+235': ['TD'],\n /**\n * Central African Republic\n */\n '+236': ['CF'],\n /**\n * Cameroon\n */\n '+237': ['CM'],\n /**\n * Cape Verde\n */\n '+238': ['CV'],\n /**\n * São Tomé and Príncipe\n */\n '+239': ['ST'],\n /**\n * Equatorial Guinea\n */\n '+240': ['GQ'],\n /**\n * Gabon\n */\n '+241': ['GA'],\n /**\n * Congo\n */\n '+242': ['CG'],\n /**\n * Democratic Republic of the Congo\n */\n '+243': ['CD'],\n /**\n * Angola\n */\n '+244': ['AO'],\n /**\n * Guinea-Bissau\n */\n '+245': ['GW'],\n /**\n * Kenya\n */\n '+254': ['KE'],\n /**\n * Tanzania\n */\n '+255': ['TZ'],\n /**\n * Uganda\n */\n '+256': ['UG'],\n /**\n * Burundi\n */\n '+257': ['BI'],\n /**\n * Mozambique\n */\n '+258': ['MZ'],\n /**\n * Zambia\n */\n '+260': ['ZM'],\n /**\n * Madagascar\n */\n '+261': ['MG'],\n /**\n * Zimbabwe\n */\n '+263': ['ZW'],\n /**\n * Namibia\n */\n '+264': ['NA'],\n /**\n * Malawi\n */\n '+265': ['MW'],\n /**\n * Lesotho\n */\n '+266': ['LS'],\n /**\n * Botswana\n */\n '+267': ['BW'],\n /**\n * Eswatini\n */\n '+268': ['SZ'],\n /**\n * Seychelles\n */\n '+248': ['SC'],\n /**\n * Rwanda\n */\n '+250': ['RW'],\n /**\n * Ethiopia\n */\n '+251': ['ET'],\n /**\n * Somalia\n */\n '+252': ['SO'],\n /**\n * Djibouti\n */\n '+253': ['DJ'],\n /**\n * Hong Kong\n */\n '+852': ['HK'],\n /**\n * Macao\n */\n '+853': ['MO'],\n /**\n * Bangladesh\n */\n '+880': ['BD'],\n /**\n * Taiwan\n */\n '+886': ['TW'],\n /**\n * Maldives\n */\n '+960': ['MV'],\n /**\n * Lebanon\n */\n '+961': ['LB'],\n /**\n * Jordan\n */\n '+962': ['JO'],\n /**\n * Syria\n */\n '+963': ['SY'],\n /**\n * Iraq\n */\n '+964': ['IQ'],\n /**\n * Kuwait\n */\n '+965': ['KW'],\n /**\n * Saudi Arabia\n */\n '+966': ['SA'],\n /**\n * Yemen\n */\n '+967': ['YE'],\n /**\n * Oman\n */\n '+968': ['OM'],\n /**\n * Palestine\n */\n '+970': ['PS'],\n /**\n * United Arab Emirates\n */\n '+971': ['AE'],\n /**\n * Israel\n */\n '+972': ['IL'],\n /**\n * Bahrain\n */\n '+973': ['BH'],\n /**\n * Qatar\n */\n '+974': ['QA'],\n /**\n * Bhutan\n */\n '+975': ['BT'],\n /**\n * Mongolia\n */\n '+976': ['MN'],\n /**\n * Nepal\n */\n '+977': ['NP'],\n /**\n * Tajikistan\n */\n '+992': ['TJ'],\n /**\n * Turkmenistan\n */\n '+993': ['TM'],\n /**\n * Azerbaijan\n */\n '+994': ['AZ'],\n /**\n * Georgia\n */\n '+995': ['GE'],\n /**\n * Kyrgyzstan\n */\n '+996': ['KG'],\n /**\n * Uzbekistan\n */\n '+998': ['UZ'],\n} as const;\n\n/**\n * Regional groupings\n */\nexport const COUNTRY_REGIONS = {\n /**\n * European Union member states\n */\n EU: [\n 'AT',\n 'BE',\n 'BG',\n 'HR',\n 'CY',\n 'CZ',\n 'DK',\n 'EE',\n 'FI',\n 'FR',\n 'DE',\n 'GR',\n 'HU',\n 'IE',\n 'IT',\n 'LV',\n 'LT',\n 'LU',\n 'MT',\n 'NL',\n 'PL',\n 'PT',\n 'RO',\n 'SK',\n 'SI',\n 'ES',\n 'SE',\n ],\n\n /**\n * North American countries\n */\n NORTH_AMERICA: ['US', 'CA', 'MX'],\n\n /**\n * South American countries\n */\n SOUTH_AMERICA: ['AR', 'BO', 'BR', 'CL', 'CO', 'EC', 'GF', 'GY', 'PY', 'PE', 'SR', 'UY', 'VE'],\n\n /**\n * G7 countries\n */\n G7: ['US', 'CA', 'GB', 'FR', 'DE', 'IT', 'JP'],\n\n /**\n * G20 countries\n */\n G20: [\n 'AR',\n 'AU',\n 'BR',\n 'CA',\n 'CN',\n 'FR',\n 'DE',\n 'IN',\n 'ID',\n 'IT',\n 'JP',\n 'KR',\n 'MX',\n 'RU',\n 'SA',\n 'ZA',\n 'TR',\n 'GB',\n 'US',\n ],\n\n /**\n * ASEAN countries\n */\n ASEAN: ['BN', 'KH', 'ID', 'LA', 'MY', 'MM', 'PH', 'SG', 'TH', 'VN'],\n\n /**\n * BRICS countries\n */\n BRICS: ['BR', 'RU', 'IN', 'CN', 'ZA'],\n\n /**\n * OECD countries\n */\n OECD: [\n 'AU',\n 'AT',\n 'BE',\n 'CA',\n 'CL',\n 'CO',\n 'CR',\n 'CZ',\n 'DK',\n 'EE',\n 'FI',\n 'FR',\n 'DE',\n 'GR',\n 'HU',\n 'IS',\n 'IE',\n 'IL',\n 'IT',\n 'JP',\n 'KR',\n 'LV',\n 'LT',\n 'LU',\n 'MX',\n 'NL',\n 'NZ',\n 'NO',\n 'PL',\n 'PT',\n 'SK',\n 'SI',\n 'ES',\n 'SE',\n 'CH',\n 'TR',\n 'GB',\n 'US',\n ],\n\n /**\n * Commonwealth countries\n */\n COMMONWEALTH: [\n 'AG',\n 'AU',\n 'BS',\n 'BD',\n 'BB',\n 'BZ',\n 'BW',\n 'BN',\n 'CM',\n 'CA',\n 'CY',\n 'DM',\n 'FJ',\n 'GM',\n 'GH',\n 'GD',\n 'GY',\n 'IN',\n 'JM',\n 'KE',\n 'KI',\n 'LS',\n 'MW',\n 'MY',\n 'MV',\n 'MT',\n 'MU',\n 'MZ',\n 'NA',\n 'NR',\n 'NZ',\n 'NG',\n 'PK',\n 'PG',\n 'RW',\n 'KN',\n 'LC',\n 'VC',\n 'WS',\n 'SC',\n 'SL',\n 'SG',\n 'SB',\n 'ZA',\n 'LK',\n 'SZ',\n 'TZ',\n 'TO',\n 'TT',\n 'TV',\n 'UG',\n 'GB',\n 'VU',\n 'ZM',\n ],\n} as const;\n\n/**\n * Country code to region mapping for CDN headers\n */\nexport const COUNTRY_REGIONS_DETAILED: Record<string, { region: string; state?: string }> = {\n // EU countries\n DE: { region: 'eu' },\n FR: { region: 'eu' },\n IT: { region: 'eu' },\n ES: { region: 'eu' },\n NL: { region: 'eu' },\n BE: { region: 'eu' },\n AT: { region: 'eu' },\n SE: { region: 'eu' },\n DK: { region: 'eu' },\n FI: { region: 'eu' },\n NO: { region: 'eu' },\n PL: { region: 'eu' },\n CZ: { region: 'eu' },\n HU: { region: 'eu' },\n SK: { region: 'eu' },\n SI: { region: 'eu' },\n HR: { region: 'eu' },\n BG: { region: 'eu' },\n RO: { region: 'eu' },\n GR: { region: 'eu' },\n PT: { region: 'eu' },\n IE: { region: 'eu' },\n LU: { region: 'eu' },\n MT: { region: 'eu' },\n CY: { region: 'eu' },\n EE: { region: 'eu' },\n LV: { region: 'eu' },\n LT: { region: 'eu' },\n GB: { region: 'eu' },\n IS: { region: 'eu' },\n LI: { region: 'eu' },\n CH: { region: 'eu' },\n\n // US and states (would need more sophisticated detection for states)\n US: { region: 'us' },\n CA: { region: 'ca' }, // Canada as separate region\n\n // China\n CN: { region: 'cn' },\n HK: { region: 'cn' },\n MO: { region: 'cn' },\n\n // Japan\n JP: { region: 'jp' },\n\n // Other Asian countries\n KR: { region: 'global' }, // South Korea\n TW: { region: 'global' }, // Taiwan\n SG: { region: 'global' }, // Singapore\n MY: { region: 'global' }, // Malaysia\n TH: { region: 'global' }, // Thailand\n IN: { region: 'global' }, // India\n ID: { region: 'global' }, // Indonesia\n PH: { region: 'global' }, // Philippines\n VN: { region: 'global' }, // Vietnam\n\n // Oceania\n AU: { region: 'global' }, // Australia\n NZ: { region: 'global' }, // New Zealand\n\n // Americas (other than US/CA)\n MX: { region: 'global' }, // Mexico\n BR: { region: 'global' }, // Brazil\n AR: { region: 'global' }, // Argentina\n CL: { region: 'global' }, // Chile\n CO: { region: 'global' }, // Colombia\n\n // Middle East\n AE: { region: 'global' }, // UAE\n SA: { region: 'global' }, // Saudi Arabia\n IL: { region: 'global' }, // Israel\n TR: { region: 'global' }, // Turkey\n\n // Africa\n ZA: { region: 'global' }, // South Africa\n EG: { region: 'global' }, // Egypt\n NG: { region: 'global' }, // Nigeria\n KE: { region: 'global' }, // Kenya\n\n // Russia\n RU: { region: 'global' }, // Russia\n\n // Other countries default to global\n};\n\n/**\n * Type exports\n */\nexport type CountryCode = (typeof COUNTRY_CODES)[keyof typeof COUNTRY_CODES];\nexport type CountryCallingCode = keyof typeof COUNTRY_CALLING_CODES;\nexport type CountryRegion = keyof typeof COUNTRY_REGIONS;\nexport type CountryRegionDetailed =\n (typeof COUNTRY_REGIONS_DETAILED)[keyof typeof COUNTRY_REGIONS_DETAILED];\n","/**\n * Common Locale Constants\n *\n * BCP 47 language tags for common locales worldwide.\n *\n * @module locale/locales\n */\n\n/**\n * Locale regions\n */\nexport const LOCALE_REGIONS = {\n AMERICAS: ['en-US', 'es-MX', 'pt-BR', 'en-CA', 'fr-CA'],\n EUROPE: ['en-GB', 'de-DE', 'fr-FR', 'it-IT', 'es-ES', 'nl-NL'],\n ASIA_PACIFIC: ['zh-CN', 'ja-JP', 'ko-KR', 'hi-IN', 'en-AU'],\n MIDDLE_EAST_AFRICA: ['ar-SA', 'he-IL', 'tr-TR', 'en-ZA'],\n} as const;\n\n/**\n * Locale to region mapping\n */\nexport const LOCALE_REGIONS_DETAILED: Record<string, { region: string; country?: string }> = {\n // EU locales\n de: { region: 'eu', country: 'DE' },\n 'de-de': { region: 'eu', country: 'DE' },\n 'de-at': { region: 'eu', country: 'AT' },\n 'de-ch': { region: 'eu', country: 'CH' },\n 'it-ch': { region: 'eu', country: 'CH' },\n 'fr-ch': { region: 'eu', country: 'CH' },\n fr: { region: 'eu', country: 'FR' },\n 'fr-fr': { region: 'eu', country: 'FR' },\n 'fr-be': { region: 'eu', country: 'BE' },\n es: { region: 'eu', country: 'ES' },\n 'es-es': { region: 'eu', country: 'ES' },\n it: { region: 'eu', country: 'IT' },\n 'it-it': { region: 'eu', country: 'IT' },\n nl: { region: 'eu', country: 'NL' },\n 'nl-nl': { region: 'eu', country: 'NL' },\n 'nl-be': { region: 'eu', country: 'BE' },\n pl: { region: 'eu', country: 'PL' },\n 'pl-pl': { region: 'eu', country: 'PL' },\n pt: { region: 'eu', country: 'PT' },\n 'pt-pt': { region: 'eu', country: 'PT' },\n sv: { region: 'eu', country: 'SE' },\n 'sv-se': { region: 'eu', country: 'SE' },\n 'sv-fi': { region: 'eu', country: 'FI' },\n da: { region: 'eu', country: 'DK' },\n 'da-dk': { region: 'eu', country: 'DK' },\n fi: { region: 'eu', country: 'FI' },\n 'fi-fi': { region: 'eu', country: 'FI' },\n 'en-gb': { region: 'eu', country: 'GB' },\n 'en-ie': { region: 'eu', country: 'IE' },\n\n // US locales\n 'en-us': { region: 'us', country: 'US' },\n en: { region: 'global', country: undefined }, // Default English to global (no specific country)\n\n // China locales\n zh: { region: 'cn', country: 'CN' },\n 'zh-cn': { region: 'cn', country: 'CN' },\n 'zh-hans': { region: 'cn', country: 'CN' },\n 'zh-hk': { region: 'cn', country: 'HK' },\n 'zh-tw': { region: 'global', country: 'TW' }, // Taiwan as global\n\n // Japan locales\n ja: { region: 'jp', country: 'JP' },\n 'ja-jp': { region: 'jp', country: 'JP' },\n\n // Other locales\n 'en-ca': { region: 'ca', country: 'CA' },\n 'fr-ca': { region: 'ca', country: 'CA' },\n 'en-au': { region: 'global', country: 'AU' },\n 'en-nz': { region: 'global', country: 'NZ' },\n ko: { region: 'global', country: 'KR' },\n 'ko-kr': { region: 'global', country: 'KR' },\n\n // Latin America locales\n 'pt-br': { region: 'global', country: 'BR' },\n 'es-mx': { region: 'global', country: 'MX' },\n 'es-ar': { region: 'global', country: 'AR' },\n 'es-cl': { region: 'global', country: 'CL' },\n 'es-co': { region: 'global', country: 'CO' },\n 'es-pe': { region: 'global', country: 'PE' },\n 'es-VE': { region: 'global', country: 'VE' },\n 'es-EC': { region: 'global', country: 'EC' },\n 'es-UY': { region: 'global', country: 'UY' },\n 'es-PY': { region: 'global', country: 'PY' },\n 'es-BO': { region: 'global', country: 'BO' },\n 'es-DO': { region: 'global', country: 'DO' },\n 'es-GT': { region: 'global', country: 'GT' },\n 'es-HN': { region: 'global', country: 'HN' },\n 'es-NI': { region: 'global', country: 'NI' },\n 'es-PA': { region: 'global', country: 'PA' },\n 'es-CR': { region: 'global', country: 'CR' },\n 'es-SV': { region: 'global', country: 'SV' },\n\n // Asian locales\n 'zh-SG': { region: 'global', country: 'SG' },\n 'en-SG': { region: 'global', country: 'SG' },\n 'en-IN': { region: 'global', country: 'IN' },\n 'hi-IN': { region: 'global', country: 'IN' },\n 'en-PH': { region: 'global', country: 'PH' },\n 'tl-PH': { region: 'global', country: 'PH' },\n 'id-ID': { region: 'global', country: 'ID' },\n 'ms-MY': { region: 'global', country: 'MY' },\n 'en-MY': { region: 'global', country: 'MY' },\n 'th-TH': { region: 'global', country: 'TH' },\n 'vi-VN': { region: 'global', country: 'VN' },\n\n // Middle East & Africa locales\n 'ar-SA': { region: 'global', country: 'SA' },\n 'ar-AE': { region: 'global', country: 'AE' },\n 'ar-EG': { region: 'global', country: 'EG' },\n 'ar-DZ': { region: 'global', country: 'DZ' },\n 'ar-MA': { region: 'global', country: 'MA' },\n 'he-IL': { region: 'global', country: 'IL' },\n 'tr-TR': { region: 'global', country: 'TR' },\n 'en-ZA': { region: 'global', country: 'ZA' },\n 'af-ZA': { region: 'global', country: 'ZA' },\n 'en-NG': { region: 'global', country: 'NG' },\n 'en-KE': { region: 'global', country: 'KE' },\n 'sw-KE': { region: 'global', country: 'KE' },\n\n // Eastern Europe/Russia locales\n 'ru-RU': { region: 'global', country: 'RU' },\n 'uk-UA': { region: 'eu', country: 'UA' },\n 'be-BY': { region: 'global', country: 'BY' },\n 'kk-KZ': { region: 'global', country: 'KZ' },\n};\n\n/**\n * Type exports\n */\nexport type LocaleRegion = (typeof LOCALE_REGIONS)[keyof typeof LOCALE_REGIONS];\nexport type LocaleRegionDetailed =\n (typeof LOCALE_REGIONS_DETAILED)[keyof typeof LOCALE_REGIONS_DETAILED];\n","/**\n * Timezone to region mapping\n */\nexport const TIMEZONE_REGIONS: Record<\n string,\n { region: string; country?: string; state?: string }\n> = {\n // Europe\n 'Europe/London': { region: 'eu', country: 'GB' },\n 'Europe/Berlin': { region: 'eu', country: 'DE' },\n 'Europe/Paris': { region: 'eu', country: 'FR' },\n 'Europe/Rome': { region: 'eu', country: 'IT' },\n 'Europe/Madrid': { region: 'eu', country: 'ES' },\n 'Europe/Amsterdam': { region: 'eu', country: 'NL' },\n 'Europe/Stockholm': { region: 'eu', country: 'SE' },\n 'Europe/Helsinki': { region: 'eu', country: 'FI' },\n 'Europe/Vienna': { region: 'eu', country: 'AT' },\n 'Europe/Brussels': { region: 'eu', country: 'BE' },\n 'Europe/Dublin': { region: 'eu', country: 'IE' },\n 'Europe/Copenhagen': { region: 'eu', country: 'DK' },\n 'Europe/Warsaw': { region: 'eu', country: 'PL' },\n 'Europe/Prague': { region: 'eu', country: 'CZ' },\n 'Europe/Budapest': { region: 'eu', country: 'HU' },\n 'Europe/Bucharest': { region: 'eu', country: 'RO' },\n 'Europe/Athens': { region: 'eu', country: 'GR' },\n 'Europe/Lisbon': { region: 'eu', country: 'PT' },\n 'Europe/Zagreb': { region: 'eu', country: 'HR' },\n 'Europe/Ljubljana': { region: 'eu', country: 'SI' },\n 'Europe/Bratislava': { region: 'eu', country: 'SK' },\n 'Europe/Sofia': { region: 'eu', country: 'BG' },\n 'Europe/Tallinn': { region: 'eu', country: 'EE' },\n 'Europe/Riga': { region: 'eu', country: 'LV' },\n 'Europe/Vilnius': { region: 'eu', country: 'LT' },\n 'Europe/Luxembourg': { region: 'eu', country: 'LU' },\n 'Europe/Malta': { region: 'eu', country: 'MT' },\n 'Europe/Oslo': { region: 'eu', country: 'NO' },\n 'Europe/Zurich': { region: 'eu', country: 'CH' },\n 'Europe/Reykjavik': { region: 'eu', country: 'IS' },\n 'Europe/Kiev': { region: 'eu', country: 'UA' },\n 'Europe/Minsk': { region: 'global', country: 'BY' },\n 'Europe/Moscow': { region: 'global', country: 'RU' },\n\n // United States\n 'America/Los_Angeles': { region: 'us', country: 'US', state: 'ca' },\n 'America/San_Francisco': { region: 'us', country: 'US', state: 'ca' },\n 'America/New_York': { region: 'us', country: 'US', state: 'ny' },\n 'America/Chicago': { region: 'us', country: 'US', state: 'il' },\n 'America/Denver': { region: 'us', country: 'US', state: 'co' },\n 'America/Phoenix': { region: 'us', country: 'US', state: 'az' },\n 'America/Detroit': { region: 'us', country: 'US', state: 'mi' },\n 'America/Atlanta': { region: 'us', country: 'US', state: 'ga' },\n 'America/Miami': { region: 'us', country: 'US', state: 'fl' },\n 'America/Dallas': { region: 'us', country: 'US', state: 'tx' },\n 'America/Houston': { region: 'us', country: 'US', state: 'tx' },\n 'America/Seattle': { region: 'us', country: 'US', state: 'wa' },\n 'America/Boston': { region: 'us', country: 'US', state: 'ma' },\n 'America/Philadelphia': { region: 'us', country: 'US', state: 'pa' },\n\n // China\n 'Asia/Shanghai': { region: 'cn', country: 'CN' },\n 'Asia/Beijing': { region: 'cn', country: 'CN' },\n 'Asia/Hong_Kong': { region: 'cn', country: 'HK' },\n 'Asia/Macau': { region: 'cn', country: 'MO' },\n 'Asia/Chongqing': { region: 'cn', country: 'CN' },\n 'Asia/Urumqi': { region: 'cn', country: 'CN' },\n\n // Japan\n 'Asia/Tokyo': { region: 'jp', country: 'JP' },\n 'Asia/Osaka': { region: 'jp', country: 'JP' },\n\n // Other Asian regions\n 'Asia/Bangkok': { region: 'global', country: 'TH' },\n 'Asia/Jakarta': { region: 'global', country: 'ID' },\n 'Asia/Manila': { region: 'global', country: 'PH' },\n 'Asia/Kuala_Lumpur': { region: 'global', country: 'MY' },\n 'Asia/Ho_Chi_Minh': { region: 'global', country: 'VN' },\n 'Asia/Taipei': { region: 'global', country: 'TW' },\n 'Asia/Kolkata': { region: 'global', country: 'IN' },\n 'Asia/Delhi': { region: 'global', country: 'IN' },\n 'Asia/Karachi': { region: 'global', country: 'PK' },\n 'Asia/Dhaka': { region: 'global', country: 'BD' },\n 'Asia/Colombo': { region: 'global', country: 'LK' },\n 'Asia/Kathmandu': { region: 'global', country: 'NP' },\n\n // Pacific regions\n 'Pacific/Fiji': { region: 'global', country: 'FJ' },\n 'Pacific/Guam': { region: 'us', country: 'GU' },\n 'Pacific/Honolulu': { region: 'us', country: 'US', state: 'hi' },\n\n // Canada\n 'America/Toronto': { region: 'us', country: 'CA' }, // Treat Canada as US for simplicity\n 'America/Vancouver': { region: 'us', country: 'CA' },\n 'America/Montreal': { region: 'us', country: 'CA' },\n 'America/Edmonton': { region: 'us', country: 'CA' },\n 'America/Winnipeg': { region: 'us', country: 'CA' },\n 'America/Halifax': { region: 'us', country: 'CA' },\n\n // Australia & New Zealand\n 'Australia/Sydney': { region: 'global', country: 'AU' },\n 'Australia/Melbourne': { region: 'global', country: 'AU' },\n 'Australia/Brisbane': { region: 'global', country: 'AU' },\n 'Australia/Perth': { region: 'global', country: 'AU' },\n 'Australia/Adelaide': { region: 'global', country: 'AU' },\n 'Australia/Darwin': { region: 'global', country: 'AU' },\n 'Australia/Hobart': { region: 'global', country: 'AU' },\n 'Pacific/Auckland': { region: 'global', country: 'NZ' },\n 'Pacific/Wellington': { region: 'global', country: 'NZ' },\n 'Pacific/Christchurch': { region: 'global', country: 'NZ' },\n\n // Other Asian regions\n 'Asia/Singapore': { region: 'global', country: 'SG' },\n 'Asia/Seoul': { region: 'global', country: 'KR' },\n 'Asia/Mumbai': { region: 'global', country: 'IN' },\n 'Asia/Dubai': { region: 'global', country: 'AE' },\n 'Asia/Riyadh': { region: 'global', country: 'SA' },\n 'Asia/Jerusalem': { region: 'global', country: 'IL' },\n 'Asia/Tel_Aviv': { region: 'global', country: 'IL' },\n 'Asia/Istanbul': { region: 'global', country: 'TR' },\n 'Asia/Tehran': { region: 'global', country: 'IR' },\n 'Asia/Baghdad': { region: 'global', country: 'IQ' },\n 'Asia/Kuwait': { region: 'global', country: 'KW' },\n 'Asia/Doha': { region: 'global', country: 'QA' },\n 'Asia/Muscat': { region: 'global', country: 'OM' },\n 'Asia/Amman': { region: 'global', country: 'JO' },\n 'Asia/Beirut': { region: 'global', country: 'LB' },\n 'Asia/Damascus': { region: 'global', country: 'SY' },\n\n // Latin America\n 'America/Sao_Paulo': { region: 'global', country: 'BR' },\n 'America/Rio_de_Janeiro': { region: 'global', country: 'BR' },\n 'America/Brasilia': { region: 'global', country: 'BR' },\n 'America/Mexico_City': { region: 'global', country: 'MX' },\n 'America/Tijuana': { region: 'global', country: 'MX' },\n 'America/Monterrey': { region: 'global', country: 'MX' },\n 'America/Buenos_Aires': { region: 'global', country: 'AR' },\n 'America/Santiago': { region: 'global', country: 'CL' },\n 'America/Bogota': { region: 'global', country: 'CO' },\n 'America/Lima': { region: 'global', country: 'PE' },\n 'America/Caracas': { region: 'global', country: 'VE' },\n 'America/La_Paz': { region: 'global', country: 'BO' },\n 'America/Guayaquil': { region: 'global', country: 'EC' },\n 'America/Montevideo': { region: 'global', country: 'UY' },\n 'America/Asuncion': { region: 'global', country: 'PY' },\n 'America/Santo_Domingo': { region: 'global', country: 'DO' },\n 'America/Havana': { region: 'global', country: 'CU' },\n 'America/Panama': { region: 'global', country: 'PA' },\n 'America/Guatemala': { region: 'global', country: 'GT' },\n 'America/Costa_Rica': { region: 'global', country: 'CR' },\n 'America/San_Salvador': { region: 'global', country: 'SV' },\n 'America/Tegucigalpa': { region: 'global', country: 'HN' },\n 'America/Managua': { region: 'global', country: 'NI' },\n 'America/Jamaica': { region: 'global', country: 'JM' },\n 'America/Port-au-Prince': { region: 'global', country: 'HT' },\n\n // Africa\n 'Africa/Johannesburg': { region: 'global', country: 'ZA' },\n 'Africa/Cairo': { region: 'global', country: 'EG' },\n 'Africa/Lagos': { region: 'global', country: 'NG' },\n 'Africa/Nairobi': { region: 'global', country: 'KE' },\n 'Africa/Casablanca': { region: 'global', country: 'MA' },\n 'Africa/Algiers': { region: 'global', country: 'DZ' },\n 'Africa/Tunis': { region: 'global', country: 'TN' },\n 'Africa/Addis_Ababa': { region: 'global', country: 'ET' },\n 'Africa/Dar_es_Salaam': { region: 'global', country: 'TZ' },\n 'Africa/Kinshasa': { region: 'global', country: 'CD' },\n 'Africa/Luanda': { region: 'global', country: 'AO' },\n 'Africa/Kampala': { region: 'global', country: 'UG' },\n 'Africa/Harare': { region: 'global', country: 'ZW' },\n 'Africa/Accra': { region: 'global', country: 'GH' },\n 'Africa/Dakar': { region: 'global', country: 'SN' },\n 'Africa/Abidjan': { region: 'global', country: 'CI' },\n\n // Fallback prefix patterns (should be at the end for proper precedence)\n 'Europe/': { region: 'eu' }, // Catch-all for European timezones\n 'America/': { region: 'us' }, // Default Americas to US\n 'Asia/': { region: 'asia' }, // Default Asia to asia region\n 'Africa/': { region: 'global' }, // Default Africa to global\n 'Pacific/': { region: 'global' }, // Default Pacific to global\n};\n\n/**\n * Type exports\n */\nexport type TimezoneRegion = (typeof TIMEZONE_REGIONS)[keyof typeof TIMEZONE_REGIONS];\n"]}
1
+ {"version":3,"sources":["../../src/locale/iso.ts","../../src/locale/formats.ts","../../src/locale/phone.ts","../../src/locale/address.ts","../../src/locale/currencies.ts","../../src/locale/countries.ts","../../src/locale/languages.ts","../../src/locale/timezone.ts"],"names":["ISO_STANDARDS","LOCALE_FORMATS","DATE_FORMATS","TEXT_DIRECTION","PHONE_FORMATS","PHONE_PATTERNS","ADDRESS_FORMATS","ADDRESS_FIELDS","CURRENCY_CODES","CURRENCY_INFO","COUNTRY_CODES","COUNTRY_CALLING_CODES","COUNTRY_REGIONS","COUNTRY_REGIONS_DETAILED","LOCALE_REGIONS","LOCALE_REGIONS_DETAILED","TIMEZONE_REGIONS"],"mappings":"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E5B,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CAGL,GAAA,CAAK,KAAA,CACL,IAAK,KAAA,CACL,IAAA,CAAM,MAAA,CACN,IAAA,CAAM,MACR,CAAA,CAKaC,EAAgB,CAI3B,qBAAA,CAAuB,CAAC,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,MAAO,KAAA,CAAO,KAAA,CAAO,KAAK,CAAA,CAKvE,wBAAA,CAA0B,CAAC,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAK,CAAA,CAKnE,kBAAA,CAAoB,CAAC,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAK,CAAA,CAKtD,cAAe,CAAC,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAA,CAAO,KAAK,EAKjD,sBAAA,CAAwB,CAC1B,EC7IO,IAAMC,CAAAA,CAAgB,CAE3B,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CAGJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CAGJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CAGJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,KACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,GAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,IAAA,CAGJ,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","file":"index.mjs","sourcesContent":["/**\n * ISO Standards Constants\n *\n * International Organization for Standardization (ISO) code lengths\n * and standards used for country codes, language codes, currencies, etc.\n *\n * @module locale/iso\n */\n\n/**\n * ISO code length standards\n */\nexport const ISO_STANDARDS = {\n /**\n * ISO 3166-1 alpha-2 country code length (e.g., \"US\", \"GB\", \"FR\")\n */\n ISO_COUNTRY_CODE_LENGTH: 2,\n\n /**\n * ISO 3166-1 alpha-3 country code length (e.g., \"USA\", \"GBR\", \"FRA\")\n */\n ISO_COUNTRY_CODE_ALPHA3_LENGTH: 3,\n\n /**\n * ISO 639-1 language code length (e.g., \"en\", \"fr\", \"es\")\n */\n ISO_LANGUAGE_CODE_LENGTH: 2,\n\n /**\n * ISO 639-2 language code length (e.g., \"eng\", \"fra\", \"spa\")\n */\n ISO_LANGUAGE_CODE_ALPHA3_LENGTH: 3,\n\n /**\n * ISO 4217 currency code length (e.g., \"USD\", \"EUR\", \"GBP\")\n */\n ISO_CURRENCY_CODE_LENGTH: 3,\n\n /**\n * ISO 8601 date format length (YYYY-MM-DD)\n */\n ISO_DATE_LENGTH: 10,\n\n /**\n * ISO 8601 datetime format length (YYYY-MM-DDTHH:mm:ss.sssZ)\n */\n ISO_DATETIME_LENGTH: 24,\n\n /**\n * ISO 8601 time format length (HH:mm:ss)\n */\n ISO_TIME_LENGTH: 8,\n\n /**\n * ISO week date format length (YYYY-Www)\n */\n ISO_WEEK_DATE_LENGTH: 8,\n\n /**\n * BCP 47 language tag minimum length (e.g., \"en\")\n */\n BCP47_MIN_LENGTH: 2,\n\n /**\n * BCP 47 language tag with region (e.g., \"en-US\")\n */\n BCP47_WITH_REGION_LENGTH: 5,\n\n /**\n * RFC 5646 maximum language tag length\n */\n RFC5646_MAX_LENGTH: 35,\n\n /**\n * ISO 3166-1 numeric country code length\n */\n ISO_NUMERIC_COUNTRY_CODE_LENGTH: 3,\n\n /**\n * ISO 639-3 language code length\n */\n ISO_639_3_LENGTH: 3,\n} as const;\n\n/**\n * Type for ISO standard values\n */\nexport type IsoStandard = (typeof ISO_STANDARDS)[keyof typeof ISO_STANDARDS];\n","/**\n * Locale and Date Formatting Constants\n *\n * Constants for formatting dates, numbers, and locale-specific values.\n *\n * @module locale/formats\n */\n\n/**\n * Number and currency formatting constants\n */\nexport const LOCALE_FORMATS = {\n /**\n * Locale separator character\n */\n LOCALE_SEPARATOR: '-',\n\n /**\n * BCP 47 separator character\n */\n BCP47_SEPARATOR: '-',\n\n /**\n * Currency decimal places\n */\n CURRENCY_DECIMALS: 2,\n\n /**\n * Currency symbol placement (before/after)\n */\n CURRENCY_SYMBOL_BEFORE: true,\n\n /**\n * Thousands separator\n */\n THOUSANDS_SEPARATOR: ',',\n\n /**\n * Decimal separator\n */\n DECIMAL_SEPARATOR: '.',\n\n /**\n * Maximum locale string length\n */\n MAX_LOCALE_LENGTH: 35,\n\n /**\n * Minimum locale string length\n */\n MIN_LOCALE_LENGTH: 2,\n\n /**\n * Percentage decimal places\n */\n PERCENTAGE_DECIMALS: 2,\n\n /**\n * Default number of fraction digits\n */\n DEFAULT_FRACTION_DIGITS: 2,\n\n /**\n * Maximum fraction digits\n */\n MAX_FRACTION_DIGITS: 20,\n} as const;\n\n/**\n * Date and time formatting patterns\n */\nexport const DATE_FORMATS = {\n /**\n * ISO 8601 date format\n */\n ISO_DATE: 'YYYY-MM-DD',\n\n /**\n * ISO 8601 datetime format\n */\n ISO_DATETIME: 'YYYY-MM-DDTHH:mm:ss.sssZ',\n\n /**\n * ISO 8601 time format\n */\n ISO_TIME: 'HH:mm:ss',\n\n /**\n * US date format\n */\n US_DATE: 'MM/DD/YYYY',\n\n /**\n * European date format\n */\n EU_DATE: 'DD/MM/YYYY',\n\n /**\n * UK date format\n */\n UK_DATE: 'DD/MM/YYYY',\n\n /**\n * Japanese date format\n */\n JP_DATE: 'YYYY/MM/DD',\n\n /**\n * Short date format\n */\n SHORT_DATE: 'MMM DD',\n\n /**\n * Long date format\n */\n LONG_DATE: 'MMMM DD, YYYY',\n\n /**\n * Full date format\n */\n FULL_DATE: 'dddd, MMMM DD, YYYY',\n\n /**\n * Time format 12-hour\n */\n TIME_12H: 'hh:mm A',\n\n /**\n * Time format 24-hour\n */\n TIME_24H: 'HH:mm',\n\n /**\n * Time with seconds 12-hour\n */\n TIME_12H_SECONDS: 'hh:mm:ss A',\n\n /**\n * Time with seconds 24-hour\n */\n TIME_24H_SECONDS: 'HH:mm:ss',\n\n /**\n * Relative time threshold in seconds\n */\n RELATIVE_TIME_THRESHOLD: 86400,\n\n /**\n * Month/Year format\n */\n MONTH_YEAR: 'MMMM YYYY',\n\n /**\n * Short month/Year format\n */\n SHORT_MONTH_YEAR: 'MMM YYYY',\n\n /**\n * Year only format\n */\n YEAR_ONLY: 'YYYY',\n} as const;\n\n/**\n * Text direction constants\n */\nexport const TEXT_DIRECTION = {\n /**\n * Left-to-right\n */\n LTR: 'ltr',\n\n /**\n * Right-to-left\n */\n RTL: 'rtl',\n\n /**\n * Auto-detect\n */\n AUTO: 'auto',\n} as const;\n\n/**\n * Type exports\n */\nexport type LocaleFormat = (typeof LOCALE_FORMATS)[keyof typeof LOCALE_FORMATS];\nexport type DateFormat = (typeof DATE_FORMATS)[keyof typeof DATE_FORMATS];\nexport type TextDirectionValue = (typeof TEXT_DIRECTION)[keyof typeof TEXT_DIRECTION];\n","/**\n * Phone Number Formatting Constants\n *\n * Constants for phone number validation and formatting across different countries.\n *\n * @module locale/phone\n */\n\n/**\n * Phone number formats and validation\n */\nexport const PHONE_FORMATS = {\n /**\n * International prefix\n */\n INTERNATIONAL_PREFIX: '+',\n\n /**\n * International direct dialing prefix\n */\n IDD_PREFIX: '00',\n\n /**\n * US country code\n */\n US_COUNTRY_CODE: '1',\n\n /**\n * UK country code\n */\n UK_COUNTRY_CODE: '44',\n\n /**\n * Germany country code\n */\n DE_COUNTRY_CODE: '49',\n\n /**\n * France country code\n */\n FR_COUNTRY_CODE: '33',\n\n /**\n * Japan country code\n */\n JP_COUNTRY_CODE: '81',\n\n /**\n * China country code\n */\n CN_COUNTRY_CODE: '86',\n\n /**\n * India country code\n */\n IN_COUNTRY_CODE: '91',\n\n /**\n * Brazil country code\n */\n BR_COUNTRY_CODE: '55',\n\n /**\n * US phone number length (without country code)\n */\n US_PHONE_LENGTH: 10,\n\n /**\n * UK phone number length (without country code)\n */\n UK_PHONE_LENGTH: 10,\n\n /**\n * International phone minimum length\n */\n MIN_PHONE_LENGTH: 7,\n\n /**\n * International phone maximum length\n */\n MAX_PHONE_LENGTH: 15,\n\n /**\n * E.164 format maximum length (with +)\n */\n E164_MAX_LENGTH: 16,\n\n /**\n * E.164 format minimum length (with +)\n */\n E164_MIN_LENGTH: 8,\n\n /**\n * Area code length (US)\n */\n US_AREA_CODE_LENGTH: 3,\n\n /**\n * Exchange code length (US)\n */\n US_EXCHANGE_CODE_LENGTH: 3,\n\n /**\n * Line number length (US)\n */\n US_LINE_NUMBER_LENGTH: 4,\n\n /**\n * Extension maximum length\n */\n MAX_EXTENSION_LENGTH: 6,\n\n /**\n * Country code maximum length\n */\n MAX_COUNTRY_CODE_LENGTH: 3,\n\n /**\n * National number maximum length\n */\n MAX_NATIONAL_NUMBER_LENGTH: 15,\n} as const;\n\n/**\n * Phone number format patterns\n */\nexport const PHONE_PATTERNS = {\n /**\n * US phone format pattern\n */\n US_FORMAT: '(XXX) XXX-XXXX',\n\n /**\n * UK phone format pattern\n */\n UK_FORMAT: 'XXXX XXX XXXX',\n\n /**\n * International format pattern\n */\n INTERNATIONAL_FORMAT: '+X XXX XXX XXXX',\n\n /**\n * E.164 format pattern\n */\n E164_FORMAT: '+XXXXXXXXXXXX',\n\n /**\n * Extension format\n */\n EXTENSION_FORMAT: 'ext. XXXX',\n} as const;\n\n/**\n * Type exports\n */\nexport type PhoneFormat = (typeof PHONE_FORMATS)[keyof typeof PHONE_FORMATS];\nexport type PhonePattern = (typeof PHONE_PATTERNS)[keyof typeof PHONE_PATTERNS];\n","/**\n * Address Formatting Constants\n *\n * Constants for address validation and formatting across different countries.\n *\n * @module locale/address\n */\n\n/**\n * Address formatting and validation constants\n */\nexport const ADDRESS_FORMATS = {\n /**\n * US ZIP code length\n */\n US_ZIP_LENGTH: 5,\n\n /**\n * US ZIP+4 code length\n */\n US_ZIP_PLUS4_LENGTH: 9,\n\n /**\n * US ZIP+4 separator\n */\n US_ZIP_SEPARATOR: '-',\n\n /**\n * Canadian postal code length\n */\n CA_POSTAL_CODE_LENGTH: 6,\n\n /**\n * UK postcode minimum length\n */\n UK_POSTCODE_MIN_LENGTH: 5,\n\n /**\n * UK postcode maximum length\n */\n UK_POSTCODE_MAX_LENGTH: 8,\n\n /**\n * German postal code length\n */\n DE_POSTAL_CODE_LENGTH: 5,\n\n /**\n * French postal code length\n */\n FR_POSTAL_CODE_LENGTH: 5,\n\n /**\n * Japanese postal code length\n */\n JP_POSTAL_CODE_LENGTH: 7,\n\n /**\n * Australian postal code length\n */\n AU_POSTAL_CODE_LENGTH: 4,\n\n /**\n * Brazilian CEP code length\n */\n BR_CEP_LENGTH: 8,\n\n /**\n * State/Province code length\n */\n STATE_CODE_LENGTH: 2,\n\n /**\n * State/Province full name maximum length\n */\n STATE_NAME_MAX_LENGTH: 50,\n\n /**\n * Maximum address line length\n */\n MAX_ADDRESS_LINE_LENGTH: 100,\n\n /**\n * Minimum address line length\n */\n MIN_ADDRESS_LINE_LENGTH: 3,\n\n /**\n * Maximum city name length\n */\n MAX_CITY_LENGTH: 50,\n\n /**\n * Minimum city name length\n */\n MIN_CITY_LENGTH: 2,\n\n /**\n * Maximum country name length\n */\n MAX_COUNTRY_LENGTH: 56,\n\n /**\n * Maximum building number length\n */\n MAX_BUILDING_NUMBER_LENGTH: 10,\n\n /**\n * Maximum apartment/suite number length\n */\n MAX_UNIT_NUMBER_LENGTH: 10,\n\n /**\n * PO Box number maximum length\n */\n MAX_PO_BOX_LENGTH: 10,\n\n /**\n * Maximum number of address lines\n */\n MAX_ADDRESS_LINES: 3,\n} as const;\n\n/**\n * Address field types\n */\nexport const ADDRESS_FIELDS = {\n /**\n * Street address line 1\n */\n ADDRESS_LINE_1: 'addressLine1',\n\n /**\n * Street address line 2\n */\n ADDRESS_LINE_2: 'addressLine2',\n\n /**\n * City or locality\n */\n CITY: 'city',\n\n /**\n * State or province\n */\n STATE: 'state',\n\n /**\n * Postal or ZIP code\n */\n POSTAL_CODE: 'postalCode',\n\n /**\n * Country\n */\n COUNTRY: 'country',\n\n /**\n * Building number\n */\n BUILDING_NUMBER: 'buildingNumber',\n\n /**\n * Unit/Apartment number\n */\n UNIT_NUMBER: 'unitNumber',\n\n /**\n * PO Box\n */\n PO_BOX: 'poBox',\n\n /**\n * District or neighborhood\n */\n DISTRICT: 'district',\n\n /**\n * County\n */\n COUNTY: 'county',\n} as const;\n\n/**\n * Type exports\n */\nexport type AddressFormat = (typeof ADDRESS_FORMATS)[keyof typeof ADDRESS_FORMATS];\nexport type AddressField = (typeof ADDRESS_FIELDS)[keyof typeof ADDRESS_FIELDS];\n","/**\n * Currency Code Constants\n *\n * ISO 4217 currency codes for international currencies.\n *\n * @module locale/currencies\n */\n\n/**\n * Common currency codes (ISO 4217)\n */\nexport const CURRENCY_CODES = {\n // Major currencies\n USD: 'USD', // US Dollar\n EUR: 'EUR', // Euro\n GBP: 'GBP', // British Pound Sterling\n JPY: 'JPY', // Japanese Yen\n CHF: 'CHF', // Swiss Franc\n CAD: 'CAD', // Canadian Dollar\n AUD: 'AUD', // Australian Dollar\n CNY: 'CNY', // Chinese Yuan Renminbi\n\n // Asian currencies\n INR: 'INR', // Indian Rupee\n KRW: 'KRW', // South Korean Won\n SGD: 'SGD', // Singapore Dollar\n HKD: 'HKD', // Hong Kong Dollar\n TWD: 'TWD', // Taiwan New Dollar\n THB: 'THB', // Thai Baht\n IDR: 'IDR', // Indonesian Rupiah\n MYR: 'MYR', // Malaysian Ringgit\n PHP: 'PHP', // Philippine Peso\n VND: 'VND', // Vietnamese Dong\n BDT: 'BDT', // Bangladeshi Taka\n PKR: 'PKR', // Pakistani Rupee\n LKR: 'LKR', // Sri Lankan Rupee\n\n // European currencies\n SEK: 'SEK', // Swedish Krona\n NOK: 'NOK', // Norwegian Krone\n DKK: 'DKK', // Danish Krone\n PLN: 'PLN', // Polish Zloty\n CZK: 'CZK', // Czech Koruna\n HUF: 'HUF', // Hungarian Forint\n RON: 'RON', // Romanian Leu\n BGN: 'BGN', // Bulgarian Lev\n HRK: 'HRK', // Croatian Kuna\n RSD: 'RSD', // Serbian Dinar\n ISK: 'ISK', // Icelandic Króna\n\n // Americas currencies\n BRL: 'BRL', // Brazilian Real\n MXN: 'MXN', // Mexican Peso\n ARS: 'ARS', // Argentine Peso\n CLP: 'CLP', // Chilean Peso\n COP: 'COP', // Colombian Peso\n PEN: 'PEN', // Peruvian Sol\n UYU: 'UYU', // Uruguayan Peso\n VES: 'VES', // Venezuelan Bolívar\n BOB: 'BOB', // Bolivian Boliviano\n PYG: 'PYG', // Paraguayan Guarani\n CRC: 'CRC', // Costa Rican Colón\n GTQ: 'GTQ', // Guatemalan Quetzal\n HNL: 'HNL', // Honduran Lempira\n NIO: 'NIO', // Nicaraguan Córdoba\n PAB: 'PAB', // Panamanian Balboa\n DOP: 'DOP', // Dominican Peso\n JMD: 'JMD', // Jamaican Dollar\n TTD: 'TTD', // Trinidad and Tobago Dollar\n BBD: 'BBD', // Barbadian Dollar\n\n // Middle Eastern currencies\n AED: 'AED', // UAE Dirham\n SAR: 'SAR', // Saudi Riyal\n QAR: 'QAR', // Qatari Riyal\n KWD: 'KWD', // Kuwaiti Dinar\n BHD: 'BHD', // Bahraini Dinar\n OMR: 'OMR', // Omani Rial\n JOD: 'JOD', // Jordanian Dinar\n ILS: 'ILS', // Israeli New Shekel\n TRY: 'TRY', // Turkish Lira\n IQD: 'IQD', // Iraqi Dinar\n IRR: 'IRR', // Iranian Rial\n LBP: 'LBP', // Lebanese Pound\n SYP: 'SYP', // Syrian Pound\n\n // African currencies\n ZAR: 'ZAR', // South African Rand\n NGN: 'NGN', // Nigerian Naira\n EGP: 'EGP', // Egyptian Pound\n KES: 'KES', // Kenyan Shilling\n GHS: 'GHS', // Ghanaian Cedi\n MAD: 'MAD', // Moroccan Dirham\n TND: 'TND', // Tunisian Dinar\n DZD: 'DZD', // Algerian Dinar\n ETB: 'ETB', // Ethiopian Birr\n TZS: 'TZS', // Tanzanian Shilling\n UGX: 'UGX', // Ugandan Shilling\n ZMW: 'ZMW', // Zambian Kwacha\n BWP: 'BWP', // Botswana Pula\n MUR: 'MUR', // Mauritian Rupee\n\n // Pacific currencies\n NZD: 'NZD', // New Zealand Dollar\n FJD: 'FJD', // Fijian Dollar\n PGK: 'PGK', // Papua New Guinean Kina\n\n // Former Soviet Union currencies\n RUB: 'RUB', // Russian Ruble\n UAH: 'UAH', // Ukrainian Hryvnia\n BYN: 'BYN', // Belarusian Ruble\n KZT: 'KZT', // Kazakhstani Tenge\n UZS: 'UZS', // Uzbekistani Som\n AZN: 'AZN', // Azerbaijani Manat\n GEL: 'GEL', // Georgian Lari\n AMD: 'AMD', // Armenian Dram\n\n // Cryptocurrency representations (unofficial)\n BTC: 'BTC', // Bitcoin\n ETH: 'ETH', // Ethereum\n USDT: 'USDT', // Tether\n USDC: 'USDC', // USD Coin\n} as const;\n\n/**\n * Currency metadata\n */\nexport const CURRENCY_INFO = {\n /**\n * Currencies with no decimal places\n */\n NO_DECIMAL_CURRENCIES: ['JPY', 'KRW', 'VND', 'IDR', 'CLP', 'ISK', 'TWD'],\n\n /**\n * Currencies with 3 decimal places\n */\n THREE_DECIMAL_CURRENCIES: ['BHD', 'IQD', 'JOD', 'KWD', 'OMR', 'TND'],\n\n /**\n * Major reserve currencies\n */\n RESERVE_CURRENCIES: ['USD', 'EUR', 'GBP', 'JPY', 'CNY'],\n\n /**\n * G7 currencies\n */\n G7_CURRENCIES: ['USD', 'EUR', 'GBP', 'JPY', 'CAD'],\n\n /**\n * Default decimal places for most currencies\n */\n DEFAULT_DECIMAL_PLACES: 2,\n} as const;\n\n/**\n * Type exports\n */\nexport type CurrencyCode = (typeof CURRENCY_CODES)[keyof typeof CURRENCY_CODES];\nexport type CurrencyInfo = (typeof CURRENCY_INFO)[keyof typeof CURRENCY_INFO];\n","/**\n * Country Constants\n *\n * ISO 3166-1 country codes and related data.\n *\n * @module locale/countries\n */\n\n/**\n * Common country codes (ISO 3166-1 alpha-2)\n */\nexport const COUNTRY_CODES = {\n // Americas\n US: 'US', // United States\n CA: 'CA', // Canada\n MX: 'MX', // Mexico\n BR: 'BR', // Brazil\n AR: 'AR', // Argentina\n CL: 'CL', // Chile\n CO: 'CO', // Colombia\n PE: 'PE', // Peru\n VE: 'VE', // Venezuela\n EC: 'EC', // Ecuador\n BO: 'BO', // Bolivia\n PY: 'PY', // Paraguay\n UY: 'UY', // Uruguay\n GY: 'GY', // Guyana\n SR: 'SR', // Suriname\n GF: 'GF', // French Guiana\n FK: 'FK', // Falkland Islands\n\n // Caribbean\n CU: 'CU', // Cuba\n DO: 'DO', // Dominican Republic\n HT: 'HT', // Haiti\n JM: 'JM', // Jamaica\n TT: 'TT', // Trinidad and Tobago\n BB: 'BB', // Barbados\n BS: 'BS', // Bahamas\n PR: 'PR', // Puerto Rico\n\n // Central America\n GT: 'GT', // Guatemala\n HN: 'HN', // Honduras\n SV: 'SV', // El Salvador\n NI: 'NI', // Nicaragua\n CR: 'CR', // Costa Rica\n PA: 'PA', // Panama\n BZ: 'BZ', // Belize\n\n // Europe\n GB: 'GB', // United Kingdom\n FR: 'FR', // France\n DE: 'DE', // Germany\n IT: 'IT', // Italy\n ES: 'ES', // Spain\n PT: 'PT', // Portugal\n NL: 'NL', // Netherlands\n BE: 'BE', // Belgium\n LU: 'LU', // Luxembourg\n CH: 'CH', // Switzerland\n AT: 'AT', // Austria\n IE: 'IE', // Ireland\n DK: 'DK', // Denmark\n SE: 'SE', // Sweden\n NO: 'NO', // Norway\n FI: 'FI', // Finland\n IS: 'IS', // Iceland\n PL: 'PL', // Poland\n CZ: 'CZ', // Czech Republic\n SK: 'SK', // Slovakia\n HU: 'HU', // Hungary\n RO: 'RO', // Romania\n BG: 'BG', // Bulgaria\n GR: 'GR', // Greece\n HR: 'HR', // Croatia\n SI: 'SI', // Slovenia\n RS: 'RS', // Serbia\n BA: 'BA', // Bosnia and Herzegovina\n ME: 'ME', // Montenegro\n MK: 'MK', // North Macedonia\n AL: 'AL', // Albania\n XK: 'XK', // Kosovo\n EE: 'EE', // Estonia\n LV: 'LV', // Latvia\n LT: 'LT', // Lithuania\n BY: 'BY', // Belarus\n UA: 'UA', // Ukraine\n MD: 'MD', // Moldova\n RU: 'RU', // Russia\n CY: 'CY', // Cyprus\n MT: 'MT', // Malta\n AD: 'AD', // Andorra\n MC: 'MC', // Monaco\n SM: 'SM', // San Marino\n VA: 'VA', // Vatican City\n LI: 'LI', // Liechtenstein\n\n // Asia\n CN: 'CN', // China\n JP: 'JP', // Japan\n KR: 'KR', // South Korea\n KP: 'KP', // North Korea\n TW: 'TW', // Taiwan\n HK: 'HK', // Hong Kong\n MO: 'MO', // Macao\n IN: 'IN', // India\n PK: 'PK', // Pakistan\n BD: 'BD', // Bangladesh\n LK: 'LK', // Sri Lanka\n NP: 'NP', // Nepal\n BT: 'BT', // Bhutan\n MV: 'MV', // Maldives\n AF: 'AF', // Afghanistan\n TH: 'TH', // Thailand\n VN: 'VN', // Vietnam\n MY: 'MY', // Malaysia\n SG: 'SG', // Singapore\n ID: 'ID', // Indonesia\n PH: 'PH', // Philippines\n BN: 'BN', // Brunei\n KH: 'KH', // Cambodia\n LA: 'LA', // Laos\n MM: 'MM', // Myanmar\n TL: 'TL', // Timor-Leste\n MN: 'MN', // Mongolia\n KZ: 'KZ', // Kazakhstan\n UZ: 'UZ', // Uzbekistan\n TJ: 'TJ', // Tajikistan\n KG: 'KG', // Kyrgyzstan\n TM: 'TM', // Turkmenistan\n AZ: 'AZ', // Azerbaijan\n GE: 'GE', // Georgia\n AM: 'AM', // Armenia\n\n // Middle East\n SA: 'SA', // Saudi Arabia\n AE: 'AE', // United Arab Emirates\n QA: 'QA', // Qatar\n KW: 'KW', // Kuwait\n BH: 'BH', // Bahrain\n OM: 'OM', // Oman\n YE: 'YE', // Yemen\n JO: 'JO', // Jordan\n LB: 'LB', // Lebanon\n SY: 'SY', // Syria\n IQ: 'IQ', // Iraq\n IR: 'IR', // Iran\n IL: 'IL', // Israel\n PS: 'PS', // Palestine\n TR: 'TR', // Turkey\n\n // Africa\n EG: 'EG', // Egypt\n LY: 'LY', // Libya\n TN: 'TN', // Tunisia\n DZ: 'DZ', // Algeria\n MA: 'MA', // Morocco\n EH: 'EH', // Western Sahara\n MR: 'MR', // Mauritania\n ML: 'ML', // Mali\n NE: 'NE', // Niger\n TD: 'TD', // Chad\n SD: 'SD', // Sudan\n SS: 'SS', // South Sudan\n ER: 'ER', // Eritrea\n DJ: 'DJ', // Djibouti\n SO: 'SO', // Somalia\n ET: 'ET', // Ethiopia\n KE: 'KE', // Kenya\n UG: 'UG', // Uganda\n RW: 'RW', // Rwanda\n BI: 'BI', // Burundi\n TZ: 'TZ', // Tanzania\n MZ: 'MZ', // Mozambique\n MW: 'MW', // Malawi\n ZM: 'ZM', // Zambia\n ZW: 'ZW', // Zimbabwe\n BW: 'BW', // Botswana\n NA: 'NA', // Namibia\n ZA: 'ZA', // South Africa\n LS: 'LS', // Lesotho\n SZ: 'SZ', // Eswatini\n AO: 'AO', // Angola\n CD: 'CD', // Democratic Republic of the Congo\n CG: 'CG', // Republic of the Congo\n GA: 'GA', // Gabon\n GQ: 'GQ', // Equatorial Guinea\n CM: 'CM', // Cameroon\n CF: 'CF', // Central African Republic\n NG: 'NG', // Nigeria\n BJ: 'BJ', // Benin\n TG: 'TG', // Togo\n GH: 'GH', // Ghana\n BF: 'BF', // Burkina Faso\n CI: 'CI', // Côte d'Ivoire\n LR: 'LR', // Liberia\n SL: 'SL', // Sierra Leone\n GN: 'GN', // Guinea\n GW: 'GW', // Guinea-Bissau\n SN: 'SN', // Senegal\n GM: 'GM', // Gambia\n CV: 'CV', // Cape Verde\n ST: 'ST', // São Tomé and Príncipe\n MG: 'MG', // Madagascar\n MU: 'MU', // Mauritius\n SC: 'SC', // Seychelles\n KM: 'KM', // Comoros\n RE: 'RE', // Réunion\n\n // Oceania\n AU: 'AU', // Australia\n NZ: 'NZ', // New Zealand\n PG: 'PG', // Papua New Guinea\n FJ: 'FJ', // Fiji\n SB: 'SB', // Solomon Islands\n VU: 'VU', // Vanuatu\n NC: 'NC', // New Caledonia\n PF: 'PF', // French Polynesia\n WS: 'WS', // Samoa\n TO: 'TO', // Tonga\n TV: 'TV', // Tuvalu\n NR: 'NR', // Nauru\n KI: 'KI', // Kiribati\n PW: 'PW', // Palau\n MH: 'MH', // Marshall Islands\n FM: 'FM', // Micronesia\n GU: 'GU', // Guam\n MP: 'MP', // Northern Mariana Islands\n AS: 'AS', // American Samoa\n CK: 'CK', // Cook Islands\n NU: 'NU', // Niue\n TK: 'TK', // Tokelau\n WF: 'WF', // Wallis and Futuna\n PN: 'PN', // Pitcairn Islands\n\n // Antarctica\n AQ: 'AQ', // Antarctica\n} as const;\n\n/**\n * Country calling codes\n */\nexport const COUNTRY_CALLING_CODES = {\n /**\n * United States and Canada\n */\n '+1': ['US', 'CA'],\n /**\n * Egypt\n */\n '+20': ['EG'],\n /**\n * South Africa\n */\n '+27': ['ZA'],\n /**\n * Greece\n */\n '+30': ['GR'],\n /**\n * Netherlands\n */\n '+31': ['NL'],\n /**\n * Belgium\n */\n '+32': ['BE'],\n /**\n * France\n */\n '+33': ['FR'],\n /**\n * Spain\n */\n '+34': ['ES'],\n /**\n * Hungary\n */\n '+36': ['HU'],\n /**\n * Italy\n */\n '+39': ['IT'],\n /**\n * Romania\n */\n '+40': ['RO'],\n /**\n * Switzerland\n */\n '+41': ['CH'],\n /**\n * Austria\n */\n '+43': ['AT'],\n /**\n * United Kingdom\n */\n '+44': ['GB'],\n /**\n * Denmark\n */\n '+45': ['DK'],\n /**\n * Sweden\n */\n '+46': ['SE'],\n /**\n * Norway\n */\n '+47': ['NO'],\n /**\n * Poland\n */\n '+48': ['PL'],\n /**\n * Germany\n */\n '+49': ['DE'],\n /**\n * Peru\n */\n '+51': ['PE'],\n /**\n * Mexico\n */\n '+52': ['MX'],\n /**\n * Cuba\n */\n '+53': ['CU'],\n /**\n * Argentina\n */\n '+54': ['AR'],\n /**\n * Brazil\n */\n '+55': ['BR'],\n /**\n * Chile\n */\n '+56': ['CL'],\n /**\n * Colombia\n */\n '+57': ['CO'],\n /**\n * Venezuela\n */\n '+58': ['VE'],\n /**\n * Malaysia\n */\n '+60': ['MY'],\n /**\n * Australia\n */\n '+61': ['AU'],\n /**\n * Indonesia\n */\n '+62': ['ID'],\n /**\n * Philippines\n */\n '+63': ['PH'],\n /**\n * New Zealand\n */\n '+64': ['NZ'],\n /**\n * Singapore\n */\n '+65': ['SG'],\n /**\n * Thailand\n */\n '+66': ['TH'],\n /**\n * Russia and Kazakhstan\n */\n '+7': ['RU', 'KZ'],\n /**\n * Japan\n */\n '+81': ['JP'],\n /**\n * South Korea\n */\n '+82': ['KR'],\n /**\n * Vietnam\n */\n '+84': ['VN'],\n /**\n * China\n */\n '+86': ['CN'],\n /**\n * Turkey\n */\n '+90': ['TR'],\n /**\n * India\n */\n '+91': ['IN'],\n /**\n * Pakistan\n */\n '+92': ['PK'],\n /**\n * Afghanistan\n */\n '+93': ['AF'],\n /**\n * Sri Lanka\n */\n '+94': ['LK'],\n /**\n * Myanmar\n */\n '+95': ['MM'],\n /**\n * Iran\n */\n '+98': ['IR'],\n /**\n * Morocco\n */\n '+212': ['MA'],\n /**\n * Algeria\n */\n '+213': ['DZ'],\n /**\n * Tunisia\n */\n '+216': ['TN'],\n /**\n * Libya\n */\n '+218': ['LY'],\n /**\n * Gambia\n */\n '+220': ['GM'],\n /**\n * Senegal\n */\n '+221': ['SN'],\n /**\n * Mali\n */\n '+223': ['ML'],\n /**\n * Guinea\n */\n '+224': ['GN'],\n /**\n * Côte d'Ivoire\n */\n '+225': ['CI'],\n /**\n * Burkina Faso\n */\n '+226': ['BF'],\n /**\n * Niger\n */\n '+227': ['NE'],\n /**\n * Togo\n */\n '+228': ['TG'],\n /**\n * Benin\n */\n '+229': ['BJ'],\n /**\n * Mauritius\n */\n '+230': ['MU'],\n /**\n * Liberia\n */\n '+231': ['LR'],\n /**\n * Sierra Leone\n */\n '+232': ['SL'],\n /**\n * Ghana\n */\n '+233': ['GH'],\n /**\n * Nigeria\n */\n '+234': ['NG'],\n /**\n * Chad\n */\n '+235': ['TD'],\n /**\n * Central African Republic\n */\n '+236': ['CF'],\n /**\n * Cameroon\n */\n '+237': ['CM'],\n /**\n * Cape Verde\n */\n '+238': ['CV'],\n /**\n * São Tomé and Príncipe\n */\n '+239': ['ST'],\n /**\n * Equatorial Guinea\n */\n '+240': ['GQ'],\n /**\n * Gabon\n */\n '+241': ['GA'],\n /**\n * Congo\n */\n '+242': ['CG'],\n /**\n * Democratic Republic of the Congo\n */\n '+243': ['CD'],\n /**\n * Angola\n */\n '+244': ['AO'],\n /**\n * Guinea-Bissau\n */\n '+245': ['GW'],\n /**\n * Kenya\n */\n '+254': ['KE'],\n /**\n * Tanzania\n */\n '+255': ['TZ'],\n /**\n * Uganda\n */\n '+256': ['UG'],\n /**\n * Burundi\n */\n '+257': ['BI'],\n /**\n * Mozambique\n */\n '+258': ['MZ'],\n /**\n * Zambia\n */\n '+260': ['ZM'],\n /**\n * Madagascar\n */\n '+261': ['MG'],\n /**\n * Zimbabwe\n */\n '+263': ['ZW'],\n /**\n * Namibia\n */\n '+264': ['NA'],\n /**\n * Malawi\n */\n '+265': ['MW'],\n /**\n * Lesotho\n */\n '+266': ['LS'],\n /**\n * Botswana\n */\n '+267': ['BW'],\n /**\n * Eswatini\n */\n '+268': ['SZ'],\n /**\n * Seychelles\n */\n '+248': ['SC'],\n /**\n * Rwanda\n */\n '+250': ['RW'],\n /**\n * Ethiopia\n */\n '+251': ['ET'],\n /**\n * Somalia\n */\n '+252': ['SO'],\n /**\n * Djibouti\n */\n '+253': ['DJ'],\n /**\n * Hong Kong\n */\n '+852': ['HK'],\n /**\n * Macao\n */\n '+853': ['MO'],\n /**\n * Bangladesh\n */\n '+880': ['BD'],\n /**\n * Taiwan\n */\n '+886': ['TW'],\n /**\n * Maldives\n */\n '+960': ['MV'],\n /**\n * Lebanon\n */\n '+961': ['LB'],\n /**\n * Jordan\n */\n '+962': ['JO'],\n /**\n * Syria\n */\n '+963': ['SY'],\n /**\n * Iraq\n */\n '+964': ['IQ'],\n /**\n * Kuwait\n */\n '+965': ['KW'],\n /**\n * Saudi Arabia\n */\n '+966': ['SA'],\n /**\n * Yemen\n */\n '+967': ['YE'],\n /**\n * Oman\n */\n '+968': ['OM'],\n /**\n * Palestine\n */\n '+970': ['PS'],\n /**\n * United Arab Emirates\n */\n '+971': ['AE'],\n /**\n * Israel\n */\n '+972': ['IL'],\n /**\n * Bahrain\n */\n '+973': ['BH'],\n /**\n * Qatar\n */\n '+974': ['QA'],\n /**\n * Bhutan\n */\n '+975': ['BT'],\n /**\n * Mongolia\n */\n '+976': ['MN'],\n /**\n * Nepal\n */\n '+977': ['NP'],\n /**\n * Tajikistan\n */\n '+992': ['TJ'],\n /**\n * Turkmenistan\n */\n '+993': ['TM'],\n /**\n * Azerbaijan\n */\n '+994': ['AZ'],\n /**\n * Georgia\n */\n '+995': ['GE'],\n /**\n * Kyrgyzstan\n */\n '+996': ['KG'],\n /**\n * Uzbekistan\n */\n '+998': ['UZ'],\n} as const;\n\n/**\n * Regional groupings\n */\nexport const COUNTRY_REGIONS = {\n /**\n * European Union member states\n */\n EU: [\n 'AT',\n 'BE',\n 'BG',\n 'HR',\n 'CY',\n 'CZ',\n 'DK',\n 'EE',\n 'FI',\n 'FR',\n 'DE',\n 'GR',\n 'HU',\n 'IE',\n 'IT',\n 'LV',\n 'LT',\n 'LU',\n 'MT',\n 'NL',\n 'PL',\n 'PT',\n 'RO',\n 'SK',\n 'SI',\n 'ES',\n 'SE',\n ],\n\n /**\n * North American countries\n */\n NORTH_AMERICA: ['US', 'CA', 'MX'],\n\n /**\n * South American countries\n */\n SOUTH_AMERICA: ['AR', 'BO', 'BR', 'CL', 'CO', 'EC', 'GF', 'GY', 'PY', 'PE', 'SR', 'UY', 'VE'],\n\n /**\n * G7 countries\n */\n G7: ['US', 'CA', 'GB', 'FR', 'DE', 'IT', 'JP'],\n\n /**\n * G20 countries\n */\n G20: [\n 'AR',\n 'AU',\n 'BR',\n 'CA',\n 'CN',\n 'FR',\n 'DE',\n 'IN',\n 'ID',\n 'IT',\n 'JP',\n 'KR',\n 'MX',\n 'RU',\n 'SA',\n 'ZA',\n 'TR',\n 'GB',\n 'US',\n ],\n\n /**\n * ASEAN countries\n */\n ASEAN: ['BN', 'KH', 'ID', 'LA', 'MY', 'MM', 'PH', 'SG', 'TH', 'VN'],\n\n /**\n * BRICS countries\n */\n BRICS: ['BR', 'RU', 'IN', 'CN', 'ZA'],\n\n /**\n * OECD countries\n */\n OECD: [\n 'AU',\n 'AT',\n 'BE',\n 'CA',\n 'CL',\n 'CO',\n 'CR',\n 'CZ',\n 'DK',\n 'EE',\n 'FI',\n 'FR',\n 'DE',\n 'GR',\n 'HU',\n 'IS',\n 'IE',\n 'IL',\n 'IT',\n 'JP',\n 'KR',\n 'LV',\n 'LT',\n 'LU',\n 'MX',\n 'NL',\n 'NZ',\n 'NO',\n 'PL',\n 'PT',\n 'SK',\n 'SI',\n 'ES',\n 'SE',\n 'CH',\n 'TR',\n 'GB',\n 'US',\n ],\n\n /**\n * Commonwealth countries\n */\n COMMONWEALTH: [\n 'AG',\n 'AU',\n 'BS',\n 'BD',\n 'BB',\n 'BZ',\n 'BW',\n 'BN',\n 'CM',\n 'CA',\n 'CY',\n 'DM',\n 'FJ',\n 'GM',\n 'GH',\n 'GD',\n 'GY',\n 'IN',\n 'JM',\n 'KE',\n 'KI',\n 'LS',\n 'MW',\n 'MY',\n 'MV',\n 'MT',\n 'MU',\n 'MZ',\n 'NA',\n 'NR',\n 'NZ',\n 'NG',\n 'PK',\n 'PG',\n 'RW',\n 'KN',\n 'LC',\n 'VC',\n 'WS',\n 'SC',\n 'SL',\n 'SG',\n 'SB',\n 'ZA',\n 'LK',\n 'SZ',\n 'TZ',\n 'TO',\n 'TT',\n 'TV',\n 'UG',\n 'GB',\n 'VU',\n 'ZM',\n ],\n} as const;\n\n/**\n * Country code to region mapping for CDN headers\n */\nexport const COUNTRY_REGIONS_DETAILED: Record<string, { region: string; state?: string }> = {\n // EU countries\n DE: { region: 'eu' },\n FR: { region: 'eu' },\n IT: { region: 'eu' },\n ES: { region: 'eu' },\n NL: { region: 'eu' },\n BE: { region: 'eu' },\n AT: { region: 'eu' },\n SE: { region: 'eu' },\n DK: { region: 'eu' },\n FI: { region: 'eu' },\n NO: { region: 'eu' },\n PL: { region: 'eu' },\n CZ: { region: 'eu' },\n HU: { region: 'eu' },\n SK: { region: 'eu' },\n SI: { region: 'eu' },\n HR: { region: 'eu' },\n BG: { region: 'eu' },\n RO: { region: 'eu' },\n GR: { region: 'eu' },\n PT: { region: 'eu' },\n IE: { region: 'eu' },\n LU: { region: 'eu' },\n MT: { region: 'eu' },\n CY: { region: 'eu' },\n EE: { region: 'eu' },\n LV: { region: 'eu' },\n LT: { region: 'eu' },\n GB: { region: 'eu' },\n IS: { region: 'eu' },\n LI: { region: 'eu' },\n CH: { region: 'eu' },\n\n // US and states (would need more sophisticated detection for states)\n US: { region: 'us' },\n CA: { region: 'ca' }, // Canada as separate region\n\n // China\n CN: { region: 'cn' },\n HK: { region: 'cn' },\n MO: { region: 'cn' },\n\n // Japan\n JP: { region: 'jp' },\n\n // Other Asian countries\n KR: { region: 'global' }, // South Korea\n TW: { region: 'global' }, // Taiwan\n SG: { region: 'global' }, // Singapore\n MY: { region: 'global' }, // Malaysia\n TH: { region: 'global' }, // Thailand\n IN: { region: 'global' }, // India\n ID: { region: 'global' }, // Indonesia\n PH: { region: 'global' }, // Philippines\n VN: { region: 'global' }, // Vietnam\n\n // Oceania\n AU: { region: 'global' }, // Australia\n NZ: { region: 'global' }, // New Zealand\n\n // Americas (other than US/CA)\n MX: { region: 'global' }, // Mexico\n BR: { region: 'global' }, // Brazil\n AR: { region: 'global' }, // Argentina\n CL: { region: 'global' }, // Chile\n CO: { region: 'global' }, // Colombia\n\n // Middle East\n AE: { region: 'global' }, // UAE\n SA: { region: 'global' }, // Saudi Arabia\n IL: { region: 'global' }, // Israel\n TR: { region: 'global' }, // Turkey\n\n // Africa\n ZA: { region: 'global' }, // South Africa\n EG: { region: 'global' }, // Egypt\n NG: { region: 'global' }, // Nigeria\n KE: { region: 'global' }, // Kenya\n\n // Russia\n RU: { region: 'global' }, // Russia\n\n // Other countries default to global\n};\n\n/**\n * Type exports\n */\nexport type CountryCode = (typeof COUNTRY_CODES)[keyof typeof COUNTRY_CODES];\nexport type CountryCallingCode = keyof typeof COUNTRY_CALLING_CODES;\nexport type CountryRegion = keyof typeof COUNTRY_REGIONS;\nexport type CountryRegionDetailed =\n (typeof COUNTRY_REGIONS_DETAILED)[keyof typeof COUNTRY_REGIONS_DETAILED];\n","/**\n * Common Locale Constants\n *\n * BCP 47 language tags for common locales worldwide.\n *\n * @module locale/locales\n */\n\n/**\n * Locale regions\n */\nexport const LOCALE_REGIONS = {\n AMERICAS: ['en-US', 'es-MX', 'pt-BR', 'en-CA', 'fr-CA'],\n EUROPE: ['en-GB', 'de-DE', 'fr-FR', 'it-IT', 'es-ES', 'nl-NL'],\n ASIA_PACIFIC: ['zh-CN', 'ja-JP', 'ko-KR', 'hi-IN', 'en-AU'],\n MIDDLE_EAST_AFRICA: ['ar-SA', 'he-IL', 'tr-TR', 'en-ZA'],\n} as const;\n\n/**\n * Locale to region mapping\n */\nexport const LOCALE_REGIONS_DETAILED: Record<string, { region: string; country?: string }> = {\n // EU locales\n de: { region: 'eu', country: 'DE' },\n 'de-de': { region: 'eu', country: 'DE' },\n 'de-at': { region: 'eu', country: 'AT' },\n 'de-ch': { region: 'eu', country: 'CH' },\n 'it-ch': { region: 'eu', country: 'CH' },\n 'fr-ch': { region: 'eu', country: 'CH' },\n fr: { region: 'eu', country: 'FR' },\n 'fr-fr': { region: 'eu', country: 'FR' },\n 'fr-be': { region: 'eu', country: 'BE' },\n es: { region: 'eu', country: 'ES' },\n 'es-es': { region: 'eu', country: 'ES' },\n it: { region: 'eu', country: 'IT' },\n 'it-it': { region: 'eu', country: 'IT' },\n nl: { region: 'eu', country: 'NL' },\n 'nl-nl': { region: 'eu', country: 'NL' },\n 'nl-be': { region: 'eu', country: 'BE' },\n pl: { region: 'eu', country: 'PL' },\n 'pl-pl': { region: 'eu', country: 'PL' },\n pt: { region: 'eu', country: 'PT' },\n 'pt-pt': { region: 'eu', country: 'PT' },\n sv: { region: 'eu', country: 'SE' },\n 'sv-se': { region: 'eu', country: 'SE' },\n 'sv-fi': { region: 'eu', country: 'FI' },\n da: { region: 'eu', country: 'DK' },\n 'da-dk': { region: 'eu', country: 'DK' },\n fi: { region: 'eu', country: 'FI' },\n 'fi-fi': { region: 'eu', country: 'FI' },\n 'en-gb': { region: 'eu', country: 'GB' },\n 'en-ie': { region: 'eu', country: 'IE' },\n\n // US locales\n 'en-us': { region: 'us', country: 'US' },\n en: { region: 'global', country: undefined }, // Default English to global (no specific country)\n\n // China locales\n zh: { region: 'cn', country: 'CN' },\n 'zh-cn': { region: 'cn', country: 'CN' },\n 'zh-hans': { region: 'cn', country: 'CN' },\n 'zh-hk': { region: 'cn', country: 'HK' },\n 'zh-tw': { region: 'global', country: 'TW' }, // Taiwan as global\n\n // Japan locales\n ja: { region: 'jp', country: 'JP' },\n 'ja-jp': { region: 'jp', country: 'JP' },\n\n // Other locales\n 'en-ca': { region: 'ca', country: 'CA' },\n 'fr-ca': { region: 'ca', country: 'CA' },\n 'en-au': { region: 'global', country: 'AU' },\n 'en-nz': { region: 'global', country: 'NZ' },\n ko: { region: 'global', country: 'KR' },\n 'ko-kr': { region: 'global', country: 'KR' },\n\n // Latin America locales\n 'pt-br': { region: 'global', country: 'BR' },\n 'es-mx': { region: 'global', country: 'MX' },\n 'es-ar': { region: 'global', country: 'AR' },\n 'es-cl': { region: 'global', country: 'CL' },\n 'es-co': { region: 'global', country: 'CO' },\n 'es-pe': { region: 'global', country: 'PE' },\n 'es-VE': { region: 'global', country: 'VE' },\n 'es-EC': { region: 'global', country: 'EC' },\n 'es-UY': { region: 'global', country: 'UY' },\n 'es-PY': { region: 'global', country: 'PY' },\n 'es-BO': { region: 'global', country: 'BO' },\n 'es-DO': { region: 'global', country: 'DO' },\n 'es-GT': { region: 'global', country: 'GT' },\n 'es-HN': { region: 'global', country: 'HN' },\n 'es-NI': { region: 'global', country: 'NI' },\n 'es-PA': { region: 'global', country: 'PA' },\n 'es-CR': { region: 'global', country: 'CR' },\n 'es-SV': { region: 'global', country: 'SV' },\n\n // Asian locales\n 'zh-SG': { region: 'global', country: 'SG' },\n 'en-SG': { region: 'global', country: 'SG' },\n 'en-IN': { region: 'global', country: 'IN' },\n 'hi-IN': { region: 'global', country: 'IN' },\n 'en-PH': { region: 'global', country: 'PH' },\n 'tl-PH': { region: 'global', country: 'PH' },\n 'id-ID': { region: 'global', country: 'ID' },\n 'ms-MY': { region: 'global', country: 'MY' },\n 'en-MY': { region: 'global', country: 'MY' },\n 'th-TH': { region: 'global', country: 'TH' },\n 'vi-VN': { region: 'global', country: 'VN' },\n\n // Middle East & Africa locales\n 'ar-SA': { region: 'global', country: 'SA' },\n 'ar-AE': { region: 'global', country: 'AE' },\n 'ar-EG': { region: 'global', country: 'EG' },\n 'ar-DZ': { region: 'global', country: 'DZ' },\n 'ar-MA': { region: 'global', country: 'MA' },\n 'he-IL': { region: 'global', country: 'IL' },\n 'tr-TR': { region: 'global', country: 'TR' },\n 'en-ZA': { region: 'global', country: 'ZA' },\n 'af-ZA': { region: 'global', country: 'ZA' },\n 'en-NG': { region: 'global', country: 'NG' },\n 'en-KE': { region: 'global', country: 'KE' },\n 'sw-KE': { region: 'global', country: 'KE' },\n\n // Eastern Europe/Russia locales\n 'ru-RU': { region: 'global', country: 'RU' },\n 'uk-UA': { region: 'eu', country: 'UA' },\n 'be-BY': { region: 'global', country: 'BY' },\n 'kk-KZ': { region: 'global', country: 'KZ' },\n};\n\n/**\n * Type exports\n */\nexport type LocaleRegion = (typeof LOCALE_REGIONS)[keyof typeof LOCALE_REGIONS];\nexport type LocaleRegionDetailed =\n (typeof LOCALE_REGIONS_DETAILED)[keyof typeof LOCALE_REGIONS_DETAILED];\n","/**\n * Timezone to region mapping\n */\nexport const TIMEZONE_REGIONS: Record<\n string,\n { region: string; country?: string; state?: string }\n> = {\n // Europe\n 'Europe/London': { region: 'eu', country: 'GB' },\n 'Europe/Berlin': { region: 'eu', country: 'DE' },\n 'Europe/Paris': { region: 'eu', country: 'FR' },\n 'Europe/Rome': { region: 'eu', country: 'IT' },\n 'Europe/Madrid': { region: 'eu', country: 'ES' },\n 'Europe/Amsterdam': { region: 'eu', country: 'NL' },\n 'Europe/Stockholm': { region: 'eu', country: 'SE' },\n 'Europe/Helsinki': { region: 'eu', country: 'FI' },\n 'Europe/Vienna': { region: 'eu', country: 'AT' },\n 'Europe/Brussels': { region: 'eu', country: 'BE' },\n 'Europe/Dublin': { region: 'eu', country: 'IE' },\n 'Europe/Copenhagen': { region: 'eu', country: 'DK' },\n 'Europe/Warsaw': { region: 'eu', country: 'PL' },\n 'Europe/Prague': { region: 'eu', country: 'CZ' },\n 'Europe/Budapest': { region: 'eu', country: 'HU' },\n 'Europe/Bucharest': { region: 'eu', country: 'RO' },\n 'Europe/Athens': { region: 'eu', country: 'GR' },\n 'Europe/Lisbon': { region: 'eu', country: 'PT' },\n 'Europe/Zagreb': { region: 'eu', country: 'HR' },\n 'Europe/Ljubljana': { region: 'eu', country: 'SI' },\n 'Europe/Bratislava': { region: 'eu', country: 'SK' },\n 'Europe/Sofia': { region: 'eu', country: 'BG' },\n 'Europe/Tallinn': { region: 'eu', country: 'EE' },\n 'Europe/Riga': { region: 'eu', country: 'LV' },\n 'Europe/Vilnius': { region: 'eu', country: 'LT' },\n 'Europe/Luxembourg': { region: 'eu', country: 'LU' },\n 'Europe/Malta': { region: 'eu', country: 'MT' },\n 'Europe/Oslo': { region: 'eu', country: 'NO' },\n 'Europe/Zurich': { region: 'eu', country: 'CH' },\n 'Europe/Reykjavik': { region: 'eu', country: 'IS' },\n 'Europe/Kiev': { region: 'eu', country: 'UA' },\n 'Europe/Minsk': { region: 'global', country: 'BY' },\n 'Europe/Moscow': { region: 'global', country: 'RU' },\n\n // United States\n 'America/Los_Angeles': { region: 'us', country: 'US', state: 'ca' },\n 'America/San_Francisco': { region: 'us', country: 'US', state: 'ca' },\n 'America/New_York': { region: 'us', country: 'US', state: 'ny' },\n 'America/Chicago': { region: 'us', country: 'US', state: 'il' },\n 'America/Denver': { region: 'us', country: 'US', state: 'co' },\n 'America/Phoenix': { region: 'us', country: 'US', state: 'az' },\n 'America/Detroit': { region: 'us', country: 'US', state: 'mi' },\n 'America/Atlanta': { region: 'us', country: 'US', state: 'ga' },\n 'America/Miami': { region: 'us', country: 'US', state: 'fl' },\n 'America/Dallas': { region: 'us', country: 'US', state: 'tx' },\n 'America/Houston': { region: 'us', country: 'US', state: 'tx' },\n 'America/Seattle': { region: 'us', country: 'US', state: 'wa' },\n 'America/Boston': { region: 'us', country: 'US', state: 'ma' },\n 'America/Philadelphia': { region: 'us', country: 'US', state: 'pa' },\n\n // China\n 'Asia/Shanghai': { region: 'cn', country: 'CN' },\n 'Asia/Beijing': { region: 'cn', country: 'CN' },\n 'Asia/Hong_Kong': { region: 'cn', country: 'HK' },\n 'Asia/Macau': { region: 'cn', country: 'MO' },\n 'Asia/Chongqing': { region: 'cn', country: 'CN' },\n 'Asia/Urumqi': { region: 'cn', country: 'CN' },\n\n // Japan\n 'Asia/Tokyo': { region: 'jp', country: 'JP' },\n 'Asia/Osaka': { region: 'jp', country: 'JP' },\n\n // Other Asian regions\n 'Asia/Bangkok': { region: 'global', country: 'TH' },\n 'Asia/Jakarta': { region: 'global', country: 'ID' },\n 'Asia/Manila': { region: 'global', country: 'PH' },\n 'Asia/Kuala_Lumpur': { region: 'global', country: 'MY' },\n 'Asia/Ho_Chi_Minh': { region: 'global', country: 'VN' },\n 'Asia/Taipei': { region: 'global', country: 'TW' },\n 'Asia/Kolkata': { region: 'global', country: 'IN' },\n 'Asia/Delhi': { region: 'global', country: 'IN' },\n 'Asia/Karachi': { region: 'global', country: 'PK' },\n 'Asia/Dhaka': { region: 'global', country: 'BD' },\n 'Asia/Colombo': { region: 'global', country: 'LK' },\n 'Asia/Kathmandu': { region: 'global', country: 'NP' },\n\n // Pacific regions\n 'Pacific/Fiji': { region: 'global', country: 'FJ' },\n 'Pacific/Guam': { region: 'us', country: 'GU' },\n 'Pacific/Honolulu': { region: 'us', country: 'US', state: 'hi' },\n\n // Canada\n 'America/Toronto': { region: 'us', country: 'CA' }, // Treat Canada as US for simplicity\n 'America/Vancouver': { region: 'us', country: 'CA' },\n 'America/Montreal': { region: 'us', country: 'CA' },\n 'America/Edmonton': { region: 'us', country: 'CA' },\n 'America/Winnipeg': { region: 'us', country: 'CA' },\n 'America/Halifax': { region: 'us', country: 'CA' },\n\n // Australia & New Zealand\n 'Australia/Sydney': { region: 'global', country: 'AU' },\n 'Australia/Melbourne': { region: 'global', country: 'AU' },\n 'Australia/Brisbane': { region: 'global', country: 'AU' },\n 'Australia/Perth': { region: 'global', country: 'AU' },\n 'Australia/Adelaide': { region: 'global', country: 'AU' },\n 'Australia/Darwin': { region: 'global', country: 'AU' },\n 'Australia/Hobart': { region: 'global', country: 'AU' },\n 'Pacific/Auckland': { region: 'global', country: 'NZ' },\n 'Pacific/Wellington': { region: 'global', country: 'NZ' },\n 'Pacific/Christchurch': { region: 'global', country: 'NZ' },\n\n // Other Asian regions\n 'Asia/Singapore': { region: 'global', country: 'SG' },\n 'Asia/Seoul': { region: 'global', country: 'KR' },\n 'Asia/Mumbai': { region: 'global', country: 'IN' },\n 'Asia/Dubai': { region: 'global', country: 'AE' },\n 'Asia/Riyadh': { region: 'global', country: 'SA' },\n 'Asia/Jerusalem': { region: 'global', country: 'IL' },\n 'Asia/Tel_Aviv': { region: 'global', country: 'IL' },\n 'Asia/Istanbul': { region: 'global', country: 'TR' },\n 'Asia/Tehran': { region: 'global', country: 'IR' },\n 'Asia/Baghdad': { region: 'global', country: 'IQ' },\n 'Asia/Kuwait': { region: 'global', country: 'KW' },\n 'Asia/Doha': { region: 'global', country: 'QA' },\n 'Asia/Muscat': { region: 'global', country: 'OM' },\n 'Asia/Amman': { region: 'global', country: 'JO' },\n 'Asia/Beirut': { region: 'global', country: 'LB' },\n 'Asia/Damascus': { region: 'global', country: 'SY' },\n\n // Latin America\n 'America/Sao_Paulo': { region: 'global', country: 'BR' },\n 'America/Rio_de_Janeiro': { region: 'global', country: 'BR' },\n 'America/Brasilia': { region: 'global', country: 'BR' },\n 'America/Mexico_City': { region: 'global', country: 'MX' },\n 'America/Tijuana': { region: 'global', country: 'MX' },\n 'America/Monterrey': { region: 'global', country: 'MX' },\n 'America/Buenos_Aires': { region: 'global', country: 'AR' },\n 'America/Santiago': { region: 'global', country: 'CL' },\n 'America/Bogota': { region: 'global', country: 'CO' },\n 'America/Lima': { region: 'global', country: 'PE' },\n 'America/Caracas': { region: 'global', country: 'VE' },\n 'America/La_Paz': { region: 'global', country: 'BO' },\n 'America/Guayaquil': { region: 'global', country: 'EC' },\n 'America/Montevideo': { region: 'global', country: 'UY' },\n 'America/Asuncion': { region: 'global', country: 'PY' },\n 'America/Santo_Domingo': { region: 'global', country: 'DO' },\n 'America/Havana': { region: 'global', country: 'CU' },\n 'America/Panama': { region: 'global', country: 'PA' },\n 'America/Guatemala': { region: 'global', country: 'GT' },\n 'America/Costa_Rica': { region: 'global', country: 'CR' },\n 'America/San_Salvador': { region: 'global', country: 'SV' },\n 'America/Tegucigalpa': { region: 'global', country: 'HN' },\n 'America/Managua': { region: 'global', country: 'NI' },\n 'America/Jamaica': { region: 'global', country: 'JM' },\n 'America/Port-au-Prince': { region: 'global', country: 'HT' },\n\n // Africa\n 'Africa/Johannesburg': { region: 'global', country: 'ZA' },\n 'Africa/Cairo': { region: 'global', country: 'EG' },\n 'Africa/Lagos': { region: 'global', country: 'NG' },\n 'Africa/Nairobi': { region: 'global', country: 'KE' },\n 'Africa/Casablanca': { region: 'global', country: 'MA' },\n 'Africa/Algiers': { region: 'global', country: 'DZ' },\n 'Africa/Tunis': { region: 'global', country: 'TN' },\n 'Africa/Addis_Ababa': { region: 'global', country: 'ET' },\n 'Africa/Dar_es_Salaam': { region: 'global', country: 'TZ' },\n 'Africa/Kinshasa': { region: 'global', country: 'CD' },\n 'Africa/Luanda': { region: 'global', country: 'AO' },\n 'Africa/Kampala': { region: 'global', country: 'UG' },\n 'Africa/Harare': { region: 'global', country: 'ZW' },\n 'Africa/Accra': { region: 'global', country: 'GH' },\n 'Africa/Dakar': { region: 'global', country: 'SN' },\n 'Africa/Abidjan': { region: 'global', country: 'CI' },\n\n // Fallback prefix patterns (should be at the end for proper precedence)\n 'Europe/': { region: 'eu' }, // Catch-all for European timezones\n 'America/': { region: 'us' }, // Default Americas to US\n 'Asia/': { region: 'asia' }, // Default Asia to asia region\n 'Africa/': { region: 'global' }, // Default Africa to global\n 'Pacific/': { region: 'global' }, // Default Pacific to global\n};\n\n/**\n * Type exports\n */\nexport type TimezoneRegion = (typeof TIMEZONE_REGIONS)[keyof typeof TIMEZONE_REGIONS];\n"]}
@@ -1,3 +1,3 @@
1
1
  'use strict';var types=require('@plyaz/types');// @plyaz package - Built with tsup
2
- var T=Object.defineProperty;var o=(e,n)=>T(e,"name",{value:n,configurable:true});var l="sha256",O="unknown",C={ADAPTER_INIT_FAILED:"ADAPTER_INIT_FAILED",MISSING_PROVIDER_TYPE:"MISSING_PROVIDER_TYPE",MISSING_ENVIRONMENT:"MISSING_ENVIRONMENT",MISSING_CREDENTIALS:"MISSING_CREDENTIALS",MISSING_WEBHOOK_URL:"MISSING_WEBHOOK_URL",MISSING_UNREGISTER_ENDPOINT:"MISSING_UNREGISTER_ENDPOINT",HMAC_COMPUTATION_FAILED:"HMAC_COMPUTATION_FAILED",ADAPTER_SHUTDOWN_ERROR:"ADAPTER_SHUTDOWN_ERROR"},D={INIT_SUCCESS:"Adapter initialized successfully",INIT_FAIL:"Adapter initialization failed:",SHUTDOWN_START:"Shutdown started",SHUTDOWN_COMPLETE:"Shutdown completed",SHUTDOWN_ERROR:"Error during shutdown:",NOT_INITIALIZED:"Adapter is not initialized",HEALTH_FAIL:"Health check failed: missing config/credentials",HEALTH_ERROR:"quickHealthCheck error:",READINESS_ERROR:"Error during readiness check:",WEBHOOK_NOOP_REGISTER:"(noop) register webhook at",WEBHOOK_NOOP_UNREGISTER:"(noop) unregister webhook:",WEBHOOK_SECRET_CONFIGURED:"Webhook secret configured (hidden)",MISSING_PROVIDER:"Provider type is required",MISSING_ENVIRONMENT:"Environment configuration is required",MISSING_CREDENTIALS:"At least one credential (apiKey or secretKey) is required",MISSING_WEBHOOK_URL:"Webhook URL is required for registration",MISSING_UNREGISTER_ENDPOINT:"Webhook endpoint URL is required for unregistration",HMAC_COMPUTATION_FAILED:"Failed to compute HMAC"},p={RETRYABLE_ERROR_RATIO:.5,USER_FACING_ERROR_RATIO:.3},y=["token","secret","signature"],L={MIN_SCORE:100},d={CRITICAL:"critical",ERROR:"error",WARN:"warn"},M={PROVIDER_RESTRICTION:"ProviderRestriction",GENERIC:"An unexpected error occurred while processing refund"},P={RAW_BODY:"[REDACTED_RAW_BODY]",SENSITIVE:"[REDACTED]"},U={PAYMENTS:"payments",VALIDATION:"validation",FRAUD:"fraud-detector",WEBHOOK_PROCESSOR:"webhook-processor",FRAUD_DETECTED_ERROR:"FraudDetectedError",ROUTER_STRATEGY:"RouterStrategy",PAYMENT_GATEWAY:"PaymentGateway",PAYMENT_PROCESSOR:"PaymentProcessor",CAPTURE_PROCESSOR:"CaptureProcessor",CANCEL_PROCESSOR:"CancelProcessor",STATUS_PROCESSOR:"StatusProcessor"},A={PAYMENTS_PACKAGE_ERROR:"PAYMENTS_PACKAGE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",AUTH_ERROR:"AUTH_ERROR",PROVIDER_ERROR:"PROVIDER_ERROR",REFUND_AUTHORIZATION_ERROR:"REFUND_AUTHORIZATION_ERROR",REFUND_PROCESSING_ERROR:"REFUND_PROCESSING_ERROR",WEBHOOK_ERROR:"WEBHOOK_ERROR",FRAUD_DETECTED:"FRAUD_DETECTED"},c={GENERIC_SYSTEM_ERROR:"An unexpected error occurred while processing payment.",USER_FRIENDLY_SYSTEM_ERROR:"A payment system error occurred. Please try again later.",USER_FRIENDLY_ALT:"Payment error. Please try again.",SYSTEM:"An internal payment error occurred. Our team has been notified.",VALIDATION:"Some payment information is invalid. Please review your details.",AUTHENTICATION:"Your session has expired. Please log in again.",AUTHORIZATION:"You are not authorized to perform this payment action.",PROVIDER:"There was an issue communicating with the payment provider.",NETWORK:"Network error. Please try again later.",FRAUD:"Suspicious activity detected. Please contact support.",REFUND:"Refund could not be processed. Please try again later.",WEBHOOK:"Payment notification failed. We are investigating.",PROCESSING:"Payment is currently being processed. Please wait a moment.",COMPLIANCE:"This transaction violates compliance rules. Please contact support.",LIMITS:"The payment exceeds your transaction limit.",CONFIGURATION:"Payment configuration error. Please contact your administrator.",DEFAULT:"An unexpected error occurred while processing your payment.",INVALID_VALUE:"Invalid value provided",PROVIDER_GENERIC:"Provider error occurred",REFUND_NOT_ALLOWED:"Refund not allowed",REFUND_AUTHORIZATION:"Refund authorization failed",REFUND_PROCESSING:"Refund processing failed",STRIPE_GENERIC:"An unexpected error occurred while communicating with Stripe"},G={CONFIG_VERIFICATION:"Verify payment configuration settings.",CREDENTIALS_CHECK:"Check payment provider API credentials.",DEPLOYMENT_REVIEW:"Review recent deployment or configuration changes.",RETRY_OPERATION:"Retry the operation after a short delay."},H={[types.ERROR_SEVERITY.Low]:true,[types.ERROR_SEVERITY.Medium]:false,[types.ERROR_SEVERITY.High]:true,[types.ERROR_SEVERITY.Critical]:true},m={GENERIC:"There was an error processing your payment. Please try again.",RESOLUTION_STEPS:["Check the payment provider status.","Retry the operation if appropriate."],API_RESPONSE_GENERIC:"A processing error occurred."},F={DEFAULT_MESSAGE:"An error occurred while processing the webhook.",DEFAULT_CATEGORY:types.PAYMENT_ERROR_CATEGORY.Webhook,DEFAULT_CODE:A.WEBHOOK_ERROR,DEFAULT_USER_MESSAGE:"An error occurred while handling the webhook.",DEFAULT_RESOLUTION_STEPS:["Verify webhook configuration and endpoint URL.","Check webhook payload and signature.","Ensure retry logic handles transient errors."]},Y={RETRY_LOGIC:"Review retry logic — too many retryable errors.",CHECK_PROVIDER:"Check payment provider connectivity or credentials.",CRITICAL_ALERT:"Trigger alert — critical payment errors detected.",USER_FACING:"Improve user-facing error handling for better UX.",SYSTEM_STABLE:"System stable — continue monitoring."},f={RETRY:"Retry transaction after delay.",NOTIFY_USER:"Notify user and suggest contacting support.",LOG_ONLY:"Log and continue monitoring."},b={NOT_ALLOWED:"Refund not allowed",AUTHORIZATION:"Refund authorization failed",PROCESSING:"Refund processing failed",DEFAULT_API_MESSAGE:"An error occurred during the refund process.",DEFAULT_USER_MESSAGE:"Refund could not be processed. Please try again or contact support.",RESOLUTION_STEPS:["Verify refund eligibility.","Check transaction status and history.","Ensure sufficient balance for refunds.","Retry after resolving any issues."]},B={NOT_ALLOWED:"REFUND_NOT_ALLOWED",AUTHORIZATION:"REFUND_AUTHORIZATION_ERROR",PROCESSING:"REFUND_PROCESSING_ERROR",WEBHOOK_ERROR:"WEBHOOK_ERROR"},h={REQUIRED:"manager",CURRENT:"user"},x={API_MESSAGE:"A compliance error occurred.",USER_MESSAGE:"A compliance or regulatory restriction prevented this action.",KYC_REQUIRED:"KYC verification is required to proceed.",GEO_RESTRICTED:"This transaction is not permitted in your region.",RESOLUTION_STEPS:["Review regulatory and compliance requirements.","Ensure KYC/AML verification is completed.","Verify geographic and provider restrictions."]},K={PROVIDER_ERROR_PREFIX:"Provider {provider} error",STRIPE_GENERIC:"An unexpected error occurred while communicating with Stripe.",WEBHOOK_SANITIZE_FAIL:"Failed to sanitize webhook payload",UNKNOWN_REFUND_TYPE:"Unknown refund error type: {type}",REDACTION_FAIL:"Failed to sanitize object."},V={PROVIDER:"provider",EVENT:"event"},v={API_CONNECTION:"api_connection_error",RATE_LIMIT:"rate_limit_error",INVALID_REQUEST:"invalid_request_error",CARD_ERROR:"card_error",AUTHENTICATION:"authentication_error",CARD_DECLINED:"card_declined"},X={DEFAULT_API_MESSAGE:"An error occurred with the payment provider.",DEFAULT_USER_MESSAGE:"A payment provider error occurred. Please try again later.",RESOLUTION_STEPS:["Check the payment provider status and logs.","Verify network connectivity.","Retry the operation if safe to do so."]},k={DEFAULT_API_MESSAGE:"A security error occurred while processing the payment.",DEFAULT_USER_MESSAGE:"A security issue was detected with the payment. Please contact support.",RESOLUTION_STEPS:["Verify fraud detection rules and thresholds.","Review flagged transactions.","Ensure user identity and payment method verification."],FRAUD_DETECTED:{CODE:"FRAUD_DETECTED",DEFAULT_COMPONENT:"fraud-detector",USER_MESSAGE:"This transaction appears to be suspicious and has been blocked for your safety.",RESOLUTION_STEPS:["Review fraud detection logs for triggered rules.","Verify customer identity and payment method legitimacy.","If false positive, adjust fraud rule thresholds.","Escalate to manual fraud review team if necessary."],RISK_THRESHOLDS:{HIGH:70,CRITICAL:90}}},W={DEFAULT_MESSAGE:c.VALIDATION,DEFAULT_CODE:A.VALIDATION_ERROR,DEFAULT_CATEGORY:types.PAYMENT_ERROR_CATEGORY.Validation,DEFAULT_USER_MESSAGE:"Invalid payment input. Please check your data.",DEFAULT_RESOLUTION_STEPS:["Review the input values and retry the operation."]};var w=1,J=0,$=10,q=1e4,j=0,z=1,Q=.9,ee={PRIORITY:1,URGENT:0,MAX_LISTENERS:10,HANDLER_TIMEOUT_MS:1e4,SUCCESS_THRESHOLD:1,PARTIAL_SUCCESS_THRESHOLD:.9,EVENT_COUNT:0},oe={EMITTER:"event-emitter",PAYMENT_GATEWAY:"payment-gateway",SUBSCRIPTION_MANAGER:"subscription-manager",PROVIDER_ADAPTER:"provider-adapter"},re={HANDLER_FAILED:"HANDLER_FAILED",HANDLER_CRASHED:"HANDLER_CRASHED",HANDLER_TIMEOUT:"HANDLER_TIMEOUT"},te={HANDLER_FAILED:"Handler execution failed",HANDLER_TIMEOUT:"Handler execution timed out"},ne={DEVELOPMENT:"development",PRODUCTION:"production",TEST:"test"},_=0,s=1,S=2,u=3,Ee={NONE:_,CAPTURING_PHASE:s,AT_TARGET:S,BUBBLING_PHASE:u},ie={PRIORITY:"priority",URGENT:"urgent",CATEGORY:"category",TAGS:"tags",SOURCE:"source"},ae={COMPONENT:"component",ENVIRONMENT:"environment"},Ae={ERROR:"error",INFO:"info",WARNING:"warning",CRITICAL:"critical"},Re=o(()=>[],"EmptyArray"),Te=o(()=>Date.now(),"CurrentTimestamp"),ce={FULFILLED:"fulfilled",REJECTED:"rejected"},_e={NORMALIZATION_FAILED:"Event normalization failed.",MAPPING_MISSING:"No mapping configuration found for provider.",MAPPING_RETRIEVE_FAILED:"Failed to retrieve provider mapping.",BUILD_NORMALIZED_DATA_FAILED:"Failed to build normalized payment data.",BUILD_UNIFIED_EVENT_FAILED:"Failed to build unified event.",EVENT_TYPE_MAPPING_FAILED:"Event type mapping failed.",STATUS_MAPPING_FAILED:"Status mapping failed.",PAYLOAD_EXTRACTION_FAILED:"Payload extraction failed.",requiredFileMissing:o(e=>`Required field "${e}" is missing.`,"requiredFileMissing")};var ue=1e3,Ne=6e4,Ie=3,ge={NO_PROVIDER:"NO_PROVIDER_SELECTED",PROVIDER_FAILURE:"PROVIDER_FAILURE",CIRCUIT_OPEN:"CIRCUIT_OPEN",UNKNOWN_ERROR:"UNKNOWN_ERROR"},le={USER_ACTION:"contact_support",SYSTEM_ACTION:"manual_review"},Oe={LOW:"low",MEDIUM:"medium",HIGH:"high"},Ce={FALLBACK_USED:"fallback_used"},De={AMOUNT:"request.amount",CURRENCY:"request.currency",USER_TYPE:"request.userType",REGION:"request.metadata.geoInfo.region"},N=(E=>(E.ASSIGNMENT="assignment",E.LOGICAL="logical",E.COMPARISON="comparison",E.ARITHMETIC="arithmetic",E.CONDITIONAL="conditional",E.CONCATENATE="concatenate",E))(N||{}),pe={INITIAL_PAYMENT_ATTEMPT:"Initial payment attempt",PAYMENT_OPERATION_FAILED:"Payment operation failed",NON_PAYMENT_OPERATION_FAILED:"Non-payment operation failed",ADAPTER_NOT_FOUND:"Adapter not found for provider:",NO_VALID_ADAPTER:"No valid provider adapter found"};var Le="2022-11-15",de="v1.0.0",Me=0,Pe=.029,Ue=0,Ge=.01,He=100,me={CREDIT_CARD:30,BANK_TRANSFER:500,BOLETO_BANCARIO:200,SEPA_DIRECT_DEBIT:50,IDEAL_BANK:50},Fe={REDIRECT:10},Ye=1,fe=100,be=.9,Be=80,he=2,xe=100,Ke=1e3,Ve=0,ve={REDIRECT:"redirect",WAIT:"wait",RETRY:"retry",CONTACT_SUPPORT:"contact_support"},Xe={WEBHOOK_PENDING:"webhook_pending",MANUAL_REVIEW:"manual_review",AUTO_RETRY:"auto_retry"},ke={PAYMENT_INTENT_CREATED:"payment_intent.created",PAYMENT_INTENT_PROCESSING:"payment_intent.processing",PAYMENT_INTENT_REQUIRES_ACTION:"payment_intent.requires_action",PAYMENT_INTENT_SUCCEEDED:"payment_intent.succeeded",PAYMENT_INTENT_FAILED:"payment_intent.payment_failed",PAYMENT_INTENT_CANCELED:"payment_intent.canceled",PAYMENT_INTENT_EXPIRED:"payment_intent.expired",PAYMENT_INTENT_AUTHORIZED:"payment_intent.authorized",PAYMENT_INTENT_CAPTURED:"payment_intent.captured",PAYMENT_INTENT_HELD:"payment_intent.held",PAYMENT_INTENT_RELEASED:"payment_intent.released",CHARGE_REFUND_CREATED:"charge.refund.created",REFUND_UPDATED:"refund.updated",CHARGE_REFUND_SUCCEEDED:"charge.refund.succeeded",CHARGE_REFUND_FAILED:"charge.refund.failed",CHARGE_REFUND_CANCELED:"charge.refund.canceled",CHARGE_DISPUTE_CREATED:"charge.dispute.created",CHARGE_DISPUTE_UPDATED:"charge.dispute.updated",CHARGE_DISPUTE_CLOSED:"charge.dispute.closed",CHARGEBACK_RECEIVED:"chargeback.received",CHARGEBACK_RESPONDED:"chargeback.responded",CHARGE_DISPUTE_WON:"charge.dispute.won",CHARGE_DISPUTE_LOST:"charge.dispute.lost",PAYMENT_METHOD_ATTACHED:"payment_method.attached",PAYMENT_METHOD_UPDATED:"payment_method.updated",PAYMENT_METHOD_DETACHED:"payment_method.detached",PAYMENT_METHOD_EXPIRED:"payment_method.expired",SUBSCRIPTION_CREATED:"customer.subscription.created",SUBSCRIPTION_UPDATED:"customer.subscription.updated",SUBSCRIPTION_DELETED:"customer.subscription.deleted",INVOICE_PAYMENT_SUCCEEDED:"invoice.payment_succeeded",INVOICE_PAYMENT_FAILED:"invoice.payment_failed"},We={MINIMUM_MINUTES:1,MAXIMUM_MINUTES:60,TYPICAL_MINUTES:10,FACTORS:["default estimate"]},Ze={MINIMUM_DAYS:1,MAXIMUM_DAYS:7,TYPICAL_DAYS:3,AFFECTED_BY_HOLIDAYS:true},we={SUCCEEDED:"succeeded",PROCESSING:"processing",REQUIRES_ACTION:"requires_action",REQUIRES_CONFIRMATION:"requires_confirmation",REQUIRES_PAYMENT_METHOD:"requires_payment_method",CANCELED:"canceled",FAILED:"failed",DECLINED:"declined",EXPIRED:"expired",AUTHORIZED:"authorized",CAPTURED:"captured",HELD:"held",REFUNDED:"refunded",PARTIALLY_REFUNDED:"partially_refunded",DISPUTED:"disputed",CHARGEBACK:"chargeback",CHARGEBACK_RESOLVED:"chargeback_resolved"},Je={TRANSACTION_ID:"data.object.id",AMOUNT:"data.object.amount",CURRENCY:"data.object.currency",STATUS:"data.object.status",PAYMENT_METHOD:"data.object.payment_method",METADATA:"data.object.metadata"},$e={INITIALIZE:"initialize",CREATE_PAYMENT:"createPayment",CAPTURE_PAYMENT:"capturePayment",CANCEL_PAYMENT:"cancelPayment",PROCESS_REFUND:"processRefund",GET_REFUND_STATUS:"getRefundStatus",GET_PAYMENT_STATUS:"getPaymentStatus",PROCESS_WEBHOOK:"processWebhook",VERIFY_WEBHOOK_SIGNATURE:"verifyWebhookSignature",CALCULATE_FEES:"calculateFees",GET_FEE_STRUCTURE:"getFeeStructure",GET_TRANSACTION:"getTransaction",WEBHOOK_PROCESS:"webhookProcess"},qe={MISSING_API_KEY:"Missing Stripe API key",UNKNOWN_EVENT:"unknown",MISSING_EVENT:"missing"};var t={REGISTRY:"ProviderRegistry",FACTORY:"ProviderFactory",FALLBACK:"FallbackHandler",AB_TESTING:"ABTesting"},eo={REGISTRY_GET_FACTORY:`${t.REGISTRY}.getFactory`,FACTORY_CREATE_ADAPTER:`${t.FACTORY}.createAdapter`,FACTORY_GET_CONFIG:`${t.FALLBACK}.getProviderConfig`,FACTORY_GET_OPTIMAL_ADAPTER:`${t.AB_TESTING}.getOptimalAdapter`},oo={providerAlreadyRegistered:o(e=>`[${t.REGISTRY}] Provider '${e}' is already registered. Overwriting.`,"providerAlreadyRegistered"),providerRegistered:o(e=>`[${t.FACTORY}] Registered provider: ${e}`,"providerRegistered"),providerNotRegistered:o(e=>`[${t.REGISTRY}] Provider '${e}' is not registered.`,"providerNotRegistered"),adapterInitFailed:o(e=>`[${t.FACTORY}] Failed to initialize adapter for ${e}`,"adapterInitFailed"),optimalAdapterFailed:o(e=>`[${t.FACTORY}] Failed to get optimal adapter for: ${e}`,"optimalAdapterFailed")};var Mo=Object.values(types.CURRENCY_CODES),Po={AMOUNT:"Amount must be a positive number with valid currency format.",CORE_FIELDS:"Missing required core fields: amount, paymentMethod, userId, userType, productId, productType.",CURRENCY:"Unsupported or missing currency code.",METADATA:"Invalid metadata structure or missing required metadata fields.",RISK_ASSESSMENT:"Invalid or inconsistent risk assessment fields.",SCHEDULING:"Invalid scheduling configuration.",REFUND_TRANSACTION_ID:"Transaction ID is required.",REFUND_PROVIDER:"Provider is required.",REFUND_AMOUNT:"Refund amount must be positive."},Uo={AMOUNT:"AmountValidator",CORE_FIELDS:"CoreFieldValidator",CURRENCY:"CurrencyValidator",METADATA:"MetadataValidator",RISK_ASSESSMENT:"RiskAssessmentValidator",SCHEDULING:"SchedulingValidator"},Go=["amount","paymentMethod","userId","userType","productId","productType"],Ho=["monthly","quarterly","yearly"],mo=["low","medium","high"],Fo=["daily","weekly","monthly","quarterly","yearly"],Yo=0,fo=3;var r={core:"RouterStrategy",rules:"RuleEvaluator",config:"RoutingConfig",factory:"AdapterFactory",cache:"AdapterCache",provider:"ProviderSelector",region:"RegionResolver",compliance:"ComplianceChecker",abtest:"ABTestingModule",default:"DefaultProviderSelector"},Bo={invalidProvider:o(()=>`[${r.core}] No valid provider found during routing.`,"invalidProvider"),providerSelected:o(e=>`[${r.provider}] Selected provider: ${e}`,"providerSelected"),fallbackToDefault:o(()=>`[${r.default}] Falling back to default provider.`,"fallbackToDefault"),adapterCached:o(e=>`[${r.cache}] Using cached adapter for ${e}`,"adapterCached"),adapterCreated:o(e=>`[${r.factory}] Created new adapter for ${e}`,"adapterCreated"),adapterCreationFailed:o(e=>`[${r.factory}] Failed to create adapter: ${String(e)}`,"adapterCreationFailed"),providerSelectionFailed:o(e=>`[${r.provider}] Provider selection failed: ${String(e)}`,"providerSelectionFailed"),invalidRuleExpression:o((e,n)=>`[${r.rules}] Custom rule '${e}' evaluation failed: ${String(n)}`,"invalidRuleExpression"),ruleFailed:o((e,n)=>`[${r.rules}] Rule '${e}' evaluation failed: ${String(n)}`,"ruleFailed"),invalidRoutingConfig:o(e=>`[${r.config}] Invalid routing configuration detected: ${String(e)}`,"invalidRoutingConfig"),missingRegionConfig:o(e=>`[${r.region}] Missing region configuration for '${e??"unknown"}'.`,"missingRegionConfig"),complianceCheckFailed:o((e,n)=>`[${r.compliance}] Compliance check failed for region '${e??"unknown"}': ${String(n)}`,"complianceCheckFailed")};var Ko={validationFailedPrefix:"refund-validation-failed"},Vo={invalidInput:"Invalid provider or transaction ID",unknownError:"Unknown reconciliation error",descriptionFailed:"Reconciliation failed"},vo={validationErrorPattern:/^\[(.*?)\]\s(.*)$/},Xo={cancelProcessor:"Invalid input for cancellation",captureProcessor:"Invalid input for capture",statusProcessor:"Invalid input for payment status"};exports.ADAPTER_ERROR_CODE=C;exports.ADAPTER_LOG_MESSAGE=D;exports.AMOUNT_DECIMALS=he;exports.AMOUNT_DIVISOR=xe;exports.COMPLIANCE_ERROR_MESSAGES=x;exports.COMPONENTS=U;exports.CORE_FIELDS=Go;exports.CURRENCY_CODE_LENGTH=fo;exports.CUSTOM_RULE_FIELD=De;exports.CUSTOM_RULE_OPERATER=N;exports.CurrentTimestamp=Te;exports.DEFAULT_CIRCUIT_BREAKER_FAILURE_THRESHOLD=Ie;exports.DEFAULT_CROSS_BORDER_RATE=Ge;exports.DEFAULT_ENVIRONMENT=O;exports.DEFAULT_EVENT_COUNT=j;exports.DEFAULT_HANDLER_TIMEOUT_MS=q;exports.DEFAULT_HMAC_ALGORITHM=l;exports.DEFAULT_MAX_LISTENERS=$;exports.DEFAULT_PARTIAL_SUCCESS_THRESHOLD=Q;exports.DEFAULT_PAYEMNT_PRIORITY=w;exports.DEFAULT_PLATFORM_RATE=Ue;exports.DEFAULT_PRIORITY=He;exports.DEFAULT_PROCESSING_RATE=Pe;exports.DEFAULT_PROCESSING_TIME=We;exports.DEFAULT_REFUND_LEVELS=h;exports.DEFAULT_RETRY_DELAY_MS=ue;exports.DEFAULT_SETTLEMENT_TIME=Ze;exports.DEFAULT_SUCCESS_THRESHOLD=z;exports.DEFAULT_URGENT=J;exports.EVENT_COMPONENT=oe;exports.EVENT_DEFAULTS=ee;exports.EVENT_ENVIRONMENT=ne;exports.EVENT_ERROR_CODE=re;exports.EVENT_ERROR_MESSAGE=te;exports.EVENT_META_KEY=ie;exports.EVENT_NORMALIZER_MESSAGES=_e;exports.EVENT_PHASE=Ee;exports.EVENT_RESULT_STATUS=Ae;exports.EVENT_SOURCE_FIELD=ae;exports.EmptyArray=Re;exports.FACTORY_MESSAGES=K;exports.FALLBACK_NEXT_STEPS=le;exports.FALLBACK_REASON=ge;exports.FIXED_FEES=me;exports.LOG_LEVELS=d;exports.MAX_CIRCUIT_OPEN_MS=Ne;exports.MIN_POSITIVE_AMOUNT=Yo;exports.NEXT_STEP_EXPECTED_UPDATE_IN=Fe;exports.NEXT_STEP_SYSTEM_ACTION=Xe;exports.NEXT_STEP_USER_ACTION=ve;exports.PAYLOAD_KEYS=V;exports.PAYMENT_ALERT_SEVERITY=H;exports.PAYMENT_ERROR_CODES=A;exports.PAYMENT_ERROR_MESSAGES=c;exports.PAYMENT_GATEWAY_ERROR_MESSAGE=pe;exports.PAYMENT_OPERATION=$e;exports.PAYMENT_PROCESSOR_PATTERN=vo;exports.PAYMENT_RESOLUTION_STEPS=G;exports.PHASE_AT_TARGET=S;exports.PHASE_BUBBLING=u;exports.PHASE_CAPTURING=s;exports.PHASE_NONE=_;exports.PROCESSING_ERROR_MESSAGES=m;exports.PROCESSOR_MESSAGES=Xo;exports.PROVIDER_CONTEXT=t;exports.PROVIDER_ENDPOINTS=eo;exports.PROVIDER_ERROR_MESSAGES=X;exports.PROVIDER_MESSAGES=oo;exports.RECOMMENDATION_MESSAGES=Y;exports.RECONCILIATION_MESSAGES=Vo;exports.RECOVERY_STEPS=f;exports.REDACTED=P;exports.REFUND_DEFAULT_REASONS=M;exports.REFUND_ERROR_CODES=B;exports.REFUND_ERROR_MESSAGES=b;exports.REFUND_MESSAGES=Ko;exports.RISK_LEVEL=Oe;exports.RISK_SCORE=L;exports.ROUTER_CONTEXT=r;exports.SECURITY_ERROR_MESSAGES=k;exports.SECURITY_FLAGS=Ce;exports.SENSITIVE_KEYS=y;exports.SETTLED_PROMISE_STATUS=ce;exports.STRIPE_API_VERSION=Le;exports.STRIPE_CONFIDENCE_HIGH=Ye;exports.STRIPE_CONFIDENCE_MEDIUM=be;exports.STRIPE_DATA_PATHS=Je;exports.STRIPE_ERROR_TYPES=v;exports.STRIPE_EVENT_TYPE=ke;exports.STRIPE_MAPPING_VERSION=de;exports.STRIPE_MESSAGES=qe;exports.STRIPE_PAYMENT_INTENT_STATUS=we;exports.STRIPE_PRIORITY_HIGH=fe;exports.STRIPE_PRIORITY_MEDIUM=Be;exports.SUPPORTED_CURRENCIES=Mo;exports.THRESHOLDS=p;exports.TIMESTAMP_FALLBACK=Ve;exports.UNIX_TIMESTAMP_MULTIPLIER=Ke;exports.VALIDATION_CONSTANTS=W;exports.VALIDATION_MESSAGES=Po;exports.VALIDATOR_NAMES=Uo;exports.VALID_BILLING_CYCLES=Ho;exports.VALID_RECURRENCE_FREQUENCIES=Fo;exports.VALID_RISK_LEVELS=mo;exports.WEBHOOK_CONSTANTS=F;exports.ZERO_AMOUNT=Me;exports.routerMessages=Bo;//# sourceMappingURL=index.cjs.map
2
+ var T=Object.defineProperty;var o=(e,n)=>T(e,"name",{value:n,configurable:true});var O="sha256",l="unknown",D={ADAPTER_INIT_FAILED:"ADAPTER_INIT_FAILED",MISSING_PROVIDER_TYPE:"MISSING_PROVIDER_TYPE",MISSING_ENVIRONMENT:"MISSING_ENVIRONMENT",MISSING_CREDENTIALS:"MISSING_CREDENTIALS",MISSING_WEBHOOK_URL:"MISSING_WEBHOOK_URL",MISSING_UNREGISTER_ENDPOINT:"MISSING_UNREGISTER_ENDPOINT",HMAC_COMPUTATION_FAILED:"HMAC_COMPUTATION_FAILED",ADAPTER_SHUTDOWN_ERROR:"ADAPTER_SHUTDOWN_ERROR"},C={INIT_SUCCESS:"Adapter initialized successfully",INIT_FAIL:"Adapter initialization failed:",SHUTDOWN_START:"Shutdown started",SHUTDOWN_COMPLETE:"Shutdown completed",SHUTDOWN_ERROR:"Error during shutdown:",NOT_INITIALIZED:"Adapter is not initialized",HEALTH_FAIL:"Health check failed: missing config/credentials",HEALTH_ERROR:"quickHealthCheck error:",READINESS_ERROR:"Error during readiness check:",WEBHOOK_NOOP_REGISTER:"(noop) register webhook at",WEBHOOK_NOOP_UNREGISTER:"(noop) unregister webhook:",WEBHOOK_SECRET_CONFIGURED:"Webhook secret configured (hidden)",MISSING_PROVIDER:"Provider type is required",MISSING_ENVIRONMENT:"Environment configuration is required",MISSING_CREDENTIALS:"At least one credential (apiKey or secretKey) is required",MISSING_WEBHOOK_URL:"Webhook URL is required for registration",MISSING_UNREGISTER_ENDPOINT:"Webhook endpoint URL is required for unregistration",HMAC_COMPUTATION_FAILED:"Failed to compute HMAC"},p={RETRYABLE_ERROR_RATIO:.5,USER_FACING_ERROR_RATIO:.3},L=["token","secret","signature"],y={MIN_SCORE:100},d={CRITICAL:"critical",ERROR:"error",WARN:"warn"},P={PROVIDER_RESTRICTION:"ProviderRestriction",GENERIC:"An unexpected error occurred while processing refund"},M={RAW_BODY:"[REDACTED_RAW_BODY]",SENSITIVE:"[REDACTED]"},U={PAYMENTS:"payments",VALIDATION:"validation",FRAUD:"fraud-detector",WEBHOOK_PROCESSOR:"webhook-processor",FRAUD_DETECTED_ERROR:"FraudDetectedError",ROUTER_STRATEGY:"RouterStrategy",PAYMENT_GATEWAY:"PaymentGateway",PAYMENT_PROCESSOR:"PaymentProcessor",CAPTURE_PROCESSOR:"CaptureProcessor",CANCEL_PROCESSOR:"CancelProcessor",STATUS_PROCESSOR:"StatusProcessor"},A={PAYMENTS_PACKAGE_ERROR:"PAYMENTS_PACKAGE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",AUTH_ERROR:"AUTH_ERROR",PROVIDER_ERROR:"PROVIDER_ERROR",REFUND_AUTHORIZATION_ERROR:"REFUND_AUTHORIZATION_ERROR",REFUND_PROCESSING_ERROR:"REFUND_PROCESSING_ERROR",WEBHOOK_ERROR:"WEBHOOK_ERROR",FRAUD_DETECTED:"FRAUD_DETECTED"},c={GENERIC_SYSTEM_ERROR:"An unexpected error occurred while processing payment.",USER_FRIENDLY_SYSTEM_ERROR:"A payment system error occurred. Please try again later.",USER_FRIENDLY_ALT:"Payment error. Please try again.",SYSTEM:"An internal payment error occurred. Our team has been notified.",VALIDATION:"Some payment information is invalid. Please review your details.",AUTHENTICATION:"Your session has expired. Please log in again.",AUTHORIZATION:"You are not authorized to perform this payment action.",PROVIDER:"There was an issue communicating with the payment provider.",NETWORK:"Network error. Please try again later.",FRAUD:"Suspicious activity detected. Please contact support.",REFUND:"Refund could not be processed. Please try again later.",WEBHOOK:"Payment notification failed. We are investigating.",PROCESSING:"Payment is currently being processed. Please wait a moment.",COMPLIANCE:"This transaction violates compliance rules. Please contact support.",LIMITS:"The payment exceeds your transaction limit.",CONFIGURATION:"Payment configuration error. Please contact your administrator.",DEFAULT:"An unexpected error occurred while processing your payment.",INVALID_VALUE:"Invalid value provided",PROVIDER_GENERIC:"Provider error occurred",REFUND_NOT_ALLOWED:"Refund not allowed",REFUND_AUTHORIZATION:"Refund authorization failed",REFUND_PROCESSING:"Refund processing failed",STRIPE_GENERIC:"An unexpected error occurred while communicating with Stripe"},G={CONFIG_VERIFICATION:"Verify payment configuration settings.",CREDENTIALS_CHECK:"Check payment provider API credentials.",DEPLOYMENT_REVIEW:"Review recent deployment or configuration changes.",RETRY_OPERATION:"Retry the operation after a short delay."},H={[types.ERROR_SEVERITY.Low]:true,[types.ERROR_SEVERITY.Medium]:false,[types.ERROR_SEVERITY.High]:true,[types.ERROR_SEVERITY.Critical]:true},Y={GENERIC:"There was an error processing your payment. Please try again.",RESOLUTION_STEPS:["Check the payment provider status.","Retry the operation if appropriate."],API_RESPONSE_GENERIC:"A processing error occurred."},m={DEFAULT_MESSAGE:"An error occurred while processing the webhook.",DEFAULT_CATEGORY:types.PAYMENT_ERROR_CATEGORY.Webhook,DEFAULT_CODE:A.WEBHOOK_ERROR,DEFAULT_USER_MESSAGE:"An error occurred while handling the webhook.",DEFAULT_RESOLUTION_STEPS:["Verify webhook configuration and endpoint URL.","Check webhook payload and signature.","Ensure retry logic handles transient errors."]},F={RETRY_LOGIC:"Review retry logic — too many retryable errors.",CHECK_PROVIDER:"Check payment provider connectivity or credentials.",CRITICAL_ALERT:"Trigger alert — critical payment errors detected.",USER_FACING:"Improve user-facing error handling for better UX.",SYSTEM_STABLE:"System stable — continue monitoring."},f={RETRY:"Retry transaction after delay.",NOTIFY_USER:"Notify user and suggest contacting support.",LOG_ONLY:"Log and continue monitoring."},b={NOT_ALLOWED:"Refund not allowed",AUTHORIZATION:"Refund authorization failed",PROCESSING:"Refund processing failed",DEFAULT_API_MESSAGE:"An error occurred during the refund process.",DEFAULT_USER_MESSAGE:"Refund could not be processed. Please try again or contact support.",RESOLUTION_STEPS:["Verify refund eligibility.","Check transaction status and history.","Ensure sufficient balance for refunds.","Retry after resolving any issues."]},B={NOT_ALLOWED:"REFUND_NOT_ALLOWED",AUTHORIZATION:"REFUND_AUTHORIZATION_ERROR",PROCESSING:"REFUND_PROCESSING_ERROR",WEBHOOK_ERROR:"WEBHOOK_ERROR"},K={REQUIRED:"manager",CURRENT:"user"},x={API_MESSAGE:"A compliance error occurred.",USER_MESSAGE:"A compliance or regulatory restriction prevented this action.",KYC_REQUIRED:"KYC verification is required to proceed.",GEO_RESTRICTED:"This transaction is not permitted in your region.",RESOLUTION_STEPS:["Review regulatory and compliance requirements.","Ensure KYC/AML verification is completed.","Verify geographic and provider restrictions."]},h={PROVIDER_ERROR_PREFIX:"Provider {provider} error",STRIPE_GENERIC:"An unexpected error occurred while communicating with Stripe.",WEBHOOK_SANITIZE_FAIL:"Failed to sanitize webhook payload",UNKNOWN_REFUND_TYPE:"Unknown refund error type: {type}",REDACTION_FAIL:"Failed to sanitize object."},V={PROVIDER:"provider",EVENT:"event"},v={API_CONNECTION:"api_connection_error",RATE_LIMIT:"rate_limit_error",INVALID_REQUEST:"invalid_request_error",CARD_ERROR:"card_error",AUTHENTICATION:"authentication_error",CARD_DECLINED:"card_declined"},X={DEFAULT_API_MESSAGE:"An error occurred with the payment provider.",DEFAULT_USER_MESSAGE:"A payment provider error occurred. Please try again later.",RESOLUTION_STEPS:["Check the payment provider status and logs.","Verify network connectivity.","Retry the operation if safe to do so."]},Z={DEFAULT_API_MESSAGE:"A security error occurred while processing the payment.",DEFAULT_USER_MESSAGE:"A security issue was detected with the payment. Please contact support.",RESOLUTION_STEPS:["Verify fraud detection rules and thresholds.","Review flagged transactions.","Ensure user identity and payment method verification."],FRAUD_DETECTED:{CODE:"FRAUD_DETECTED",DEFAULT_COMPONENT:"fraud-detector",USER_MESSAGE:"This transaction appears to be suspicious and has been blocked for your safety.",RESOLUTION_STEPS:["Review fraud detection logs for triggered rules.","Verify customer identity and payment method legitimacy.","If false positive, adjust fraud rule thresholds.","Escalate to manual fraud review team if necessary."],RISK_THRESHOLDS:{HIGH:70,CRITICAL:90}}},W={DEFAULT_MESSAGE:c.VALIDATION,DEFAULT_CODE:A.VALIDATION_ERROR,DEFAULT_CATEGORY:types.PAYMENT_ERROR_CATEGORY.Validation,DEFAULT_USER_MESSAGE:"Invalid payment input. Please check your data.",DEFAULT_RESOLUTION_STEPS:["Review the input values and retry the operation."]};var w=1,J=0,$=10,q=1e4,Q=0,j=1,z=.9,ee={PRIORITY:1,URGENT:0,MAX_LISTENERS:10,HANDLER_TIMEOUT_MS:1e4,SUCCESS_THRESHOLD:1,PARTIAL_SUCCESS_THRESHOLD:.9,EVENT_COUNT:0},oe={EMITTER:"event-emitter",PAYMENT_GATEWAY:"payment-gateway",SUBSCRIPTION_MANAGER:"subscription-manager",PROVIDER_ADAPTER:"provider-adapter"},re={HANDLER_FAILED:"HANDLER_FAILED",HANDLER_CRASHED:"HANDLER_CRASHED",HANDLER_TIMEOUT:"HANDLER_TIMEOUT"},te={HANDLER_FAILED:"Handler execution failed",HANDLER_TIMEOUT:"Handler execution timed out"},ne={DEVELOPMENT:"development",PRODUCTION:"production",TEST:"test"},_=0,S=1,s=2,N=3,Ee={NONE:_,CAPTURING_PHASE:S,AT_TARGET:s,BUBBLING_PHASE:N},ie={PRIORITY:"priority",URGENT:"urgent",CATEGORY:"category",TAGS:"tags",SOURCE:"source"},ae={COMPONENT:"component",ENVIRONMENT:"environment"},Ae={ERROR:"error",INFO:"info",WARNING:"warning",CRITICAL:"critical"},Re=o(()=>[],"EmptyArray"),Te=o(()=>Date.now(),"CurrentTimestamp"),ce={FULFILLED:"fulfilled",REJECTED:"rejected"},_e={NORMALIZATION_FAILED:"Event normalization failed.",MAPPING_MISSING:"No mapping configuration found for provider.",MAPPING_RETRIEVE_FAILED:"Failed to retrieve provider mapping.",BUILD_NORMALIZED_DATA_FAILED:"Failed to build normalized payment data.",BUILD_UNIFIED_EVENT_FAILED:"Failed to build unified event.",EVENT_TYPE_MAPPING_FAILED:"Event type mapping failed.",STATUS_MAPPING_FAILED:"Status mapping failed.",PAYLOAD_EXTRACTION_FAILED:"Payload extraction failed.",requiredFileMissing:o(e=>`Required field "${e}" is missing.`,"requiredFileMissing")};var Ne=1e3,ue=6e4,Ie=3,ge={NO_PROVIDER:"NO_PROVIDER_SELECTED",PROVIDER_FAILURE:"PROVIDER_FAILURE",CIRCUIT_OPEN:"CIRCUIT_OPEN",UNKNOWN_ERROR:"UNKNOWN_ERROR"},Oe={USER_ACTION:"contact_support",SYSTEM_ACTION:"manual_review"},le={LOW:"low",MEDIUM:"medium",HIGH:"high"},De={FALLBACK_USED:"fallback_used"},Ce={AMOUNT:"request.amount",CURRENCY:"request.currency",USER_TYPE:"request.userType",REGION:"request.metadata.geoInfo.region"},u=(E=>(E.ASSIGNMENT="assignment",E.LOGICAL="logical",E.COMPARISON="comparison",E.ARITHMETIC="arithmetic",E.CONDITIONAL="conditional",E.CONCATENATE="concatenate",E))(u||{}),pe={INITIAL_PAYMENT_ATTEMPT:"Initial payment attempt",PAYMENT_OPERATION_FAILED:"Payment operation failed",NON_PAYMENT_OPERATION_FAILED:"Non-payment operation failed",ADAPTER_NOT_FOUND:"Adapter not found for provider:",NO_VALID_ADAPTER:"No valid provider adapter found"};var ye="2022-11-15",de="v1.0.0",Pe=0,Me=.029,Ue=0,Ge=.01,He=100,Ye={CREDIT_CARD:30,BANK_TRANSFER:500,BOLETO_BANCARIO:200,SEPA_DIRECT_DEBIT:50,IDEAL_BANK:50},me={REDIRECT:10},Fe=1,fe=100,be=.9,Be=80,Ke=2,xe=100,he=1e3,Ve=0,ve={REDIRECT:"redirect",WAIT:"wait",RETRY:"retry",CONTACT_SUPPORT:"contact_support"},Xe={WEBHOOK_PENDING:"webhook_pending",MANUAL_REVIEW:"manual_review",AUTO_RETRY:"auto_retry"},Ze={PAYMENT_INTENT_CREATED:"payment_intent.created",PAYMENT_INTENT_PROCESSING:"payment_intent.processing",PAYMENT_INTENT_REQUIRES_ACTION:"payment_intent.requires_action",PAYMENT_INTENT_SUCCEEDED:"payment_intent.succeeded",PAYMENT_INTENT_FAILED:"payment_intent.payment_failed",PAYMENT_INTENT_CANCELED:"payment_intent.canceled",PAYMENT_INTENT_EXPIRED:"payment_intent.expired",PAYMENT_INTENT_AUTHORIZED:"payment_intent.authorized",PAYMENT_INTENT_CAPTURED:"payment_intent.captured",PAYMENT_INTENT_HELD:"payment_intent.held",PAYMENT_INTENT_RELEASED:"payment_intent.released",CHARGE_REFUND_CREATED:"charge.refund.created",REFUND_UPDATED:"refund.updated",CHARGE_REFUND_SUCCEEDED:"charge.refund.succeeded",CHARGE_REFUND_FAILED:"charge.refund.failed",CHARGE_REFUND_CANCELED:"charge.refund.canceled",CHARGE_DISPUTE_CREATED:"charge.dispute.created",CHARGE_DISPUTE_UPDATED:"charge.dispute.updated",CHARGE_DISPUTE_CLOSED:"charge.dispute.closed",CHARGEBACK_RECEIVED:"chargeback.received",CHARGEBACK_RESPONDED:"chargeback.responded",CHARGE_DISPUTE_WON:"charge.dispute.won",CHARGE_DISPUTE_LOST:"charge.dispute.lost",PAYMENT_METHOD_ATTACHED:"payment_method.attached",PAYMENT_METHOD_UPDATED:"payment_method.updated",PAYMENT_METHOD_DETACHED:"payment_method.detached",PAYMENT_METHOD_EXPIRED:"payment_method.expired",SUBSCRIPTION_CREATED:"customer.subscription.created",SUBSCRIPTION_UPDATED:"customer.subscription.updated",SUBSCRIPTION_DELETED:"customer.subscription.deleted",INVOICE_PAYMENT_SUCCEEDED:"invoice.payment_succeeded",INVOICE_PAYMENT_FAILED:"invoice.payment_failed"},We={MINIMUM_MINUTES:1,MAXIMUM_MINUTES:60,TYPICAL_MINUTES:10,FACTORS:["default estimate"]},ke={MINIMUM_DAYS:1,MAXIMUM_DAYS:7,TYPICAL_DAYS:3,AFFECTED_BY_HOLIDAYS:true},we={SUCCEEDED:"succeeded",PROCESSING:"processing",REQUIRES_ACTION:"requires_action",REQUIRES_CONFIRMATION:"requires_confirmation",REQUIRES_PAYMENT_METHOD:"requires_payment_method",CANCELED:"canceled",FAILED:"failed",DECLINED:"declined",EXPIRED:"expired",AUTHORIZED:"authorized",CAPTURED:"captured",HELD:"held",REFUNDED:"refunded",PARTIALLY_REFUNDED:"partially_refunded",DISPUTED:"disputed",CHARGEBACK:"chargeback",CHARGEBACK_RESOLVED:"chargeback_resolved"},Je={TRANSACTION_ID:"data.object.id",AMOUNT:"data.object.amount",CURRENCY:"data.object.currency",STATUS:"data.object.status",PAYMENT_METHOD:"data.object.payment_method",METADATA:"data.object.metadata"},$e={INITIALIZE:"initialize",CREATE_PAYMENT:"createPayment",CAPTURE_PAYMENT:"capturePayment",CANCEL_PAYMENT:"cancelPayment",PROCESS_REFUND:"processRefund",GET_REFUND_STATUS:"getRefundStatus",GET_PAYMENT_STATUS:"getPaymentStatus",PROCESS_WEBHOOK:"processWebhook",VERIFY_WEBHOOK_SIGNATURE:"verifyWebhookSignature",CALCULATE_FEES:"calculateFees",GET_FEE_STRUCTURE:"getFeeStructure",GET_TRANSACTION:"getTransaction",WEBHOOK_PROCESS:"webhookProcess"},qe={MISSING_API_KEY:"Missing Stripe API key",UNKNOWN_EVENT:"unknown",MISSING_EVENT:"missing"};var t={REGISTRY:"ProviderRegistry",FACTORY:"ProviderFactory",FALLBACK:"FallbackHandler",AB_TESTING:"ABTesting"},eo={REGISTRY_GET_FACTORY:`${t.REGISTRY}.getFactory`,FACTORY_CREATE_ADAPTER:`${t.FACTORY}.createAdapter`,FACTORY_GET_CONFIG:`${t.FALLBACK}.getProviderConfig`,FACTORY_GET_OPTIMAL_ADAPTER:`${t.AB_TESTING}.getOptimalAdapter`},oo={providerAlreadyRegistered:o(e=>`[${t.REGISTRY}] Provider '${e}' is already registered. Overwriting.`,"providerAlreadyRegistered"),providerRegistered:o(e=>`[${t.FACTORY}] Registered provider: ${e}`,"providerRegistered"),providerNotRegistered:o(e=>`[${t.REGISTRY}] Provider '${e}' is not registered.`,"providerNotRegistered"),adapterInitFailed:o(e=>`[${t.FACTORY}] Failed to initialize adapter for ${e}`,"adapterInitFailed"),optimalAdapterFailed:o(e=>`[${t.FACTORY}] Failed to get optimal adapter for: ${e}`,"optimalAdapterFailed")};var R={USD:"USD",EUR:"EUR",GBP:"GBP",JPY:"JPY",CHF:"CHF",CAD:"CAD",AUD:"AUD",CNY:"CNY",INR:"INR",KRW:"KRW",SGD:"SGD",HKD:"HKD",TWD:"TWD",THB:"THB",IDR:"IDR",MYR:"MYR",PHP:"PHP",VND:"VND",BDT:"BDT",PKR:"PKR",LKR:"LKR",SEK:"SEK",NOK:"NOK",DKK:"DKK",PLN:"PLN",CZK:"CZK",HUF:"HUF",RON:"RON",BGN:"BGN",HRK:"HRK",RSD:"RSD",ISK:"ISK",BRL:"BRL",MXN:"MXN",ARS:"ARS",CLP:"CLP",COP:"COP",PEN:"PEN",UYU:"UYU",VES:"VES",BOB:"BOB",PYG:"PYG",CRC:"CRC",GTQ:"GTQ",HNL:"HNL",NIO:"NIO",PAB:"PAB",DOP:"DOP",JMD:"JMD",TTD:"TTD",BBD:"BBD",AED:"AED",SAR:"SAR",QAR:"QAR",KWD:"KWD",BHD:"BHD",OMR:"OMR",JOD:"JOD",ILS:"ILS",TRY:"TRY",IQD:"IQD",IRR:"IRR",LBP:"LBP",SYP:"SYP",ZAR:"ZAR",NGN:"NGN",EGP:"EGP",KES:"KES",GHS:"GHS",MAD:"MAD",TND:"TND",DZD:"DZD",ETB:"ETB",TZS:"TZS",UGX:"UGX",ZMW:"ZMW",BWP:"BWP",MUR:"MUR",NZD:"NZD",FJD:"FJD",PGK:"PGK",RUB:"RUB",UAH:"UAH",BYN:"BYN",KZT:"KZT",UZS:"UZS",AZN:"AZN",GEL:"GEL",AMD:"AMD",BTC:"BTC",ETH:"ETH",USDT:"USDT",USDC:"USDC"};var yo=Object.values(R),Po={AMOUNT:"Amount must be a positive number with valid currency format.",CORE_FIELDS:"Missing required core fields: amount, paymentMethod, userId, userType, productId, productType.",CURRENCY:"Unsupported or missing currency code.",METADATA:"Invalid metadata structure or missing required metadata fields.",RISK_ASSESSMENT:"Invalid or inconsistent risk assessment fields.",SCHEDULING:"Invalid scheduling configuration.",REFUND_TRANSACTION_ID:"Transaction ID is required.",REFUND_PROVIDER:"Provider is required.",REFUND_AMOUNT:"Refund amount must be positive."},Mo={AMOUNT:"AmountValidator",CORE_FIELDS:"CoreFieldValidator",CURRENCY:"CurrencyValidator",METADATA:"MetadataValidator",RISK_ASSESSMENT:"RiskAssessmentValidator",SCHEDULING:"SchedulingValidator"},Uo=["amount","paymentMethod","userId","userType","productId","productType"],Go=["monthly","quarterly","yearly"],Ho=["low","medium","high"],Yo=["daily","weekly","monthly","quarterly","yearly"],mo=0,Fo=3;var r={core:"RouterStrategy",rules:"RuleEvaluator",config:"RoutingConfig",factory:"AdapterFactory",cache:"AdapterCache",provider:"ProviderSelector",region:"RegionResolver",compliance:"ComplianceChecker",abtest:"ABTestingModule",default:"DefaultProviderSelector"},bo={invalidProvider:o(()=>`[${r.core}] No valid provider found during routing.`,"invalidProvider"),providerSelected:o(e=>`[${r.provider}] Selected provider: ${e}`,"providerSelected"),fallbackToDefault:o(()=>`[${r.default}] Falling back to default provider.`,"fallbackToDefault"),adapterCached:o(e=>`[${r.cache}] Using cached adapter for ${e}`,"adapterCached"),adapterCreated:o(e=>`[${r.factory}] Created new adapter for ${e}`,"adapterCreated"),adapterCreationFailed:o(e=>`[${r.factory}] Failed to create adapter: ${String(e)}`,"adapterCreationFailed"),providerSelectionFailed:o(e=>`[${r.provider}] Provider selection failed: ${String(e)}`,"providerSelectionFailed"),invalidRuleExpression:o((e,n)=>`[${r.rules}] Custom rule '${e}' evaluation failed: ${String(n)}`,"invalidRuleExpression"),ruleFailed:o((e,n)=>`[${r.rules}] Rule '${e}' evaluation failed: ${String(n)}`,"ruleFailed"),invalidRoutingConfig:o(e=>`[${r.config}] Invalid routing configuration detected: ${String(e)}`,"invalidRoutingConfig"),missingRegionConfig:o(e=>`[${r.region}] Missing region configuration for '${e??"unknown"}'.`,"missingRegionConfig"),complianceCheckFailed:o((e,n)=>`[${r.compliance}] Compliance check failed for region '${e??"unknown"}': ${String(n)}`,"complianceCheckFailed")};var xo={validationFailedPrefix:"refund-validation-failed"},ho={invalidInput:"Invalid provider or transaction ID",unknownError:"Unknown reconciliation error",descriptionFailed:"Reconciliation failed"},Vo={validationErrorPattern:/^\[(.*?)\]\s(.*)$/},vo={cancelProcessor:"Invalid input for cancellation",captureProcessor:"Invalid input for capture",statusProcessor:"Invalid input for payment status"};exports.ADAPTER_ERROR_CODE=D;exports.ADAPTER_LOG_MESSAGE=C;exports.AMOUNT_DECIMALS=Ke;exports.AMOUNT_DIVISOR=xe;exports.COMPLIANCE_ERROR_MESSAGES=x;exports.COMPONENTS=U;exports.CORE_FIELDS=Uo;exports.CURRENCY_CODE_LENGTH=Fo;exports.CUSTOM_RULE_FIELD=Ce;exports.CUSTOM_RULE_OPERATER=u;exports.CurrentTimestamp=Te;exports.DEFAULT_CIRCUIT_BREAKER_FAILURE_THRESHOLD=Ie;exports.DEFAULT_CROSS_BORDER_RATE=Ge;exports.DEFAULT_ENVIRONMENT=l;exports.DEFAULT_EVENT_COUNT=Q;exports.DEFAULT_HANDLER_TIMEOUT_MS=q;exports.DEFAULT_HMAC_ALGORITHM=O;exports.DEFAULT_MAX_LISTENERS=$;exports.DEFAULT_PARTIAL_SUCCESS_THRESHOLD=z;exports.DEFAULT_PAYEMNT_PRIORITY=w;exports.DEFAULT_PLATFORM_RATE=Ue;exports.DEFAULT_PRIORITY=He;exports.DEFAULT_PROCESSING_RATE=Me;exports.DEFAULT_PROCESSING_TIME=We;exports.DEFAULT_REFUND_LEVELS=K;exports.DEFAULT_RETRY_DELAY_MS=Ne;exports.DEFAULT_SETTLEMENT_TIME=ke;exports.DEFAULT_SUCCESS_THRESHOLD=j;exports.DEFAULT_URGENT=J;exports.EVENT_COMPONENT=oe;exports.EVENT_DEFAULTS=ee;exports.EVENT_ENVIRONMENT=ne;exports.EVENT_ERROR_CODE=re;exports.EVENT_ERROR_MESSAGE=te;exports.EVENT_META_KEY=ie;exports.EVENT_NORMALIZER_MESSAGES=_e;exports.EVENT_PHASE=Ee;exports.EVENT_RESULT_STATUS=Ae;exports.EVENT_SOURCE_FIELD=ae;exports.EmptyArray=Re;exports.FACTORY_MESSAGES=h;exports.FALLBACK_NEXT_STEPS=Oe;exports.FALLBACK_REASON=ge;exports.FIXED_FEES=Ye;exports.LOG_LEVELS=d;exports.MAX_CIRCUIT_OPEN_MS=ue;exports.MIN_POSITIVE_AMOUNT=mo;exports.NEXT_STEP_EXPECTED_UPDATE_IN=me;exports.NEXT_STEP_SYSTEM_ACTION=Xe;exports.NEXT_STEP_USER_ACTION=ve;exports.PAYLOAD_KEYS=V;exports.PAYMENT_ALERT_SEVERITY=H;exports.PAYMENT_ERROR_CODES=A;exports.PAYMENT_ERROR_MESSAGES=c;exports.PAYMENT_GATEWAY_ERROR_MESSAGE=pe;exports.PAYMENT_OPERATION=$e;exports.PAYMENT_PROCESSOR_PATTERN=Vo;exports.PAYMENT_RESOLUTION_STEPS=G;exports.PHASE_AT_TARGET=s;exports.PHASE_BUBBLING=N;exports.PHASE_CAPTURING=S;exports.PHASE_NONE=_;exports.PROCESSING_ERROR_MESSAGES=Y;exports.PROCESSOR_MESSAGES=vo;exports.PROVIDER_CONTEXT=t;exports.PROVIDER_ENDPOINTS=eo;exports.PROVIDER_ERROR_MESSAGES=X;exports.PROVIDER_MESSAGES=oo;exports.RECOMMENDATION_MESSAGES=F;exports.RECONCILIATION_MESSAGES=ho;exports.RECOVERY_STEPS=f;exports.REDACTED=M;exports.REFUND_DEFAULT_REASONS=P;exports.REFUND_ERROR_CODES=B;exports.REFUND_ERROR_MESSAGES=b;exports.REFUND_MESSAGES=xo;exports.RISK_LEVEL=le;exports.RISK_SCORE=y;exports.ROUTER_CONTEXT=r;exports.SECURITY_ERROR_MESSAGES=Z;exports.SECURITY_FLAGS=De;exports.SENSITIVE_KEYS=L;exports.SETTLED_PROMISE_STATUS=ce;exports.STRIPE_API_VERSION=ye;exports.STRIPE_CONFIDENCE_HIGH=Fe;exports.STRIPE_CONFIDENCE_MEDIUM=be;exports.STRIPE_DATA_PATHS=Je;exports.STRIPE_ERROR_TYPES=v;exports.STRIPE_EVENT_TYPE=Ze;exports.STRIPE_MAPPING_VERSION=de;exports.STRIPE_MESSAGES=qe;exports.STRIPE_PAYMENT_INTENT_STATUS=we;exports.STRIPE_PRIORITY_HIGH=fe;exports.STRIPE_PRIORITY_MEDIUM=Be;exports.SUPPORTED_CURRENCIES=yo;exports.THRESHOLDS=p;exports.TIMESTAMP_FALLBACK=Ve;exports.UNIX_TIMESTAMP_MULTIPLIER=he;exports.VALIDATION_CONSTANTS=W;exports.VALIDATION_MESSAGES=Po;exports.VALIDATOR_NAMES=Mo;exports.VALID_BILLING_CYCLES=Go;exports.VALID_RECURRENCE_FREQUENCIES=Yo;exports.VALID_RISK_LEVELS=Ho;exports.WEBHOOK_CONSTANTS=m;exports.ZERO_AMOUNT=Pe;exports.routerMessages=bo;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map