UNPKG

intl-messageformat

Version:

Formats ICU Message strings with number, date, plural, and select placeholders to create localized messages.

2,486 lines (2,475 loc) 81.6 kB
// node_modules/.aspect_rules_js/@formatjs+fast-memoize@0.0.0/node_modules/@formatjs/fast-memoize/lib/index.js function memoize(fn, options) { var cache = options && options.cache ? options.cache : cacheDefault; var serializer = options && options.serializer ? options.serializer : serializerDefault; var strategy = options && options.strategy ? options.strategy : strategyDefault; return strategy(fn, { cache, serializer }); } function isPrimitive(value) { return value == null || typeof value === "number" || typeof value === "boolean"; } function monadic(fn, cache, serializer, arg) { var cacheKey = isPrimitive(arg) ? arg : serializer(arg); var computedValue = cache.get(cacheKey); if (typeof computedValue === "undefined") { computedValue = fn.call(this, arg); cache.set(cacheKey, computedValue); } return computedValue; } function variadic(fn, cache, serializer) { var args = Array.prototype.slice.call(arguments, 3); var cacheKey = serializer(args); var computedValue = cache.get(cacheKey); if (typeof computedValue === "undefined") { computedValue = fn.apply(this, args); cache.set(cacheKey, computedValue); } return computedValue; } function assemble(fn, context, strategy, cache, serialize) { return strategy.bind(context, fn, cache, serialize); } function strategyDefault(fn, options) { var strategy = fn.length === 1 ? monadic : variadic; return assemble(fn, this, strategy, options.cache.create(), options.serializer); } function strategyVariadic(fn, options) { return assemble(fn, this, variadic, options.cache.create(), options.serializer); } function strategyMonadic(fn, options) { return assemble(fn, this, monadic, options.cache.create(), options.serializer); } var serializerDefault = function() { return JSON.stringify(arguments); }; var ObjectWithoutPrototypeCache = ( /** @class */ function() { function ObjectWithoutPrototypeCache2() { this.cache = /* @__PURE__ */ Object.create(null); } ObjectWithoutPrototypeCache2.prototype.get = function(key) { return this.cache[key]; }; ObjectWithoutPrototypeCache2.prototype.set = function(key, value) { this.cache[key] = value; }; return ObjectWithoutPrototypeCache2; }() ); var cacheDefault = { create: function create() { return new ObjectWithoutPrototypeCache(); } }; var strategies = { variadic: strategyVariadic, monadic: strategyMonadic }; // node_modules/.aspect_rules_js/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs var __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/error.js var ErrorKind; (function(ErrorKind2) { ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_CLOSING_BRACE"] = 1] = "EXPECT_ARGUMENT_CLOSING_BRACE"; ErrorKind2[ErrorKind2["EMPTY_ARGUMENT"] = 2] = "EMPTY_ARGUMENT"; ErrorKind2[ErrorKind2["MALFORMED_ARGUMENT"] = 3] = "MALFORMED_ARGUMENT"; ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_TYPE"] = 4] = "EXPECT_ARGUMENT_TYPE"; ErrorKind2[ErrorKind2["INVALID_ARGUMENT_TYPE"] = 5] = "INVALID_ARGUMENT_TYPE"; ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_STYLE"] = 6] = "EXPECT_ARGUMENT_STYLE"; ErrorKind2[ErrorKind2["INVALID_NUMBER_SKELETON"] = 7] = "INVALID_NUMBER_SKELETON"; ErrorKind2[ErrorKind2["INVALID_DATE_TIME_SKELETON"] = 8] = "INVALID_DATE_TIME_SKELETON"; ErrorKind2[ErrorKind2["EXPECT_NUMBER_SKELETON"] = 9] = "EXPECT_NUMBER_SKELETON"; ErrorKind2[ErrorKind2["EXPECT_DATE_TIME_SKELETON"] = 10] = "EXPECT_DATE_TIME_SKELETON"; ErrorKind2[ErrorKind2["UNCLOSED_QUOTE_IN_ARGUMENT_STYLE"] = 11] = "UNCLOSED_QUOTE_IN_ARGUMENT_STYLE"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_OPTIONS"] = 12] = "EXPECT_SELECT_ARGUMENT_OPTIONS"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE"] = 13] = "EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE"; ErrorKind2[ErrorKind2["INVALID_PLURAL_ARGUMENT_OFFSET_VALUE"] = 14] = "INVALID_PLURAL_ARGUMENT_OFFSET_VALUE"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_SELECTOR"] = 15] = "EXPECT_SELECT_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_SELECTOR"] = 16] = "EXPECT_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT"] = 17] = "EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT"] = 18] = "EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT"; ErrorKind2[ErrorKind2["INVALID_PLURAL_ARGUMENT_SELECTOR"] = 19] = "INVALID_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["DUPLICATE_PLURAL_ARGUMENT_SELECTOR"] = 20] = "DUPLICATE_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["DUPLICATE_SELECT_ARGUMENT_SELECTOR"] = 21] = "DUPLICATE_SELECT_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["MISSING_OTHER_CLAUSE"] = 22] = "MISSING_OTHER_CLAUSE"; ErrorKind2[ErrorKind2["INVALID_TAG"] = 23] = "INVALID_TAG"; ErrorKind2[ErrorKind2["INVALID_TAG_NAME"] = 25] = "INVALID_TAG_NAME"; ErrorKind2[ErrorKind2["UNMATCHED_CLOSING_TAG"] = 26] = "UNMATCHED_CLOSING_TAG"; ErrorKind2[ErrorKind2["UNCLOSED_TAG"] = 27] = "UNCLOSED_TAG"; })(ErrorKind || (ErrorKind = {})); // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/types.js var TYPE; (function(TYPE2) { TYPE2[TYPE2["literal"] = 0] = "literal"; TYPE2[TYPE2["argument"] = 1] = "argument"; TYPE2[TYPE2["number"] = 2] = "number"; TYPE2[TYPE2["date"] = 3] = "date"; TYPE2[TYPE2["time"] = 4] = "time"; TYPE2[TYPE2["select"] = 5] = "select"; TYPE2[TYPE2["plural"] = 6] = "plural"; TYPE2[TYPE2["pound"] = 7] = "pound"; TYPE2[TYPE2["tag"] = 8] = "tag"; })(TYPE || (TYPE = {})); var SKELETON_TYPE; (function(SKELETON_TYPE2) { SKELETON_TYPE2[SKELETON_TYPE2["number"] = 0] = "number"; SKELETON_TYPE2[SKELETON_TYPE2["dateTime"] = 1] = "dateTime"; })(SKELETON_TYPE || (SKELETON_TYPE = {})); function isLiteralElement(el) { return el.type === TYPE.literal; } function isArgumentElement(el) { return el.type === TYPE.argument; } function isNumberElement(el) { return el.type === TYPE.number; } function isDateElement(el) { return el.type === TYPE.date; } function isTimeElement(el) { return el.type === TYPE.time; } function isSelectElement(el) { return el.type === TYPE.select; } function isPluralElement(el) { return el.type === TYPE.plural; } function isPoundElement(el) { return el.type === TYPE.pound; } function isTagElement(el) { return el.type === TYPE.tag; } function isNumberSkeleton(el) { return !!(el && typeof el === "object" && el.type === SKELETON_TYPE.number); } function isDateTimeSkeleton(el) { return !!(el && typeof el === "object" && el.type === SKELETON_TYPE.dateTime); } // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js var SPACE_SEPARATOR_REGEX = /[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/; // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js var DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g; function parseDateTimeSkeleton(skeleton) { var result = {}; skeleton.replace(DATE_TIME_REGEX, function(match) { var len = match.length; switch (match[0]) { case "G": result.era = len === 4 ? "long" : len === 5 ? "narrow" : "short"; break; case "y": result.year = len === 2 ? "2-digit" : "numeric"; break; case "Y": case "u": case "U": case "r": throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead"); case "q": case "Q": throw new RangeError("`q/Q` (quarter) patterns are not supported"); case "M": case "L": result.month = ["numeric", "2-digit", "short", "long", "narrow"][len - 1]; break; case "w": case "W": throw new RangeError("`w/W` (week) patterns are not supported"); case "d": result.day = ["numeric", "2-digit"][len - 1]; break; case "D": case "F": case "g": throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead"); case "E": result.weekday = len === 4 ? "long" : len === 5 ? "narrow" : "short"; break; case "e": if (len < 4) { throw new RangeError("`e..eee` (weekday) patterns are not supported"); } result.weekday = ["short", "long", "narrow", "short"][len - 4]; break; case "c": if (len < 4) { throw new RangeError("`c..ccc` (weekday) patterns are not supported"); } result.weekday = ["short", "long", "narrow", "short"][len - 4]; break; case "a": result.hour12 = true; break; case "b": case "B": throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead"); case "h": result.hourCycle = "h12"; result.hour = ["numeric", "2-digit"][len - 1]; break; case "H": result.hourCycle = "h23"; result.hour = ["numeric", "2-digit"][len - 1]; break; case "K": result.hourCycle = "h11"; result.hour = ["numeric", "2-digit"][len - 1]; break; case "k": result.hourCycle = "h24"; result.hour = ["numeric", "2-digit"][len - 1]; break; case "j": case "J": case "C": throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead"); case "m": result.minute = ["numeric", "2-digit"][len - 1]; break; case "s": result.second = ["numeric", "2-digit"][len - 1]; break; case "S": case "A": throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead"); case "z": result.timeZoneName = len < 4 ? "short" : "long"; break; case "Z": case "O": case "v": case "V": case "X": case "x": throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead"); } return ""; }); return result; } // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js var WHITE_SPACE_REGEX = /[\t-\r \x85\u200E\u200F\u2028\u2029]/i; // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/lib/number.js function parseNumberSkeletonFromString(skeleton) { if (skeleton.length === 0) { throw new Error("Number skeleton cannot be empty"); } var stringTokens = skeleton.split(WHITE_SPACE_REGEX).filter(function(x) { return x.length > 0; }); var tokens = []; for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) { var stringToken = stringTokens_1[_i]; var stemAndOptions = stringToken.split("/"); if (stemAndOptions.length === 0) { throw new Error("Invalid number skeleton"); } var stem = stemAndOptions[0], options = stemAndOptions.slice(1); for (var _a2 = 0, options_1 = options; _a2 < options_1.length; _a2++) { var option = options_1[_a2]; if (option.length === 0) { throw new Error("Invalid number skeleton"); } } tokens.push({ stem, options }); } return tokens; } function icuUnitToEcma(unit) { return unit.replace(/^(.*?)-/, ""); } var FRACTION_PRECISION_REGEX = /^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g; var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?[rs]?$/g; var INTEGER_WIDTH_REGEX = /(\*)(0+)|(#+)(0+)|(0+)/g; var CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/; function parseSignificantPrecision(str) { var result = {}; if (str[str.length - 1] === "r") { result.roundingPriority = "morePrecision"; } else if (str[str.length - 1] === "s") { result.roundingPriority = "lessPrecision"; } str.replace(SIGNIFICANT_PRECISION_REGEX, function(_, g1, g2) { if (typeof g2 !== "string") { result.minimumSignificantDigits = g1.length; result.maximumSignificantDigits = g1.length; } else if (g2 === "+") { result.minimumSignificantDigits = g1.length; } else if (g1[0] === "#") { result.maximumSignificantDigits = g1.length; } else { result.minimumSignificantDigits = g1.length; result.maximumSignificantDigits = g1.length + (typeof g2 === "string" ? g2.length : 0); } return ""; }); return result; } function parseSign(str) { switch (str) { case "sign-auto": return { signDisplay: "auto" }; case "sign-accounting": case "()": return { currencySign: "accounting" }; case "sign-always": case "+!": return { signDisplay: "always" }; case "sign-accounting-always": case "()!": return { signDisplay: "always", currencySign: "accounting" }; case "sign-except-zero": case "+?": return { signDisplay: "exceptZero" }; case "sign-accounting-except-zero": case "()?": return { signDisplay: "exceptZero", currencySign: "accounting" }; case "sign-never": case "+_": return { signDisplay: "never" }; } } function parseConciseScientificAndEngineeringStem(stem) { var result; if (stem[0] === "E" && stem[1] === "E") { result = { notation: "engineering" }; stem = stem.slice(2); } else if (stem[0] === "E") { result = { notation: "scientific" }; stem = stem.slice(1); } if (result) { var signDisplay = stem.slice(0, 2); if (signDisplay === "+!") { result.signDisplay = "always"; stem = stem.slice(2); } else if (signDisplay === "+?") { result.signDisplay = "exceptZero"; stem = stem.slice(2); } if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) { throw new Error("Malformed concise eng/scientific notation"); } result.minimumIntegerDigits = stem.length; } return result; } function parseNotationOptions(opt) { var result = {}; var signOpts = parseSign(opt); if (signOpts) { return signOpts; } return result; } function parseNumberSkeleton(tokens) { var result = {}; for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { var token = tokens_1[_i]; switch (token.stem) { case "percent": case "%": result.style = "percent"; continue; case "%x100": result.style = "percent"; result.scale = 100; continue; case "currency": result.style = "currency"; result.currency = token.options[0]; continue; case "group-off": case ",_": result.useGrouping = false; continue; case "precision-integer": case ".": result.maximumFractionDigits = 0; continue; case "measure-unit": case "unit": result.style = "unit"; result.unit = icuUnitToEcma(token.options[0]); continue; case "compact-short": case "K": result.notation = "compact"; result.compactDisplay = "short"; continue; case "compact-long": case "KK": result.notation = "compact"; result.compactDisplay = "long"; continue; case "scientific": result = __assign(__assign(__assign({}, result), { notation: "scientific" }), token.options.reduce(function(all, opt2) { return __assign(__assign({}, all), parseNotationOptions(opt2)); }, {})); continue; case "engineering": result = __assign(__assign(__assign({}, result), { notation: "engineering" }), token.options.reduce(function(all, opt2) { return __assign(__assign({}, all), parseNotationOptions(opt2)); }, {})); continue; case "notation-simple": result.notation = "standard"; continue; case "unit-width-narrow": result.currencyDisplay = "narrowSymbol"; result.unitDisplay = "narrow"; continue; case "unit-width-short": result.currencyDisplay = "code"; result.unitDisplay = "short"; continue; case "unit-width-full-name": result.currencyDisplay = "name"; result.unitDisplay = "long"; continue; case "unit-width-iso-code": result.currencyDisplay = "symbol"; continue; case "scale": result.scale = parseFloat(token.options[0]); continue; case "rounding-mode-floor": result.roundingMode = "floor"; continue; case "rounding-mode-ceiling": result.roundingMode = "ceil"; continue; case "rounding-mode-down": result.roundingMode = "trunc"; continue; case "rounding-mode-up": result.roundingMode = "expand"; continue; case "rounding-mode-half-even": result.roundingMode = "halfEven"; continue; case "rounding-mode-half-down": result.roundingMode = "halfTrunc"; continue; case "rounding-mode-half-up": result.roundingMode = "halfExpand"; continue; case "integer-width": if (token.options.length > 1) { throw new RangeError("integer-width stems only accept a single optional option"); } token.options[0].replace(INTEGER_WIDTH_REGEX, function(_, g1, g2, g3, g4, g5) { if (g1) { result.minimumIntegerDigits = g2.length; } else if (g3 && g4) { throw new Error("We currently do not support maximum integer digits"); } else if (g5) { throw new Error("We currently do not support exact integer digits"); } return ""; }); continue; } if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) { result.minimumIntegerDigits = token.stem.length; continue; } if (FRACTION_PRECISION_REGEX.test(token.stem)) { if (token.options.length > 1) { throw new RangeError("Fraction-precision stems only accept a single optional option"); } token.stem.replace(FRACTION_PRECISION_REGEX, function(_, g1, g2, g3, g4, g5) { if (g2 === "*") { result.minimumFractionDigits = g1.length; } else if (g3 && g3[0] === "#") { result.maximumFractionDigits = g3.length; } else if (g4 && g5) { result.minimumFractionDigits = g4.length; result.maximumFractionDigits = g4.length + g5.length; } else { result.minimumFractionDigits = g1.length; result.maximumFractionDigits = g1.length; } return ""; }); var opt = token.options[0]; if (opt === "w") { result = __assign(__assign({}, result), { trailingZeroDisplay: "stripIfInteger" }); } else if (opt) { result = __assign(__assign({}, result), parseSignificantPrecision(opt)); } continue; } if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) { result = __assign(__assign({}, result), parseSignificantPrecision(token.stem)); continue; } var signOpts = parseSign(token.stem); if (signOpts) { result = __assign(__assign({}, result), signOpts); } var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem); if (conciseScientificAndEngineeringOpts) { result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts); } } return result; } // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js var timeData = { "001": [ "H", "h" ], "419": [ "h", "H", "hB", "hb" ], "AC": [ "H", "h", "hb", "hB" ], "AD": [ "H", "hB" ], "AE": [ "h", "hB", "hb", "H" ], "AF": [ "H", "hb", "hB", "h" ], "AG": [ "h", "hb", "H", "hB" ], "AI": [ "H", "h", "hb", "hB" ], "AL": [ "h", "H", "hB" ], "AM": [ "H", "hB" ], "AO": [ "H", "hB" ], "AR": [ "h", "H", "hB", "hb" ], "AS": [ "h", "H" ], "AT": [ "H", "hB" ], "AU": [ "h", "hb", "H", "hB" ], "AW": [ "H", "hB" ], "AX": [ "H" ], "AZ": [ "H", "hB", "h" ], "BA": [ "H", "hB", "h" ], "BB": [ "h", "hb", "H", "hB" ], "BD": [ "h", "hB", "H" ], "BE": [ "H", "hB" ], "BF": [ "H", "hB" ], "BG": [ "H", "hB", "h" ], "BH": [ "h", "hB", "hb", "H" ], "BI": [ "H", "h" ], "BJ": [ "H", "hB" ], "BL": [ "H", "hB" ], "BM": [ "h", "hb", "H", "hB" ], "BN": [ "hb", "hB", "h", "H" ], "BO": [ "h", "H", "hB", "hb" ], "BQ": [ "H" ], "BR": [ "H", "hB" ], "BS": [ "h", "hb", "H", "hB" ], "BT": [ "h", "H" ], "BW": [ "H", "h", "hb", "hB" ], "BY": [ "H", "h" ], "BZ": [ "H", "h", "hb", "hB" ], "CA": [ "h", "hb", "H", "hB" ], "CC": [ "H", "h", "hb", "hB" ], "CD": [ "hB", "H" ], "CF": [ "H", "h", "hB" ], "CG": [ "H", "hB" ], "CH": [ "H", "hB", "h" ], "CI": [ "H", "hB" ], "CK": [ "H", "h", "hb", "hB" ], "CL": [ "h", "H", "hB", "hb" ], "CM": [ "H", "h", "hB" ], "CN": [ "H", "hB", "hb", "h" ], "CO": [ "h", "H", "hB", "hb" ], "CP": [ "H" ], "CR": [ "h", "H", "hB", "hb" ], "CU": [ "h", "H", "hB", "hb" ], "CV": [ "H", "hB" ], "CW": [ "H", "hB" ], "CX": [ "H", "h", "hb", "hB" ], "CY": [ "h", "H", "hb", "hB" ], "CZ": [ "H" ], "DE": [ "H", "hB" ], "DG": [ "H", "h", "hb", "hB" ], "DJ": [ "h", "H" ], "DK": [ "H" ], "DM": [ "h", "hb", "H", "hB" ], "DO": [ "h", "H", "hB", "hb" ], "DZ": [ "h", "hB", "hb", "H" ], "EA": [ "H", "h", "hB", "hb" ], "EC": [ "h", "H", "hB", "hb" ], "EE": [ "H", "hB" ], "EG": [ "h", "hB", "hb", "H" ], "EH": [ "h", "hB", "hb", "H" ], "ER": [ "h", "H" ], "ES": [ "H", "hB", "h", "hb" ], "ET": [ "hB", "hb", "h", "H" ], "FI": [ "H" ], "FJ": [ "h", "hb", "H", "hB" ], "FK": [ "H", "h", "hb", "hB" ], "FM": [ "h", "hb", "H", "hB" ], "FO": [ "H", "h" ], "FR": [ "H", "hB" ], "GA": [ "H", "hB" ], "GB": [ "H", "h", "hb", "hB" ], "GD": [ "h", "hb", "H", "hB" ], "GE": [ "H", "hB", "h" ], "GF": [ "H", "hB" ], "GG": [ "H", "h", "hb", "hB" ], "GH": [ "h", "H" ], "GI": [ "H", "h", "hb", "hB" ], "GL": [ "H", "h" ], "GM": [ "h", "hb", "H", "hB" ], "GN": [ "H", "hB" ], "GP": [ "H", "hB" ], "GQ": [ "H", "hB", "h", "hb" ], "GR": [ "h", "H", "hb", "hB" ], "GT": [ "h", "H", "hB", "hb" ], "GU": [ "h", "hb", "H", "hB" ], "GW": [ "H", "hB" ], "GY": [ "h", "hb", "H", "hB" ], "HK": [ "h", "hB", "hb", "H" ], "HN": [ "h", "H", "hB", "hb" ], "HR": [ "H", "hB" ], "HU": [ "H", "h" ], "IC": [ "H", "h", "hB", "hb" ], "ID": [ "H" ], "IE": [ "H", "h", "hb", "hB" ], "IL": [ "H", "hB" ], "IM": [ "H", "h", "hb", "hB" ], "IN": [ "h", "H" ], "IO": [ "H", "h", "hb", "hB" ], "IQ": [ "h", "hB", "hb", "H" ], "IR": [ "hB", "H" ], "IS": [ "H" ], "IT": [ "H", "hB" ], "JE": [ "H", "h", "hb", "hB" ], "JM": [ "h", "hb", "H", "hB" ], "JO": [ "h", "hB", "hb", "H" ], "JP": [ "H", "K", "h" ], "KE": [ "hB", "hb", "H", "h" ], "KG": [ "H", "h", "hB", "hb" ], "KH": [ "hB", "h", "H", "hb" ], "KI": [ "h", "hb", "H", "hB" ], "KM": [ "H", "h", "hB", "hb" ], "KN": [ "h", "hb", "H", "hB" ], "KP": [ "h", "H", "hB", "hb" ], "KR": [ "h", "H", "hB", "hb" ], "KW": [ "h", "hB", "hb", "H" ], "KY": [ "h", "hb", "H", "hB" ], "KZ": [ "H", "hB" ], "LA": [ "H", "hb", "hB", "h" ], "LB": [ "h", "hB", "hb", "H" ], "LC": [ "h", "hb", "H", "hB" ], "LI": [ "H", "hB", "h" ], "LK": [ "H", "h", "hB", "hb" ], "LR": [ "h", "hb", "H", "hB" ], "LS": [ "h", "H" ], "LT": [ "H", "h", "hb", "hB" ], "LU": [ "H", "h", "hB" ], "LV": [ "H", "hB", "hb", "h" ], "LY": [ "h", "hB", "hb", "H" ], "MA": [ "H", "h", "hB", "hb" ], "MC": [ "H", "hB" ], "MD": [ "H", "hB" ], "ME": [ "H", "hB", "h" ], "MF": [ "H", "hB" ], "MG": [ "H", "h" ], "MH": [ "h", "hb", "H", "hB" ], "MK": [ "H", "h", "hb", "hB" ], "ML": [ "H" ], "MM": [ "hB", "hb", "H", "h" ], "MN": [ "H", "h", "hb", "hB" ], "MO": [ "h", "hB", "hb", "H" ], "MP": [ "h", "hb", "H", "hB" ], "MQ": [ "H", "hB" ], "MR": [ "h", "hB", "hb", "H" ], "MS": [ "H", "h", "hb", "hB" ], "MT": [ "H", "h" ], "MU": [ "H", "h" ], "MV": [ "H", "h" ], "MW": [ "h", "hb", "H", "hB" ], "MX": [ "h", "H", "hB", "hb" ], "MY": [ "hb", "hB", "h", "H" ], "MZ": [ "H", "hB" ], "NA": [ "h", "H", "hB", "hb" ], "NC": [ "H", "hB" ], "NE": [ "H" ], "NF": [ "H", "h", "hb", "hB" ], "NG": [ "H", "h", "hb", "hB" ], "NI": [ "h", "H", "hB", "hb" ], "NL": [ "H", "hB" ], "NO": [ "H", "h" ], "NP": [ "H", "h", "hB" ], "NR": [ "H", "h", "hb", "hB" ], "NU": [ "H", "h", "hb", "hB" ], "NZ": [ "h", "hb", "H", "hB" ], "OM": [ "h", "hB", "hb", "H" ], "PA": [ "h", "H", "hB", "hb" ], "PE": [ "h", "H", "hB", "hb" ], "PF": [ "H", "h", "hB" ], "PG": [ "h", "H" ], "PH": [ "h", "hB", "hb", "H" ], "PK": [ "h", "hB", "H" ], "PL": [ "H", "h" ], "PM": [ "H", "hB" ], "PN": [ "H", "h", "hb", "hB" ], "PR": [ "h", "H", "hB", "hb" ], "PS": [ "h", "hB", "hb", "H" ], "PT": [ "H", "hB" ], "PW": [ "h", "H" ], "PY": [ "h", "H", "hB", "hb" ], "QA": [ "h", "hB", "hb", "H" ], "RE": [ "H", "hB" ], "RO": [ "H", "hB" ], "RS": [ "H", "hB", "h" ], "RU": [ "H" ], "RW": [ "H", "h" ], "SA": [ "h", "hB", "hb", "H" ], "SB": [ "h", "hb", "H", "hB" ], "SC": [ "H", "h", "hB" ], "SD": [ "h", "hB", "hb", "H" ], "SE": [ "H" ], "SG": [ "h", "hb", "H", "hB" ], "SH": [ "H", "h", "hb", "hB" ], "SI": [ "H", "hB" ], "SJ": [ "H" ], "SK": [ "H" ], "SL": [ "h", "hb", "H", "hB" ], "SM": [ "H", "h", "hB" ], "SN": [ "H", "h", "hB" ], "SO": [ "h", "H" ], "SR": [ "H", "hB" ], "SS": [ "h", "hb", "H", "hB" ], "ST": [ "H", "hB" ], "SV": [ "h", "H", "hB", "hb" ], "SX": [ "H", "h", "hb", "hB" ], "SY": [ "h", "hB", "hb", "H" ], "SZ": [ "h", "hb", "H", "hB" ], "TA": [ "H", "h", "hb", "hB" ], "TC": [ "h", "hb", "H", "hB" ], "TD": [ "h", "H", "hB" ], "TF": [ "H", "h", "hB" ], "TG": [ "H", "hB" ], "TH": [ "H", "h" ], "TJ": [ "H", "h" ], "TL": [ "H", "hB", "hb", "h" ], "TM": [ "H", "h" ], "TN": [ "h", "hB", "hb", "H" ], "TO": [ "h", "H" ], "TR": [ "H", "hB" ], "TT": [ "h", "hb", "H", "hB" ], "TW": [ "hB", "hb", "h", "H" ], "TZ": [ "hB", "hb", "H", "h" ], "UA": [ "H", "hB", "h" ], "UG": [ "hB", "hb", "H", "h" ], "UM": [ "h", "hb", "H", "hB" ], "US": [ "h", "hb", "H", "hB" ], "UY": [ "h", "H", "hB", "hb" ], "UZ": [ "H", "hB", "h" ], "VA": [ "H", "h", "hB" ], "VC": [ "h", "hb", "H", "hB" ], "VE": [ "h", "H", "hB", "hb" ], "VG": [ "h", "hb", "H", "hB" ], "VI": [ "h", "hb", "H", "hB" ], "VN": [ "H", "h" ], "VU": [ "h", "H" ], "WF": [ "H", "hB" ], "WS": [ "h", "H" ], "XK": [ "H", "hB", "h" ], "YE": [ "h", "hB", "hb", "H" ], "YT": [ "H", "hB" ], "ZA": [ "H", "h", "hb", "hB" ], "ZM": [ "h", "hb", "H", "hB" ], "ZW": [ "H", "h" ], "af-ZA": [ "H", "h", "hB", "hb" ], "ar-001": [ "h", "hB", "hb", "H" ], "ca-ES": [ "H", "h", "hB" ], "en-001": [ "h", "hb", "H", "hB" ], "en-HK": [ "h", "hb", "H", "hB" ], "en-IL": [ "H", "h", "hb", "hB" ], "en-MY": [ "h", "hb", "H", "hB" ], "es-BR": [ "H", "h", "hB", "hb" ], "es-ES": [ "H", "h", "hB", "hb" ], "es-GQ": [ "H", "h", "hB", "hb" ], "fr-CA": [ "H", "h", "hB" ], "gl-ES": [ "H", "h", "hB" ], "gu-IN": [ "hB", "hb", "h", "H" ], "hi-IN": [ "hB", "h", "H" ], "it-CH": [ "H", "h", "hB" ], "it-IT": [ "H", "h", "hB" ], "kn-IN": [ "hB", "h", "H" ], "ml-IN": [ "hB", "h", "H" ], "mr-IN": [ "hB", "hb", "h", "H" ], "pa-IN": [ "hB", "hb", "h", "H" ], "ta-IN": [ "hB", "h", "hb", "H" ], "te-IN": [ "hB", "h", "H" ], "zu-ZA": [ "H", "hB", "hb", "h" ] }; // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js function getBestPattern(skeleton, locale) { var skeletonCopy = ""; for (var patternPos = 0; patternPos < skeleton.length; patternPos++) { var patternChar = skeleton.charAt(patternPos); if (patternChar === "j") { var extraLength = 0; while (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) { extraLength++; patternPos++; } var hourLen = 1 + (extraLength & 1); var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1); var dayPeriodChar = "a"; var hourChar = getDefaultHourSymbolFromLocale(locale); if (hourChar == "H" || hourChar == "k") { dayPeriodLen = 0; } while (dayPeriodLen-- > 0) { skeletonCopy += dayPeriodChar; } while (hourLen-- > 0) { skeletonCopy = hourChar + skeletonCopy; } } else if (patternChar === "J") { skeletonCopy += "H"; } else { skeletonCopy += patternChar; } } return skeletonCopy; } function getDefaultHourSymbolFromLocale(locale) { var hourCycle = locale.hourCycle; if (hourCycle === void 0 && // @ts-ignore hourCycle(s) is not identified yet locale.hourCycles && // @ts-ignore locale.hourCycles.length) { hourCycle = locale.hourCycles[0]; } if (hourCycle) { switch (hourCycle) { case "h24": return "k"; case "h23": return "H"; case "h12": return "h"; case "h11": return "K"; default: throw new Error("Invalid hourCycle"); } } var languageTag = locale.language; var regionTag; if (languageTag !== "root") { regionTag = locale.maximize().region; } var hourCycles = timeData[regionTag || ""] || timeData[languageTag || ""] || timeData["".concat(languageTag, "-001")] || timeData["001"]; return hourCycles[0]; } // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js var _a; var SPACE_SEPARATOR_START_REGEX = new RegExp("^".concat(SPACE_SEPARATOR_REGEX.source, "*")); var SPACE_SEPARATOR_END_REGEX = new RegExp("".concat(SPACE_SEPARATOR_REGEX.source, "*$")); function createLocation(start, end) { return { start, end }; } var hasNativeStartsWith = !!String.prototype.startsWith && "_a".startsWith("a", 1); var hasNativeFromCodePoint = !!String.fromCodePoint; var hasNativeFromEntries = !!Object.fromEntries; var hasNativeCodePointAt = !!String.prototype.codePointAt; var hasTrimStart = !!String.prototype.trimStart; var hasTrimEnd = !!String.prototype.trimEnd; var hasNativeIsSafeInteger = !!Number.isSafeInteger; var isSafeInteger = hasNativeIsSafeInteger ? Number.isSafeInteger : function(n) { return typeof n === "number" && isFinite(n) && Math.floor(n) === n && Math.abs(n) <= 9007199254740991; }; var REGEX_SUPPORTS_U_AND_Y = true; try { re = RE("([^\\p{White_Space}\\p{Pattern_Syntax}]*)", "yu"); REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec("a")) === null || _a === void 0 ? void 0 : _a[0]) === "a"; } catch (_) { REGEX_SUPPORTS_U_AND_Y = false; } var re; var startsWith = hasNativeStartsWith ? ( // Native function startsWith2(s, search, position) { return s.startsWith(search, position); } ) : ( // For IE11 function startsWith3(s, search, position) { return s.slice(position, position + search.length) === search; } ); var fromCodePoint = hasNativeFromCodePoint ? String.fromCodePoint : ( // IE11 function fromCodePoint2() { var codePoints = []; for (var _i = 0; _i < arguments.length; _i++) { codePoints[_i] = arguments[_i]; } var elements = ""; var length = codePoints.length; var i = 0; var code; while (length > i) { code = codePoints[i++]; if (code > 1114111) throw RangeError(code + " is not a valid code point"); elements += code < 65536 ? String.fromCharCode(code) : String.fromCharCode(((code -= 65536) >> 10) + 55296, code % 1024 + 56320); } return elements; } ); var fromEntries = ( // native hasNativeFromEntries ? Object.fromEntries : ( // Ponyfill function fromEntries2(entries) { var obj = {}; for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) { var _a2 = entries_1[_i], k = _a2[0], v = _a2[1]; obj[k] = v; } return obj; } ) ); var codePointAt = hasNativeCodePointAt ? ( // Native function codePointAt2(s, index) { return s.codePointAt(index); } ) : ( // IE 11 function codePointAt3(s, index) { var size = s.length; if (index < 0 || index >= size) { return void 0; } var first = s.charCodeAt(index); var second; return first < 55296 || first > 56319 || index + 1 === size || (second = s.charCodeAt(index + 1)) < 56320 || second > 57343 ? first : (first - 55296 << 10) + (second - 56320) + 65536; } ); var trimStart = hasTrimStart ? ( // Native function trimStart2(s) { return s.trimStart(); } ) : ( // Ponyfill function trimStart3(s) { return s.replace(SPACE_SEPARATOR_START_REGEX, ""); } ); var trimEnd = hasTrimEnd ? ( // Native function trimEnd2(s) { return s.trimEnd(); } ) : ( // Ponyfill function trimEnd3(s) { return s.replace(SPACE_SEPARATOR_END_REGEX, ""); } ); function RE(s, flag) { return new RegExp(s, flag); } var matchIdentifierAtIndex; if (REGEX_SUPPORTS_U_AND_Y) { IDENTIFIER_PREFIX_RE_1 = RE("([^\\p{White_Space}\\p{Pattern_Syntax}]*)", "yu"); matchIdentifierAtIndex = function matchIdentifierAtIndex2(s, index) { var _a2; IDENTIFIER_PREFIX_RE_1.lastIndex = index; var match = IDENTIFIER_PREFIX_RE_1.exec(s); return (_a2 = match[1]) !== null && _a2 !== void 0 ? _a2 : ""; }; } else { matchIdentifierAtIndex = function matchIdentifierAtIndex2(s, index) { var match = []; while (true) { var c = codePointAt(s, index); if (c === void 0 || _isWhiteSpace(c) || _isPatternSyntax(c)) { break; } match.push(c); index += c >= 65536 ? 2 : 1; } return fromCodePoint.apply(void 0, match); }; } var IDENTIFIER_PREFIX_RE_1; var Parser = ( /** @class */ function() { function Parser2(message, options) { if (options === void 0) { options = {}; } this.message = message; this.position = { offset: 0, line: 1, column: 1 }; this.ignoreTag = !!options.ignoreTag; this.locale = options.locale; this.requiresOtherClause = !!options.requiresOtherClause; this.shouldParseSkeletons = !!options.shouldParseSkeletons; } Parser2.prototype.parse = function() { if (this.offset() !== 0) { throw Error("parser can only be used once"); } return this.parseMessage(0, "", false); }; Parser2.prototype.parseMessage = function(nestingLevel, parentArgType, expectingCloseTag) { var elements = []; while (!this.isEOF()) { var char = this.char(); if (char === 123) { var result = this.parseArgument(nestingLevel, expectingCloseTag); if (result.err) { return result; } elements.push(result.val); } else if (char === 125 && nestingLevel > 0) { break; } else if (char === 35 && (parentArgType === "plural" || parentArgType === "selectordinal")) { var position = this.clonePosition(); this.bump(); elements.push({ type: TYPE.pound, location: createLocation(position, this.clonePosition()) }); } else if (char === 60 && !this.ignoreTag && this.peek() === 47) { if (expectingCloseTag) { break; } else { return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition())); } } else if (char === 60 && !this.ignoreTag && _isAlpha(this.peek() || 0)) { var result = this.parseTag(nestingLevel, parentArgType); if (result.err) { return result; } elements.push(result.val); } else { var result = this.parseLiteral(nestingLevel, parentArgType); if (result.err) { return result; } elements.push(result.val); } } return { val: elements, err: null }; }; Parser2.prototype.parseTag = function(nestingLevel, parentArgType) { var startPosition = this.clonePosition(); this.bump(); var tagName = this.parseTagName(); this.bumpSpace(); if (this.bumpIf("/>")) { return { val: { type: TYPE.literal, value: "<".concat(tagName, "/>"), location: createLocation(startPosition, this.clonePosition()) }, err: null }; } else if (this.bumpIf(">")) { var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true); if (childrenResult.err) { return childrenResult; } var children = childrenResult.val; var endTagStartPosition = this.clonePosition(); if (this.bumpIf("</")) { if (this.isEOF() || !_isAlpha(this.char())) { return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition())); } var closingTagNameStartPosition = this.clonePosition(); var closingTagName = this.parseTagName(); if (tagName !== closingTagName) { return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition())); } this.bumpSpace(); if (!this.bumpIf(">")) { return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition())); } return { val: { type: TYPE.tag, value: tagName, children, location: createLocation(startPosition, this.clonePosition()) }, err: null }; } else { return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition())); } } else { return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition())); } }; Parser2.prototype.parseTagName = function() { var startOffset = this.offset(); this.bump(); while (!this.isEOF() && _isPotentialElementNameChar(this.char())) { this.bump(); } return this.message.slice(startOffset, this.offset()); }; Parser2.prototype.parseLiteral = function(nestingLevel, parentArgType) { var start = this.clonePosition(); var value = ""; while (true) { var parseQuoteResult = this.tryParseQuote(parentArgType); if (parseQuoteResult) { value += parseQuoteResult; continue; } var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType); if (parseUnquotedResult) { value += parseUnquotedResult; continue; } var parseLeftAngleResult = this.tryParseLeftAngleBracket(); if (parseLeftAngleResult) { value += parseLeftAngleResult; continue; } break; } var location = createLocation(start, this.clonePosition()); return { val: { type: TYPE.literal, value, location }, err: null }; }; Parser2.prototype.tryParseLeftAngleBracket = function() { if (!this.isEOF() && this.char() === 60 && (this.ignoreTag || // If at the opening tag or closing tag position, bail. !_isAlphaOrSlash(this.peek() || 0))) { this.bump(); return "<"; } return null; }; Parser2.prototype.tryParseQuote = function(parentArgType) { if (this.isEOF() || this.char() !== 39) { return null; } switch (this.peek()) { case 39: this.bump(); this.bump(); return "'"; case 123: case 60: case 62: case 125: break; case 35: if (parentArgType === "plural" || parentArgType === "selectordinal") { break; } return null; default: return null; } this.bump(); var codePoints = [this.char()]; this.bump(); while (!this.isEOF()) { var ch = this.char(); if (ch === 39) { if (this.peek() === 39) { codePoints.push(39); this.bump(); } else { this.bump(); break; } } else { codePoints.push(ch); } this.bump(); } return fromCodePoint.apply(void 0, codePoints); }; Parser2.prototype.tryParseUnquoted = function(nestingLevel, parentArgType) { if (this.isEOF()) { return null; } var ch = this.char(); if (ch === 60 || ch === 123 || ch === 35 && (parentArgType === "plural" || parentArgType === "selectordinal") || ch === 125 && nestingLevel > 0) { return null; } else { this.bump(); return fromCodePoint(ch); } }; Parser2.prototype.parseArgument = function(nestingLevel, expectingCloseTag) { var openingBracePosition = this.clonePosition(); this.bump(); this.bumpSpace(); if (this.isEOF()) { return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition())); } if (this.char() === 125) { this.bump(); return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition())); } var value = this.parseIdentifierIfPossible().value; if (!value) { return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition())); } this.bumpSpace(); if (this.isEOF()) { return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition())); } switch (this.char()) { case 125: { this.bump(); return { val: { type: TYPE.argument, // value does not include the opening and closing braces. value, location: createLocation(openingBracePosition, this.clonePosition()) }, err: null }; } case 44: { this.bump(); this.bumpSpace(); if (this.isEOF()) { return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition())); } return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition); } default: return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition())); } }; Parser2.prototype.parseIdentifierIfPossible = function() { var startingPosition = this.clonePosition(); var startOffset = this.offset(); var value = matchIdentifierAtIndex(this.message, startOffset); var endOffset = startOffset + value.length; this.bumpTo(endOffset); var endPosition = this.clonePosition(); var location = createLocation(startingPosition, endPosition); return { value, location }; }; Parser2.prototype.parseArgumentOptions = function(nestingLevel, expectingCloseTag, value, openingBracePosition) { var _a2; var typeStartPosition = this.clonePosition(); var argType = this.parseIdentifierIfPossible().value; var typeEndPosition = this.clonePosition(); switch (argType) { case "": return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition)); case "number": case "date": case "time": { this.bumpSpace(); var styleAndLocation = null; if (this.bumpIf(",")) { this.bumpSpace(); var styleStartPosition = this.clonePosition(); var result = this.parseSimpleArgStyleIfPossible(); if (result.err) { return result; } var style = trimEnd(result.val); if (style.length === 0) { return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition())); } var styleLocation = createLocation(styleStartPosition, this.clonePosition()); styleAndLocation = { style, styleLocation }; } var argCloseResult = this.tryParseArgumentClose(openingBracePosition); if (argCloseResult.err) { return argCloseResult; } var location_1 = createLocation(openingBracePosition, this.clonePosition()); if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, "::", 0)) { var skeleton = trimStart(styleAndLocation.style.slice(2)); if (argType === "number") { var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation); if (result.err) { return result; } return { val: { type: TYPE.number, value, location: location_1, style: result.val }, err: null }; } else {