UNPKG

astexplorer.app

Version:

https://astexplorer.net with ES Modules support and Hot Reloading

1 lines 145 kB
(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{"./node_modules/intl-messageformat-parser/lib/index.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, "TYPE", function() { return /* reexport */ TYPE; });\n__webpack_require__.d(__webpack_exports__, "SKELETON_TYPE", function() { return /* reexport */ SKELETON_TYPE; });\n__webpack_require__.d(__webpack_exports__, "isLiteralElement", function() { return /* reexport */ isLiteralElement; });\n__webpack_require__.d(__webpack_exports__, "isArgumentElement", function() { return /* reexport */ isArgumentElement; });\n__webpack_require__.d(__webpack_exports__, "isNumberElement", function() { return /* reexport */ isNumberElement; });\n__webpack_require__.d(__webpack_exports__, "isDateElement", function() { return /* reexport */ isDateElement; });\n__webpack_require__.d(__webpack_exports__, "isTimeElement", function() { return /* reexport */ isTimeElement; });\n__webpack_require__.d(__webpack_exports__, "isSelectElement", function() { return /* reexport */ isSelectElement; });\n__webpack_require__.d(__webpack_exports__, "isPluralElement", function() { return /* reexport */ isPluralElement; });\n__webpack_require__.d(__webpack_exports__, "isPoundElement", function() { return /* reexport */ isPoundElement; });\n__webpack_require__.d(__webpack_exports__, "isTagElement", function() { return /* reexport */ isTagElement; });\n__webpack_require__.d(__webpack_exports__, "isNumberSkeleton", function() { return /* reexport */ isNumberSkeleton; });\n__webpack_require__.d(__webpack_exports__, "isDateTimeSkeleton", function() { return /* reexport */ isDateTimeSkeleton; });\n__webpack_require__.d(__webpack_exports__, "createLiteralElement", function() { return /* reexport */ createLiteralElement; });\n__webpack_require__.d(__webpack_exports__, "createNumberElement", function() { return /* reexport */ createNumberElement; });\n__webpack_require__.d(__webpack_exports__, "SyntaxError", function() { return /* reexport */ parser_SyntaxError; });\n__webpack_require__.d(__webpack_exports__, "pegParse", function() { return /* reexport */ pegParse; });\n__webpack_require__.d(__webpack_exports__, "parse", function() { return /* binding */ parse; });\n\n// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/node_modules/tslib/tslib.es6.js\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, "default", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o["default"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to get private field on non-instance");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to set private field on non-instance");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n\n// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/src/types.js\nvar TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE["literal"] = 0] = "literal";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE["argument"] = 1] = "argument";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE["number"] = 2] = "number";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE["date"] = 3] = "date";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE["time"] = 4] = "time";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE["select"] = 5] = "select";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE["plural"] = 6] = "plural";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE["pound"] = 7] = "pound";\n /**\n * XML-like tag\n */\n TYPE[TYPE["tag"] = 8] = "tag";\n})(TYPE || (TYPE = {}));\nvar SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE["number"] = 0] = "number";\n SKELETON_TYPE[SKELETON_TYPE["dateTime"] = 1] = "dateTime";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nfunction isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nfunction isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nfunction isNumberElement(el) {\n return el.type === TYPE.number;\n}\nfunction isDateElement(el) {\n return el.type === TYPE.date;\n}\nfunction isTimeElement(el) {\n return el.type === TYPE.time;\n}\nfunction isSelectElement(el) {\n return el.type === TYPE.select;\n}\nfunction isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nfunction isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nfunction isTagElement(el) {\n return el.type === TYPE.tag;\n}\nfunction isNumberSkeleton(el) {\n return !!(el && typeof el === \'object\' && el.type === 0 /* number */);\n}\nfunction isDateTimeSkeleton(el) {\n return !!(el && typeof el === \'object\' && el.type === 1 /* dateTime */);\n}\nfunction createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nfunction createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n\n// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/src/skeleton.js\n\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar 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;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nfunction parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case \'G\':\n result.era = len === 4 ? \'long\' : len === 5 ? \'narrow\' : \'short\';\n break;\n // Year\n case \'y\':\n result.year = len === 2 ? \'2-digit\' : \'numeric\';\n break;\n case \'Y\':\n case \'u\':\n case \'U\':\n case \'r\':\n throw new RangeError(\'`Y/u/U/r` (year) patterns are not supported, use `y` instead\');\n // Quarter\n case \'q\':\n case \'Q\':\n throw new RangeError(\'`q/Q` (quarter) patterns are not supported\');\n // Month\n case \'M\':\n case \'L\':\n result.month = [\'numeric\', \'2-digit\', \'short\', \'long\', \'narrow\'][len - 1];\n break;\n // Week\n case \'w\':\n case \'W\':\n throw new RangeError(\'`w/W` (week) patterns are not supported\');\n case \'d\':\n result.day = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'D\':\n case \'F\':\n case \'g\':\n throw new RangeError(\'`D/F/g` (day) patterns are not supported, use `d` instead\');\n // Weekday\n case \'E\':\n result.weekday = len === 4 ? \'short\' : len === 5 ? \'narrow\' : \'short\';\n break;\n case \'e\':\n if (len < 4) {\n throw new RangeError(\'`e..eee` (weekday) patterns are not supported\');\n }\n result.weekday = [\'short\', \'long\', \'narrow\', \'short\'][len - 4];\n break;\n case \'c\':\n if (len < 4) {\n throw new RangeError(\'`c..ccc` (weekday) patterns are not supported\');\n }\n result.weekday = [\'short\', \'long\', \'narrow\', \'short\'][len - 4];\n break;\n // Period\n case \'a\': // AM, PM\n result.hour12 = true;\n break;\n case \'b\': // am, pm, noon, midnight\n case \'B\': // flexible day periods\n throw new RangeError(\'`b/B` (period) patterns are not supported, use `a` instead\');\n // Hour\n case \'h\':\n result.hourCycle = \'h12\';\n result.hour = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'H\':\n result.hourCycle = \'h23\';\n result.hour = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'K\':\n result.hourCycle = \'h11\';\n result.hour = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'k\':\n result.hourCycle = \'h24\';\n result.hour = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'j\':\n case \'J\':\n case \'C\':\n throw new RangeError(\'`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead\');\n // Minute\n case \'m\':\n result.minute = [\'numeric\', \'2-digit\'][len - 1];\n break;\n // Second\n case \'s\':\n result.second = [\'numeric\', \'2-digit\'][len - 1];\n break;\n case \'S\':\n case \'A\':\n throw new RangeError(\'`S/A` (second) patterns are not supported, use `s` instead\');\n // Zone\n case \'z\': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? \'short\' : \'long\';\n break;\n case \'Z\': // 1..3, 4, 5: The ISO8601 varios formats\n case \'O\': // 1, 4: miliseconds in day short, long\n case \'v\': // 1, 4: generic non-location format\n case \'V\': // 1, 2, 3, 4: time zone ID or city\n case \'X\': // 1, 2, 3, 4: The ISO8601 varios formats\n case \'x\': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError(\'`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead\');\n }\n return \'\';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, \'\');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== \'string\') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === \'+\') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === \'#\') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === \'string\' ? g2.length : 0);\n }\n return \'\';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case \'sign-auto\':\n return {\n signDisplay: \'auto\',\n };\n case \'sign-accounting\':\n return {\n currencySign: \'accounting\',\n };\n case \'sign-always\':\n return {\n signDisplay: \'always\',\n };\n case \'sign-accounting-always\':\n return {\n signDisplay: \'always\',\n currencySign: \'accounting\',\n };\n case \'sign-except-zero\':\n return {\n signDisplay: \'exceptZero\',\n };\n case \'sign-accounting-except-zero\':\n return {\n signDisplay: \'exceptZero\',\n currencySign: \'accounting\',\n };\n case \'sign-never\':\n return {\n signDisplay: \'never\',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nfunction parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case \'percent\':\n result.style = \'percent\';\n continue;\n case \'currency\':\n result.style = \'currency\';\n result.currency = token.options[0];\n continue;\n case \'group-off\':\n result.useGrouping = false;\n continue;\n case \'precision-integer\':\n case \'.\':\n result.maximumFractionDigits = 0;\n continue;\n case \'measure-unit\':\n result.style = \'unit\';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case \'compact-short\':\n result.notation = \'compact\';\n result.compactDisplay = \'short\';\n continue;\n case \'compact-long\':\n result.notation = \'compact\';\n result.compactDisplay = \'long\';\n continue;\n case \'scientific\':\n result = __assign(__assign(__assign({}, result), { notation: \'scientific\' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case \'engineering\':\n result = __assign(__assign(__assign({}, result), { notation: \'engineering\' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case \'notation-simple\':\n result.notation = \'standard\';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case \'unit-width-narrow\':\n result.currencyDisplay = \'narrowSymbol\';\n result.unitDisplay = \'narrow\';\n continue;\n case \'unit-width-short\':\n result.currencyDisplay = \'code\';\n result.unitDisplay = \'short\';\n continue;\n case \'unit-width-full-name\':\n result.currencyDisplay = \'name\';\n result.unitDisplay = \'long\';\n continue;\n case \'unit-width-iso-code\':\n result.currencyDisplay = \'symbol\';\n continue;\n case \'scale\':\n result.scale = parseFloat(token.options[0]);\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n // precision-integer case\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError(\'Fraction-precision stems only accept a single optional option\');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === \'*\') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === \'#\') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return \'\';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\n\n// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/src/parser.js\n// @ts-nocheck\n\n// @generated\n\n\nvar parser_SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = "SyntaxError";\n if (typeof Error.captureStackTrace === "function") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, "\\\\\\\\")\n .replace(/"/g, "\\\\\\"")\n .replace(/\\0/g, "\\\\0")\n .replace(/\\t/g, "\\\\t")\n .replace(/\\n/g, "\\\\n")\n .replace(/\\r/g, "\\\\r")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return "\\\\x0" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return "\\\\x" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, "\\\\\\\\")\n .replace(/\\]/g, "\\\\]")\n .replace(/\\^/g, "\\\\^")\n .replace(/-/g, "\\\\-")\n .replace(/\\0/g, "\\\\0")\n .replace(/\\t/g, "\\\\t")\n .replace(/\\n/g, "\\\\n")\n .replace(/\\r/g, "\\\\r")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return "\\\\x0" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return "\\\\x" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case "literal":\n return "\\"" + literalEscape(expectation.text) + "\\"";\n case "class":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + "-" + classEscape(part[1])\n : classEscape(part);\n });\n return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";\n case "any":\n return "any character";\n case "end":\n return "end of input";\n case "other":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + " or " + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(", ")\n + ", or "\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? "\\"" + literalEscape(found1) + "\\"" : "end of input";\n }\n return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";\n };\n return SyntaxError;\n}(Error));\n\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function () { return !ignoreTag; };\n var peg$c1 = function (x) { return x; };\n var peg$c2 = function () { return ignoreTag; };\n var peg$c3 = "<";\n var peg$c4 = peg$literalExpectation("<", false);\n var peg$c5 = function (parts) {\n return parts.join(\'\');\n };\n var peg$c6 = function () { return \'<\'; };\n var peg$c7 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c8 = "#";\n var peg$c9 = peg$literalExpectation("#", false);\n var peg$c10 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c11 = peg$otherExpectation("tagElement");\n var peg$c12 = function (open, children, close) {\n if (open !== close) {\n error("Mismatch tag \\"" + open + "\\" !== \\"" + close + "\\"", location());\n }\n return __assign({ type: TYPE.tag, value: open, children: children }, insertLocation());\n };\n var peg$c13 = "/>";\n var peg$c14 = peg$literalExpectation("/>", false);\n var peg$c15 = function (value) {\n return __assign({ type: TYPE.literal, value: value.join(\'\') }, insertLocation());\n };\n var peg$c16 = ">";\n var peg$c17 = peg$literalExpectation(">", false);\n var peg$c18 = function (tag) { return tag; };\n var peg$c19 = "</";\n var peg$c20 = peg$literalExpectation("</", false);\n var peg$c21 = peg$otherExpectation("argumentElement");\n var peg$c22 = "{";\n var peg$c23 = peg$literalExpectation("{", false);\n var peg$c24 = "}";\n var peg$c25 = peg$literalExpectation("}", false);\n var peg$c26 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c27 = peg$otherExpectation("numberSkeletonId");\n var peg$c28 = /^[\'\\/{}]/;\n var peg$c29 = peg$classExpectation(["\'", "/", "{", "}"], false, false);\n var peg$c30 = peg$anyExpectation();\n var peg$c31 = peg$otherExpectation("numberSkeletonTokenOption");\n var peg$c32 = "/";\n var peg$c33 = peg$literalExpectation("/", false);\n var peg$c34 = function (option) { return option; };\n var peg$c35 = peg$otherExpectation("numberSkeletonToken");\n var peg$c36 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c37 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens, parsedOptions: shouldParseSkeleton ? parseNumberSkeleton(tokens) : {} }, insertLocation());\n };\n var peg$c38 = "::";\n var peg$c39 = peg$literalExpectation("::", false);\n var peg$c40 = function (skeleton) { return skeleton; };\n var peg$c41 = function () { messageCtx.push(\'numberArgStyle\'); return true; };\n var peg$c42 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, \'\');\n };\n var peg$c43 = ",";\n var peg$c44 = peg$literalExpectation(",", false);\n var peg$c45 = "number";\n var peg$c46 = peg$literalExpectation("number", false);\n var peg$c47 = function (value, type, style) {\n return __assign({ type: type === \'number\' ? TYPE.number : type === \'date\' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c48 = "\'";\n var peg$c49 = peg$literalExpectation("\'", false);\n var peg$c50 = /^[^\']/;\n var peg$c51 = peg$classExpectation(["\'"], true, false);\n var peg$c52 = /^[^a-zA-Z\'{}]/;\n var peg$c53 = peg$classExpectation([["a", "z"], ["A", "Z"], "\'", "{", "}"], true, false);\n var peg$c54 = /^[a-zA-Z]/;\n var peg$c55 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);\n var peg$c56 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern, parsedOptions: shouldParseSkeleton ? parseDateTimeSkeleton(pattern) : {} }, insertLocation());\n };\n var peg$c57 = function () { messageCtx.push(\'dateOrTimeArgStyle\'); return true; };\n var peg$c58 = "date";\n var peg$c59 = peg$literalExpectation("date", false);\n var peg$c60 = "time";\n var peg$c61 = peg$literalExpectation("time", false);\n var peg$c62 = "plural";\n var peg$c63 = peg$literalExpectation("plural", false);\n var peg$c64 = "selectordinal";\n var peg$c65 = peg$literalExpectation("selectordinal", false);\n var peg$c66 = "offset:";\n var peg$c67 = peg$literalExpectation("offset:", false);\n var peg$c68 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === \'plural\' ? \'cardinal\' : \'ordinal\', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error("Duplicate option \\"" + id + "\\" in plural element: \\"" + text() + "\\"", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c69 = "select";\n var peg$c70 = peg$literalExpectation("select", false);\n var peg$c71 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error("Duplicate option \\"" + id + "\\" in select element: \\"" + text() + "\\"", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c72 = "=";\n var peg$c73 = peg$literalExpectation("=", false);\n var peg$c74 = function (id) { messageCtx.push(\'select\'); return true; };\n var peg$c75 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c76 = function (id) { messageCtx.push(\'plural\'); return true; };\n var peg$c77 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c78 = peg$otherExpectation("whitespace");\n var peg$c79 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c80 = peg$classExpectation([["\\t", "\\r"], " ", "\\x85", "\\xA0", "\\u1680", ["\\u2000", "\\u200A"], "\\u2028", "\\u2029", "\\u202F", "\\u205F", "\\u3000"], false, false);\n var peg$c81 = peg$otherExpectation("syntax pattern");\n var peg$c82 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c83 = peg$classExpectation([["!", "/"], [":", "@"], ["[", "^"], "`", ["{", "~"], ["\\xA1", "\\xA7"], "\\xA9", "\\xAB", "\\xAC", "\\xAE", "\\xB0", "\\xB1", "\\xB6", "\\xBB", "\\xBF", "\\xD7", "\\xF7", ["\\u2010", "\\u2027"], ["\\u2030", "\\u203E"], ["\\u2041", "\\u2053"], ["\\u2055", "\\u205E"], ["\\u2190", "\\u245F"], ["\\u2500", "\\u2775"], ["\\u2794", "\\u2BFF"], ["\\u2E00", "\\u2E7F"], ["\\u3001", "\\u3003"], ["\\u3008", "\\u3020"], "\\u3030", "\\uFD3E", "\\uFD3F", "\\uFE45", "\\uFE46"], false, false);\n var peg$c84 = peg$otherExpectation("optional whitespace");\n var peg$c85 = peg$otherExpectation("number");\n var peg$c86 = "-";\n var peg$c87 = peg$literalExpectation("-", false);\n var peg$c88 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c89 = peg$otherExpectation("apostrophe");\n var peg$c90 = peg$otherExpectation("double apostrophes");\n var peg$c91 = "\'\'";\n var peg$c92 = peg$literalExpectation("\'\'", false);\n var peg$c93 = function () { return "\'"; };\n var peg$c94 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace("\'\'", "\'");\n };\n var peg$c95 = function (x) {\n return (x !== \'<\' &&\n x !== \'{\' &&\n !(isInPluralOption() && x === \'#\') &&\n !(isNestedMessageText() && x === \'}\'));\n };\n var peg$c96 = "\\n";\n var peg$c97 = peg$literalExpectation("\\n", false);\n var peg$c98 = function (x) {\n return x === \'<\' || x === \'>\' || x === \'{\' || x === \'}\' || (isInPluralOption() && x === \'#\');\n };\n var peg$c99 = peg$otherExpectation("argNameOrNumber");\n var peg$c100 = peg$otherExpectation("validTag");\n var peg$c101 = peg$otherExpectation("argNumber");\n var peg$c102 = "0";\n var peg$c103 = peg$literalExpectation("0", false);\n var peg$c104 = function () { return 0; };\n var peg$c105 = /^[1-9]/;\n var peg$c106 = peg$classExpectation([["1", "9"]], false, false);\n var peg$c107 = /^[0-9]/;\n var peg$c108 = peg$classExpectation([["0", "9"]], false, false);\n var peg$c109 = function (digits) {\n return parseInt(digits.join(\'\'), 10);\n };\n var peg$c110 = peg$otherExpectation("argName");\n var peg$c111 = peg$otherExpectation("tagName");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: "literal", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: "any" };\n }\n function peg$endExpectation() {\n return { type: "end" };\n }\n function peg$otherExpectation(description) {\n return { type: "other", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new parser_SyntaxError(message, [], "", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new parser_SyntaxError(parser_SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0, s1, s2;\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c0();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsetagElement();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c2();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n s3 = peg$parsequotedString();\n if (s3 === peg$FAILED) {\n s3 = peg$parseunquotedString();\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 60) {\n s3 = peg$c3;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n s3 = peg$parsequotedString();\n if (s3 === peg$FAILED) {\n s3 = peg$parseunquotedString();\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 60) {\n s3 = peg$c3;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n