@formatjs/utils 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { countryCodeAlpha3ToAlpha2 } from './src/countryCodes';
1
+ export { canonicalizeCountryCode } from './src/countryCodes';
2
+ export { defaultCurrency } from './src/defaultCurrency';
package/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.countryCodeAlpha3ToAlpha2 = void 0;
3
+ exports.defaultCurrency = exports.canonicalizeCountryCode = void 0;
4
4
  var countryCodes_1 = require("./src/countryCodes");
5
- Object.defineProperty(exports, "countryCodeAlpha3ToAlpha2", { enumerable: true, get: function () { return countryCodes_1.countryCodeAlpha3ToAlpha2; } });
5
+ Object.defineProperty(exports, "canonicalizeCountryCode", { enumerable: true, get: function () { return countryCodes_1.canonicalizeCountryCode; } });
6
+ var defaultCurrency_1 = require("./src/defaultCurrency");
7
+ Object.defineProperty(exports, "defaultCurrency", { enumerable: true, get: function () { return defaultCurrency_1.defaultCurrency; } });
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { countryCodeAlpha3ToAlpha2 } from './src/countryCodes';
1
+ export { canonicalizeCountryCode } from './src/countryCodes';
2
+ export { defaultCurrency } from './src/defaultCurrency';
package/lib/index.js CHANGED
@@ -1 +1,2 @@
1
- export { countryCodeAlpha3ToAlpha2 } from './src/countryCodes';
1
+ export { canonicalizeCountryCode } from './src/countryCodes';
2
+ export { defaultCurrency } from './src/defaultCurrency';
@@ -1 +1,6 @@
1
- export declare function countryCodeAlpha3ToAlpha2(alpha3?: string): string | undefined;
1
+ /**
2
+ * Canonicalize a country code to a alpha2 country code (uppercase).
3
+ * @param alpha3OrAlpha2 - 2 or 3 letter country code (case-insensitive)
4
+ * @returns canonicalized 2 letter country code (uppercase) or undefined if not found
5
+ */
6
+ export declare function canonicalizeCountryCode(alpha3OrAlpha2?: string): string | undefined;
@@ -1,12 +1,17 @@
1
- import alpha3CountryCodes from './iso3166Alpha3CountryCodes.json';
1
+ import * as alpha3CountryCodes from './iso3166Alpha3CountryCodes.json';
2
2
  var COUNTRY_CODE_ALPHA2 = new Set(Object.keys(alpha3CountryCodes).map(function (key) { return alpha3CountryCodes[key]; }));
