@vritti/api-sdk 0.4.3 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/auth.cjs +58 -17
  2. package/dist/auth.cjs.map +1 -1
  3. package/dist/auth.d.cts +1 -1
  4. package/dist/auth.d.ts +1 -1
  5. package/dist/auth.js +58 -17
  6. package/dist/auth.js.map +1 -1
  7. package/dist/cache.cjs +51 -17
  8. package/dist/cache.cjs.map +1 -1
  9. package/dist/cache.js +51 -17
  10. package/dist/cache.js.map +1 -1
  11. package/dist/catalog-resolver.d.cts +2 -2
  12. package/dist/catalog-resolver.d.ts +2 -2
  13. package/dist/{code-pattern-BP4zkNtT.d.cts → code-pattern-DMlbIwwn.d.cts} +3 -3
  14. package/dist/{code-pattern-BP4zkNtT.d.ts → code-pattern-DMlbIwwn.d.ts} +3 -3
  15. package/dist/data-table.cjs +154 -48
  16. package/dist/data-table.cjs.map +1 -1
  17. package/dist/data-table.js +154 -48
  18. package/dist/data-table.js.map +1 -1
  19. package/dist/database.cjs +101 -31
  20. package/dist/database.cjs.map +1 -1
  21. package/dist/database.js +101 -31
  22. package/dist/database.js.map +1 -1
  23. package/dist/decorators.cjs +1 -1
  24. package/dist/decorators.cjs.map +1 -1
  25. package/dist/decorators.d.cts +2 -2
  26. package/dist/decorators.d.ts +2 -2
  27. package/dist/decorators.js +1 -1
  28. package/dist/decorators.js.map +1 -1
  29. package/dist/drizzle-pg-core.cjs +1 -1
  30. package/dist/drizzle-pg-core.cjs.map +1 -1
  31. package/dist/drizzle-pg-core.d.cts +1 -1
  32. package/dist/drizzle-pg-core.d.ts +1 -1
  33. package/dist/drizzle-pg-core.js +1 -1
  34. package/dist/drizzle-pg-core.js.map +1 -1
  35. package/dist/email.cjs +22 -6
  36. package/dist/email.cjs.map +1 -1
  37. package/dist/email.js +22 -6
  38. package/dist/email.js.map +1 -1
  39. package/dist/files.cjs +1 -1
  40. package/dist/files.cjs.map +1 -1
  41. package/dist/files.d.cts +3 -3
  42. package/dist/files.d.ts +3 -3
  43. package/dist/files.js +1 -1
  44. package/dist/files.js.map +1 -1
  45. package/dist/filters.cjs +18 -4
  46. package/dist/filters.cjs.map +1 -1
  47. package/dist/filters.js +18 -4
  48. package/dist/filters.js.map +1 -1
  49. package/dist/index.d.cts +1 -1
  50. package/dist/index.d.ts +1 -1
  51. package/dist/license.d.cts +1 -1
  52. package/dist/license.d.ts +1 -1
  53. package/dist/logger.cjs +49 -15
  54. package/dist/logger.cjs.map +1 -1
  55. package/dist/logger.js +49 -15
  56. package/dist/logger.js.map +1 -1
  57. package/dist/nats.cjs +51 -19
  58. package/dist/nats.cjs.map +1 -1
  59. package/dist/nats.js +50 -18
  60. package/dist/nats.js.map +1 -1
  61. package/dist/root.cjs +44 -12
  62. package/dist/root.cjs.map +1 -1
  63. package/dist/root.js +44 -12
  64. package/dist/root.js.map +1 -1
  65. package/dist/{types-BQY0Aa1p.d.cts → types-VDKSjje5.d.cts} +1 -1
  66. package/dist/{types-BQY0Aa1p.d.ts → types-VDKSjje5.d.ts} +1 -1
  67. package/package.json +38 -38
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/decorators/index.ts","../src/countries/is-country.decorator.ts","../src/countries/iso-countries.ts","../src/decorators/code-pattern.ts","../src/decorators/is-code.decorator.ts","../src/decorators/is-date-time.decorator.ts","../src/decorators/trim.decorator.ts"],"sourcesContent":["export { IsCountry } from '../countries/is-country.decorator';\nexport {\n CODE_PATTERN,\n CODE_PATTERN_SOURCE,\n type CodeOptions,\n codeMessage,\n codePattern,\n codePatternSource,\n DOTTED_CODE_PATTERN,\n DOTTED_CODE_PATTERN_SOURCE,\n} from './code-pattern';\nexport { IsCode } from './is-code.decorator';\nexport { IsDateTime } from './is-date-time.decorator';\nexport { Trim, type TrimOptions } from './trim.decorator';\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { ISO_COUNTRY_CODES } from './iso-countries';\n\nexport function IsCountry(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCountry',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n return ISO_COUNTRY_CODES.has(value.toUpperCase());\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a valid ISO 3166-1 alpha-2 country code.`;\n },\n },\n });\n };\n}\n","export interface IsoCountry {\n code: string;\n name: string;\n defaultCurrency: string;\n callingCode: string;\n}\n\nexport const ISO_COUNTRIES: readonly IsoCountry[] = [\n { code: 'AD', name: 'Andorra', defaultCurrency: 'EUR', callingCode: '+376' },\n { code: 'AE', name: 'United Arab Emirates', defaultCurrency: 'AED', callingCode: '+971' },\n { code: 'AF', name: 'Afghanistan', defaultCurrency: 'AFN', callingCode: '+93' },\n { code: 'AG', name: 'Antigua and Barbuda', defaultCurrency: 'XCD', callingCode: '+1268' },\n { code: 'AI', name: 'Anguilla', defaultCurrency: 'XCD', callingCode: '+1264' },\n { code: 'AL', name: 'Albania', defaultCurrency: 'ALL', callingCode: '+355' },\n { code: 'AM', name: 'Armenia', defaultCurrency: 'AMD', callingCode: '+374' },\n { code: 'AO', name: 'Angola', defaultCurrency: 'AOA', callingCode: '+244' },\n { code: 'AQ', name: 'Antarctica', defaultCurrency: 'USD', callingCode: '+672' },\n { code: 'AR', name: 'Argentina', defaultCurrency: 'ARS', callingCode: '+54' },\n { code: 'AS', name: 'American Samoa', defaultCurrency: 'USD', callingCode: '+1684' },\n { code: 'AT', name: 'Austria', defaultCurrency: 'EUR', callingCode: '+43' },\n { code: 'AU', name: 'Australia', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'AW', name: 'Aruba', defaultCurrency: 'AWG', callingCode: '+297' },\n { code: 'AX', name: 'Åland Islands', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'AZ', name: 'Azerbaijan', defaultCurrency: 'AZN', callingCode: '+994' },\n { code: 'BA', name: 'Bosnia and Herzegovina', defaultCurrency: 'BAM', callingCode: '+387' },\n { code: 'BB', name: 'Barbados', defaultCurrency: 'BBD', callingCode: '+1246' },\n { code: 'BD', name: 'Bangladesh', defaultCurrency: 'BDT', callingCode: '+880' },\n { code: 'BE', name: 'Belgium', defaultCurrency: 'EUR', callingCode: '+32' },\n { code: 'BF', name: 'Burkina Faso', defaultCurrency: 'XOF', callingCode: '+226' },\n { code: 'BG', name: 'Bulgaria', defaultCurrency: 'BGN', callingCode: '+359' },\n { code: 'BH', name: 'Bahrain', defaultCurrency: 'BHD', callingCode: '+973' },\n { code: 'BI', name: 'Burundi', defaultCurrency: 'BIF', callingCode: '+257' },\n { code: 'BJ', name: 'Benin', defaultCurrency: 'XOF', callingCode: '+229' },\n { code: 'BL', name: 'Saint Barthélemy', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'BM', name: 'Bermuda', defaultCurrency: 'BMD', callingCode: '+1441' },\n { code: 'BN', name: 'Brunei Darussalam', defaultCurrency: 'BND', callingCode: '+673' },\n { code: 'BO', name: 'Bolivia', defaultCurrency: 'BOB', callingCode: '+591' },\n { code: 'BQ', name: 'Bonaire, Sint Eustatius and Saba', defaultCurrency: 'USD', callingCode: '+599' },\n { code: 'BR', name: 'Brazil', defaultCurrency: 'BRL', callingCode: '+55' },\n { code: 'BS', name: 'Bahamas', defaultCurrency: 'BSD', callingCode: '+1242' },\n { code: 'BT', name: 'Bhutan', defaultCurrency: 'BTN', callingCode: '+975' },\n { code: 'BV', name: 'Bouvet Island', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'BW', name: 'Botswana', defaultCurrency: 'BWP', callingCode: '+267' },\n { code: 'BY', name: 'Belarus', defaultCurrency: 'BYN', callingCode: '+375' },\n { code: 'BZ', name: 'Belize', defaultCurrency: 'BZD', callingCode: '+501' },\n { code: 'CA', name: 'Canada', defaultCurrency: 'CAD', callingCode: '+1' },\n { code: 'CC', name: 'Cocos (Keeling) Islands', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CD', name: 'Congo, Democratic Republic of the', defaultCurrency: 'CDF', callingCode: '+243' },\n { code: 'CF', name: 'Central African Republic', defaultCurrency: 'XAF', callingCode: '+236' },\n { code: 'CG', name: 'Congo', defaultCurrency: 'XAF', callingCode: '+242' },\n { code: 'CH', name: 'Switzerland', defaultCurrency: 'CHF', callingCode: '+41' },\n { code: 'CI', name: \"Côte d'Ivoire\", defaultCurrency: 'XOF', callingCode: '+225' },\n { code: 'CK', name: 'Cook Islands', defaultCurrency: 'NZD', callingCode: '+682' },\n { code: 'CL', name: 'Chile', defaultCurrency: 'CLP', callingCode: '+56' },\n { code: 'CM', name: 'Cameroon', defaultCurrency: 'XAF', callingCode: '+237' },\n { code: 'CN', name: 'China', defaultCurrency: 'CNY', callingCode: '+86' },\n { code: 'CO', name: 'Colombia', defaultCurrency: 'COP', callingCode: '+57' },\n { code: 'CR', name: 'Costa Rica', defaultCurrency: 'CRC', callingCode: '+506' },\n { code: 'CU', name: 'Cuba', defaultCurrency: 'CUP', callingCode: '+53' },\n { code: 'CV', name: 'Cabo Verde', defaultCurrency: 'CVE', callingCode: '+238' },\n { code: 'CW', name: 'Curaçao', defaultCurrency: 'ANG', callingCode: '+599' },\n { code: 'CX', name: 'Christmas Island', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CY', name: 'Cyprus', defaultCurrency: 'EUR', callingCode: '+357' },\n { code: 'CZ', name: 'Czechia', defaultCurrency: 'CZK', callingCode: '+420' },\n { code: 'DE', name: 'Germany', defaultCurrency: 'EUR', callingCode: '+49' },\n { code: 'DJ', name: 'Djibouti', defaultCurrency: 'DJF', callingCode: '+253' },\n { code: 'DK', name: 'Denmark', defaultCurrency: 'DKK', callingCode: '+45' },\n { code: 'DM', name: 'Dominica', defaultCurrency: 'XCD', callingCode: '+1767' },\n { code: 'DO', name: 'Dominican Republic', defaultCurrency: 'DOP', callingCode: '+1809' },\n { code: 'DZ', name: 'Algeria', defaultCurrency: 'DZD', callingCode: '+213' },\n { code: 'EC', name: 'Ecuador', defaultCurrency: 'USD', callingCode: '+593' },\n { code: 'EE', name: 'Estonia', defaultCurrency: 'EUR', callingCode: '+372' },\n { code: 'EG', name: 'Egypt', defaultCurrency: 'EGP', callingCode: '+20' },\n { code: 'EH', name: 'Western Sahara', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'ER', name: 'Eritrea', defaultCurrency: 'ERN', callingCode: '+291' },\n { code: 'ES', name: 'Spain', defaultCurrency: 'EUR', callingCode: '+34' },\n { code: 'ET', name: 'Ethiopia', defaultCurrency: 'ETB', callingCode: '+251' },\n { code: 'FI', name: 'Finland', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'FJ', name: 'Fiji', defaultCurrency: 'FJD', callingCode: '+679' },\n { code: 'FK', name: 'Falkland Islands (Malvinas)', defaultCurrency: 'FKP', callingCode: '+500' },\n { code: 'FM', name: 'Micronesia (Federated States of)', defaultCurrency: 'USD', callingCode: '+691' },\n { code: 'FO', name: 'Faroe Islands', defaultCurrency: 'DKK', callingCode: '+298' },\n { code: 'FR', name: 'France', defaultCurrency: 'EUR', callingCode: '+33' },\n { code: 'GA', name: 'Gabon', defaultCurrency: 'XAF', callingCode: '+241' },\n { code: 'GB', name: 'United Kingdom', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GD', name: 'Grenada', defaultCurrency: 'XCD', callingCode: '+1473' },\n { code: 'GE', name: 'Georgia', defaultCurrency: 'GEL', callingCode: '+995' },\n { code: 'GF', name: 'French Guiana', defaultCurrency: 'EUR', callingCode: '+594' },\n { code: 'GG', name: 'Guernsey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GH', name: 'Ghana', defaultCurrency: 'GHS', callingCode: '+233' },\n { code: 'GI', name: 'Gibraltar', defaultCurrency: 'GIP', callingCode: '+350' },\n { code: 'GL', name: 'Greenland', defaultCurrency: 'DKK', callingCode: '+299' },\n { code: 'GM', name: 'Gambia', defaultCurrency: 'GMD', callingCode: '+220' },\n { code: 'GN', name: 'Guinea', defaultCurrency: 'GNF', callingCode: '+224' },\n { code: 'GP', name: 'Guadeloupe', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'GQ', name: 'Equatorial Guinea', defaultCurrency: 'XAF', callingCode: '+240' },\n { code: 'GR', name: 'Greece', defaultCurrency: 'EUR', callingCode: '+30' },\n { code: 'GS', name: 'South Georgia and the South Sandwich Islands', defaultCurrency: 'GBP', callingCode: '+500' },\n { code: 'GT', name: 'Guatemala', defaultCurrency: 'GTQ', callingCode: '+502' },\n { code: 'GU', name: 'Guam', defaultCurrency: 'USD', callingCode: '+1671' },\n { code: 'GW', name: 'Guinea-Bissau', defaultCurrency: 'XOF', callingCode: '+245' },\n { code: 'GY', name: 'Guyana', defaultCurrency: 'GYD', callingCode: '+592' },\n { code: 'HK', name: 'Hong Kong', defaultCurrency: 'HKD', callingCode: '+852' },\n { code: 'HM', name: 'Heard Island and McDonald Islands', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'HN', name: 'Honduras', defaultCurrency: 'HNL', callingCode: '+504' },\n { code: 'HR', name: 'Croatia', defaultCurrency: 'EUR', callingCode: '+385' },\n { code: 'HT', name: 'Haiti', defaultCurrency: 'HTG', callingCode: '+509' },\n { code: 'HU', name: 'Hungary', defaultCurrency: 'HUF', callingCode: '+36' },\n { code: 'ID', name: 'Indonesia', defaultCurrency: 'IDR', callingCode: '+62' },\n { code: 'IE', name: 'Ireland', defaultCurrency: 'EUR', callingCode: '+353' },\n { code: 'IL', name: 'Israel', defaultCurrency: 'ILS', callingCode: '+972' },\n { code: 'IM', name: 'Isle of Man', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'IN', name: 'India', defaultCurrency: 'INR', callingCode: '+91' },\n { code: 'IO', name: 'British Indian Ocean Territory', defaultCurrency: 'USD', callingCode: '+246' },\n { code: 'IQ', name: 'Iraq', defaultCurrency: 'IQD', callingCode: '+964' },\n { code: 'IR', name: 'Iran', defaultCurrency: 'IRR', callingCode: '+98' },\n { code: 'IS', name: 'Iceland', defaultCurrency: 'ISK', callingCode: '+354' },\n { code: 'IT', name: 'Italy', defaultCurrency: 'EUR', callingCode: '+39' },\n { code: 'JE', name: 'Jersey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'JM', name: 'Jamaica', defaultCurrency: 'JMD', callingCode: '+1876' },\n { code: 'JO', name: 'Jordan', defaultCurrency: 'JOD', callingCode: '+962' },\n { code: 'JP', name: 'Japan', defaultCurrency: 'JPY', callingCode: '+81' },\n { code: 'KE', name: 'Kenya', defaultCurrency: 'KES', callingCode: '+254' },\n { code: 'KG', name: 'Kyrgyzstan', defaultCurrency: 'KGS', callingCode: '+996' },\n { code: 'KH', name: 'Cambodia', defaultCurrency: 'KHR', callingCode: '+855' },\n { code: 'KI', name: 'Kiribati', defaultCurrency: 'AUD', callingCode: '+686' },\n { code: 'KM', name: 'Comoros', defaultCurrency: 'KMF', callingCode: '+269' },\n { code: 'KN', name: 'Saint Kitts and Nevis', defaultCurrency: 'XCD', callingCode: '+1869' },\n { code: 'KP', name: \"Korea (Democratic People's Republic of)\", defaultCurrency: 'KPW', callingCode: '+850' },\n { code: 'KR', name: 'Korea (Republic of)', defaultCurrency: 'KRW', callingCode: '+82' },\n { code: 'KW', name: 'Kuwait', defaultCurrency: 'KWD', callingCode: '+965' },\n { code: 'KY', name: 'Cayman Islands', defaultCurrency: 'KYD', callingCode: '+1345' },\n { code: 'KZ', name: 'Kazakhstan', defaultCurrency: 'KZT', callingCode: '+7' },\n { code: 'LA', name: \"Lao People's Democratic Republic\", defaultCurrency: 'LAK', callingCode: '+856' },\n { code: 'LB', name: 'Lebanon', defaultCurrency: 'LBP', callingCode: '+961' },\n { code: 'LC', name: 'Saint Lucia', defaultCurrency: 'XCD', callingCode: '+1758' },\n { code: 'LI', name: 'Liechtenstein', defaultCurrency: 'CHF', callingCode: '+423' },\n { code: 'LK', name: 'Sri Lanka', defaultCurrency: 'LKR', callingCode: '+94' },\n { code: 'LR', name: 'Liberia', defaultCurrency: 'LRD', callingCode: '+231' },\n { code: 'LS', name: 'Lesotho', defaultCurrency: 'LSL', callingCode: '+266' },\n { code: 'LT', name: 'Lithuania', defaultCurrency: 'EUR', callingCode: '+370' },\n { code: 'LU', name: 'Luxembourg', defaultCurrency: 'EUR', callingCode: '+352' },\n { code: 'LV', name: 'Latvia', defaultCurrency: 'EUR', callingCode: '+371' },\n { code: 'LY', name: 'Libya', defaultCurrency: 'LYD', callingCode: '+218' },\n { code: 'MA', name: 'Morocco', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'MC', name: 'Monaco', defaultCurrency: 'EUR', callingCode: '+377' },\n { code: 'MD', name: 'Moldova', defaultCurrency: 'MDL', callingCode: '+373' },\n { code: 'ME', name: 'Montenegro', defaultCurrency: 'EUR', callingCode: '+382' },\n { code: 'MF', name: 'Saint Martin (French part)', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'MG', name: 'Madagascar', defaultCurrency: 'MGA', callingCode: '+261' },\n { code: 'MH', name: 'Marshall Islands', defaultCurrency: 'USD', callingCode: '+692' },\n { code: 'MK', name: 'North Macedonia', defaultCurrency: 'MKD', callingCode: '+389' },\n { code: 'ML', name: 'Mali', defaultCurrency: 'XOF', callingCode: '+223' },\n { code: 'MM', name: 'Myanmar', defaultCurrency: 'MMK', callingCode: '+95' },\n { code: 'MN', name: 'Mongolia', defaultCurrency: 'MNT', callingCode: '+976' },\n { code: 'MO', name: 'Macao', defaultCurrency: 'MOP', callingCode: '+853' },\n { code: 'MP', name: 'Northern Mariana Islands', defaultCurrency: 'USD', callingCode: '+1670' },\n { code: 'MQ', name: 'Martinique', defaultCurrency: 'EUR', callingCode: '+596' },\n { code: 'MR', name: 'Mauritania', defaultCurrency: 'MRU', callingCode: '+222' },\n { code: 'MS', name: 'Montserrat', defaultCurrency: 'XCD', callingCode: '+1664' },\n { code: 'MT', name: 'Malta', defaultCurrency: 'EUR', callingCode: '+356' },\n { code: 'MU', name: 'Mauritius', defaultCurrency: 'MUR', callingCode: '+230' },\n { code: 'MV', name: 'Maldives', defaultCurrency: 'MVR', callingCode: '+960' },\n { code: 'MW', name: 'Malawi', defaultCurrency: 'MWK', callingCode: '+265' },\n { code: 'MX', name: 'Mexico', defaultCurrency: 'MXN', callingCode: '+52' },\n { code: 'MY', name: 'Malaysia', defaultCurrency: 'MYR', callingCode: '+60' },\n { code: 'MZ', name: 'Mozambique', defaultCurrency: 'MZN', callingCode: '+258' },\n { code: 'NA', name: 'Namibia', defaultCurrency: 'NAD', callingCode: '+264' },\n { code: 'NC', name: 'New Caledonia', defaultCurrency: 'XPF', callingCode: '+687' },\n { code: 'NE', name: 'Niger', defaultCurrency: 'XOF', callingCode: '+227' },\n { code: 'NF', name: 'Norfolk Island', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'NG', name: 'Nigeria', defaultCurrency: 'NGN', callingCode: '+234' },\n { code: 'NI', name: 'Nicaragua', defaultCurrency: 'NIO', callingCode: '+505' },\n { code: 'NL', name: 'Netherlands', defaultCurrency: 'EUR', callingCode: '+31' },\n { code: 'NO', name: 'Norway', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'NP', name: 'Nepal', defaultCurrency: 'NPR', callingCode: '+977' },\n { code: 'NR', name: 'Nauru', defaultCurrency: 'AUD', callingCode: '+674' },\n { code: 'NU', name: 'Niue', defaultCurrency: 'NZD', callingCode: '+683' },\n { code: 'NZ', name: 'New Zealand', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'OM', name: 'Oman', defaultCurrency: 'OMR', callingCode: '+968' },\n { code: 'PA', name: 'Panama', defaultCurrency: 'PAB', callingCode: '+507' },\n { code: 'PE', name: 'Peru', defaultCurrency: 'PEN', callingCode: '+51' },\n { code: 'PF', name: 'French Polynesia', defaultCurrency: 'XPF', callingCode: '+689' },\n { code: 'PG', name: 'Papua New Guinea', defaultCurrency: 'PGK', callingCode: '+675' },\n { code: 'PH', name: 'Philippines', defaultCurrency: 'PHP', callingCode: '+63' },\n { code: 'PK', name: 'Pakistan', defaultCurrency: 'PKR', callingCode: '+92' },\n { code: 'PL', name: 'Poland', defaultCurrency: 'PLN', callingCode: '+48' },\n { code: 'PM', name: 'Saint Pierre and Miquelon', defaultCurrency: 'EUR', callingCode: '+508' },\n { code: 'PN', name: 'Pitcairn', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'PR', name: 'Puerto Rico', defaultCurrency: 'USD', callingCode: '+1787' },\n { code: 'PS', name: 'Palestine, State of', defaultCurrency: 'ILS', callingCode: '+970' },\n { code: 'PT', name: 'Portugal', defaultCurrency: 'EUR', callingCode: '+351' },\n { code: 'PW', name: 'Palau', defaultCurrency: 'USD', callingCode: '+680' },\n { code: 'PY', name: 'Paraguay', defaultCurrency: 'PYG', callingCode: '+595' },\n { code: 'QA', name: 'Qatar', defaultCurrency: 'QAR', callingCode: '+974' },\n { code: 'RE', name: 'Réunion', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'RO', name: 'Romania', defaultCurrency: 'RON', callingCode: '+40' },\n { code: 'RS', name: 'Serbia', defaultCurrency: 'RSD', callingCode: '+381' },\n { code: 'RU', name: 'Russian Federation', defaultCurrency: 'RUB', callingCode: '+7' },\n { code: 'RW', name: 'Rwanda', defaultCurrency: 'RWF', callingCode: '+250' },\n { code: 'SA', name: 'Saudi Arabia', defaultCurrency: 'SAR', callingCode: '+966' },\n { code: 'SB', name: 'Solomon Islands', defaultCurrency: 'SBD', callingCode: '+677' },\n { code: 'SC', name: 'Seychelles', defaultCurrency: 'SCR', callingCode: '+248' },\n { code: 'SD', name: 'Sudan', defaultCurrency: 'SDG', callingCode: '+249' },\n { code: 'SE', name: 'Sweden', defaultCurrency: 'SEK', callingCode: '+46' },\n { code: 'SG', name: 'Singapore', defaultCurrency: 'SGD', callingCode: '+65' },\n { code: 'SH', name: 'Saint Helena, Ascension and Tristan da Cunha', defaultCurrency: 'SHP', callingCode: '+290' },\n { code: 'SI', name: 'Slovenia', defaultCurrency: 'EUR', callingCode: '+386' },\n { code: 'SJ', name: 'Svalbard and Jan Mayen', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'SK', name: 'Slovakia', defaultCurrency: 'EUR', callingCode: '+421' },\n { code: 'SL', name: 'Sierra Leone', defaultCurrency: 'SLE', callingCode: '+232' },\n { code: 'SM', name: 'San Marino', defaultCurrency: 'EUR', callingCode: '+378' },\n { code: 'SN', name: 'Senegal', defaultCurrency: 'XOF', callingCode: '+221' },\n { code: 'SO', name: 'Somalia', defaultCurrency: 'SOS', callingCode: '+252' },\n { code: 'SR', name: 'Suriname', defaultCurrency: 'SRD', callingCode: '+597' },\n { code: 'SS', name: 'South Sudan', defaultCurrency: 'SSP', callingCode: '+211' },\n { code: 'ST', name: 'Sao Tome and Principe', defaultCurrency: 'STN', callingCode: '+239' },\n { code: 'SV', name: 'El Salvador', defaultCurrency: 'USD', callingCode: '+503' },\n { code: 'SX', name: 'Sint Maarten (Dutch part)', defaultCurrency: 'ANG', callingCode: '+1721' },\n { code: 'SY', name: 'Syrian Arab Republic', defaultCurrency: 'SYP', callingCode: '+963' },\n { code: 'SZ', name: 'Eswatini', defaultCurrency: 'SZL', callingCode: '+268' },\n { code: 'TC', name: 'Turks and Caicos Islands', defaultCurrency: 'USD', callingCode: '+1649' },\n { code: 'TD', name: 'Chad', defaultCurrency: 'XAF', callingCode: '+235' },\n { code: 'TF', name: 'French Southern Territories', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'TG', name: 'Togo', defaultCurrency: 'XOF', callingCode: '+228' },\n { code: 'TH', name: 'Thailand', defaultCurrency: 'THB', callingCode: '+66' },\n { code: 'TJ', name: 'Tajikistan', defaultCurrency: 'TJS', callingCode: '+992' },\n { code: 'TK', name: 'Tokelau', defaultCurrency: 'NZD', callingCode: '+690' },\n { code: 'TL', name: 'Timor-Leste', defaultCurrency: 'USD', callingCode: '+670' },\n { code: 'TM', name: 'Turkmenistan', defaultCurrency: 'TMT', callingCode: '+993' },\n { code: 'TN', name: 'Tunisia', defaultCurrency: 'TND', callingCode: '+216' },\n { code: 'TO', name: 'Tonga', defaultCurrency: 'TOP', callingCode: '+676' },\n { code: 'TR', name: 'Türkiye', defaultCurrency: 'TRY', callingCode: '+90' },\n { code: 'TT', name: 'Trinidad and Tobago', defaultCurrency: 'TTD', callingCode: '+1868' },\n { code: 'TV', name: 'Tuvalu', defaultCurrency: 'AUD', callingCode: '+688' },\n { code: 'TW', name: 'Taiwan (Province of China)', defaultCurrency: 'TWD', callingCode: '+886' },\n { code: 'TZ', name: 'Tanzania, United Republic of', defaultCurrency: 'TZS', callingCode: '+255' },\n { code: 'UA', name: 'Ukraine', defaultCurrency: 'UAH', callingCode: '+380' },\n { code: 'UG', name: 'Uganda', defaultCurrency: 'UGX', callingCode: '+256' },\n { code: 'UM', name: 'United States Minor Outlying Islands', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'US', name: 'United States of America', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'UY', name: 'Uruguay', defaultCurrency: 'UYU', callingCode: '+598' },\n { code: 'UZ', name: 'Uzbekistan', defaultCurrency: 'UZS', callingCode: '+998' },\n { code: 'VA', name: 'Holy See', defaultCurrency: 'EUR', callingCode: '+379' },\n { code: 'VC', name: 'Saint Vincent and the Grenadines', defaultCurrency: 'XCD', callingCode: '+1784' },\n { code: 'VE', name: 'Venezuela (Bolivarian Republic of)', defaultCurrency: 'VES', callingCode: '+58' },\n { code: 'VG', name: 'Virgin Islands (British)', defaultCurrency: 'USD', callingCode: '+1284' },\n { code: 'VI', name: 'Virgin Islands (U.S.)', defaultCurrency: 'USD', callingCode: '+1340' },\n { code: 'VN', name: 'Viet Nam', defaultCurrency: 'VND', callingCode: '+84' },\n { code: 'VU', name: 'Vanuatu', defaultCurrency: 'VUV', callingCode: '+678' },\n { code: 'WF', name: 'Wallis and Futuna', defaultCurrency: 'XPF', callingCode: '+681' },\n { code: 'WS', name: 'Samoa', defaultCurrency: 'WST', callingCode: '+685' },\n { code: 'YE', name: 'Yemen', defaultCurrency: 'YER', callingCode: '+967' },\n { code: 'YT', name: 'Mayotte', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'ZA', name: 'South Africa', defaultCurrency: 'ZAR', callingCode: '+27' },\n { code: 'ZM', name: 'Zambia', defaultCurrency: 'ZMW', callingCode: '+260' },\n { code: 'ZW', name: 'Zimbabwe', defaultCurrency: 'ZWG', callingCode: '+263' },\n];\n\nexport const ISO_COUNTRY_CODES: ReadonlySet<string> = new Set(ISO_COUNTRIES.map((country) => country.code));\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word: starts with a letter, then lowercase letters, digits, or hyphens.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { type CodeOptions, codeMessage, codePattern } from './code-pattern';\n\n// Validates a canonical lowercase-kebab code. Pass { dotted: true } for dot-separated codes (permissions).\nexport function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator {\n const pattern = codePattern(options);\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCode',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n return typeof value === 'string' && pattern.test(value);\n },\n defaultMessage(args: ValidationArguments): string {\n return codeMessage(args.property, options);\n },\n },\n });\n };\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\n\nconst UTC_ISO_DATETIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$/;\n\nexport function IsDateTime(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isDateTime',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n if (!UTC_ISO_DATETIME_REGEX.test(value)) return false;\n return !Number.isNaN(Date.parse(value));\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a UTC ISO date-time string ending with Z.`;\n },\n },\n });\n };\n}\n","import { Transform } from 'class-transformer';\n\nexport interface TrimOptions {\n nullify?: boolean;\n}\n\n// Trims a string field; by default converts a blank result ('') to null. Leaves non-strings\n// (undefined stays undefined → skip, null stays null → clear) untouched, preserving update semantics.\nexport function Trim(options?: TrimOptions): PropertyDecorator {\n const nullify = options?.nullify ?? true;\n return Transform(({ value }) => {\n if (typeof value !== 'string') return value;\n const trimmed = value.trim();\n return nullify ? trimmed || null : trimmed;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;ACAA,6BAAoF;;;ACO7E,IAAMA,gBAAuC;EAClD;IAAEC,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAwBC,iBAAiB;IAAOC,aAAa;EAAO;EACxF;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAuBC,iBAAiB;IAAOC,aAAa;EAAQ;EACxF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAM;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAkBC,iBAAiB;IAAOC,aAAa;EAAQ;EACnF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAM;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAA0BC,iBAAiB;IAAOC,aAAa;EAAO;EAC1F;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAO;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAoBC,iBAAiB;IAAOC,aAAa;EAAO;EACpF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAQ;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAqBC,iBAAiB;IAAOC,aAAa;EAAO;EACrF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAoCC,iBAAiB;IAAOC,aAAa;EAAO;EACpG;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAQ;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAM;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAK;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAA2BC,iBAAiB;IAAOC,aAAa;EAAM;EAC1F;IAAEH,MAAM;IAAMC,MAAM;IAAqCC,iBAAiB;IAAOC,aAAa;EAAO;EACrG;IAAEH,MAAM;IAAMC,MAAM;IAA4BC,iBAAiB;IAAOC,aAAa;EAAO;EAC5F;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAO;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAM;EACvE;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAoBC,iBAAiB;IAAOC,aAAa;EAAM;EACnF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAsBC,iBAAiB;IAAOC,aAAa;EAAQ;EACvF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAkBC,iBAAiB;IAAOC,aAAa;EAAO;EAClF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAA+BC,iBAAiB;IAAOC,aAAa;EAAO;EAC/F;IAAEH,MAAM;IAAMC,MAAM;IAAoCC,iBAAiB;IAAOC,aAAa;EAAO;EACpG;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAkBC,iBAAiB;IAAOC,aAAa;EAAM;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAQ;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAqBC,iBAAiB;IAAOC,aAAa;EAAO;EACrF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAgDC,iBAAiB;IAAOC,aAAa;EAAO;EAChH;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAQ;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAqCC,iBAAiB;IAAOC,aAAa;EAAO;EACrG;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAM;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAkCC,iBAAiB;IAAOC,aAAa;EAAO;EAClG;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAM;EACvE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAQ;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAM;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAyBC,iBAAiB;IAAOC,aAAa;EAAQ;EAC1F;IAAEH,MAAM;IAAMC,MAAM;IAA2CC,iBAAiB;IAAOC,aAAa;EAAO;EAC3G;IAAEH,MAAM;IAAMC,MAAM;IAAuBC,iBAAiB;IAAOC,aAAa;EAAM;EACtF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAkBC,iBAAiB;IAAOC,aAAa;EAAQ;EACnF;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAK;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAoCC,iBAAiB;IAAOC,aAAa;EAAO;EACpG;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAQ;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAM;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAA8BC,iBAAiB;IAAOC,aAAa;EAAO;EAC9F;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAoBC,iBAAiB;IAAOC,aAAa;EAAO;EACpF;IAAEH,MAAM;IAAMC,MAAM;IAAmBC,iBAAiB;IAAOC,aAAa;EAAO;EACnF;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAA4BC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7F;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAQ;EAC/E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAiBC,iBAAiB;IAAOC,aAAa;EAAO;EACjF;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAkBC,iBAAiB;IAAOC,aAAa;EAAO;EAClF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAO;EAC7E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAM;EACvE;IAAEH,MAAM;IAAMC,MAAM;IAAoBC,iBAAiB;IAAOC,aAAa;EAAO;EACpF;IAAEH,MAAM;IAAMC,MAAM;IAAoBC,iBAAiB;IAAOC,aAAa;EAAO;EACpF;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAM;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAA6BC,iBAAiB;IAAOC,aAAa;EAAO;EAC7F;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAQ;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAuBC,iBAAiB;IAAOC,aAAa;EAAO;EACvF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAsBC,iBAAiB;IAAOC,aAAa;EAAK;EACpF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAO;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAmBC,iBAAiB;IAAOC,aAAa;EAAO;EACnF;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAM;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAaC,iBAAiB;IAAOC,aAAa;EAAM;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAgDC,iBAAiB;IAAOC,aAAa;EAAO;EAChH;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAA0BC,iBAAiB;IAAOC,aAAa;EAAM;EACzF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAO;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAO;EAC/E;IAAEH,MAAM;IAAMC,MAAM;IAAyBC,iBAAiB;IAAOC,aAAa;EAAO;EACzF;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAO;EAC/E;IAAEH,MAAM;IAAMC,MAAM;IAA6BC,iBAAiB;IAAOC,aAAa;EAAQ;EAC9F;IAAEH,MAAM;IAAMC,MAAM;IAAwBC,iBAAiB;IAAOC,aAAa;EAAO;EACxF;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAA4BC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7F;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAA+BC,iBAAiB;IAAOC,aAAa;EAAO;EAC/F;IAAEH,MAAM;IAAMC,MAAM;IAAQC,iBAAiB;IAAOC,aAAa;EAAO;EACxE;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAeC,iBAAiB;IAAOC,aAAa;EAAO;EAC/E;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAO;EAChF;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAM;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAuBC,iBAAiB;IAAOC,aAAa;EAAQ;EACxF;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAA8BC,iBAAiB;IAAOC,aAAa;EAAO;EAC9F;IAAEH,MAAM;IAAMC,MAAM;IAAgCC,iBAAiB;IAAOC,aAAa;EAAO;EAChG;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAwCC,iBAAiB;IAAOC,aAAa;EAAK;EACtG;IAAEH,MAAM;IAAMC,MAAM;IAA4BC,iBAAiB;IAAOC,aAAa;EAAK;EAC1F;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAcC,iBAAiB;IAAOC,aAAa;EAAO;EAC9E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;EAC5E;IAAEH,MAAM;IAAMC,MAAM;IAAoCC,iBAAiB;IAAOC,aAAa;EAAQ;EACrG;IAAEH,MAAM;IAAMC,MAAM;IAAsCC,iBAAiB;IAAOC,aAAa;EAAM;EACrG;IAAEH,MAAM;IAAMC,MAAM;IAA4BC,iBAAiB;IAAOC,aAAa;EAAQ;EAC7F;IAAEH,MAAM;IAAMC,MAAM;IAAyBC,iBAAiB;IAAOC,aAAa;EAAQ;EAC1F;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAM;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAqBC,iBAAiB;IAAOC,aAAa;EAAO;EACrF;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAASC,iBAAiB;IAAOC,aAAa;EAAO;EACzE;IAAEH,MAAM;IAAMC,MAAM;IAAWC,iBAAiB;IAAOC,aAAa;EAAO;EAC3E;IAAEH,MAAM;IAAMC,MAAM;IAAgBC,iBAAiB;IAAOC,aAAa;EAAM;EAC/E;IAAEH,MAAM;IAAMC,MAAM;IAAUC,iBAAiB;IAAOC,aAAa;EAAO;EAC1E;IAAEH,MAAM;IAAMC,MAAM;IAAYC,iBAAiB;IAAOC,aAAa;EAAO;;AAGvE,IAAMC,oBAAyC,IAAIC,IAAIN,cAAcO,IAAI,CAACC,YAAYA,QAAQP,IAAI,CAAA;;;ADhQlG,SAASQ,UAAUC,mBAAqC;AAC7D,SAAO,CAACC,QAAgBC,iBAAAA;AACtBC,kDAAkB;MAChBC,MAAM;MACNH,QAAQA,OAAO;MACfC,cAAcG,OAAOH,YAAAA;MACrBI,SAASN;MACTO,WAAW;QACTC,SAASC,OAAc;AACrB,cAAI,OAAOA,UAAU,SAAU,QAAO;AACtC,iBAAOC,kBAAkBC,IAAIF,MAAMG,YAAW,CAAA;QAChD;QACAC,eAAeC,MAAyB;AACtC,iBAAO,GAAGA,KAAKC,QAAQ;QACzB;MACF;IACF,CAAA;EACF;AACF;AAlBgBhB;;;AEChB,IAAMiB,UAAU;AAET,IAAMC,sBAAsB,IAAID,OAAAA;AAChC,IAAME,6BAA6B,IAAIF,OAAAA,OAAcA,OAAAA;AAErD,IAAMG,eAAe,IAAIC,OAAOH,mBAAAA;AAChC,IAAMI,sBAAsB,IAAID,OAAOF,0BAAAA;AAOvC,SAASI,YAAYC,SAAqB;AAC/C,SAAOA,SAASC,SAASH,sBAAsBF;AACjD;AAFgBG;AAKT,SAASG,kBAAkBF,SAAqB;AACrD,SAAOA,SAASC,SAASN,6BAA6BD;AACxD;AAFgBQ;AAKT,SAASC,YAAYC,UAAkBJ,SAAqB;AACjE,SAAOA,SAASC,SACZ,GAAGG,QAAAA,gDACH,GAAGA,QAAAA;AACT;AAJgBD;;;AC3BhB,IAAAE,0BAAoF;AAI7E,SAASC,OAAOC,SAAuBC,mBAAqC;AACjF,QAAMC,UAAUC,YAAYH,OAAAA;AAC5B,SAAO,CAACI,QAAgBC,iBAAAA;AACtBC,mDAAkB;MAChBC,MAAM;MACNH,QAAQA,OAAO;MACfC,cAAcG,OAAOH,YAAAA;MACrBL,SAASC;MACTQ,WAAW;QACTC,SAASC,OAAc;AACrB,iBAAO,OAAOA,UAAU,YAAYT,QAAQU,KAAKD,KAAAA;QACnD;QACAE,eAAeC,MAAyB;AACtC,iBAAOC,YAAYD,KAAKE,UAAUhB,OAAAA;QACpC;MACF;IACF,CAAA;EACF;AACF;AAlBgBD;;;ACJhB,IAAAkB,0BAAoF;AAEpF,IAAMC,yBAAyB;AAExB,SAASC,WAAWC,mBAAqC;AAC9D,SAAO,CAACC,QAAgBC,iBAAAA;AACtBC,mDAAkB;MAChBC,MAAM;MACNH,QAAQA,OAAO;MACfC,cAAcG,OAAOH,YAAAA;MACrBI,SAASN;MACTO,WAAW;QACTC,SAASC,OAAc;AACrB,cAAI,OAAOA,UAAU,SAAU,QAAO;AACtC,cAAI,CAACX,uBAAuBY,KAAKD,KAAAA,EAAQ,QAAO;AAChD,iBAAO,CAACE,OAAOC,MAAMC,KAAKC,MAAML,KAAAA,CAAAA;QAClC;QACAM,eAAeC,MAAyB;AACtC,iBAAO,GAAGA,KAAKC,QAAQ;QACzB;MACF;IACF,CAAA;EACF;AACF;AAnBgBlB;;;ACJhB,+BAA0B;AAQnB,SAASmB,KAAKC,SAAqB;AACxC,QAAMC,UAAUD,SAASC,WAAW;AACpC,aAAOC,oCAAU,CAAC,EAAEC,MAAK,MAAE;AACzB,QAAI,OAAOA,UAAU,SAAU,QAAOA;AACtC,UAAMC,UAAUD,MAAME,KAAI;AAC1B,WAAOJ,UAAUG,WAAW,OAAOA;EACrC,CAAA;AACF;AAPgBL;","names":["ISO_COUNTRIES","code","name","defaultCurrency","callingCode","ISO_COUNTRY_CODES","Set","map","country","IsCountry","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","ISO_COUNTRY_CODES","has","toUpperCase","defaultMessage","args","property","SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codePattern","options","dotted","codePatternSource","codeMessage","property","import_class_validator","IsCode","options","validationOptions","pattern","codePattern","target","propertyName","registerDecorator","name","String","validator","validate","value","test","defaultMessage","args","codeMessage","property","import_class_validator","UTC_ISO_DATETIME_REGEX","IsDateTime","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","test","Number","isNaN","Date","parse","defaultMessage","args","property","Trim","options","nullify","Transform","value","trimmed","trim"]}
1
+ {"version":3,"sources":["../src/decorators/index.ts","../src/countries/is-country.decorator.ts","../src/countries/iso-countries.ts","../src/decorators/code-pattern.ts","../src/decorators/is-code.decorator.ts","../src/decorators/is-date-time.decorator.ts","../src/decorators/trim.decorator.ts"],"sourcesContent":["export { IsCountry } from '../countries/is-country.decorator';\nexport {\n CODE_PATTERN,\n CODE_PATTERN_SOURCE,\n type CodeOptions,\n codeMessage,\n codePattern,\n codePatternSource,\n DOTTED_CODE_PATTERN,\n DOTTED_CODE_PATTERN_SOURCE,\n} from './code-pattern';\nexport { IsCode } from './is-code.decorator';\nexport { IsDateTime } from './is-date-time.decorator';\nexport { Trim, type TrimOptions } from './trim.decorator';\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { ISO_COUNTRY_CODES } from './iso-countries';\n\nexport function IsCountry(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCountry',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n return ISO_COUNTRY_CODES.has(value.toUpperCase());\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a valid ISO 3166-1 alpha-2 country code.`;\n },\n },\n });\n };\n}\n","export interface IsoCountry {\n code: string;\n name: string;\n defaultCurrency: string;\n callingCode: string;\n}\n\nexport const ISO_COUNTRIES: readonly IsoCountry[] = [\n { code: 'AD', name: 'Andorra', defaultCurrency: 'EUR', callingCode: '+376' },\n { code: 'AE', name: 'United Arab Emirates', defaultCurrency: 'AED', callingCode: '+971' },\n { code: 'AF', name: 'Afghanistan', defaultCurrency: 'AFN', callingCode: '+93' },\n { code: 'AG', name: 'Antigua and Barbuda', defaultCurrency: 'XCD', callingCode: '+1268' },\n { code: 'AI', name: 'Anguilla', defaultCurrency: 'XCD', callingCode: '+1264' },\n { code: 'AL', name: 'Albania', defaultCurrency: 'ALL', callingCode: '+355' },\n { code: 'AM', name: 'Armenia', defaultCurrency: 'AMD', callingCode: '+374' },\n { code: 'AO', name: 'Angola', defaultCurrency: 'AOA', callingCode: '+244' },\n { code: 'AQ', name: 'Antarctica', defaultCurrency: 'USD', callingCode: '+672' },\n { code: 'AR', name: 'Argentina', defaultCurrency: 'ARS', callingCode: '+54' },\n { code: 'AS', name: 'American Samoa', defaultCurrency: 'USD', callingCode: '+1684' },\n { code: 'AT', name: 'Austria', defaultCurrency: 'EUR', callingCode: '+43' },\n { code: 'AU', name: 'Australia', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'AW', name: 'Aruba', defaultCurrency: 'AWG', callingCode: '+297' },\n { code: 'AX', name: 'Åland Islands', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'AZ', name: 'Azerbaijan', defaultCurrency: 'AZN', callingCode: '+994' },\n { code: 'BA', name: 'Bosnia and Herzegovina', defaultCurrency: 'BAM', callingCode: '+387' },\n { code: 'BB', name: 'Barbados', defaultCurrency: 'BBD', callingCode: '+1246' },\n { code: 'BD', name: 'Bangladesh', defaultCurrency: 'BDT', callingCode: '+880' },\n { code: 'BE', name: 'Belgium', defaultCurrency: 'EUR', callingCode: '+32' },\n { code: 'BF', name: 'Burkina Faso', defaultCurrency: 'XOF', callingCode: '+226' },\n { code: 'BG', name: 'Bulgaria', defaultCurrency: 'BGN', callingCode: '+359' },\n { code: 'BH', name: 'Bahrain', defaultCurrency: 'BHD', callingCode: '+973' },\n { code: 'BI', name: 'Burundi', defaultCurrency: 'BIF', callingCode: '+257' },\n { code: 'BJ', name: 'Benin', defaultCurrency: 'XOF', callingCode: '+229' },\n { code: 'BL', name: 'Saint Barthélemy', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'BM', name: 'Bermuda', defaultCurrency: 'BMD', callingCode: '+1441' },\n { code: 'BN', name: 'Brunei Darussalam', defaultCurrency: 'BND', callingCode: '+673' },\n { code: 'BO', name: 'Bolivia', defaultCurrency: 'BOB', callingCode: '+591' },\n { code: 'BQ', name: 'Bonaire, Sint Eustatius and Saba', defaultCurrency: 'USD', callingCode: '+599' },\n { code: 'BR', name: 'Brazil', defaultCurrency: 'BRL', callingCode: '+55' },\n { code: 'BS', name: 'Bahamas', defaultCurrency: 'BSD', callingCode: '+1242' },\n { code: 'BT', name: 'Bhutan', defaultCurrency: 'BTN', callingCode: '+975' },\n { code: 'BV', name: 'Bouvet Island', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'BW', name: 'Botswana', defaultCurrency: 'BWP', callingCode: '+267' },\n { code: 'BY', name: 'Belarus', defaultCurrency: 'BYN', callingCode: '+375' },\n { code: 'BZ', name: 'Belize', defaultCurrency: 'BZD', callingCode: '+501' },\n { code: 'CA', name: 'Canada', defaultCurrency: 'CAD', callingCode: '+1' },\n { code: 'CC', name: 'Cocos (Keeling) Islands', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CD', name: 'Congo, Democratic Republic of the', defaultCurrency: 'CDF', callingCode: '+243' },\n { code: 'CF', name: 'Central African Republic', defaultCurrency: 'XAF', callingCode: '+236' },\n { code: 'CG', name: 'Congo', defaultCurrency: 'XAF', callingCode: '+242' },\n { code: 'CH', name: 'Switzerland', defaultCurrency: 'CHF', callingCode: '+41' },\n { code: 'CI', name: \"Côte d'Ivoire\", defaultCurrency: 'XOF', callingCode: '+225' },\n { code: 'CK', name: 'Cook Islands', defaultCurrency: 'NZD', callingCode: '+682' },\n { code: 'CL', name: 'Chile', defaultCurrency: 'CLP', callingCode: '+56' },\n { code: 'CM', name: 'Cameroon', defaultCurrency: 'XAF', callingCode: '+237' },\n { code: 'CN', name: 'China', defaultCurrency: 'CNY', callingCode: '+86' },\n { code: 'CO', name: 'Colombia', defaultCurrency: 'COP', callingCode: '+57' },\n { code: 'CR', name: 'Costa Rica', defaultCurrency: 'CRC', callingCode: '+506' },\n { code: 'CU', name: 'Cuba', defaultCurrency: 'CUP', callingCode: '+53' },\n { code: 'CV', name: 'Cabo Verde', defaultCurrency: 'CVE', callingCode: '+238' },\n { code: 'CW', name: 'Curaçao', defaultCurrency: 'ANG', callingCode: '+599' },\n { code: 'CX', name: 'Christmas Island', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CY', name: 'Cyprus', defaultCurrency: 'EUR', callingCode: '+357' },\n { code: 'CZ', name: 'Czechia', defaultCurrency: 'CZK', callingCode: '+420' },\n { code: 'DE', name: 'Germany', defaultCurrency: 'EUR', callingCode: '+49' },\n { code: 'DJ', name: 'Djibouti', defaultCurrency: 'DJF', callingCode: '+253' },\n { code: 'DK', name: 'Denmark', defaultCurrency: 'DKK', callingCode: '+45' },\n { code: 'DM', name: 'Dominica', defaultCurrency: 'XCD', callingCode: '+1767' },\n { code: 'DO', name: 'Dominican Republic', defaultCurrency: 'DOP', callingCode: '+1809' },\n { code: 'DZ', name: 'Algeria', defaultCurrency: 'DZD', callingCode: '+213' },\n { code: 'EC', name: 'Ecuador', defaultCurrency: 'USD', callingCode: '+593' },\n { code: 'EE', name: 'Estonia', defaultCurrency: 'EUR', callingCode: '+372' },\n { code: 'EG', name: 'Egypt', defaultCurrency: 'EGP', callingCode: '+20' },\n { code: 'EH', name: 'Western Sahara', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'ER', name: 'Eritrea', defaultCurrency: 'ERN', callingCode: '+291' },\n { code: 'ES', name: 'Spain', defaultCurrency: 'EUR', callingCode: '+34' },\n { code: 'ET', name: 'Ethiopia', defaultCurrency: 'ETB', callingCode: '+251' },\n { code: 'FI', name: 'Finland', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'FJ', name: 'Fiji', defaultCurrency: 'FJD', callingCode: '+679' },\n { code: 'FK', name: 'Falkland Islands (Malvinas)', defaultCurrency: 'FKP', callingCode: '+500' },\n { code: 'FM', name: 'Micronesia (Federated States of)', defaultCurrency: 'USD', callingCode: '+691' },\n { code: 'FO', name: 'Faroe Islands', defaultCurrency: 'DKK', callingCode: '+298' },\n { code: 'FR', name: 'France', defaultCurrency: 'EUR', callingCode: '+33' },\n { code: 'GA', name: 'Gabon', defaultCurrency: 'XAF', callingCode: '+241' },\n { code: 'GB', name: 'United Kingdom', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GD', name: 'Grenada', defaultCurrency: 'XCD', callingCode: '+1473' },\n { code: 'GE', name: 'Georgia', defaultCurrency: 'GEL', callingCode: '+995' },\n { code: 'GF', name: 'French Guiana', defaultCurrency: 'EUR', callingCode: '+594' },\n { code: 'GG', name: 'Guernsey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GH', name: 'Ghana', defaultCurrency: 'GHS', callingCode: '+233' },\n { code: 'GI', name: 'Gibraltar', defaultCurrency: 'GIP', callingCode: '+350' },\n { code: 'GL', name: 'Greenland', defaultCurrency: 'DKK', callingCode: '+299' },\n { code: 'GM', name: 'Gambia', defaultCurrency: 'GMD', callingCode: '+220' },\n { code: 'GN', name: 'Guinea', defaultCurrency: 'GNF', callingCode: '+224' },\n { code: 'GP', name: 'Guadeloupe', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'GQ', name: 'Equatorial Guinea', defaultCurrency: 'XAF', callingCode: '+240' },\n { code: 'GR', name: 'Greece', defaultCurrency: 'EUR', callingCode: '+30' },\n { code: 'GS', name: 'South Georgia and the South Sandwich Islands', defaultCurrency: 'GBP', callingCode: '+500' },\n { code: 'GT', name: 'Guatemala', defaultCurrency: 'GTQ', callingCode: '+502' },\n { code: 'GU', name: 'Guam', defaultCurrency: 'USD', callingCode: '+1671' },\n { code: 'GW', name: 'Guinea-Bissau', defaultCurrency: 'XOF', callingCode: '+245' },\n { code: 'GY', name: 'Guyana', defaultCurrency: 'GYD', callingCode: '+592' },\n { code: 'HK', name: 'Hong Kong', defaultCurrency: 'HKD', callingCode: '+852' },\n { code: 'HM', name: 'Heard Island and McDonald Islands', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'HN', name: 'Honduras', defaultCurrency: 'HNL', callingCode: '+504' },\n { code: 'HR', name: 'Croatia', defaultCurrency: 'EUR', callingCode: '+385' },\n { code: 'HT', name: 'Haiti', defaultCurrency: 'HTG', callingCode: '+509' },\n { code: 'HU', name: 'Hungary', defaultCurrency: 'HUF', callingCode: '+36' },\n { code: 'ID', name: 'Indonesia', defaultCurrency: 'IDR', callingCode: '+62' },\n { code: 'IE', name: 'Ireland', defaultCurrency: 'EUR', callingCode: '+353' },\n { code: 'IL', name: 'Israel', defaultCurrency: 'ILS', callingCode: '+972' },\n { code: 'IM', name: 'Isle of Man', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'IN', name: 'India', defaultCurrency: 'INR', callingCode: '+91' },\n { code: 'IO', name: 'British Indian Ocean Territory', defaultCurrency: 'USD', callingCode: '+246' },\n { code: 'IQ', name: 'Iraq', defaultCurrency: 'IQD', callingCode: '+964' },\n { code: 'IR', name: 'Iran', defaultCurrency: 'IRR', callingCode: '+98' },\n { code: 'IS', name: 'Iceland', defaultCurrency: 'ISK', callingCode: '+354' },\n { code: 'IT', name: 'Italy', defaultCurrency: 'EUR', callingCode: '+39' },\n { code: 'JE', name: 'Jersey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'JM', name: 'Jamaica', defaultCurrency: 'JMD', callingCode: '+1876' },\n { code: 'JO', name: 'Jordan', defaultCurrency: 'JOD', callingCode: '+962' },\n { code: 'JP', name: 'Japan', defaultCurrency: 'JPY', callingCode: '+81' },\n { code: 'KE', name: 'Kenya', defaultCurrency: 'KES', callingCode: '+254' },\n { code: 'KG', name: 'Kyrgyzstan', defaultCurrency: 'KGS', callingCode: '+996' },\n { code: 'KH', name: 'Cambodia', defaultCurrency: 'KHR', callingCode: '+855' },\n { code: 'KI', name: 'Kiribati', defaultCurrency: 'AUD', callingCode: '+686' },\n { code: 'KM', name: 'Comoros', defaultCurrency: 'KMF', callingCode: '+269' },\n { code: 'KN', name: 'Saint Kitts and Nevis', defaultCurrency: 'XCD', callingCode: '+1869' },\n { code: 'KP', name: \"Korea (Democratic People's Republic of)\", defaultCurrency: 'KPW', callingCode: '+850' },\n { code: 'KR', name: 'Korea (Republic of)', defaultCurrency: 'KRW', callingCode: '+82' },\n { code: 'KW', name: 'Kuwait', defaultCurrency: 'KWD', callingCode: '+965' },\n { code: 'KY', name: 'Cayman Islands', defaultCurrency: 'KYD', callingCode: '+1345' },\n { code: 'KZ', name: 'Kazakhstan', defaultCurrency: 'KZT', callingCode: '+7' },\n { code: 'LA', name: \"Lao People's Democratic Republic\", defaultCurrency: 'LAK', callingCode: '+856' },\n { code: 'LB', name: 'Lebanon', defaultCurrency: 'LBP', callingCode: '+961' },\n { code: 'LC', name: 'Saint Lucia', defaultCurrency: 'XCD', callingCode: '+1758' },\n { code: 'LI', name: 'Liechtenstein', defaultCurrency: 'CHF', callingCode: '+423' },\n { code: 'LK', name: 'Sri Lanka', defaultCurrency: 'LKR', callingCode: '+94' },\n { code: 'LR', name: 'Liberia', defaultCurrency: 'LRD', callingCode: '+231' },\n { code: 'LS', name: 'Lesotho', defaultCurrency: 'LSL', callingCode: '+266' },\n { code: 'LT', name: 'Lithuania', defaultCurrency: 'EUR', callingCode: '+370' },\n { code: 'LU', name: 'Luxembourg', defaultCurrency: 'EUR', callingCode: '+352' },\n { code: 'LV', name: 'Latvia', defaultCurrency: 'EUR', callingCode: '+371' },\n { code: 'LY', name: 'Libya', defaultCurrency: 'LYD', callingCode: '+218' },\n { code: 'MA', name: 'Morocco', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'MC', name: 'Monaco', defaultCurrency: 'EUR', callingCode: '+377' },\n { code: 'MD', name: 'Moldova', defaultCurrency: 'MDL', callingCode: '+373' },\n { code: 'ME', name: 'Montenegro', defaultCurrency: 'EUR', callingCode: '+382' },\n { code: 'MF', name: 'Saint Martin (French part)', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'MG', name: 'Madagascar', defaultCurrency: 'MGA', callingCode: '+261' },\n { code: 'MH', name: 'Marshall Islands', defaultCurrency: 'USD', callingCode: '+692' },\n { code: 'MK', name: 'North Macedonia', defaultCurrency: 'MKD', callingCode: '+389' },\n { code: 'ML', name: 'Mali', defaultCurrency: 'XOF', callingCode: '+223' },\n { code: 'MM', name: 'Myanmar', defaultCurrency: 'MMK', callingCode: '+95' },\n { code: 'MN', name: 'Mongolia', defaultCurrency: 'MNT', callingCode: '+976' },\n { code: 'MO', name: 'Macao', defaultCurrency: 'MOP', callingCode: '+853' },\n { code: 'MP', name: 'Northern Mariana Islands', defaultCurrency: 'USD', callingCode: '+1670' },\n { code: 'MQ', name: 'Martinique', defaultCurrency: 'EUR', callingCode: '+596' },\n { code: 'MR', name: 'Mauritania', defaultCurrency: 'MRU', callingCode: '+222' },\n { code: 'MS', name: 'Montserrat', defaultCurrency: 'XCD', callingCode: '+1664' },\n { code: 'MT', name: 'Malta', defaultCurrency: 'EUR', callingCode: '+356' },\n { code: 'MU', name: 'Mauritius', defaultCurrency: 'MUR', callingCode: '+230' },\n { code: 'MV', name: 'Maldives', defaultCurrency: 'MVR', callingCode: '+960' },\n { code: 'MW', name: 'Malawi', defaultCurrency: 'MWK', callingCode: '+265' },\n { code: 'MX', name: 'Mexico', defaultCurrency: 'MXN', callingCode: '+52' },\n { code: 'MY', name: 'Malaysia', defaultCurrency: 'MYR', callingCode: '+60' },\n { code: 'MZ', name: 'Mozambique', defaultCurrency: 'MZN', callingCode: '+258' },\n { code: 'NA', name: 'Namibia', defaultCurrency: 'NAD', callingCode: '+264' },\n { code: 'NC', name: 'New Caledonia', defaultCurrency: 'XPF', callingCode: '+687' },\n { code: 'NE', name: 'Niger', defaultCurrency: 'XOF', callingCode: '+227' },\n { code: 'NF', name: 'Norfolk Island', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'NG', name: 'Nigeria', defaultCurrency: 'NGN', callingCode: '+234' },\n { code: 'NI', name: 'Nicaragua', defaultCurrency: 'NIO', callingCode: '+505' },\n { code: 'NL', name: 'Netherlands', defaultCurrency: 'EUR', callingCode: '+31' },\n { code: 'NO', name: 'Norway', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'NP', name: 'Nepal', defaultCurrency: 'NPR', callingCode: '+977' },\n { code: 'NR', name: 'Nauru', defaultCurrency: 'AUD', callingCode: '+674' },\n { code: 'NU', name: 'Niue', defaultCurrency: 'NZD', callingCode: '+683' },\n { code: 'NZ', name: 'New Zealand', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'OM', name: 'Oman', defaultCurrency: 'OMR', callingCode: '+968' },\n { code: 'PA', name: 'Panama', defaultCurrency: 'PAB', callingCode: '+507' },\n { code: 'PE', name: 'Peru', defaultCurrency: 'PEN', callingCode: '+51' },\n { code: 'PF', name: 'French Polynesia', defaultCurrency: 'XPF', callingCode: '+689' },\n { code: 'PG', name: 'Papua New Guinea', defaultCurrency: 'PGK', callingCode: '+675' },\n { code: 'PH', name: 'Philippines', defaultCurrency: 'PHP', callingCode: '+63' },\n { code: 'PK', name: 'Pakistan', defaultCurrency: 'PKR', callingCode: '+92' },\n { code: 'PL', name: 'Poland', defaultCurrency: 'PLN', callingCode: '+48' },\n { code: 'PM', name: 'Saint Pierre and Miquelon', defaultCurrency: 'EUR', callingCode: '+508' },\n { code: 'PN', name: 'Pitcairn', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'PR', name: 'Puerto Rico', defaultCurrency: 'USD', callingCode: '+1787' },\n { code: 'PS', name: 'Palestine, State of', defaultCurrency: 'ILS', callingCode: '+970' },\n { code: 'PT', name: 'Portugal', defaultCurrency: 'EUR', callingCode: '+351' },\n { code: 'PW', name: 'Palau', defaultCurrency: 'USD', callingCode: '+680' },\n { code: 'PY', name: 'Paraguay', defaultCurrency: 'PYG', callingCode: '+595' },\n { code: 'QA', name: 'Qatar', defaultCurrency: 'QAR', callingCode: '+974' },\n { code: 'RE', name: 'Réunion', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'RO', name: 'Romania', defaultCurrency: 'RON', callingCode: '+40' },\n { code: 'RS', name: 'Serbia', defaultCurrency: 'RSD', callingCode: '+381' },\n { code: 'RU', name: 'Russian Federation', defaultCurrency: 'RUB', callingCode: '+7' },\n { code: 'RW', name: 'Rwanda', defaultCurrency: 'RWF', callingCode: '+250' },\n { code: 'SA', name: 'Saudi Arabia', defaultCurrency: 'SAR', callingCode: '+966' },\n { code: 'SB', name: 'Solomon Islands', defaultCurrency: 'SBD', callingCode: '+677' },\n { code: 'SC', name: 'Seychelles', defaultCurrency: 'SCR', callingCode: '+248' },\n { code: 'SD', name: 'Sudan', defaultCurrency: 'SDG', callingCode: '+249' },\n { code: 'SE', name: 'Sweden', defaultCurrency: 'SEK', callingCode: '+46' },\n { code: 'SG', name: 'Singapore', defaultCurrency: 'SGD', callingCode: '+65' },\n { code: 'SH', name: 'Saint Helena, Ascension and Tristan da Cunha', defaultCurrency: 'SHP', callingCode: '+290' },\n { code: 'SI', name: 'Slovenia', defaultCurrency: 'EUR', callingCode: '+386' },\n { code: 'SJ', name: 'Svalbard and Jan Mayen', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'SK', name: 'Slovakia', defaultCurrency: 'EUR', callingCode: '+421' },\n { code: 'SL', name: 'Sierra Leone', defaultCurrency: 'SLE', callingCode: '+232' },\n { code: 'SM', name: 'San Marino', defaultCurrency: 'EUR', callingCode: '+378' },\n { code: 'SN', name: 'Senegal', defaultCurrency: 'XOF', callingCode: '+221' },\n { code: 'SO', name: 'Somalia', defaultCurrency: 'SOS', callingCode: '+252' },\n { code: 'SR', name: 'Suriname', defaultCurrency: 'SRD', callingCode: '+597' },\n { code: 'SS', name: 'South Sudan', defaultCurrency: 'SSP', callingCode: '+211' },\n { code: 'ST', name: 'Sao Tome and Principe', defaultCurrency: 'STN', callingCode: '+239' },\n { code: 'SV', name: 'El Salvador', defaultCurrency: 'USD', callingCode: '+503' },\n { code: 'SX', name: 'Sint Maarten (Dutch part)', defaultCurrency: 'ANG', callingCode: '+1721' },\n { code: 'SY', name: 'Syrian Arab Republic', defaultCurrency: 'SYP', callingCode: '+963' },\n { code: 'SZ', name: 'Eswatini', defaultCurrency: 'SZL', callingCode: '+268' },\n { code: 'TC', name: 'Turks and Caicos Islands', defaultCurrency: 'USD', callingCode: '+1649' },\n { code: 'TD', name: 'Chad', defaultCurrency: 'XAF', callingCode: '+235' },\n { code: 'TF', name: 'French Southern Territories', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'TG', name: 'Togo', defaultCurrency: 'XOF', callingCode: '+228' },\n { code: 'TH', name: 'Thailand', defaultCurrency: 'THB', callingCode: '+66' },\n { code: 'TJ', name: 'Tajikistan', defaultCurrency: 'TJS', callingCode: '+992' },\n { code: 'TK', name: 'Tokelau', defaultCurrency: 'NZD', callingCode: '+690' },\n { code: 'TL', name: 'Timor-Leste', defaultCurrency: 'USD', callingCode: '+670' },\n { code: 'TM', name: 'Turkmenistan', defaultCurrency: 'TMT', callingCode: '+993' },\n { code: 'TN', name: 'Tunisia', defaultCurrency: 'TND', callingCode: '+216' },\n { code: 'TO', name: 'Tonga', defaultCurrency: 'TOP', callingCode: '+676' },\n { code: 'TR', name: 'Türkiye', defaultCurrency: 'TRY', callingCode: '+90' },\n { code: 'TT', name: 'Trinidad and Tobago', defaultCurrency: 'TTD', callingCode: '+1868' },\n { code: 'TV', name: 'Tuvalu', defaultCurrency: 'AUD', callingCode: '+688' },\n { code: 'TW', name: 'Taiwan (Province of China)', defaultCurrency: 'TWD', callingCode: '+886' },\n { code: 'TZ', name: 'Tanzania, United Republic of', defaultCurrency: 'TZS', callingCode: '+255' },\n { code: 'UA', name: 'Ukraine', defaultCurrency: 'UAH', callingCode: '+380' },\n { code: 'UG', name: 'Uganda', defaultCurrency: 'UGX', callingCode: '+256' },\n { code: 'UM', name: 'United States Minor Outlying Islands', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'US', name: 'United States of America', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'UY', name: 'Uruguay', defaultCurrency: 'UYU', callingCode: '+598' },\n { code: 'UZ', name: 'Uzbekistan', defaultCurrency: 'UZS', callingCode: '+998' },\n { code: 'VA', name: 'Holy See', defaultCurrency: 'EUR', callingCode: '+379' },\n { code: 'VC', name: 'Saint Vincent and the Grenadines', defaultCurrency: 'XCD', callingCode: '+1784' },\n { code: 'VE', name: 'Venezuela (Bolivarian Republic of)', defaultCurrency: 'VES', callingCode: '+58' },\n { code: 'VG', name: 'Virgin Islands (British)', defaultCurrency: 'USD', callingCode: '+1284' },\n { code: 'VI', name: 'Virgin Islands (U.S.)', defaultCurrency: 'USD', callingCode: '+1340' },\n { code: 'VN', name: 'Viet Nam', defaultCurrency: 'VND', callingCode: '+84' },\n { code: 'VU', name: 'Vanuatu', defaultCurrency: 'VUV', callingCode: '+678' },\n { code: 'WF', name: 'Wallis and Futuna', defaultCurrency: 'XPF', callingCode: '+681' },\n { code: 'WS', name: 'Samoa', defaultCurrency: 'WST', callingCode: '+685' },\n { code: 'YE', name: 'Yemen', defaultCurrency: 'YER', callingCode: '+967' },\n { code: 'YT', name: 'Mayotte', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'ZA', name: 'South Africa', defaultCurrency: 'ZAR', callingCode: '+27' },\n { code: 'ZM', name: 'Zambia', defaultCurrency: 'ZMW', callingCode: '+260' },\n { code: 'ZW', name: 'Zimbabwe', defaultCurrency: 'ZWG', callingCode: '+263' },\n];\n\nexport const ISO_COUNTRY_CODES: ReadonlySet<string> = new Set(ISO_COUNTRIES.map((country) => country.code));\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word of letters, digits, and hyphens, starting with a letter or digit.\n// Real-world codes lead with a digit often enough (pack sizes \"62g\", sizes \"5xl\") that requiring a\n// leading letter forced callers to mangle them.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z0-9][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { type CodeOptions, codeMessage, codePattern } from './code-pattern';\n\n// Validates a canonical lowercase-kebab code. Pass { dotted: true } for dot-separated codes (permissions).\nexport function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator {\n const pattern = codePattern(options);\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCode',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n return typeof value === 'string' && pattern.test(value);\n },\n defaultMessage(args: ValidationArguments): string {\n return codeMessage(args.property, options);\n },\n },\n });\n };\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\n\nconst UTC_ISO_DATETIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$/;\n\nexport function IsDateTime(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isDateTime',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n if (!UTC_ISO_DATETIME_REGEX.test(value)) return false;\n return !Number.isNaN(Date.parse(value));\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a UTC ISO date-time string ending with Z.`;\n },\n },\n });\n };\n}\n","import { Transform } from 'class-transformer';\n\nexport interface TrimOptions {\n nullify?: boolean;\n}\n\n// Trims a string field; by default converts a blank result ('') to null. Leaves non-strings\n// (undefined stays undefined → skip, null stays null → clear) untouched, preserving update semantics.\nexport function Trim(options?: TrimOptions): PropertyDecorator {\n const nullify = options?.nullify ?? true;\n return Transform(({ value }) => {\n if (typeof value !== 'string') return value;\n const trimmed = value.trim();\n return nullify ? trimmed || null : trimmed;\n });\n}\n"],"mappings":"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","names":["ISO_COUNTRIES","code","name","defaultCurrency","callingCode","ISO_COUNTRY_CODES","Set","map","country","IsCountry","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","ISO_COUNTRY_CODES","has","toUpperCase","defaultMessage","args","property","SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codePattern","options","dotted","codePatternSource","codeMessage","property","import_class_validator","IsCode","options","validationOptions","pattern","codePattern","target","propertyName","registerDecorator","name","String","validator","validate","value","test","defaultMessage","args","codeMessage","property","import_class_validator","UTC_ISO_DATETIME_REGEX","IsDateTime","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","test","Number","isNaN","Date","parse","defaultMessage","args","property","Trim","options","nullify","Transform","value","trimmed","trim"]}
@@ -1,6 +1,6 @@
1
1
  export { I as IsCountry } from './is-country.decorator-CcNwSSr5.cjs';
