@vritti/api-sdk 0.3.14 → 0.3.16

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.
@@ -1603,165 +1603,6 @@ function Trim(options) {
1603
1603
  });
1604
1604
  }
1605
1605
  __name(Trim, "Trim");
1606
-
1607
- // src/decorators/uploaded-file.decorator.ts
1608
- import { createParamDecorator } from "@nestjs/common";
1609
-
1610
- // src/exceptions/bad-gateway.exception.ts
1611
- import { HttpStatus } from "@nestjs/common";
1612
-
1613
- // src/exceptions/base-field.exception.ts
1614
- import { HttpException } from "@nestjs/common";
1615
- var HttpProblemException = class extends HttpException {
1616
- static {
1617
- __name(this, "HttpProblemException");
1618
- }
1619
- constructor(detailOrOptions, httpStatus) {
1620
- const options = typeof detailOrOptions === "string" ? {
1621
- detail: detailOrOptions
1622
- } : detailOrOptions;
1623
- super({
1624
- type: options.type ?? "about:blank",
1625
- label: options.label,
1626
- detail: options.detail,
1627
- errors: options.errors ?? []
1628
- }, httpStatus);
1629
- }
1630
- };
1631
-
1632
- // src/exceptions/bad-request.exception.ts
1633
- import { HttpStatus as HttpStatus2 } from "@nestjs/common";
1634
- var BadRequestException = class extends HttpProblemException {
1635
- static {
1636
- __name(this, "BadRequestException");
1637
- }
1638
- constructor(detailOrOptions) {
1639
- super(detailOrOptions ?? "Bad Request", HttpStatus2.BAD_REQUEST);
1640
- }
1641
- };
1642
-
1643
- // src/exceptions/conflict.exception.ts
1644
- import { HttpStatus as HttpStatus3 } from "@nestjs/common";
1645
-
1646
- // src/exceptions/forbidden.exception.ts
1647
- import { HttpStatus as HttpStatus4 } from "@nestjs/common";
1648
-
1649
- // src/exceptions/gone.exception.ts
1650
- import { HttpStatus as HttpStatus5 } from "@nestjs/common";
1651
-
1652
- // src/exceptions/internal-server-error.exception.ts
1653
- import { HttpStatus as HttpStatus6 } from "@nestjs/common";
1654
-
1655
- // src/exceptions/method-not-allowed.exception.ts
1656
- import { HttpStatus as HttpStatus7 } from "@nestjs/common";
1657
-
1658
- // src/exceptions/not-acceptable.exception.ts
1659
- import { HttpStatus as HttpStatus8 } from "@nestjs/common";
1660
-
1661
- // src/exceptions/not-found.exception.ts
1662
- import { HttpStatus as HttpStatus9 } from "@nestjs/common";
1663
-
1664
- // src/exceptions/not-implemented.exception.ts
1665
- import { HttpStatus as HttpStatus10 } from "@nestjs/common";
1666
-
1667
- // src/exceptions/payload-too-large.exception.ts
1668
- import { HttpStatus as HttpStatus11 } from "@nestjs/common";
1669
-
1670
- // src/exceptions/request-timeout.exception.ts
1671
- import { HttpStatus as HttpStatus12 } from "@nestjs/common";
1672
-
1673
- // src/exceptions/service-unavailable.exception.ts
1674
- import { HttpStatus as HttpStatus13 } from "@nestjs/common";
1675
-
1676
- // src/exceptions/too-many-requests.exception.ts
1677
- import { HttpStatus as HttpStatus14 } from "@nestjs/common";
1678
-
1679
- // src/exceptions/unauthorized.exception.ts
1680
- import { HttpStatus as HttpStatus15 } from "@nestjs/common";
1681
-
1682
- // src/exceptions/unprocessable-entity.exception.ts
1683
- import { HttpStatus as HttpStatus16 } from "@nestjs/common";
1684
-
1685
- // src/exceptions/unsupported-media-type.exception.ts
1686
- import { HttpStatus as HttpStatus17 } from "@nestjs/common";
1687
-
1688
- // src/exceptions/validation.exception.ts
1689
- import { HttpStatus as HttpStatus18 } from "@nestjs/common";
1690
-
1691
- // src/decorators/uploaded-file.decorator.ts
1692
- async function collectFiles(request, fieldName) {
1693
- if (!fieldName) {
1694
- const file = await request.file();
1695
- return {
1696
- files: file ? [
1697
- file
1698
- ] : [],
1699
- consumed: true
1700
- };
1701
- }
1702
- const matched = [];
1703
- for await (const file of request.files()) {
1704
- if (file.fieldname === fieldName) {
1705
- matched.push(file);
1706
- }
1707
- }
1708
- return {
1709
- files: matched,
1710
- consumed: true
1711
- };
1712
- }
1713
- __name(collectFiles, "collectFiles");
1714
- var UploadedFile = createParamDecorator(async (fieldName, ctx) => {
1715
- const request = ctx.switchToHttp().getRequest();
1716
- const { files } = await collectFiles(request, fieldName);
1717
- const file = files[0];
1718
- if (!file) {
1719
- const field = fieldName ?? "file";
1720
- throw new BadRequestException({
1721
- label: "File Required",
1722
- detail: `Please attach a file${fieldName ? ` under "${fieldName}"` : ""} to your request.`,
1723
- errors: [
1724
- {
1725
- field,
1726
- message: "File required"
1727
- }
1728
- ]
1729
- });
1730
- }
1731
- const buffer = await file.toBuffer();
1732
- return {
1733
- buffer,
1734
- filename: file.filename,
1735
- mimetype: file.mimetype
1736
- };
1737
- });
1738
- var UploadedFiles = createParamDecorator(async (fieldName, ctx) => {
1739
- const request = ctx.switchToHttp().getRequest();
1740
- const { files } = await collectFiles(request, fieldName);
1741
- if (files.length === 0) {
1742
- const field = fieldName ?? "files";
1743
- throw new BadRequestException({
1744
- label: "Files Required",
1745
- detail: `Please attach at least one file${fieldName ? ` under "${fieldName}"` : ""} to your request.`,
1746
- errors: [
1747
- {
1748
- field,
1749
- message: "At least one file is required"
1750
- }
1751
- ]
1752
- });
1753
- }
1754
- const results = [];
1755
- for (const file of files) {
1756
- const buffer = await file.toBuffer();
1757
- results.push({
1758
- buffer,
1759
- filename: file.filename,
1760
- mimetype: file.mimetype
1761
- });
1762
- }
1763
- return results;
1764
- });
1765
1606
  export {
1766
1607
  CODE_PATTERN,
1767
1608
  CODE_PATTERN_SOURCE,
@@ -1771,8 +1612,6 @@ export {
1771
1612
  IsCountry,
1772
1613
  IsDateTime,
1773
1614
  Trim,
1774
- UploadedFile,
1775
- UploadedFiles,
1776
1615
  codeMessage,
1777
1616
  codePattern,
1778
1617
  codePatternSource
@@ -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","../src/decorators/uploaded-file.decorator.ts","../src/exceptions/bad-gateway.exception.ts","../src/exceptions/base-field.exception.ts","../src/exceptions/bad-request.exception.ts","../src/exceptions/conflict.exception.ts","../src/exceptions/forbidden.exception.ts","../src/exceptions/gone.exception.ts","../src/exceptions/internal-server-error.exception.ts","../src/exceptions/method-not-allowed.exception.ts","../src/exceptions/not-acceptable.exception.ts","../src/exceptions/not-found.exception.ts","../src/exceptions/not-implemented.exception.ts","../src/exceptions/payload-too-large.exception.ts","../src/exceptions/request-timeout.exception.ts","../src/exceptions/service-unavailable.exception.ts","../src/exceptions/too-many-requests.exception.ts","../src/exceptions/unauthorized.exception.ts","../src/exceptions/unprocessable-entity.exception.ts","../src/exceptions/unsupported-media-type.exception.ts","../src/exceptions/validation.exception.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","import type { MultipartFile } from '@fastify/multipart';\nimport { createParamDecorator, type ExecutionContext } from '@nestjs/common';\nimport type { FastifyRequest } from 'fastify';\nimport { BadRequestException } from '../exceptions';\n\nexport interface UploadedFileResult {\n buffer: Buffer;\n filename: string;\n mimetype: string;\n}\n\nasync function collectFiles(\n request: FastifyRequest,\n fieldName?: string,\n): Promise<{ files: MultipartFile[]; consumed: boolean }> {\n // Single-file shortcut when no fieldName filter is needed\n if (!fieldName) {\n const file = await request.file();\n return { files: file ? [file] : [], consumed: true };\n }\n\n const matched: MultipartFile[] = [];\n for await (const file of request.files()) {\n if (file.fieldname === fieldName) {\n matched.push(file);\n }\n }\n return { files: matched, consumed: true };\n}\n\nexport const UploadedFile = createParamDecorator(\n async (fieldName: string | undefined, ctx: ExecutionContext): Promise<UploadedFileResult> => {\n const request = ctx.switchToHttp().getRequest<FastifyRequest>();\n const { files } = await collectFiles(request, fieldName);\n const file = files[0];\n\n if (!file) {\n const field = fieldName ?? 'file';\n throw new BadRequestException({\n label: 'File Required',\n detail: `Please attach a file${fieldName ? ` under \"${fieldName}\"` : ''} to your request.`,\n errors: [{ field, message: 'File required' }],\n });\n }\n\n const buffer = await file.toBuffer();\n return { buffer, filename: file.filename, mimetype: file.mimetype };\n },\n);\n\nexport const UploadedFiles = createParamDecorator(\n async (fieldName: string | undefined, ctx: ExecutionContext): Promise<UploadedFileResult[]> => {\n const request = ctx.switchToHttp().getRequest<FastifyRequest>();\n const { files } = await collectFiles(request, fieldName);\n\n if (files.length === 0) {\n const field = fieldName ?? 'files';\n throw new BadRequestException({\n label: 'Files Required',\n detail: `Please attach at least one file${fieldName ? ` under \"${fieldName}\"` : ''} to your request.`,\n errors: [{ field, message: 'At least one file is required' }],\n });\n }\n\n const results: UploadedFileResult[] = [];\n for (const file of files) {\n const buffer = await file.toBuffer();\n results.push({ buffer, filename: file.filename, mimetype: file.mimetype });\n }\n return results;\n },\n);\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class BadGatewayException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Bad Gateway', HttpStatus.BAD_GATEWAY);\n }\n}\n","import { HttpException, HttpStatus } from '@nestjs/common';\nimport type { FieldError } from '../types/error-response.types';\n\n// Re-export FieldError for backwards compatibility\nexport type { FieldError } from '../types/error-response.types';\n\nexport interface ProblemOptions {\n type?: string;\n label?: string;\n detail?: string;\n errors?: FieldError[];\n}\n\nexport abstract class HttpProblemException extends HttpException {\n constructor(detailOrOptions: string | ProblemOptions, httpStatus: HttpStatus) {\n const options = typeof detailOrOptions === 'string' ? { detail: detailOrOptions } : detailOrOptions;\n\n super(\n {\n type: options.type ?? 'about:blank',\n label: options.label,\n detail: options.detail,\n errors: options.errors ?? [],\n },\n httpStatus,\n );\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class BadRequestException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Bad Request', HttpStatus.BAD_REQUEST);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class ConflictException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Conflict', HttpStatus.CONFLICT);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class ForbiddenException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Forbidden', HttpStatus.FORBIDDEN);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class GoneException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Gone', HttpStatus.GONE);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class InternalServerErrorException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Internal Server Error', HttpStatus.INTERNAL_SERVER_ERROR);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class MethodNotAllowedException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Method Not Allowed', HttpStatus.METHOD_NOT_ALLOWED);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class NotAcceptableException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Not Acceptable', HttpStatus.NOT_ACCEPTABLE);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class NotFoundException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Not Found', HttpStatus.NOT_FOUND);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class NotImplementedException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Not Implemented', HttpStatus.NOT_IMPLEMENTED);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class PayloadTooLargeException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Payload Too Large', HttpStatus.PAYLOAD_TOO_LARGE);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class RequestTimeoutException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Request Timeout', HttpStatus.REQUEST_TIMEOUT);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class ServiceUnavailableException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Service Unavailable', HttpStatus.SERVICE_UNAVAILABLE);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class TooManyRequestsException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Too Many Requests', HttpStatus.TOO_MANY_REQUESTS);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class UnauthorizedException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Unauthorized', HttpStatus.UNAUTHORIZED);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class UnprocessableEntityException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Unprocessable Entity', HttpStatus.UNPROCESSABLE_ENTITY);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class UnsupportedMediaTypeException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Unsupported Media Type', HttpStatus.UNSUPPORTED_MEDIA_TYPE);\n }\n}\n","import { HttpStatus } from '@nestjs/common';\nimport { HttpProblemException, type ProblemOptions } from './base-field.exception';\n\nexport class ValidationException extends HttpProblemException {\n constructor(detailOrOptions?: string | ProblemOptions) {\n super(detailOrOptions ?? 'Validation Failed', HttpStatus.UNPROCESSABLE_ENTITY);\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","createParamDecorator","HttpStatus","HttpException","HttpProblemException","HttpException","detailOrOptions","httpStatus","options","detail","type","label","errors","HttpStatus","BadRequestException","HttpProblemException","detailOrOptions","HttpStatus","BAD_REQUEST","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","HttpStatus","collectFiles","request","fieldName","file","files","consumed","matched","fieldname","push","UploadedFile","createParamDecorator","ctx","switchToHttp","getRequest","field","BadRequestException","label","detail","errors","message","buffer","toBuffer","filename","mimetype","UploadedFiles","length","results"]}
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"]}