3
- export function countryCodeAlpha3ToAlpha2(alpha3) {
4
- if (!alpha3) {
3
+ /**
4
+ * Canonicalize a country code to a alpha2 country code (uppercase).
5
+ * @param alpha3OrAlpha2 - 2 or 3 letter country code (case-insensitive)
6
+ * @returns canonicalized 2 letter country code (uppercase) or undefined if not found
7
+ */
8
+ export function canonicalizeCountryCode(alpha3OrAlpha2) {
9
+ if (!alpha3OrAlpha2) {
5
10
  return;
6
11
  }
7
- var upper = alpha3.toUpperCase();
12
+ var upper = alpha3OrAlpha2.toUpperCase();
8
13
  // Lenient here, if it's already a 2 letter code, just return it
9
- if (alpha3.length === 2) {
14
+ if (upper.length === 2) {
10
15
  return COUNTRY_CODE_ALPHA2.has(upper) ? upper : undefined;
11
16
  }
12
17
  return alpha3CountryCodes[upper];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Look up default currency for a country code.
3
+ * @param countryCode country code (alpha-2)
4
+ * @returns default currency code, or USD if not found
5
+ */
6
+ export declare function defaultCurrency(countryCode?: string): string | undefined;
@@ -0,0 +1,11 @@
1
+ import { canonicalizeCountryCode } from './countryCodes';
2
+ import * as data from './defaultCurrencyData.generated.json';
3
+ /**
4
+ * Look up default currency for a country code.
5
+ * @param countryCode country code (alpha-2)
6
+ * @returns default currency code, or USD if not found
7
+ */
8
+ export function defaultCurrency(countryCode) {
9
+ countryCode = canonicalizeCountryCode(countryCode);
10
+ return ((countryCode && countryCode in data && data[countryCode]) || 'USD');
11
+ }
@@ -0,0 +1 @@
1
+ { "AC": "SHP", "AD": "EUR", "AE": "AED", "AF": "AFN", "AG": "XCD", "AI": "XCD", "AL": "ALL", "AM": "AMD", "AO": "AOA", "AQ": "XXX", "AR": "ARS", "AS": "USD", "AT": "EUR", "AU": "AUD", "AW": "AWG", "AX": "EUR", "AZ": "AZN", "BA": "BAM", "BB": "BBD", "BD": "BDT", "BE": "EUR", "BF": "XOF", "BG": "BGN", "BH": "BHD", "BI": "BIF", "BJ": "XOF", "BL": "EUR", "BM": "BMD", "BN": "BND", "BO": "BOB", "BQ": "USD", "BR": "BRL", "BS": "BSD", "BT": "BTN", "BU": "BUK", "BV": "NOK", "BW": "BWP", "BY": "BYN", "BZ": "BZD", "CA": "CAD", "CC": "AUD", "CD": "CDF", "CF": "XAF", "CG": "XAF", "CH": "CHF", "CI": "XOF", "CK": "NZD", "CL": "CLP", "CM": "XAF", "CN": "CNH", "CO": "COP", "CP": "XXX", "CR": "CRC", "CS": "EUR", "CU": "CUC", "CV": "CVE", "CW": "ANG", "CX": "AUD", "CY": "EUR", "CZ": "CZK", "DD": "DDM", "DE": "EUR", "DG": "USD", "DJ": "DJF", "DK": "DKK", "DM": "XCD", "DO": "DOP", "DZ": "DZD", "EA": "EUR", "EC": "USD", "EE": "EUR", "EG": "EGP", "EH": "MAD", "ER": "ERN", "ES": "EUR", "ET": "ETB", "EU": "EUR", "FI": "EUR", "FJ": "FJD", "FK": "FKP", "FM": "USD", "FO": "DKK", "FR": "EUR", "GA": "XAF", "GB": "GBP", "GD": "XCD", "GE": "GEL", "GF": "EUR", "GG": "GBP", "GH": "GHS", "GI": "GIP", "GL": "DKK", "GM": "GMD", "GN": "GNF", "GP": "EUR", "GQ": "XAF", "GR": "EUR", "GS": "GBP", "GT": "GTQ", "GU": "USD", "GW": "XOF", "GY": "GYD", "HK": "HKD", "HM": "AUD", "HN": "HNL", "HR": "EUR", "HT": "USD", "HU": "HUF", "IC": "EUR", "ID": "IDR", "IE": "EUR", "IL": "ILS", "IM": "GBP", "IN": "INR", "IO": "USD", "IQ": "IQD", "IR": "IRR", "IS": "ISK", "IT": "EUR", "JE": "GBP", "JM": "JMD", "JO": "JOD", "JP": "JPY", "KE": "KES", "KG": "KGS", "KH": "KHR", "KI": "AUD", "KM": "KMF", "KN": "XCD", "KP": "KPW", "KR": "KRW", "KW": "KWD", "KY": "KYD", "KZ": "KZT", "LA": "LAK", "LB": "LBP", "LC": "XCD", "LI": "CHF", "LK": "LKR", "LR": "LRD", "LS": "LSL", "LT": "EUR", "LU": "EUR", "LV": "EUR", "LY": "LYD", "MA": "MAD", "MC": "EUR", "MD": "MDL", "ME": "EUR", "MF": "EUR", "MG": "MGA", "MH": "USD", "MK": "MKD", "ML": "XOF", "MM": "MMK", "MN": "MNT", "MO": "MOP", "MP": "USD", "MQ": "EUR", "MR": "MRU", "MS": "XCD", "MT": "EUR", "MU": "MUR", "MV": "MVR", "MW": "MWK", "MX": "MXN", "MY": "MYR", "MZ": "MZN", "NA": "NAD", "NC": "XPF", "NE": "XOF", "NF": "AUD", "NG": "NGN", "NI": "NIO", "NL": "EUR", "NO": "NOK", "NP": "NPR", "NR": "AUD", "NU": "NZD", "NZ": "NZD", "OM": "OMR", "PA": "USD", "PE": "PEN", "PF": "XPF", "PG": "PGK", "PH": "PHP", "PK": "PKR", "PL": "PLN", "PM": "EUR", "PN": "NZD", "PR": "USD", "PS": "JOD", "PT": "EUR", "PW": "USD", "PY": "PYG", "QA": "QAR", "RE": "EUR", "RO": "RON", "RS": "RSD", "RU": "RUB", "RW": "RWF", "SA": "SAR", "SB": "SBD", "SC": "SCR", "SD": "SDG", "SE": "SEK", "SG": "SGD", "SH": "SHP", "SI": "EUR", "SJ": "NOK", "SK": "EUR", "SL": "SLE", "SM": "EUR", "SN": "XOF", "SO": "SOS", "SR": "SRD", "SS": "SSP", "ST": "STN", "SU": "SUR", "SV": "USD", "SX": "ANG", "SY": "SYP", "SZ": "SZL", "TA": "GBP", "TC": "USD", "TD": "XAF", "TF": "EUR", "TG": "XOF", "TH": "THB", "TJ": "TJS", "TK": "NZD", "TL": "USD", "TM": "TMT", "TN": "TND", "TO": "TOP", "TP": "IDR", "TR": "TRY", "TT": "TTD", "TV": "AUD", "TW": "TWD", "TZ": "TZS", "UA": "UAH", "UG": "UGX", "UM": "USD", "US": "USD", "UY": "UYU", "UZ": "UZS", "VA": "EUR", "VC": "XCD", "VE": "VES", "VG": "GBP", "VI": "USD", "VN": "VND", "VU": "VUV", "WF": "XPF", "WS": "WST", "XK": "EUR", "YD": "YDD", "YE": "YER", "YT": "EUR", "YU": "YUM", "ZA": "ZAL", "ZM": "ZMW", "ZR": "ZRN", "ZW": "USD", "ZZ": "XFO" }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/utils",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Collection of useful intl utilities",
5
5
  "main": "index.js",
6
6
  "module": "lib/index.js",
@@ -21,6 +21,6 @@
21
21
  },
22
22
  "homepage": "https://github.com/formatjs/formatjs#readme",
23
23
  "dependencies": {
24
- "tslib": "^2.4.0"
24
+ "tslib": "^2.7.0"
25
25
  }
26
26
  }
@@ -1 +1,6 @@
1
- export declare function countryCodeAlpha3ToAlpha2(alpha3?: string): string | undefined;
1
+ /**
2
+ * Canonicalize a country code to a alpha2 country code (uppercase).
3
+ * @param alpha3OrAlpha2 - 2 or 3 letter country code (case-insensitive)
4
+ * @returns canonicalized 2 letter country code (uppercase) or undefined if not found
5
+ */
6
+ export declare function canonicalizeCountryCode(alpha3OrAlpha2?: string): string | undefined;
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.countryCodeAlpha3ToAlpha2 = void 0;
3
+ exports.canonicalizeCountryCode = canonicalizeCountryCode;
4
4
  var tslib_1 = require("tslib");
5
- var iso3166Alpha3CountryCodes_json_1 = tslib_1.__importDefault(require("./iso3166Alpha3CountryCodes.json"));
6
- var COUNTRY_CODE_ALPHA2 = new Set(Object.keys(iso3166Alpha3CountryCodes_json_1.default).map(function (key) { return iso3166Alpha3CountryCodes_json_1.default[key]; }));
7
- function countryCodeAlpha3ToAlpha2(alpha3) {
8
- if (!alpha3) {
5
+ var alpha3CountryCodes = tslib_1.__importStar(require("./iso3166Alpha3CountryCodes.json"));
6
+ var COUNTRY_CODE_ALPHA2 = new Set(Object.keys(alpha3CountryCodes).map(function (key) { return alpha3CountryCodes[key]; }));
7
+ /**
8
+ * Canonicalize a country code to a alpha2 country code (uppercase).
9
+ * @param alpha3OrAlpha2 - 2 or 3 letter country code (case-insensitive)
10
+ * @returns canonicalized 2 letter country code (uppercase) or undefined if not found
11
+ */
12
+ function canonicalizeCountryCode(alpha3OrAlpha2) {
13
+ if (!alpha3OrAlpha2) {
9
14
  return;
10
15
  }
11
- var upper = alpha3.toUpperCase();
16
+ var upper = alpha3OrAlpha2.toUpperCase();
12
17
  // Lenient here, if it's already a 2 letter code, just return it
13
- if (alpha3.length === 2) {
18
+ if (upper.length === 2) {
14
19
  return COUNTRY_CODE_ALPHA2.has(upper) ? upper : undefined;
15
20
  }
16
- return iso3166Alpha3CountryCodes_json_1.default[upper];
21
+ return alpha3CountryCodes[upper];
17
22
  }
18
- exports.countryCodeAlpha3ToAlpha2 = countryCodeAlpha3ToAlpha2;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Look up default currency for a country code.
3
+ * @param countryCode country code (alpha-2)
4
+ * @returns default currency code, or USD if not found
5
+ */
6
+ export declare function defaultCurrency(countryCode?: string): string | undefined;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultCurrency = defaultCurrency;
4
+ var tslib_1 = require("tslib");
5
+ var countryCodes_1 = require("./countryCodes");
6
+ var data = tslib_1.__importStar(require("./defaultCurrencyData.generated.json"));
7
+ /**
8
+ * Look up default currency for a country code.
9
+ * @param countryCode country code (alpha-2)
10
+ * @returns default currency code, or USD if not found
11
+ */
12
+ function defaultCurrency(countryCode) {
13
+ countryCode = (0, countryCodes_1.canonicalizeCountryCode)(countryCode);
14
+ return ((countryCode && countryCode in data && data[countryCode]) || 'USD');
15
+ }
@@ -0,0 +1 @@
1
+ {"AC":"SHP","AD":"EUR","AE":"AED","AF":"AFN","AG":"XCD","AI":"XCD","AL":"ALL","AM":"AMD","AO":"AOA","AQ":"XXX","AR":"ARS","AS":"USD","AT":"EUR","AU":"AUD","AW":"AWG","AX":"EUR","AZ":"AZN","BA":"BAM","BB":"BBD","BD":"BDT","BE":"EUR","BF":"XOF","BG":"BGN","BH":"BHD","BI":"BIF","BJ":"XOF","BL":"EUR","BM":"BMD","BN":"BND","BO":"BOB","BQ":"USD","BR":"BRL","BS":"BSD","BT":"BTN","BU":"BUK","BV":"NOK","BW":"BWP","BY":"BYN","BZ":"BZD","CA":"CAD","CC":"AUD","CD":"CDF","CF":"XAF","CG":"XAF","CH":"CHF","CI":"XOF","CK":"NZD","CL":"CLP","CM":"XAF","CN":"CNH","CO":"COP","CP":"XXX","CR":"CRC","CS":"EUR","CU":"CUC","CV":"CVE","CW":"ANG","CX":"AUD","CY":"EUR","CZ":"CZK","DD":"DDM","DE":"EUR","DG":"USD","DJ":"DJF","DK":"DKK","DM":"XCD","DO":"DOP","DZ":"DZD","EA":"EUR","EC":"USD","EE":"EUR","EG":"EGP","EH":"MAD","ER":"ERN","ES":"EUR","ET":"ETB","EU":"EUR","FI":"EUR","FJ":"FJD","FK":"FKP","FM":"USD","FO":"DKK","FR":"EUR","GA":"XAF","GB":"GBP","GD":"XCD","GE":"GEL","GF":"EUR","GG":"GBP","GH":"GHS","GI":"GIP","GL":"DKK","GM":"GMD","GN":"GNF","GP":"EUR","GQ":"XAF","GR":"EUR","GS":"GBP","GT":"GTQ","GU":"USD","GW":"XOF","GY":"GYD","HK":"HKD","HM":"AUD","HN":"HNL","HR":"EUR","HT":"USD","HU":"HUF","IC":"EUR","ID":"IDR","IE":"EUR","IL":"ILS","IM":"GBP","IN":"INR","IO":"USD","IQ":"IQD","IR":"IRR","IS":"ISK","IT":"EUR","JE":"GBP","JM":"JMD","JO":"JOD","JP":"JPY","KE":"KES","KG":"KGS","KH":"KHR","KI":"AUD","KM":"KMF","KN":"XCD","KP":"KPW","KR":"KRW","KW":"KWD","KY":"KYD","KZ":"KZT","LA":"LAK","LB":"LBP","LC":"XCD","LI":"CHF","LK":"LKR","LR":"LRD","LS":"LSL","LT":"EUR","LU":"EUR","LV":"EUR","LY":"LYD","MA":"MAD","MC":"EUR","MD":"MDL","ME":"EUR","MF":"EUR","MG":"MGA","MH":"USD","MK":"MKD","ML":"XOF","MM":"MMK","MN":"MNT","MO":"MOP","MP":"USD","MQ":"EUR","MR":"MRU","MS":"XCD","MT":"EUR","MU":"MUR","MV":"MVR","MW":"MWK","MX":"MXN","MY":"MYR","MZ":"MZN","NA":"NAD","NC":"XPF","NE":"XOF","NF":"AUD","NG":"NGN","NI":"NIO","NL":"EUR","NO":"NOK","NP":"NPR","NR":"AUD","NU":"NZD","NZ":"NZD","OM":"OMR","PA":"USD","PE":"PEN","PF":"XPF","PG":"PGK","PH":"PHP","PK":"PKR","PL":"PLN","PM":"EUR","PN":"NZD","PR":"USD","PS":"JOD","PT":"EUR","PW":"USD","PY":"PYG","QA":"QAR","RE":"EUR","RO":"RON","RS":"RSD","RU":"RUB","RW":"RWF","SA":"SAR","SB":"SBD","SC":"SCR","SD":"SDG","SE":"SEK","SG":"SGD","SH":"SHP","SI":"EUR","SJ":"NOK","SK":"EUR","SL":"SLE","SM":"EUR","SN":"XOF","SO":"SOS","SR":"SRD","SS":"SSP","ST":"STN","SU":"SUR","SV":"USD","SX":"ANG","SY":"SYP","SZ":"SZL","TA":"GBP","TC":"USD","TD":"XAF","TF":"EUR","TG":"XOF","TH":"THB","TJ":"TJS","TK":"NZD","TL":"USD","TM":"TMT","TN":"TND","TO":"TOP","TP":"IDR","TR":"TRY","TT":"TTD","TV":"AUD","TW":"TWD","TZ":"TZS","UA":"UAH","UG":"UGX","UM":"USD","US":"USD","UY":"UYU","UZ":"UZS","VA":"EUR","VC":"XCD","VE":"VES","VG":"GBP","VI":"USD","VN":"VND","VU":"VUV","WF":"XPF","WS":"WST","XK":"EUR","YD":"YDD","YE":"YER","YT":"EUR","YU":"YUM","ZA":"ZAL","ZM":"ZMW","ZR":"ZRN","ZW":"USD","ZZ":"XFO"}