2
- import { C as CodeOptions } from './code-pattern-BP4zkNtT.cjs';
3
- export { a as CODE_PATTERN, b as CODE_PATTERN_SOURCE, D as DOTTED_CODE_PATTERN, f as DOTTED_CODE_PATTERN_SOURCE, c as codeMessage, d as codePattern, e as codePatternSource } from './code-pattern-BP4zkNtT.cjs';
2
+ import { C as CodeOptions } from './code-pattern-DMlbIwwn.cjs';
3
+ export { a as CODE_PATTERN, b as CODE_PATTERN_SOURCE, D as DOTTED_CODE_PATTERN, c as DOTTED_CODE_PATTERN_SOURCE, d as codeMessage, e as codePattern, f as codePatternSource } from './code-pattern-DMlbIwwn.cjs';
4
4
  import { ValidationOptions } from 'class-validator';
5
5
 
6
6
  declare function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator;
@@ -1,6 +1,6 @@
1
1
  export { I as IsCountry } from './is-country.decorator-CcNwSSr5.js';
2
- import { C as CodeOptions } from './code-pattern-BP4zkNtT.js';
3
- export { a as CODE_PATTERN, b as CODE_PATTERN_SOURCE, D as DOTTED_CODE_PATTERN, f as DOTTED_CODE_PATTERN_SOURCE, c as codeMessage, d as codePattern, e as codePatternSource } from './code-pattern-BP4zkNtT.js';
2
+ import { C as CodeOptions } from './code-pattern-DMlbIwwn.js';
3
+ export { a as CODE_PATTERN, b as CODE_PATTERN_SOURCE, D as DOTTED_CODE_PATTERN, c as DOTTED_CODE_PATTERN_SOURCE, d as codeMessage, e as codePattern, f as codePatternSource } from './code-pattern-DMlbIwwn.js';
4
4
  import { ValidationOptions } from 'class-validator';
