"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsWellFormedCurrencyCode = void 0; /** * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping * @param str string to convert */ function toUpperCase(str) { return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); }); } var NOT_A_Z_REGEX = /[^A-Z]/; /** * https://tc39.es/ecma402/#sec-iswellformedcurrencycode */ function IsWellFormedCurrencyCode(currency) { currency = toUpperCase(currency); if (currency.length !== 3) { return false; } if (NOT_A_Z_REGEX.test(currency)) { return false; } return true; } exports.IsWellFormedCurrencyCode = IsWellFormedCurrencyCode;