@formatjs/utils 1.1.0 → 1.2.0
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 +2 -1
- package/index.js +4 -2
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/src/countryCodes.d.ts +6 -1
- package/lib/src/countryCodes.js +10 -5
- package/lib/src/defaultCurrency.d.ts +6 -0
- package/lib/src/defaultCurrency.js +11 -0
- package/lib/src/defaultCurrencyData.generated.json +1 -0
- package/package.json +1 -1
- package/src/countryCodes.d.ts +6 -1
- package/src/countryCodes.js +14 -9
- package/src/defaultCurrency.d.ts +6 -0
- package/src/defaultCurrency.js +16 -0
- package/src/defaultCurrencyData.generated.json +1 -0
package/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
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.
|
|
3
|
+
exports.defaultCurrency = exports.canonicalizeCountryCode = void 0;
|
|
4
4
|
var countryCodes_1 = require("./src/countryCodes");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
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 {
|
|
1
|
+
export { canonicalizeCountryCode } from './src/countryCodes';
|
|
2
|
+
export { defaultCurrency } from './src/defaultCurrency';
|
package/lib/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { canonicalizeCountryCode } from './src/countryCodes';
|
|
2
|
+
export { defaultCurrency } from './src/defaultCurrency';
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
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;
|
package/lib/src/countryCodes.js
CHANGED
|
@@ -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
|
-
|
|
4
|
-
|
|
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 =
|
|
12
|
+
var upper = alpha3OrAlpha2.toUpperCase();
|
|
8
13
|
// Lenient here, if it's already a 2 letter code, just return it
|
|
9
|
-
if (
|
|
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,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
package/src/countryCodes.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
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;
|
package/src/countryCodes.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.canonicalizeCountryCode = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
6
|
-
var COUNTRY_CODE_ALPHA2 = new Set(Object.keys(
|
|
7
|
-
|
|
8
|
-
|
|
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 =
|
|
16
|
+
var upper = alpha3OrAlpha2.toUpperCase();
|
|
12
17
|
// Lenient here, if it's already a 2 letter code, just return it
|
|
13
|
-
if (
|
|
18
|
+
if (upper.length === 2) {
|
|
14
19
|
return COUNTRY_CODE_ALPHA2.has(upper) ? upper : undefined;
|
|
15
20
|
}
|
|
16
|
-
return
|
|
21
|
+
return alpha3CountryCodes[upper];
|
|
17
22
|
}
|
|
18
|
-
exports.
|
|
23
|
+
exports.canonicalizeCountryCode = canonicalizeCountryCode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultCurrency = void 0;
|
|
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
|
+
}
|
|
16
|
+
exports.defaultCurrency = defaultCurrency;
|
|
@@ -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"}
|