5
5
 
6
6
  declare function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator;
@@ -1526,7 +1526,7 @@ function IsCountry(validationOptions) {
1526
1526
  __name(IsCountry, "IsCountry");
1527
1527
 
1528
1528
  // src/decorators/code-pattern.ts
1529
- var SEGMENT = "[a-z][a-z0-9-]*";
1529
+ var SEGMENT = "[a-z0-9][a-z0-9-]*";
1530
1530
  var CODE_PATTERN_SOURCE = `^${SEGMENT}$`;
1531
1531
  var DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\.${SEGMENT})*$`;
1532
1532
  var CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/countries/is-country.decorator.ts","../src/countries/iso-countries.ts","../src/decorators/code-pattern.ts","../src/decorators/is-code.decorator.ts","../src/decorators/is-date-time.decorator.ts","../src/decorators/trim.decorator.ts"],"sourcesContent":["import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { ISO_COUNTRY_CODES } from './iso-countries';\n\nexport function IsCountry(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCountry',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n return ISO_COUNTRY_CODES.has(value.toUpperCase());\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a valid ISO 3166-1 alpha-2 country code.`;\n },\n },\n });\n };\n}\n","export interface IsoCountry {\n code: string;\n name: string;\n defaultCurrency: string;\n callingCode: string;\n}\n\nexport const ISO_COUNTRIES: readonly IsoCountry[] = [\n { code: 'AD', name: 'Andorra', defaultCurrency: 'EUR', callingCode: '+376' },\n { code: 'AE', name: 'United Arab Emirates', defaultCurrency: 'AED', callingCode: '+971' },\n { code: 'AF', name: 'Afghanistan', defaultCurrency: 'AFN', callingCode: '+93' },\n { code: 'AG', name: 'Antigua and Barbuda', defaultCurrency: 'XCD', callingCode: '+1268' },\n { code: 'AI', name: 'Anguilla', defaultCurrency: 'XCD', callingCode: '+1264' },\n { code: 'AL', name: 'Albania', defaultCurrency: 'ALL', callingCode: '+355' },\n { code: 'AM', name: 'Armenia', defaultCurrency: 'AMD', callingCode: '+374' },\n { code: 'AO', name: 'Angola', defaultCurrency: 'AOA', callingCode: '+244' },\n { code: 'AQ', name: 'Antarctica', defaultCurrency: 'USD', callingCode: '+672' },\n { code: 'AR', name: 'Argentina', defaultCurrency: 'ARS', callingCode: '+54' },\n { code: 'AS', name: 'American Samoa', defaultCurrency: 'USD', callingCode: '+1684' },\n { code: 'AT', name: 'Austria', defaultCurrency: 'EUR', callingCode: '+43' },\n { code: 'AU', name: 'Australia', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'AW', name: 'Aruba', defaultCurrency: 'AWG', callingCode: '+297' },\n { code: 'AX', name: 'Åland Islands', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'AZ', name: 'Azerbaijan', defaultCurrency: 'AZN', callingCode: '+994' },\n { code: 'BA', name: 'Bosnia and Herzegovina', defaultCurrency: 'BAM', callingCode: '+387' },\n { code: 'BB', name: 'Barbados', defaultCurrency: 'BBD', callingCode: '+1246' },\n { code: 'BD', name: 'Bangladesh', defaultCurrency: 'BDT', callingCode: '+880' },\n { code: 'BE', name: 'Belgium', defaultCurrency: 'EUR', callingCode: '+32' },\n { code: 'BF', name: 'Burkina Faso', defaultCurrency: 'XOF', callingCode: '+226' },\n { code: 'BG', name: 'Bulgaria', defaultCurrency: 'BGN', callingCode: '+359' },\n { code: 'BH', name: 'Bahrain', defaultCurrency: 'BHD', callingCode: '+973' },\n { code: 'BI', name: 'Burundi', defaultCurrency: 'BIF', callingCode: '+257' },\n { code: 'BJ', name: 'Benin', defaultCurrency: 'XOF', callingCode: '+229' },\n { code: 'BL', name: 'Saint Barthélemy', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'BM', name: 'Bermuda', defaultCurrency: 'BMD', callingCode: '+1441' },\n { code: 'BN', name: 'Brunei Darussalam', defaultCurrency: 'BND', callingCode: '+673' },\n { code: 'BO', name: 'Bolivia', defaultCurrency: 'BOB', callingCode: '+591' },\n { code: 'BQ', name: 'Bonaire, Sint Eustatius and Saba', defaultCurrency: 'USD', callingCode: '+599' },\n { code: 'BR', name: 'Brazil', defaultCurrency: 'BRL', callingCode: '+55' },\n { code: 'BS', name: 'Bahamas', defaultCurrency: 'BSD', callingCode: '+1242' },\n { code: 'BT', name: 'Bhutan', defaultCurrency: 'BTN', callingCode: '+975' },\n { code: 'BV', name: 'Bouvet Island', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'BW', name: 'Botswana', defaultCurrency: 'BWP', callingCode: '+267' },\n { code: 'BY', name: 'Belarus', defaultCurrency: 'BYN', callingCode: '+375' },\n { code: 'BZ', name: 'Belize', defaultCurrency: 'BZD', callingCode: '+501' },\n { code: 'CA', name: 'Canada', defaultCurrency: 'CAD', callingCode: '+1' },\n { code: 'CC', name: 'Cocos (Keeling) Islands', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CD', name: 'Congo, Democratic Republic of the', defaultCurrency: 'CDF', callingCode: '+243' },\n { code: 'CF', name: 'Central African Republic', defaultCurrency: 'XAF', callingCode: '+236' },\n { code: 'CG', name: 'Congo', defaultCurrency: 'XAF', callingCode: '+242' },\n { code: 'CH', name: 'Switzerland', defaultCurrency: 'CHF', callingCode: '+41' },\n { code: 'CI', name: \"Côte d'Ivoire\", defaultCurrency: 'XOF', callingCode: '+225' },\n { code: 'CK', name: 'Cook Islands', defaultCurrency: 'NZD', callingCode: '+682' },\n { code: 'CL', name: 'Chile', defaultCurrency: 'CLP', callingCode: '+56' },\n { code: 'CM', name: 'Cameroon', defaultCurrency: 'XAF', callingCode: '+237' },\n { code: 'CN', name: 'China', defaultCurrency: 'CNY', callingCode: '+86' },\n { code: 'CO', name: 'Colombia', defaultCurrency: 'COP', callingCode: '+57' },\n { code: 'CR', name: 'Costa Rica', defaultCurrency: 'CRC', callingCode: '+506' },\n { code: 'CU', name: 'Cuba', defaultCurrency: 'CUP', callingCode: '+53' },\n { code: 'CV', name: 'Cabo Verde', defaultCurrency: 'CVE', callingCode: '+238' },\n { code: 'CW', name: 'Curaçao', defaultCurrency: 'ANG', callingCode: '+599' },\n { code: 'CX', name: 'Christmas Island', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CY', name: 'Cyprus', defaultCurrency: 'EUR', callingCode: '+357' },\n { code: 'CZ', name: 'Czechia', defaultCurrency: 'CZK', callingCode: '+420' },\n { code: 'DE', name: 'Germany', defaultCurrency: 'EUR', callingCode: '+49' },\n { code: 'DJ', name: 'Djibouti', defaultCurrency: 'DJF', callingCode: '+253' },\n { code: 'DK', name: 'Denmark', defaultCurrency: 'DKK', callingCode: '+45' },\n { code: 'DM', name: 'Dominica', defaultCurrency: 'XCD', callingCode: '+1767' },\n { code: 'DO', name: 'Dominican Republic', defaultCurrency: 'DOP', callingCode: '+1809' },\n { code: 'DZ', name: 'Algeria', defaultCurrency: 'DZD', callingCode: '+213' },\n { code: 'EC', name: 'Ecuador', defaultCurrency: 'USD', callingCode: '+593' },\n { code: 'EE', name: 'Estonia', defaultCurrency: 'EUR', callingCode: '+372' },\n { code: 'EG', name: 'Egypt', defaultCurrency: 'EGP', callingCode: '+20' },\n { code: 'EH', name: 'Western Sahara', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'ER', name: 'Eritrea', defaultCurrency: 'ERN', callingCode: '+291' },\n { code: 'ES', name: 'Spain', defaultCurrency: 'EUR', callingCode: '+34' },\n { code: 'ET', name: 'Ethiopia', defaultCurrency: 'ETB', callingCode: '+251' },\n { code: 'FI', name: 'Finland', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'FJ', name: 'Fiji', defaultCurrency: 'FJD', callingCode: '+679' },\n { code: 'FK', name: 'Falkland Islands (Malvinas)', defaultCurrency: 'FKP', callingCode: '+500' },\n { code: 'FM', name: 'Micronesia (Federated States of)', defaultCurrency: 'USD', callingCode: '+691' },\n { code: 'FO', name: 'Faroe Islands', defaultCurrency: 'DKK', callingCode: '+298' },\n { code: 'FR', name: 'France', defaultCurrency: 'EUR', callingCode: '+33' },\n { code: 'GA', name: 'Gabon', defaultCurrency: 'XAF', callingCode: '+241' },\n { code: 'GB', name: 'United Kingdom', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GD', name: 'Grenada', defaultCurrency: 'XCD', callingCode: '+1473' },\n { code: 'GE', name: 'Georgia', defaultCurrency: 'GEL', callingCode: '+995' },\n { code: 'GF', name: 'French Guiana', defaultCurrency: 'EUR', callingCode: '+594' },\n { code: 'GG', name: 'Guernsey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GH', name: 'Ghana', defaultCurrency: 'GHS', callingCode: '+233' },\n { code: 'GI', name: 'Gibraltar', defaultCurrency: 'GIP', callingCode: '+350' },\n { code: 'GL', name: 'Greenland', defaultCurrency: 'DKK', callingCode: '+299' },\n { code: 'GM', name: 'Gambia', defaultCurrency: 'GMD', callingCode: '+220' },\n { code: 'GN', name: 'Guinea', defaultCurrency: 'GNF', callingCode: '+224' },\n { code: 'GP', name: 'Guadeloupe', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'GQ', name: 'Equatorial Guinea', defaultCurrency: 'XAF', callingCode: '+240' },\n { code: 'GR', name: 'Greece', defaultCurrency: 'EUR', callingCode: '+30' },\n { code: 'GS', name: 'South Georgia and the South Sandwich Islands', defaultCurrency: 'GBP', callingCode: '+500' },\n { code: 'GT', name: 'Guatemala', defaultCurrency: 'GTQ', callingCode: '+502' },\n { code: 'GU', name: 'Guam', defaultCurrency: 'USD', callingCode: '+1671' },\n { code: 'GW', name: 'Guinea-Bissau', defaultCurrency: 'XOF', callingCode: '+245' },\n { code: 'GY', name: 'Guyana', defaultCurrency: 'GYD', callingCode: '+592' },\n { code: 'HK', name: 'Hong Kong', defaultCurrency: 'HKD', callingCode: '+852' },\n { code: 'HM', name: 'Heard Island and McDonald Islands', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'HN', name: 'Honduras', defaultCurrency: 'HNL', callingCode: '+504' },\n { code: 'HR', name: 'Croatia', defaultCurrency: 'EUR', callingCode: '+385' },\n { code: 'HT', name: 'Haiti', defaultCurrency: 'HTG', callingCode: '+509' },\n { code: 'HU', name: 'Hungary', defaultCurrency: 'HUF', callingCode: '+36' },\n { code: 'ID', name: 'Indonesia', defaultCurrency: 'IDR', callingCode: '+62' },\n { code: 'IE', name: 'Ireland', defaultCurrency: 'EUR', callingCode: '+353' },\n { code: 'IL', name: 'Israel', defaultCurrency: 'ILS', callingCode: '+972' },\n { code: 'IM', name: 'Isle of Man', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'IN', name: 'India', defaultCurrency: 'INR', callingCode: '+91' },\n { code: 'IO', name: 'British Indian Ocean Territory', defaultCurrency: 'USD', callingCode: '+246' },\n { code: 'IQ', name: 'Iraq', defaultCurrency: 'IQD', callingCode: '+964' },\n { code: 'IR', name: 'Iran', defaultCurrency: 'IRR', callingCode: '+98' },\n { code: 'IS', name: 'Iceland', defaultCurrency: 'ISK', callingCode: '+354' },\n { code: 'IT', name: 'Italy', defaultCurrency: 'EUR', callingCode: '+39' },\n { code: 'JE', name: 'Jersey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'JM', name: 'Jamaica', defaultCurrency: 'JMD', callingCode: '+1876' },\n { code: 'JO', name: 'Jordan', defaultCurrency: 'JOD', callingCode: '+962' },\n { code: 'JP', name: 'Japan', defaultCurrency: 'JPY', callingCode: '+81' },\n { code: 'KE', name: 'Kenya', defaultCurrency: 'KES', callingCode: '+254' },\n { code: 'KG', name: 'Kyrgyzstan', defaultCurrency: 'KGS', callingCode: '+996' },\n { code: 'KH', name: 'Cambodia', defaultCurrency: 'KHR', callingCode: '+855' },\n { code: 'KI', name: 'Kiribati', defaultCurrency: 'AUD', callingCode: '+686' },\n { code: 'KM', name: 'Comoros', defaultCurrency: 'KMF', callingCode: '+269' },\n { code: 'KN', name: 'Saint Kitts and Nevis', defaultCurrency: 'XCD', callingCode: '+1869' },\n { code: 'KP', name: \"Korea (Democratic People's Republic of)\", defaultCurrency: 'KPW', callingCode: '+850' },\n { code: 'KR', name: 'Korea (Republic of)', defaultCurrency: 'KRW', callingCode: '+82' },\n { code: 'KW', name: 'Kuwait', defaultCurrency: 'KWD', callingCode: '+965' },\n { code: 'KY', name: 'Cayman Islands', defaultCurrency: 'KYD', callingCode: '+1345' },\n { code: 'KZ', name: 'Kazakhstan', defaultCurrency: 'KZT', callingCode: '+7' },\n { code: 'LA', name: \"Lao People's Democratic Republic\", defaultCurrency: 'LAK', callingCode: '+856' },\n { code: 'LB', name: 'Lebanon', defaultCurrency: 'LBP', callingCode: '+961' },\n { code: 'LC', name: 'Saint Lucia', defaultCurrency: 'XCD', callingCode: '+1758' },\n { code: 'LI', name: 'Liechtenstein', defaultCurrency: 'CHF', callingCode: '+423' },\n { code: 'LK', name: 'Sri Lanka', defaultCurrency: 'LKR', callingCode: '+94' },\n { code: 'LR', name: 'Liberia', defaultCurrency: 'LRD', callingCode: '+231' },\n { code: 'LS', name: 'Lesotho', defaultCurrency: 'LSL', callingCode: '+266' },\n { code: 'LT', name: 'Lithuania', defaultCurrency: 'EUR', callingCode: '+370' },\n { code: 'LU', name: 'Luxembourg', defaultCurrency: 'EUR', callingCode: '+352' },\n { code: 'LV', name: 'Latvia', defaultCurrency: 'EUR', callingCode: '+371' },\n { code: 'LY', name: 'Libya', defaultCurrency: 'LYD', callingCode: '+218' },\n { code: 'MA', name: 'Morocco', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'MC', name: 'Monaco', defaultCurrency: 'EUR', callingCode: '+377' },\n { code: 'MD', name: 'Moldova', defaultCurrency: 'MDL', callingCode: '+373' },\n { code: 'ME', name: 'Montenegro', defaultCurrency: 'EUR', callingCode: '+382' },\n { code: 'MF', name: 'Saint Martin (French part)', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'MG', name: 'Madagascar', defaultCurrency: 'MGA', callingCode: '+261' },\n { code: 'MH', name: 'Marshall Islands', defaultCurrency: 'USD', callingCode: '+692' },\n { code: 'MK', name: 'North Macedonia', defaultCurrency: 'MKD', callingCode: '+389' },\n { code: 'ML', name: 'Mali', defaultCurrency: 'XOF', callingCode: '+223' },\n { code: 'MM', name: 'Myanmar', defaultCurrency: 'MMK', callingCode: '+95' },\n { code: 'MN', name: 'Mongolia', defaultCurrency: 'MNT', callingCode: '+976' },\n { code: 'MO', name: 'Macao', defaultCurrency: 'MOP', callingCode: '+853' },\n { code: 'MP', name: 'Northern Mariana Islands', defaultCurrency: 'USD', callingCode: '+1670' },\n { code: 'MQ', name: 'Martinique', defaultCurrency: 'EUR', callingCode: '+596' },\n { code: 'MR', name: 'Mauritania', defaultCurrency: 'MRU', callingCode: '+222' },\n { code: 'MS', name: 'Montserrat', defaultCurrency: 'XCD', callingCode: '+1664' },\n { code: 'MT', name: 'Malta', defaultCurrency: 'EUR', callingCode: '+356' },\n { code: 'MU', name: 'Mauritius', defaultCurrency: 'MUR', callingCode: '+230' },\n { code: 'MV', name: 'Maldives', defaultCurrency: 'MVR', callingCode: '+960' },\n { code: 'MW', name: 'Malawi', defaultCurrency: 'MWK', callingCode: '+265' },\n { code: 'MX', name: 'Mexico', defaultCurrency: 'MXN', callingCode: '+52' },\n { code: 'MY', name: 'Malaysia', defaultCurrency: 'MYR', callingCode: '+60' },\n { code: 'MZ', name: 'Mozambique', defaultCurrency: 'MZN', callingCode: '+258' },\n { code: 'NA', name: 'Namibia', defaultCurrency: 'NAD', callingCode: '+264' },\n { code: 'NC', name: 'New Caledonia', defaultCurrency: 'XPF', callingCode: '+687' },\n { code: 'NE', name: 'Niger', defaultCurrency: 'XOF', callingCode: '+227' },\n { code: 'NF', name: 'Norfolk Island', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'NG', name: 'Nigeria', defaultCurrency: 'NGN', callingCode: '+234' },\n { code: 'NI', name: 'Nicaragua', defaultCurrency: 'NIO', callingCode: '+505' },\n { code: 'NL', name: 'Netherlands', defaultCurrency: 'EUR', callingCode: '+31' },\n { code: 'NO', name: 'Norway', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'NP', name: 'Nepal', defaultCurrency: 'NPR', callingCode: '+977' },\n { code: 'NR', name: 'Nauru', defaultCurrency: 'AUD', callingCode: '+674' },\n { code: 'NU', name: 'Niue', defaultCurrency: 'NZD', callingCode: '+683' },\n { code: 'NZ', name: 'New Zealand', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'OM', name: 'Oman', defaultCurrency: 'OMR', callingCode: '+968' },\n { code: 'PA', name: 'Panama', defaultCurrency: 'PAB', callingCode: '+507' },\n { code: 'PE', name: 'Peru', defaultCurrency: 'PEN', callingCode: '+51' },\n { code: 'PF', name: 'French Polynesia', defaultCurrency: 'XPF', callingCode: '+689' },\n { code: 'PG', name: 'Papua New Guinea', defaultCurrency: 'PGK', callingCode: '+675' },\n { code: 'PH', name: 'Philippines', defaultCurrency: 'PHP', callingCode: '+63' },\n { code: 'PK', name: 'Pakistan', defaultCurrency: 'PKR', callingCode: '+92' },\n { code: 'PL', name: 'Poland', defaultCurrency: 'PLN', callingCode: '+48' },\n { code: 'PM', name: 'Saint Pierre and Miquelon', defaultCurrency: 'EUR', callingCode: '+508' },\n { code: 'PN', name: 'Pitcairn', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'PR', name: 'Puerto Rico', defaultCurrency: 'USD', callingCode: '+1787' },\n { code: 'PS', name: 'Palestine, State of', defaultCurrency: 'ILS', callingCode: '+970' },\n { code: 'PT', name: 'Portugal', defaultCurrency: 'EUR', callingCode: '+351' },\n { code: 'PW', name: 'Palau', defaultCurrency: 'USD', callingCode: '+680' },\n { code: 'PY', name: 'Paraguay', defaultCurrency: 'PYG', callingCode: '+595' },\n { code: 'QA', name: 'Qatar', defaultCurrency: 'QAR', callingCode: '+974' },\n { code: 'RE', name: 'Réunion', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'RO', name: 'Romania', defaultCurrency: 'RON', callingCode: '+40' },\n { code: 'RS', name: 'Serbia', defaultCurrency: 'RSD', callingCode: '+381' },\n { code: 'RU', name: 'Russian Federation', defaultCurrency: 'RUB', callingCode: '+7' },\n { code: 'RW', name: 'Rwanda', defaultCurrency: 'RWF', callingCode: '+250' },\n { code: 'SA', name: 'Saudi Arabia', defaultCurrency: 'SAR', callingCode: '+966' },\n { code: 'SB', name: 'Solomon Islands', defaultCurrency: 'SBD', callingCode: '+677' },\n { code: 'SC', name: 'Seychelles', defaultCurrency: 'SCR', callingCode: '+248' },\n { code: 'SD', name: 'Sudan', defaultCurrency: 'SDG', callingCode: '+249' },\n { code: 'SE', name: 'Sweden', defaultCurrency: 'SEK', callingCode: '+46' },\n { code: 'SG', name: 'Singapore', defaultCurrency: 'SGD', callingCode: '+65' },\n { code: 'SH', name: 'Saint Helena, Ascension and Tristan da Cunha', defaultCurrency: 'SHP', callingCode: '+290' },\n { code: 'SI', name: 'Slovenia', defaultCurrency: 'EUR', callingCode: '+386' },\n { code: 'SJ', name: 'Svalbard and Jan Mayen', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'SK', name: 'Slovakia', defaultCurrency: 'EUR', callingCode: '+421' },\n { code: 'SL', name: 'Sierra Leone', defaultCurrency: 'SLE', callingCode: '+232' },\n { code: 'SM', name: 'San Marino', defaultCurrency: 'EUR', callingCode: '+378' },\n { code: 'SN', name: 'Senegal', defaultCurrency: 'XOF', callingCode: '+221' },\n { code: 'SO', name: 'Somalia', defaultCurrency: 'SOS', callingCode: '+252' },\n { code: 'SR', name: 'Suriname', defaultCurrency: 'SRD', callingCode: '+597' },\n { code: 'SS', name: 'South Sudan', defaultCurrency: 'SSP', callingCode: '+211' },\n { code: 'ST', name: 'Sao Tome and Principe', defaultCurrency: 'STN', callingCode: '+239' },\n { code: 'SV', name: 'El Salvador', defaultCurrency: 'USD', callingCode: '+503' },\n { code: 'SX', name: 'Sint Maarten (Dutch part)', defaultCurrency: 'ANG', callingCode: '+1721' },\n { code: 'SY', name: 'Syrian Arab Republic', defaultCurrency: 'SYP', callingCode: '+963' },\n { code: 'SZ', name: 'Eswatini', defaultCurrency: 'SZL', callingCode: '+268' },\n { code: 'TC', name: 'Turks and Caicos Islands', defaultCurrency: 'USD', callingCode: '+1649' },\n { code: 'TD', name: 'Chad', defaultCurrency: 'XAF', callingCode: '+235' },\n { code: 'TF', name: 'French Southern Territories', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'TG', name: 'Togo', defaultCurrency: 'XOF', callingCode: '+228' },\n { code: 'TH', name: 'Thailand', defaultCurrency: 'THB', callingCode: '+66' },\n { code: 'TJ', name: 'Tajikistan', defaultCurrency: 'TJS', callingCode: '+992' },\n { code: 'TK', name: 'Tokelau', defaultCurrency: 'NZD', callingCode: '+690' },\n { code: 'TL', name: 'Timor-Leste', defaultCurrency: 'USD', callingCode: '+670' },\n { code: 'TM', name: 'Turkmenistan', defaultCurrency: 'TMT', callingCode: '+993' },\n { code: 'TN', name: 'Tunisia', defaultCurrency: 'TND', callingCode: '+216' },\n { code: 'TO', name: 'Tonga', defaultCurrency: 'TOP', callingCode: '+676' },\n { code: 'TR', name: 'Türkiye', defaultCurrency: 'TRY', callingCode: '+90' },\n { code: 'TT', name: 'Trinidad and Tobago', defaultCurrency: 'TTD', callingCode: '+1868' },\n { code: 'TV', name: 'Tuvalu', defaultCurrency: 'AUD', callingCode: '+688' },\n { code: 'TW', name: 'Taiwan (Province of China)', defaultCurrency: 'TWD', callingCode: '+886' },\n { code: 'TZ', name: 'Tanzania, United Republic of', defaultCurrency: 'TZS', callingCode: '+255' },\n { code: 'UA', name: 'Ukraine', defaultCurrency: 'UAH', callingCode: '+380' },\n { code: 'UG', name: 'Uganda', defaultCurrency: 'UGX', callingCode: '+256' },\n { code: 'UM', name: 'United States Minor Outlying Islands', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'US', name: 'United States of America', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'UY', name: 'Uruguay', defaultCurrency: 'UYU', callingCode: '+598' },\n { code: 'UZ', name: 'Uzbekistan', defaultCurrency: 'UZS', callingCode: '+998' },\n { code: 'VA', name: 'Holy See', defaultCurrency: 'EUR', callingCode: '+379' },\n { code: 'VC', name: 'Saint Vincent and the Grenadines', defaultCurrency: 'XCD', callingCode: '+1784' },\n { code: 'VE', name: 'Venezuela (Bolivarian Republic of)', defaultCurrency: 'VES', callingCode: '+58' },\n { code: 'VG', name: 'Virgin Islands (British)', defaultCurrency: 'USD', callingCode: '+1284' },\n { code: 'VI', name: 'Virgin Islands (U.S.)', defaultCurrency: 'USD', callingCode: '+1340' },\n { code: 'VN', name: 'Viet Nam', defaultCurrency: 'VND', callingCode: '+84' },\n { code: 'VU', name: 'Vanuatu', defaultCurrency: 'VUV', callingCode: '+678' },\n { code: 'WF', name: 'Wallis and Futuna', defaultCurrency: 'XPF', callingCode: '+681' },\n { code: 'WS', name: 'Samoa', defaultCurrency: 'WST', callingCode: '+685' },\n { code: 'YE', name: 'Yemen', defaultCurrency: 'YER', callingCode: '+967' },\n { code: 'YT', name: 'Mayotte', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'ZA', name: 'South Africa', defaultCurrency: 'ZAR', callingCode: '+27' },\n { code: 'ZM', name: 'Zambia', defaultCurrency: 'ZMW', callingCode: '+260' },\n { code: 'ZW', name: 'Zimbabwe', defaultCurrency: 'ZWG', callingCode: '+263' },\n];\n\nexport const ISO_COUNTRY_CODES: ReadonlySet<string> = new Set(ISO_COUNTRIES.map((country) => country.code));\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word: starts with a letter, then lowercase letters, digits, or hyphens.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { type CodeOptions, codeMessage, codePattern } from './code-pattern';\n\n// Validates a canonical lowercase-kebab code. Pass { dotted: true } for dot-separated codes (permissions).\nexport function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator {\n const pattern = codePattern(options);\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCode',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n return typeof value === 'string' && pattern.test(value);\n },\n defaultMessage(args: ValidationArguments): string {\n return codeMessage(args.property, options);\n },\n },\n });\n };\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\n\nconst UTC_ISO_DATETIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$/;\n\nexport function IsDateTime(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isDateTime',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n if (!UTC_ISO_DATETIME_REGEX.test(value)) return false;\n return !Number.isNaN(Date.parse(value));\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a UTC ISO date-time string ending with Z.`;\n },\n },\n });\n };\n}\n","import { Transform } from 'class-transformer';\n\nexport interface TrimOptions {\n nullify?: boolean;\n}\n\n// Trims a string field; by default converts a blank result ('') to null. Leaves non-strings\n// (undefined stays undefined → skip, null stays null → clear) untouched, preserving update semantics.\nexport function Trim(options?: TrimOptions): PropertyDecorator {\n const nullify = options?.nullify ?? true;\n return Transform(({ value }) => {\n if (typeof value !== 'string') return value;\n const trimmed = value.trim();\n return nullify ? trimmed || null : trimmed;\n });\n}\n"],"mappings":"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","names":["registerDecorator","ISO_COUNTRIES","code","name","defaultCurrency","callingCode","ISO_COUNTRY_CODES","Set","map","country","IsCountry","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","ISO_COUNTRY_CODES","has","toUpperCase","defaultMessage","args","property","SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codePattern","options","dotted","codePatternSource","codeMessage","property","registerDecorator","IsCode","options","validationOptions","pattern","codePattern","target","propertyName","registerDecorator","name","String","validator","validate","value","test","defaultMessage","args","codeMessage","property","registerDecorator","UTC_ISO_DATETIME_REGEX","IsDateTime","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","test","Number","isNaN","Date","parse","defaultMessage","args","property","Transform","Trim","options","nullify","Transform","value","trimmed","trim"]}
1
+ {"version":3,"sources":["../src/countries/is-country.decorator.ts","../src/countries/iso-countries.ts","../src/decorators/code-pattern.ts","../src/decorators/is-code.decorator.ts","../src/decorators/is-date-time.decorator.ts","../src/decorators/trim.decorator.ts"],"sourcesContent":["import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { ISO_COUNTRY_CODES } from './iso-countries';\n\nexport function IsCountry(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCountry',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n return ISO_COUNTRY_CODES.has(value.toUpperCase());\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a valid ISO 3166-1 alpha-2 country code.`;\n },\n },\n });\n };\n}\n","export interface IsoCountry {\n code: string;\n name: string;\n defaultCurrency: string;\n callingCode: string;\n}\n\nexport const ISO_COUNTRIES: readonly IsoCountry[] = [\n { code: 'AD', name: 'Andorra', defaultCurrency: 'EUR', callingCode: '+376' },\n { code: 'AE', name: 'United Arab Emirates', defaultCurrency: 'AED', callingCode: '+971' },\n { code: 'AF', name: 'Afghanistan', defaultCurrency: 'AFN', callingCode: '+93' },\n { code: 'AG', name: 'Antigua and Barbuda', defaultCurrency: 'XCD', callingCode: '+1268' },\n { code: 'AI', name: 'Anguilla', defaultCurrency: 'XCD', callingCode: '+1264' },\n { code: 'AL', name: 'Albania', defaultCurrency: 'ALL', callingCode: '+355' },\n { code: 'AM', name: 'Armenia', defaultCurrency: 'AMD', callingCode: '+374' },\n { code: 'AO', name: 'Angola', defaultCurrency: 'AOA', callingCode: '+244' },\n { code: 'AQ', name: 'Antarctica', defaultCurrency: 'USD', callingCode: '+672' },\n { code: 'AR', name: 'Argentina', defaultCurrency: 'ARS', callingCode: '+54' },\n { code: 'AS', name: 'American Samoa', defaultCurrency: 'USD', callingCode: '+1684' },\n { code: 'AT', name: 'Austria', defaultCurrency: 'EUR', callingCode: '+43' },\n { code: 'AU', name: 'Australia', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'AW', name: 'Aruba', defaultCurrency: 'AWG', callingCode: '+297' },\n { code: 'AX', name: 'Åland Islands', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'AZ', name: 'Azerbaijan', defaultCurrency: 'AZN', callingCode: '+994' },\n { code: 'BA', name: 'Bosnia and Herzegovina', defaultCurrency: 'BAM', callingCode: '+387' },\n { code: 'BB', name: 'Barbados', defaultCurrency: 'BBD', callingCode: '+1246' },\n { code: 'BD', name: 'Bangladesh', defaultCurrency: 'BDT', callingCode: '+880' },\n { code: 'BE', name: 'Belgium', defaultCurrency: 'EUR', callingCode: '+32' },\n { code: 'BF', name: 'Burkina Faso', defaultCurrency: 'XOF', callingCode: '+226' },\n { code: 'BG', name: 'Bulgaria', defaultCurrency: 'BGN', callingCode: '+359' },\n { code: 'BH', name: 'Bahrain', defaultCurrency: 'BHD', callingCode: '+973' },\n { code: 'BI', name: 'Burundi', defaultCurrency: 'BIF', callingCode: '+257' },\n { code: 'BJ', name: 'Benin', defaultCurrency: 'XOF', callingCode: '+229' },\n { code: 'BL', name: 'Saint Barthélemy', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'BM', name: 'Bermuda', defaultCurrency: 'BMD', callingCode: '+1441' },\n { code: 'BN', name: 'Brunei Darussalam', defaultCurrency: 'BND', callingCode: '+673' },\n { code: 'BO', name: 'Bolivia', defaultCurrency: 'BOB', callingCode: '+591' },\n { code: 'BQ', name: 'Bonaire, Sint Eustatius and Saba', defaultCurrency: 'USD', callingCode: '+599' },\n { code: 'BR', name: 'Brazil', defaultCurrency: 'BRL', callingCode: '+55' },\n { code: 'BS', name: 'Bahamas', defaultCurrency: 'BSD', callingCode: '+1242' },\n { code: 'BT', name: 'Bhutan', defaultCurrency: 'BTN', callingCode: '+975' },\n { code: 'BV', name: 'Bouvet Island', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'BW', name: 'Botswana', defaultCurrency: 'BWP', callingCode: '+267' },\n { code: 'BY', name: 'Belarus', defaultCurrency: 'BYN', callingCode: '+375' },\n { code: 'BZ', name: 'Belize', defaultCurrency: 'BZD', callingCode: '+501' },\n { code: 'CA', name: 'Canada', defaultCurrency: 'CAD', callingCode: '+1' },\n { code: 'CC', name: 'Cocos (Keeling) Islands', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CD', name: 'Congo, Democratic Republic of the', defaultCurrency: 'CDF', callingCode: '+243' },\n { code: 'CF', name: 'Central African Republic', defaultCurrency: 'XAF', callingCode: '+236' },\n { code: 'CG', name: 'Congo', defaultCurrency: 'XAF', callingCode: '+242' },\n { code: 'CH', name: 'Switzerland', defaultCurrency: 'CHF', callingCode: '+41' },\n { code: 'CI', name: \"Côte d'Ivoire\", defaultCurrency: 'XOF', callingCode: '+225' },\n { code: 'CK', name: 'Cook Islands', defaultCurrency: 'NZD', callingCode: '+682' },\n { code: 'CL', name: 'Chile', defaultCurrency: 'CLP', callingCode: '+56' },\n { code: 'CM', name: 'Cameroon', defaultCurrency: 'XAF', callingCode: '+237' },\n { code: 'CN', name: 'China', defaultCurrency: 'CNY', callingCode: '+86' },\n { code: 'CO', name: 'Colombia', defaultCurrency: 'COP', callingCode: '+57' },\n { code: 'CR', name: 'Costa Rica', defaultCurrency: 'CRC', callingCode: '+506' },\n { code: 'CU', name: 'Cuba', defaultCurrency: 'CUP', callingCode: '+53' },\n { code: 'CV', name: 'Cabo Verde', defaultCurrency: 'CVE', callingCode: '+238' },\n { code: 'CW', name: 'Curaçao', defaultCurrency: 'ANG', callingCode: '+599' },\n { code: 'CX', name: 'Christmas Island', defaultCurrency: 'AUD', callingCode: '+61' },\n { code: 'CY', name: 'Cyprus', defaultCurrency: 'EUR', callingCode: '+357' },\n { code: 'CZ', name: 'Czechia', defaultCurrency: 'CZK', callingCode: '+420' },\n { code: 'DE', name: 'Germany', defaultCurrency: 'EUR', callingCode: '+49' },\n { code: 'DJ', name: 'Djibouti', defaultCurrency: 'DJF', callingCode: '+253' },\n { code: 'DK', name: 'Denmark', defaultCurrency: 'DKK', callingCode: '+45' },\n { code: 'DM', name: 'Dominica', defaultCurrency: 'XCD', callingCode: '+1767' },\n { code: 'DO', name: 'Dominican Republic', defaultCurrency: 'DOP', callingCode: '+1809' },\n { code: 'DZ', name: 'Algeria', defaultCurrency: 'DZD', callingCode: '+213' },\n { code: 'EC', name: 'Ecuador', defaultCurrency: 'USD', callingCode: '+593' },\n { code: 'EE', name: 'Estonia', defaultCurrency: 'EUR', callingCode: '+372' },\n { code: 'EG', name: 'Egypt', defaultCurrency: 'EGP', callingCode: '+20' },\n { code: 'EH', name: 'Western Sahara', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'ER', name: 'Eritrea', defaultCurrency: 'ERN', callingCode: '+291' },\n { code: 'ES', name: 'Spain', defaultCurrency: 'EUR', callingCode: '+34' },\n { code: 'ET', name: 'Ethiopia', defaultCurrency: 'ETB', callingCode: '+251' },\n { code: 'FI', name: 'Finland', defaultCurrency: 'EUR', callingCode: '+358' },\n { code: 'FJ', name: 'Fiji', defaultCurrency: 'FJD', callingCode: '+679' },\n { code: 'FK', name: 'Falkland Islands (Malvinas)', defaultCurrency: 'FKP', callingCode: '+500' },\n { code: 'FM', name: 'Micronesia (Federated States of)', defaultCurrency: 'USD', callingCode: '+691' },\n { code: 'FO', name: 'Faroe Islands', defaultCurrency: 'DKK', callingCode: '+298' },\n { code: 'FR', name: 'France', defaultCurrency: 'EUR', callingCode: '+33' },\n { code: 'GA', name: 'Gabon', defaultCurrency: 'XAF', callingCode: '+241' },\n { code: 'GB', name: 'United Kingdom', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GD', name: 'Grenada', defaultCurrency: 'XCD', callingCode: '+1473' },\n { code: 'GE', name: 'Georgia', defaultCurrency: 'GEL', callingCode: '+995' },\n { code: 'GF', name: 'French Guiana', defaultCurrency: 'EUR', callingCode: '+594' },\n { code: 'GG', name: 'Guernsey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'GH', name: 'Ghana', defaultCurrency: 'GHS', callingCode: '+233' },\n { code: 'GI', name: 'Gibraltar', defaultCurrency: 'GIP', callingCode: '+350' },\n { code: 'GL', name: 'Greenland', defaultCurrency: 'DKK', callingCode: '+299' },\n { code: 'GM', name: 'Gambia', defaultCurrency: 'GMD', callingCode: '+220' },\n { code: 'GN', name: 'Guinea', defaultCurrency: 'GNF', callingCode: '+224' },\n { code: 'GP', name: 'Guadeloupe', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'GQ', name: 'Equatorial Guinea', defaultCurrency: 'XAF', callingCode: '+240' },\n { code: 'GR', name: 'Greece', defaultCurrency: 'EUR', callingCode: '+30' },\n { code: 'GS', name: 'South Georgia and the South Sandwich Islands', defaultCurrency: 'GBP', callingCode: '+500' },\n { code: 'GT', name: 'Guatemala', defaultCurrency: 'GTQ', callingCode: '+502' },\n { code: 'GU', name: 'Guam', defaultCurrency: 'USD', callingCode: '+1671' },\n { code: 'GW', name: 'Guinea-Bissau', defaultCurrency: 'XOF', callingCode: '+245' },\n { code: 'GY', name: 'Guyana', defaultCurrency: 'GYD', callingCode: '+592' },\n { code: 'HK', name: 'Hong Kong', defaultCurrency: 'HKD', callingCode: '+852' },\n { code: 'HM', name: 'Heard Island and McDonald Islands', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'HN', name: 'Honduras', defaultCurrency: 'HNL', callingCode: '+504' },\n { code: 'HR', name: 'Croatia', defaultCurrency: 'EUR', callingCode: '+385' },\n { code: 'HT', name: 'Haiti', defaultCurrency: 'HTG', callingCode: '+509' },\n { code: 'HU', name: 'Hungary', defaultCurrency: 'HUF', callingCode: '+36' },\n { code: 'ID', name: 'Indonesia', defaultCurrency: 'IDR', callingCode: '+62' },\n { code: 'IE', name: 'Ireland', defaultCurrency: 'EUR', callingCode: '+353' },\n { code: 'IL', name: 'Israel', defaultCurrency: 'ILS', callingCode: '+972' },\n { code: 'IM', name: 'Isle of Man', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'IN', name: 'India', defaultCurrency: 'INR', callingCode: '+91' },\n { code: 'IO', name: 'British Indian Ocean Territory', defaultCurrency: 'USD', callingCode: '+246' },\n { code: 'IQ', name: 'Iraq', defaultCurrency: 'IQD', callingCode: '+964' },\n { code: 'IR', name: 'Iran', defaultCurrency: 'IRR', callingCode: '+98' },\n { code: 'IS', name: 'Iceland', defaultCurrency: 'ISK', callingCode: '+354' },\n { code: 'IT', name: 'Italy', defaultCurrency: 'EUR', callingCode: '+39' },\n { code: 'JE', name: 'Jersey', defaultCurrency: 'GBP', callingCode: '+44' },\n { code: 'JM', name: 'Jamaica', defaultCurrency: 'JMD', callingCode: '+1876' },\n { code: 'JO', name: 'Jordan', defaultCurrency: 'JOD', callingCode: '+962' },\n { code: 'JP', name: 'Japan', defaultCurrency: 'JPY', callingCode: '+81' },\n { code: 'KE', name: 'Kenya', defaultCurrency: 'KES', callingCode: '+254' },\n { code: 'KG', name: 'Kyrgyzstan', defaultCurrency: 'KGS', callingCode: '+996' },\n { code: 'KH', name: 'Cambodia', defaultCurrency: 'KHR', callingCode: '+855' },\n { code: 'KI', name: 'Kiribati', defaultCurrency: 'AUD', callingCode: '+686' },\n { code: 'KM', name: 'Comoros', defaultCurrency: 'KMF', callingCode: '+269' },\n { code: 'KN', name: 'Saint Kitts and Nevis', defaultCurrency: 'XCD', callingCode: '+1869' },\n { code: 'KP', name: \"Korea (Democratic People's Republic of)\", defaultCurrency: 'KPW', callingCode: '+850' },\n { code: 'KR', name: 'Korea (Republic of)', defaultCurrency: 'KRW', callingCode: '+82' },\n { code: 'KW', name: 'Kuwait', defaultCurrency: 'KWD', callingCode: '+965' },\n { code: 'KY', name: 'Cayman Islands', defaultCurrency: 'KYD', callingCode: '+1345' },\n { code: 'KZ', name: 'Kazakhstan', defaultCurrency: 'KZT', callingCode: '+7' },\n { code: 'LA', name: \"Lao People's Democratic Republic\", defaultCurrency: 'LAK', callingCode: '+856' },\n { code: 'LB', name: 'Lebanon', defaultCurrency: 'LBP', callingCode: '+961' },\n { code: 'LC', name: 'Saint Lucia', defaultCurrency: 'XCD', callingCode: '+1758' },\n { code: 'LI', name: 'Liechtenstein', defaultCurrency: 'CHF', callingCode: '+423' },\n { code: 'LK', name: 'Sri Lanka', defaultCurrency: 'LKR', callingCode: '+94' },\n { code: 'LR', name: 'Liberia', defaultCurrency: 'LRD', callingCode: '+231' },\n { code: 'LS', name: 'Lesotho', defaultCurrency: 'LSL', callingCode: '+266' },\n { code: 'LT', name: 'Lithuania', defaultCurrency: 'EUR', callingCode: '+370' },\n { code: 'LU', name: 'Luxembourg', defaultCurrency: 'EUR', callingCode: '+352' },\n { code: 'LV', name: 'Latvia', defaultCurrency: 'EUR', callingCode: '+371' },\n { code: 'LY', name: 'Libya', defaultCurrency: 'LYD', callingCode: '+218' },\n { code: 'MA', name: 'Morocco', defaultCurrency: 'MAD', callingCode: '+212' },\n { code: 'MC', name: 'Monaco', defaultCurrency: 'EUR', callingCode: '+377' },\n { code: 'MD', name: 'Moldova', defaultCurrency: 'MDL', callingCode: '+373' },\n { code: 'ME', name: 'Montenegro', defaultCurrency: 'EUR', callingCode: '+382' },\n { code: 'MF', name: 'Saint Martin (French part)', defaultCurrency: 'EUR', callingCode: '+590' },\n { code: 'MG', name: 'Madagascar', defaultCurrency: 'MGA', callingCode: '+261' },\n { code: 'MH', name: 'Marshall Islands', defaultCurrency: 'USD', callingCode: '+692' },\n { code: 'MK', name: 'North Macedonia', defaultCurrency: 'MKD', callingCode: '+389' },\n { code: 'ML', name: 'Mali', defaultCurrency: 'XOF', callingCode: '+223' },\n { code: 'MM', name: 'Myanmar', defaultCurrency: 'MMK', callingCode: '+95' },\n { code: 'MN', name: 'Mongolia', defaultCurrency: 'MNT', callingCode: '+976' },\n { code: 'MO', name: 'Macao', defaultCurrency: 'MOP', callingCode: '+853' },\n { code: 'MP', name: 'Northern Mariana Islands', defaultCurrency: 'USD', callingCode: '+1670' },\n { code: 'MQ', name: 'Martinique', defaultCurrency: 'EUR', callingCode: '+596' },\n { code: 'MR', name: 'Mauritania', defaultCurrency: 'MRU', callingCode: '+222' },\n { code: 'MS', name: 'Montserrat', defaultCurrency: 'XCD', callingCode: '+1664' },\n { code: 'MT', name: 'Malta', defaultCurrency: 'EUR', callingCode: '+356' },\n { code: 'MU', name: 'Mauritius', defaultCurrency: 'MUR', callingCode: '+230' },\n { code: 'MV', name: 'Maldives', defaultCurrency: 'MVR', callingCode: '+960' },\n { code: 'MW', name: 'Malawi', defaultCurrency: 'MWK', callingCode: '+265' },\n { code: 'MX', name: 'Mexico', defaultCurrency: 'MXN', callingCode: '+52' },\n { code: 'MY', name: 'Malaysia', defaultCurrency: 'MYR', callingCode: '+60' },\n { code: 'MZ', name: 'Mozambique', defaultCurrency: 'MZN', callingCode: '+258' },\n { code: 'NA', name: 'Namibia', defaultCurrency: 'NAD', callingCode: '+264' },\n { code: 'NC', name: 'New Caledonia', defaultCurrency: 'XPF', callingCode: '+687' },\n { code: 'NE', name: 'Niger', defaultCurrency: 'XOF', callingCode: '+227' },\n { code: 'NF', name: 'Norfolk Island', defaultCurrency: 'AUD', callingCode: '+672' },\n { code: 'NG', name: 'Nigeria', defaultCurrency: 'NGN', callingCode: '+234' },\n { code: 'NI', name: 'Nicaragua', defaultCurrency: 'NIO', callingCode: '+505' },\n { code: 'NL', name: 'Netherlands', defaultCurrency: 'EUR', callingCode: '+31' },\n { code: 'NO', name: 'Norway', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'NP', name: 'Nepal', defaultCurrency: 'NPR', callingCode: '+977' },\n { code: 'NR', name: 'Nauru', defaultCurrency: 'AUD', callingCode: '+674' },\n { code: 'NU', name: 'Niue', defaultCurrency: 'NZD', callingCode: '+683' },\n { code: 'NZ', name: 'New Zealand', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'OM', name: 'Oman', defaultCurrency: 'OMR', callingCode: '+968' },\n { code: 'PA', name: 'Panama', defaultCurrency: 'PAB', callingCode: '+507' },\n { code: 'PE', name: 'Peru', defaultCurrency: 'PEN', callingCode: '+51' },\n { code: 'PF', name: 'French Polynesia', defaultCurrency: 'XPF', callingCode: '+689' },\n { code: 'PG', name: 'Papua New Guinea', defaultCurrency: 'PGK', callingCode: '+675' },\n { code: 'PH', name: 'Philippines', defaultCurrency: 'PHP', callingCode: '+63' },\n { code: 'PK', name: 'Pakistan', defaultCurrency: 'PKR', callingCode: '+92' },\n { code: 'PL', name: 'Poland', defaultCurrency: 'PLN', callingCode: '+48' },\n { code: 'PM', name: 'Saint Pierre and Miquelon', defaultCurrency: 'EUR', callingCode: '+508' },\n { code: 'PN', name: 'Pitcairn', defaultCurrency: 'NZD', callingCode: '+64' },\n { code: 'PR', name: 'Puerto Rico', defaultCurrency: 'USD', callingCode: '+1787' },\n { code: 'PS', name: 'Palestine, State of', defaultCurrency: 'ILS', callingCode: '+970' },\n { code: 'PT', name: 'Portugal', defaultCurrency: 'EUR', callingCode: '+351' },\n { code: 'PW', name: 'Palau', defaultCurrency: 'USD', callingCode: '+680' },\n { code: 'PY', name: 'Paraguay', defaultCurrency: 'PYG', callingCode: '+595' },\n { code: 'QA', name: 'Qatar', defaultCurrency: 'QAR', callingCode: '+974' },\n { code: 'RE', name: 'Réunion', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'RO', name: 'Romania', defaultCurrency: 'RON', callingCode: '+40' },\n { code: 'RS', name: 'Serbia', defaultCurrency: 'RSD', callingCode: '+381' },\n { code: 'RU', name: 'Russian Federation', defaultCurrency: 'RUB', callingCode: '+7' },\n { code: 'RW', name: 'Rwanda', defaultCurrency: 'RWF', callingCode: '+250' },\n { code: 'SA', name: 'Saudi Arabia', defaultCurrency: 'SAR', callingCode: '+966' },\n { code: 'SB', name: 'Solomon Islands', defaultCurrency: 'SBD', callingCode: '+677' },\n { code: 'SC', name: 'Seychelles', defaultCurrency: 'SCR', callingCode: '+248' },\n { code: 'SD', name: 'Sudan', defaultCurrency: 'SDG', callingCode: '+249' },\n { code: 'SE', name: 'Sweden', defaultCurrency: 'SEK', callingCode: '+46' },\n { code: 'SG', name: 'Singapore', defaultCurrency: 'SGD', callingCode: '+65' },\n { code: 'SH', name: 'Saint Helena, Ascension and Tristan da Cunha', defaultCurrency: 'SHP', callingCode: '+290' },\n { code: 'SI', name: 'Slovenia', defaultCurrency: 'EUR', callingCode: '+386' },\n { code: 'SJ', name: 'Svalbard and Jan Mayen', defaultCurrency: 'NOK', callingCode: '+47' },\n { code: 'SK', name: 'Slovakia', defaultCurrency: 'EUR', callingCode: '+421' },\n { code: 'SL', name: 'Sierra Leone', defaultCurrency: 'SLE', callingCode: '+232' },\n { code: 'SM', name: 'San Marino', defaultCurrency: 'EUR', callingCode: '+378' },\n { code: 'SN', name: 'Senegal', defaultCurrency: 'XOF', callingCode: '+221' },\n { code: 'SO', name: 'Somalia', defaultCurrency: 'SOS', callingCode: '+252' },\n { code: 'SR', name: 'Suriname', defaultCurrency: 'SRD', callingCode: '+597' },\n { code: 'SS', name: 'South Sudan', defaultCurrency: 'SSP', callingCode: '+211' },\n { code: 'ST', name: 'Sao Tome and Principe', defaultCurrency: 'STN', callingCode: '+239' },\n { code: 'SV', name: 'El Salvador', defaultCurrency: 'USD', callingCode: '+503' },\n { code: 'SX', name: 'Sint Maarten (Dutch part)', defaultCurrency: 'ANG', callingCode: '+1721' },\n { code: 'SY', name: 'Syrian Arab Republic', defaultCurrency: 'SYP', callingCode: '+963' },\n { code: 'SZ', name: 'Eswatini', defaultCurrency: 'SZL', callingCode: '+268' },\n { code: 'TC', name: 'Turks and Caicos Islands', defaultCurrency: 'USD', callingCode: '+1649' },\n { code: 'TD', name: 'Chad', defaultCurrency: 'XAF', callingCode: '+235' },\n { code: 'TF', name: 'French Southern Territories', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'TG', name: 'Togo', defaultCurrency: 'XOF', callingCode: '+228' },\n { code: 'TH', name: 'Thailand', defaultCurrency: 'THB', callingCode: '+66' },\n { code: 'TJ', name: 'Tajikistan', defaultCurrency: 'TJS', callingCode: '+992' },\n { code: 'TK', name: 'Tokelau', defaultCurrency: 'NZD', callingCode: '+690' },\n { code: 'TL', name: 'Timor-Leste', defaultCurrency: 'USD', callingCode: '+670' },\n { code: 'TM', name: 'Turkmenistan', defaultCurrency: 'TMT', callingCode: '+993' },\n { code: 'TN', name: 'Tunisia', defaultCurrency: 'TND', callingCode: '+216' },\n { code: 'TO', name: 'Tonga', defaultCurrency: 'TOP', callingCode: '+676' },\n { code: 'TR', name: 'Türkiye', defaultCurrency: 'TRY', callingCode: '+90' },\n { code: 'TT', name: 'Trinidad and Tobago', defaultCurrency: 'TTD', callingCode: '+1868' },\n { code: 'TV', name: 'Tuvalu', defaultCurrency: 'AUD', callingCode: '+688' },\n { code: 'TW', name: 'Taiwan (Province of China)', defaultCurrency: 'TWD', callingCode: '+886' },\n { code: 'TZ', name: 'Tanzania, United Republic of', defaultCurrency: 'TZS', callingCode: '+255' },\n { code: 'UA', name: 'Ukraine', defaultCurrency: 'UAH', callingCode: '+380' },\n { code: 'UG', name: 'Uganda', defaultCurrency: 'UGX', callingCode: '+256' },\n { code: 'UM', name: 'United States Minor Outlying Islands', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'US', name: 'United States of America', defaultCurrency: 'USD', callingCode: '+1' },\n { code: 'UY', name: 'Uruguay', defaultCurrency: 'UYU', callingCode: '+598' },\n { code: 'UZ', name: 'Uzbekistan', defaultCurrency: 'UZS', callingCode: '+998' },\n { code: 'VA', name: 'Holy See', defaultCurrency: 'EUR', callingCode: '+379' },\n { code: 'VC', name: 'Saint Vincent and the Grenadines', defaultCurrency: 'XCD', callingCode: '+1784' },\n { code: 'VE', name: 'Venezuela (Bolivarian Republic of)', defaultCurrency: 'VES', callingCode: '+58' },\n { code: 'VG', name: 'Virgin Islands (British)', defaultCurrency: 'USD', callingCode: '+1284' },\n { code: 'VI', name: 'Virgin Islands (U.S.)', defaultCurrency: 'USD', callingCode: '+1340' },\n { code: 'VN', name: 'Viet Nam', defaultCurrency: 'VND', callingCode: '+84' },\n { code: 'VU', name: 'Vanuatu', defaultCurrency: 'VUV', callingCode: '+678' },\n { code: 'WF', name: 'Wallis and Futuna', defaultCurrency: 'XPF', callingCode: '+681' },\n { code: 'WS', name: 'Samoa', defaultCurrency: 'WST', callingCode: '+685' },\n { code: 'YE', name: 'Yemen', defaultCurrency: 'YER', callingCode: '+967' },\n { code: 'YT', name: 'Mayotte', defaultCurrency: 'EUR', callingCode: '+262' },\n { code: 'ZA', name: 'South Africa', defaultCurrency: 'ZAR', callingCode: '+27' },\n { code: 'ZM', name: 'Zambia', defaultCurrency: 'ZMW', callingCode: '+260' },\n { code: 'ZW', name: 'Zimbabwe', defaultCurrency: 'ZWG', callingCode: '+263' },\n];\n\nexport const ISO_COUNTRY_CODES: ReadonlySet<string> = new Set(ISO_COUNTRIES.map((country) => country.code));\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word of letters, digits, and hyphens, starting with a letter or digit.\n// Real-world codes lead with a digit often enough (pack sizes \"62g\", sizes \"5xl\") that requiring a\n// leading letter forced callers to mangle them.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z0-9][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\nimport { type CodeOptions, codeMessage, codePattern } from './code-pattern';\n\n// Validates a canonical lowercase-kebab code. Pass { dotted: true } for dot-separated codes (permissions).\nexport function IsCode(options?: CodeOptions, validationOptions?: ValidationOptions): PropertyDecorator {\n const pattern = codePattern(options);\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isCode',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n return typeof value === 'string' && pattern.test(value);\n },\n defaultMessage(args: ValidationArguments): string {\n return codeMessage(args.property, options);\n },\n },\n });\n };\n}\n","import { registerDecorator, type ValidationArguments, type ValidationOptions } from 'class-validator';\n\nconst UTC_ISO_DATETIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$/;\n\nexport function IsDateTime(validationOptions?: ValidationOptions): PropertyDecorator {\n return (target: object, propertyName: string | symbol) => {\n registerDecorator({\n name: 'isDateTime',\n target: target.constructor,\n propertyName: String(propertyName),\n options: validationOptions,\n validator: {\n validate(value: unknown): boolean {\n if (typeof value !== 'string') return false;\n if (!UTC_ISO_DATETIME_REGEX.test(value)) return false;\n return !Number.isNaN(Date.parse(value));\n },\n defaultMessage(args: ValidationArguments): string {\n return `${args.property} must be a UTC ISO date-time string ending with Z.`;\n },\n },\n });\n };\n}\n","import { Transform } from 'class-transformer';\n\nexport interface TrimOptions {\n nullify?: boolean;\n}\n\n// Trims a string field; by default converts a blank result ('') to null. Leaves non-strings\n// (undefined stays undefined → skip, null stays null → clear) untouched, preserving update semantics.\nexport function Trim(options?: TrimOptions): PropertyDecorator {\n const nullify = options?.nullify ?? true;\n return Transform(({ value }) => {\n if (typeof value !== 'string') return value;\n const trimmed = value.trim();\n return nullify ? trimmed || null : trimmed;\n });\n}\n"],"mappings":"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","names":["registerDecorator","ISO_COUNTRIES","code","name","defaultCurrency","callingCode","ISO_COUNTRY_CODES","Set","map","country","IsCountry","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","ISO_COUNTRY_CODES","has","toUpperCase","defaultMessage","args","property","SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codePattern","options","dotted","codePatternSource","codeMessage","property","registerDecorator","IsCode","options","validationOptions","pattern","codePattern","target","propertyName","registerDecorator","name","String","validator","validate","value","test","defaultMessage","args","codeMessage","property","registerDecorator","UTC_ISO_DATETIME_REGEX","IsDateTime","validationOptions","target","propertyName","registerDecorator","name","String","options","validator","validate","value","test","Number","isNaN","Date","parse","defaultMessage","args","property","Transform","Trim","options","nullify","Transform","value","trimmed","trim"]}
@@ -30,7 +30,7 @@ var import_drizzle_orm = require("drizzle-orm");
30
30
  var import_pg_core = require("drizzle-orm/pg-core");
31
31
 
32
32
  // src/decorators/code-pattern.ts
33
- var SEGMENT = "[a-z][a-z0-9-]*";
33
+ var SEGMENT = "[a-z0-9][a-z0-9-]*";
34
34
  var CODE_PATTERN_SOURCE = `^${SEGMENT}$`;
35
35
  var DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\.${SEGMENT})*$`;
36
36
  var CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drizzle-pg-core.ts","../src/decorators/code-pattern.ts"],"sourcesContent":["// Re-export all of drizzle-orm/pg-core\nexport * from 'drizzle-orm/pg-core';\n\nimport { sql } from 'drizzle-orm';\nimport { type AnyPgColumn, check } from 'drizzle-orm/pg-core';\nimport { CODE_PATTERN_SOURCE, type CodeOptions, DOTTED_CODE_PATTERN_SOURCE } from './decorators/code-pattern';\n\n// Builds a Postgres CHECK constraint enforcing the canonical code format on a column\nexport function codeCheck(name: string, column: AnyPgColumn, options?: CodeOptions) {\n const source = options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n return check(name, sql`${column} ~ ${sql.raw(`'${source}'`)}`);\n}\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word: starts with a letter, then lowercase letters, digits, or hyphens.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AACA,oCAAc,gCADd;AAGA,yBAAoB;AACpB,qBAAwC;;;ACAxC,IAAMA,UAAU;AAET,IAAMC,sBAAsB,IAAID,OAAAA;AAChC,IAAME,6BAA6B,IAAIF,OAAAA,OAAcA,OAAAA;AAErD,IAAMG,eAAe,IAAIC,OAAOH,mBAAAA;AAChC,IAAMI,sBAAsB,IAAID,OAAOF,0BAAAA;;;ADFvC,SAASI,UAAUC,MAAcC,QAAqBC,SAAqB;AAChF,QAAMC,SAASD,SAASE,SAASC,6BAA6BC;AAC9D,aAAOC,sBAAMP,MAAMQ,yBAAMP,MAAAA,MAAYO,uBAAIC,IAAI,IAAIN,MAAAA,GAAS,CAAA,EAAG;AAC/D;AAHgBJ;","names":["SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codeCheck","name","column","options","source","dotted","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN_SOURCE","check","sql","raw"]}
1
+ {"version":3,"sources":["../src/drizzle-pg-core.ts","../src/decorators/code-pattern.ts"],"sourcesContent":["// Re-export all of drizzle-orm/pg-core\nexport * from 'drizzle-orm/pg-core';\n\nimport { sql } from 'drizzle-orm';\nimport { type AnyPgColumn, check } from 'drizzle-orm/pg-core';\nimport { CODE_PATTERN_SOURCE, type CodeOptions, DOTTED_CODE_PATTERN_SOURCE } from './decorators/code-pattern';\n\n// Builds a Postgres CHECK constraint enforcing the canonical code format on a column\nexport function codeCheck(name: string, column: AnyPgColumn, options?: CodeOptions) {\n const source = options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n return check(name, sql`${column} ~ ${sql.raw(`'${source}'`)}`);\n}\n","// Canonical entity \"code\" format — the single source of truth for DTOs, DB checks, and frontend forms.\n// A code is a single lowercase word of letters, digits, and hyphens, starting with a letter or digit.\n// Real-world codes lead with a digit often enough (pack sizes \"62g\", sizes \"5xl\") that requiring a\n// leading letter forced callers to mangle them.\n// The dotted variant allows dot-separated segments (e.g. permission codes like \"add.salt\").\n\nconst SEGMENT = '[a-z0-9][a-z0-9-]*';\n\nexport const CODE_PATTERN_SOURCE = `^${SEGMENT}$`;\nexport const DOTTED_CODE_PATTERN_SOURCE = `^${SEGMENT}(\\\\.${SEGMENT})*$`;\n\nexport const CODE_PATTERN = new RegExp(CODE_PATTERN_SOURCE);\nexport const DOTTED_CODE_PATTERN = new RegExp(DOTTED_CODE_PATTERN_SOURCE);\n\nexport interface CodeOptions {\n dotted?: boolean;\n}\n\n// Returns the regex for the requested code variant\nexport function codePattern(options?: CodeOptions): RegExp {\n return options?.dotted ? DOTTED_CODE_PATTERN : CODE_PATTERN;\n}\n\n// Returns the Postgres regex source string for the requested code variant (for CHECK constraints)\nexport function codePatternSource(options?: CodeOptions): string {\n return options?.dotted ? DOTTED_CODE_PATTERN_SOURCE : CODE_PATTERN_SOURCE;\n}\n\n// Human-readable validation message for the requested code variant\nexport function codeMessage(property: string, options?: CodeOptions): string {\n return options?.dotted\n ? `${property} must be lowercase words separated by dots.`\n : `${property} must be lowercase letters, numbers, and hyphens only.`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AACA,oCAAc,gCADd;AAGA,yBAAoB;AACpB,qBAAwC;;;ACExC,IAAMA,UAAU;AAET,IAAMC,sBAAsB,IAAID,OAAAA;AAChC,IAAME,6BAA6B,IAAIF,OAAAA,OAAcA,OAAAA;AAErD,IAAMG,eAAe,IAAIC,OAAOH,mBAAAA;AAChC,IAAMI,sBAAsB,IAAID,OAAOF,0BAAAA;;;ADJvC,SAASI,UAAUC,MAAcC,QAAqBC,SAAqB;AAChF,QAAMC,SAASD,SAASE,SAASC,6BAA6BC;AAC9D,aAAOC,sBAAMP,MAAMQ,yBAAMP,MAAAA,MAAYO,uBAAIC,IAAI,IAAIN,MAAAA,GAAS,CAAA,EAAG;AAC/D;AAHgBJ;","names":["SEGMENT","CODE_PATTERN_SOURCE","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN","RegExp","DOTTED_CODE_PATTERN","codeCheck","name","column","options","source","dotted","DOTTED_CODE_PATTERN_SOURCE","CODE_PATTERN_SOURCE","check","sql","raw"]}
@@ -1,7 +1,7 @@
1
1
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
2
2
  import { AnyPgColumn } from 'drizzle-orm/pg-core';
3
3
  export * from 'drizzle-orm/pg-core';
4
- import { C as CodeOptions } from './code-pattern-BP4zkNtT.cjs';
4
+ import { C as CodeOptions } from './code-pattern-DMlbIwwn.cjs';
5
5
 
6
6
  declare function codeCheck(name: string, column: AnyPgColumn, options?: CodeOptions): drizzle_orm_pg_core.CheckBuilder;
7
7