{"version":3,"file":"js/vendors-6659b1ab.min.js?t=1743075070513","mappings":"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","sources":["webpack://frontend/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js"],"sourcesContent":["/*!\n * core-base v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isObject, isString, isFunction, isNumber, isPlainObject, toDisplayString, isArray, format, isBoolean, assign, isRegExp, warn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate, getGlobalThis } from '@intlify/shared';\nimport { defaultOnError, baseCompile, CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\n\nconst pathStateMachine = [];\r\npathStateMachine[0 /* BEFORE_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [0 /* BEFORE_PATH */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[1 /* IN_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[2 /* BEFORE_IDENT */] = {\r\n [\"w\" /* WORKSPACE */]: [2 /* BEFORE_IDENT */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */]\r\n};\r\npathStateMachine[3 /* IN_IDENT */] = {\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */, 1 /* PUSH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */, 1 /* PUSH */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */, 1 /* PUSH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */, 1 /* PUSH */]\r\n};\r\npathStateMachine[4 /* IN_SUB_PATH */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */],\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [\r\n 4 /* IN_SUB_PATH */,\r\n 2 /* INC_SUB_PATH_DEPTH */\r\n ],\r\n [\"]\" /* RIGHT_BRACKET */]: [1 /* IN_PATH */, 3 /* PUSH_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */]\r\n};\r\npathStateMachine[5 /* IN_SINGLE_QUOTE */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */]\r\n};\r\npathStateMachine[6 /* IN_DOUBLE_QUOTE */] = {\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */]\r\n};\r\n/**\r\n * Check if an expression is a literal value.\r\n */\r\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\r\nfunction isLiteral(exp) {\r\n return literalValueRE.test(exp);\r\n}\r\n/**\r\n * Strip quotes from a string\r\n */\r\nfunction stripQuotes(str) {\r\n const a = str.charCodeAt(0);\r\n const b = str.charCodeAt(str.length - 1);\r\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\r\n}\r\n/**\r\n * Determine the type of a character in a keypath.\r\n */\r\nfunction getPathCharType(ch) {\r\n if (ch === undefined || ch === null) {\r\n return \"o\" /* END_OF_FAIL */;\r\n }\r\n const code = ch.charCodeAt(0);\r\n switch (code) {\r\n case 0x5b: // [\r\n case 0x5d: // ]\r\n case 0x2e: // .\r\n case 0x22: // \"\r\n case 0x27: // '\r\n return ch;\r\n case 0x5f: // _\r\n case 0x24: // $\r\n case 0x2d: // -\r\n return \"i\" /* IDENT */;\r\n case 0x09: // Tab (HT)\r\n case 0x0a: // Newline (LF)\r\n case 0x0d: // Return (CR)\r\n case 0xa0: // No-break space (NBSP)\r\n case 0xfeff: // Byte Order Mark (BOM)\r\n case 0x2028: // Line Separator (LS)\r\n case 0x2029: // Paragraph Separator (PS)\r\n return \"w\" /* WORKSPACE */;\r\n }\r\n return \"i\" /* IDENT */;\r\n}\r\n/**\r\n * Format a subPath, return its plain form if it is\r\n * a literal string or number. Otherwise prepend the\r\n * dynamic indicator (*).\r\n */\r\nfunction formatSubPath(path) {\r\n const trimmed = path.trim();\r\n // invalid leading 0\r\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\r\n return false;\r\n }\r\n return isLiteral(trimmed)\r\n ? stripQuotes(trimmed)\r\n : \"*\" /* ASTARISK */ + trimmed;\r\n}\r\n/**\r\n * Parse a string path into an array of segments\r\n */\r\nfunction parse(path) {\r\n const keys = [];\r\n let index = -1;\r\n let mode = 0 /* BEFORE_PATH */;\r\n let subPathDepth = 0;\r\n let c;\r\n let key; // eslint-disable-line\r\n let newChar;\r\n let type;\r\n let transition;\r\n let action;\r\n let typeMap;\r\n const actions = [];\r\n actions[0 /* APPEND */] = () => {\r\n if (key === undefined) {\r\n key = newChar;\r\n }\r\n else {\r\n key += newChar;\r\n }\r\n };\r\n actions[1 /* PUSH */] = () => {\r\n if (key !== undefined) {\r\n keys.push(key);\r\n key = undefined;\r\n }\r\n };\r\n actions[2 /* INC_SUB_PATH_DEPTH */] = () => {\r\n actions[0 /* APPEND */]();\r\n subPathDepth++;\r\n };\r\n actions[3 /* PUSH_SUB_PATH */] = () => {\r\n if (subPathDepth > 0) {\r\n subPathDepth--;\r\n mode = 4 /* IN_SUB_PATH */;\r\n actions[0 /* APPEND */]();\r\n }\r\n else {\r\n subPathDepth = 0;\r\n if (key === undefined) {\r\n return false;\r\n }\r\n key = formatSubPath(key);\r\n if (key === false) {\r\n return false;\r\n }\r\n else {\r\n actions[1 /* PUSH */]();\r\n }\r\n }\r\n };\r\n function maybeUnescapeQuote() {\r\n const nextChar = path[index + 1];\r\n if ((mode === 5 /* IN_SINGLE_QUOTE */ &&\r\n nextChar === \"'\" /* SINGLE_QUOTE */) ||\r\n (mode === 6 /* IN_DOUBLE_QUOTE */ &&\r\n nextChar === \"\\\"\" /* DOUBLE_QUOTE */)) {\r\n index++;\r\n newChar = '\\\\' + nextChar;\r\n actions[0 /* APPEND */]();\r\n return true;\r\n }\r\n }\r\n while (mode !== null) {\r\n index++;\r\n c = path[index];\r\n if (c === '\\\\' && maybeUnescapeQuote()) {\r\n continue;\r\n }\r\n type = getPathCharType(c);\r\n typeMap = pathStateMachine[mode];\r\n transition = typeMap[type] || typeMap[\"l\" /* ELSE */] || 8 /* ERROR */;\r\n // check parse error\r\n if (transition === 8 /* ERROR */) {\r\n return;\r\n }\r\n mode = transition[0];\r\n if (transition[1] !== undefined) {\r\n action = actions[transition[1]];\r\n if (action) {\r\n newChar = c;\r\n if (action() === false) {\r\n return;\r\n }\r\n }\r\n }\r\n // check parse finish\r\n if (mode === 7 /* AFTER_PATH */) {\r\n return keys;\r\n }\r\n }\r\n}\r\n// path token cache\r\nconst cache = new Map();\r\n/**\r\n * key-value message resolver\r\n *\r\n * @remarks\r\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveWithKeyValue(obj, path) {\r\n return isObject(obj) ? obj[path] : null;\r\n}\r\n/**\r\n * message resolver\r\n *\r\n * @remarks\r\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveValue(obj, path) {\r\n // check object\r\n if (!isObject(obj)) {\r\n return null;\r\n }\r\n // parse path\r\n let hit = cache.get(path);\r\n if (!hit) {\r\n hit = parse(path);\r\n if (hit) {\r\n cache.set(path, hit);\r\n }\r\n }\r\n // check hit\r\n if (!hit) {\r\n return null;\r\n }\r\n // resolve path value\r\n const len = hit.length;\r\n let last = obj;\r\n let i = 0;\r\n while (i < len) {\r\n const val = last[hit[i]];\r\n if (val === undefined) {\r\n return null;\r\n }\r\n last = val;\r\n i++;\r\n }\r\n return last;\r\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\r\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\r\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\r\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : values.join('');\r\nconst DEFAULT_INTERPOLATE = toDisplayString;\r\nfunction pluralDefault(choice, choicesLength) {\r\n choice = Math.abs(choice);\r\n if (choicesLength === 2) {\r\n // prettier-ignore\r\n return choice\r\n ? choice > 1\r\n ? 1\r\n : 0\r\n : 1;\r\n }\r\n return choice ? Math.min(choice, 2) : 0;\r\n}\r\nfunction getPluralIndex(options) {\r\n // prettier-ignore\r\n const index = isNumber(options.pluralIndex)\r\n ? options.pluralIndex\r\n : -1;\r\n // prettier-ignore\r\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\r\n ? isNumber(options.named.count)\r\n ? options.named.count\r\n : isNumber(options.named.n)\r\n ? options.named.n\r\n : index\r\n : index;\r\n}\r\nfunction normalizeNamed(pluralIndex, props) {\r\n if (!props.count) {\r\n props.count = pluralIndex;\r\n }\r\n if (!props.n) {\r\n props.n = pluralIndex;\r\n }\r\n}\r\nfunction createMessageContext(options = {}) {\r\n const locale = options.locale;\r\n const pluralIndex = getPluralIndex(options);\r\n const pluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? options.pluralRules[locale]\r\n : pluralDefault;\r\n const orgPluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? pluralDefault\r\n : undefined;\r\n const plural = (messages) => {\r\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\r\n };\r\n const _list = options.list || [];\r\n const list = (index) => _list[index];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _named = options.named || {};\r\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\r\n const named = (key) => _named[key];\r\n function message(key) {\r\n // prettier-ignore\r\n const msg = isFunction(options.messages)\r\n ? options.messages(key)\r\n : isObject(options.messages)\r\n ? options.messages[key]\r\n : false;\r\n return !msg\r\n ? options.parent\r\n ? options.parent.message(key) // resolve from parent messages\r\n : DEFAULT_MESSAGE\r\n : msg;\r\n }\r\n const _modifier = (name) => options.modifiers\r\n ? options.modifiers[name]\r\n : DEFAULT_MODIFIER;\r\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\r\n ? options.processor.normalize\r\n : DEFAULT_NORMALIZE;\r\n const interpolate = isPlainObject(options.processor) &&\r\n isFunction(options.processor.interpolate)\r\n ? options.processor.interpolate\r\n : DEFAULT_INTERPOLATE;\r\n const type = isPlainObject(options.processor) && isString(options.processor.type)\r\n ? options.processor.type\r\n : DEFAULT_MESSAGE_DATA_TYPE;\r\n const linked = (key, ...args) => {\r\n const [arg1, arg2] = args;\r\n let type = 'text';\r\n let modifier = '';\r\n if (args.length === 1) {\r\n if (isObject(arg1)) {\r\n modifier = arg1.modifier || modifier;\r\n type = arg1.type || type;\r\n }\r\n else if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n }\r\n else if (args.length === 2) {\r\n if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n if (isString(arg2)) {\r\n type = arg2 || type;\r\n }\r\n }\r\n let msg = message(key)(ctx);\r\n // The message in vnode resolved with linked are returned as an array by processor.nomalize\r\n if (type === 'vnode' && isArray(msg) && modifier) {\r\n msg = msg[0];\r\n }\r\n return modifier ? _modifier(modifier)(msg, type) : msg;\r\n };\r\n const ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: linked,\r\n [\"message\" /* MESSAGE */]: message,\r\n [\"type\" /* TYPE */]: type,\r\n [\"interpolate\" /* INTERPOLATE */]: interpolate,\r\n [\"normalize\" /* NORMALIZE */]: normalize\r\n };\r\n return ctx;\r\n}\n\nlet devtools = null;\r\nfunction setDevToolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction getDevToolsHook() {\r\n return devtools;\r\n}\r\nfunction initI18nDevTools(i18n, version, meta) {\r\n // TODO: queue if devtools is undefined\r\n devtools &&\r\n devtools.emit(IntlifyDevToolsHooks.I18nInit, {\r\n timestamp: Date.now(),\r\n i18n,\r\n version,\r\n meta\r\n });\r\n}\r\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);\r\nfunction createDevToolsHook(hook) {\r\n return (payloads) => devtools && devtools.emit(hook, payloads);\r\n}\n\nconst CoreWarnCodes = {\r\n NOT_FOUND_KEY: 1,\r\n FALLBACK_TO_TRANSLATE: 2,\r\n CANNOT_FORMAT_NUMBER: 3,\r\n FALLBACK_TO_NUMBER_FORMAT: 4,\r\n CANNOT_FORMAT_DATE: 5,\r\n FALLBACK_TO_DATE_FORMAT: 6,\r\n __EXTEND_POINT__: 7\r\n};\r\n/** @internal */\r\nconst warnMessages = {\r\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\n/**\r\n * Fallback with simple implemenation\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a simple fallback algorithm.\r\n *\r\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\r\n) {\r\n // prettier-ignore\r\n return [...new Set([\r\n start,\r\n ...(isArray(fallback)\r\n ? fallback\r\n : isObject(fallback)\r\n ? Object.keys(fallback)\r\n : isString(fallback)\r\n ? [fallback]\r\n : [start])\r\n ])];\r\n}\r\n/**\r\n * Fallback with locale chain\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\r\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\r\n const context = ctx;\r\n if (!context.__localeChainCache) {\r\n context.__localeChainCache = new Map();\r\n }\r\n let chain = context.__localeChainCache.get(startLocale);\r\n if (!chain) {\r\n chain = [];\r\n // first block defined by start\r\n let block = [start];\r\n // while any intervening block found\r\n while (isArray(block)) {\r\n block = appendBlockToChain(chain, block, fallback);\r\n }\r\n // prettier-ignore\r\n // last block defined by default\r\n const defaults = isArray(fallback) || !isPlainObject(fallback)\r\n ? fallback\r\n : fallback['default']\r\n ? fallback['default']\r\n : null;\r\n // convert defaults to array\r\n block = isString(defaults) ? [defaults] : defaults;\r\n if (isArray(block)) {\r\n appendBlockToChain(chain, block, false);\r\n }\r\n context.__localeChainCache.set(startLocale, chain);\r\n }\r\n return chain;\r\n}\r\nfunction appendBlockToChain(chain, block, blocks) {\r\n let follow = true;\r\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\r\n const locale = block[i];\r\n if (isString(locale)) {\r\n follow = appendLocaleToChain(chain, block[i], blocks);\r\n }\r\n }\r\n return follow;\r\n}\r\nfunction appendLocaleToChain(chain, locale, blocks) {\r\n let follow;\r\n const tokens = locale.split('-');\r\n do {\r\n const target = tokens.join('-');\r\n follow = appendItemToChain(chain, target, blocks);\r\n tokens.splice(-1, 1);\r\n } while (tokens.length && follow === true);\r\n return follow;\r\n}\r\nfunction appendItemToChain(chain, target, blocks) {\r\n let follow = false;\r\n if (!chain.includes(target)) {\r\n follow = true;\r\n if (target) {\r\n follow = target[target.length - 1] !== '!';\r\n const locale = target.replace(/!/g, '');\r\n chain.push(locale);\r\n if ((isArray(blocks) || isPlainObject(blocks)) &&\r\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n follow = blocks[locale];\r\n }\r\n }\r\n }\r\n return follow;\r\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.2.2';\r\nconst NOT_REOSLVED = -1;\r\nconst DEFAULT_LOCALE = 'en-US';\r\nconst MISSING_RESOLVE_VALUE = '';\r\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toUpperCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toUpperCase()\r\n : val;\r\n },\r\n lower: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toLowerCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toLowerCase()\r\n : val;\r\n },\r\n capitalize: (val, type) => {\r\n // prettier-ignore\r\n return (type === 'text' && isString(val)\r\n ? capitalize(val)\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? capitalize(val.children)\r\n : val);\r\n }\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\nlet _resolver;\r\n/**\r\n * Register the message resolver\r\n *\r\n * @param resolver - A {@link MessageResolver} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerMessageResolver(resolver) {\r\n _resolver = resolver;\r\n}\r\nlet _fallbacker;\r\n/**\r\n * Register the locale fallbacker\r\n *\r\n * @param fallbacker - A {@link LocaleFallbacker} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerLocaleFallbacker(fallbacker) {\r\n _fallbacker = fallbacker;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = () => _additionalMeta;\r\nlet _fallbackContext = null;\r\nconst setFallbackContext = (context) => {\r\n _fallbackContext = context;\r\n};\r\nconst getFallbackContext = () => _fallbackContext;\r\n// ID for CoreContext\r\nlet _cid = 0;\r\nfunction createCoreContext(options = {}) {\r\n // setup options\r\n const version = isString(options.version) ? options.version : VERSION;\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n isString(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const messages = isPlainObject(options.messages)\r\n ? options.messages\r\n : { [locale]: {} };\r\n const datetimeFormats = isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [locale]: {} }\r\n ;\r\n const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} }\r\n ;\r\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\r\n const pluralRules = options.pluralRules || {};\r\n const missing = isFunction(options.missing) ? options.missing : null;\r\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n const fallbackFormat = !!options.fallbackFormat;\r\n const unresolving = !!options.unresolving;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n const processor = isPlainObject(options.processor) ? options.processor : null;\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const escapeParameter = !!options.escapeParameter;\r\n const messageCompiler = isFunction(options.messageCompiler)\r\n ? options.messageCompiler\r\n : _compiler;\r\n const messageResolver = isFunction(options.messageResolver)\r\n ? options.messageResolver\r\n : _resolver || resolveWithKeyValue;\r\n const localeFallbacker = isFunction(options.localeFallbacker)\r\n ? options.localeFallbacker\r\n : _fallbacker || fallbackWithSimple;\r\n const fallbackContext = isObject(options.fallbackContext)\r\n ? options.fallbackContext\r\n : undefined;\r\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\r\n // setup internal options\r\n const internalOptions = options;\r\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\r\n ? internalOptions.__datetimeFormatters\r\n : new Map()\r\n ;\r\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map()\r\n ;\r\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\r\n _cid++;\r\n const context = {\r\n version,\r\n cid: _cid,\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n modifiers,\r\n pluralRules,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackFormat,\r\n unresolving,\r\n postTranslation,\r\n processor,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageCompiler,\r\n messageResolver,\r\n localeFallbacker,\r\n fallbackContext,\r\n onWarn,\r\n __meta\r\n };\r\n {\r\n context.datetimeFormats = datetimeFormats;\r\n context.numberFormats = numberFormats;\r\n context.__datetimeFormatters = __datetimeFormatters;\r\n context.__numberFormatters = __numberFormatters;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.__v_emitter =\r\n internalOptions.__v_emitter != null\r\n ? internalOptions.__v_emitter\r\n : undefined;\r\n }\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n initI18nDevTools(context, version, __meta);\r\n }\r\n return context;\r\n}\r\n/** @internal */\r\nfunction isTranslateFallbackWarn(fallback, key) {\r\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\r\n}\r\n/** @internal */\r\nfunction isTranslateMissingWarn(missing, key) {\r\n return missing instanceof RegExp ? missing.test(key) : missing;\r\n}\r\n/** @internal */\r\nfunction handleMissing(context, key, locale, missingWarn, type) {\r\n const { missing, onWarn } = context;\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"missing\" /* MISSING */, {\r\n locale,\r\n key,\r\n type,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n if (missing !== null) {\r\n const ret = missing(context, locale, key, type);\r\n return isString(ret) ? ret : key;\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n ctx.localeFallbacker(ctx, fallback, locale);\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\r\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\r\nfunction checkHtmlMessage(source, options) {\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n if (warnHtmlMessage && RE_HTML_TAG.test(source)) {\r\n warn(format(WARN_MESSAGE, { source }));\r\n }\r\n}\r\nconst defaultOnCacheKey = (source) => source;\r\nlet compileCache = Object.create(null);\r\nfunction clearCompileCache() {\r\n compileCache = Object.create(null);\r\n}\r\nfunction compileToFunction(source, options = {}) {\r\n {\r\n // check HTML message\r\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(source, options);\r\n // check caches\r\n const onCacheKey = options.onCacheKey || defaultOnCacheKey;\r\n const key = onCacheKey(source);\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n // compile error detecting\r\n let occurred = false;\r\n const onError = options.onError || defaultOnError;\r\n options.onError = (err) => {\r\n occurred = true;\r\n onError(err);\r\n };\r\n // compile\r\n const { code } = baseCompile(source, options);\r\n // evaluate function\r\n const msg = new Function(`return ${code}`)();\r\n // if occurred compile error, don't cache\r\n return !occurred ? (compileCache[key] = msg) : msg;\r\n }\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst CoreErrorCodes = {\r\n INVALID_ARGUMENT: code,\r\n INVALID_DATE_ARGUMENT: inc(),\r\n INVALID_ISO_DATE_ARGUMENT: inc(),\r\n __EXTEND_POINT__: inc() // 18\r\n};\r\nfunction createCoreError(code) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\r\n}\r\n/** @internal */\r\nconst errorMessages = {\r\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\r\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string'\r\n};\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\r\nconst isMessageFunction = (val) => isFunction(val);\r\n// implementation of `translate` function\r\nfunction translate(context, ...args) {\r\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\r\n const [key, options] = parseTranslateArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const escapeParameter = isBoolean(options.escapeParameter)\r\n ? options.escapeParameter\r\n : context.escapeParameter;\r\n const resolvedMessage = !!options.resolvedMessage;\r\n // prettier-ignore\r\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\r\n ? !isBoolean(options.default)\r\n ? options.default\r\n : (!messageCompiler ? () => key : key)\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? (!messageCompiler ? () => key : key)\r\n : '';\r\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n // escape params\r\n escapeParameter && escapeParams(options);\r\n // resolve message format\r\n // eslint-disable-next-line prefer-const\r\n let [formatScope, targetLocale, message] = !resolvedMessage\r\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\r\n : [\r\n key,\r\n locale,\r\n messages[locale] || {}\r\n ];\r\n // NOTE:\r\n // Fix to work around `ssrTransfrom` bug in Vite.\r\n // https://github.com/vitejs/vite/issues/4306\r\n // To get around this, use temporary variables.\r\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\r\n let format = formatScope;\r\n // if you use default message, set it as message format!\r\n let cacheBaseKey = key;\r\n if (!resolvedMessage &&\r\n !(isString(format) || isMessageFunction(format))) {\r\n if (enableDefaultMsg) {\r\n format = defaultMsgOrKey;\r\n cacheBaseKey = format;\r\n }\r\n }\r\n // checking message format and target locale\r\n if (!resolvedMessage &&\r\n (!(isString(format) || isMessageFunction(format)) ||\r\n !isString(targetLocale))) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\r\n warn(`The message format compilation is not supported in this build. ` +\r\n `Because message compiler isn't included. ` +\r\n `You need to pre-compilation all message format. ` +\r\n `So translate function return '${key}'.`);\r\n return key;\r\n }\r\n // setup compile error detecting\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n // compile message format\r\n const msg = !isMessageFunction(format)\r\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector)\r\n : format;\r\n // if occurred compile error, return the message format\r\n if (occurred) {\r\n return format;\r\n }\r\n // evaluate message with context\r\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\r\n const msgContext = createMessageContext(ctxOptions);\r\n const messaged = evaluateMessage(context, msg, msgContext);\r\n // if use post translation option, proceed it with handler\r\n const ret = postTranslation\r\n ? postTranslation(messaged, key)\r\n : messaged;\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n // prettier-ignore\r\n const payloads = {\r\n timestamp: Date.now(),\r\n key: isString(key)\r\n ? key\r\n : isMessageFunction(format)\r\n ? format.key\r\n : '',\r\n locale: targetLocale || (isMessageFunction(format)\r\n ? format.locale\r\n : ''),\r\n format: isString(format)\r\n ? format\r\n : isMessageFunction(format)\r\n ? format.source\r\n : '',\r\n message: ret\r\n };\r\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\r\n translateDevTools(payloads);\r\n }\r\n return ret;\r\n}\r\nfunction escapeParams(options) {\r\n if (isArray(options.list)) {\r\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\r\n }\r\n else if (isObject(options.named)) {\r\n Object.keys(options.named).forEach(key => {\r\n if (isString(options.named[key])) {\r\n options.named[key] = escapeHtml(options.named[key]);\r\n }\r\n });\r\n }\r\n}\r\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\r\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\r\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n let message = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'translate';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n message =\r\n messages[targetLocale] || {};\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-resolve-start';\r\n endTag = 'intlify-message-resolve-end';\r\n mark && mark(startTag);\r\n }\r\n if ((format = resolveValue(message, key)) === null) {\r\n // if null, resolve with object key path\r\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start && format) {\r\n emitter.emit(\"message-resolve\" /* MESSAGE_RESOLVE */, {\r\n type: \"message-resolve\" /* MESSAGE_RESOLVE */,\r\n key,\r\n message: format,\r\n time: end - start,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message resolve', startTag, endTag);\r\n }\r\n }\r\n if (isString(format) || isFunction(format))\r\n break;\r\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n key, targetLocale, missingWarn, type);\r\n if (missingRet !== key) {\r\n format = missingRet;\r\n }\r\n from = to;\r\n }\r\n return [format, targetLocale, message];\r\n}\r\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector) {\r\n const { messageCompiler, warnHtmlMessage } = context;\r\n if (isMessageFunction(format)) {\r\n const msg = format;\r\n msg.locale = msg.locale || targetLocale;\r\n msg.key = msg.key || key;\r\n return msg;\r\n }\r\n if (messageCompiler == null) {\r\n const msg = (() => format);\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n return msg;\r\n }\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-compilation-start';\r\n endTag = 'intlify-message-compilation-end';\r\n mark && mark(startTag);\r\n }\r\n const msg = messageCompiler(format, getCompileOptions(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, errorDetector));\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-compilation\" /* MESSAGE_COMPILATION */, {\r\n type: \"message-compilation\" /* MESSAGE_COMPILATION */,\r\n message: format,\r\n time: end - start,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message compilation', startTag, endTag);\r\n }\r\n }\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n msg.source = format;\r\n return msg;\r\n}\r\nfunction evaluateMessage(context, msg, msgCtx) {\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-evaluation-start';\r\n endTag = 'intlify-message-evaluation-end';\r\n mark && mark(startTag);\r\n }\r\n const messaged = msg(msgCtx);\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-evaluation\" /* MESSAGE_EVALUATION */, {\r\n type: \"message-evaluation\" /* MESSAGE_EVALUATION */,\r\n value: messaged,\r\n time: end - start,\r\n groupId: `${'translate'}:${msg.key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message evaluation', startTag, endTag);\r\n }\r\n }\r\n return messaged;\r\n}\r\n/** @internal */\r\nfunction parseTranslateArgs(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n if (!isString(arg1) && !isNumber(arg1) && !isMessageFunction(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n // prettier-ignore\r\n const key = isNumber(arg1)\r\n ? String(arg1)\r\n : isMessageFunction(arg1)\r\n ? arg1\r\n : arg1;\r\n if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isString(arg2)) {\r\n options.default = arg2;\r\n }\r\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\r\n options.named = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n options.list = arg2;\r\n }\r\n if (isNumber(arg3)) {\r\n options.plural = arg3;\r\n }\r\n else if (isString(arg3)) {\r\n options.default = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n assign(options, arg3);\r\n }\r\n return [key, options];\r\n}\r\nfunction getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {\r\n return {\r\n warnHtmlMessage,\r\n onError: (err) => {\r\n errorDetector && errorDetector(err);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const message = `Message compilation error: ${err.message}`;\r\n const codeFrame = err.location &&\r\n generateCodeFrame(source, err.location.start.offset, err.location.end.offset);\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"compile-error\" /* COMPILE_ERROR */, {\r\n message: source,\r\n error: err.message,\r\n start: err.location && err.location.start.offset,\r\n end: err.location && err.location.end.offset,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n else {\r\n throw err;\r\n }\r\n },\r\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\r\n };\r\n}\r\nfunction getMessageContextOptions(context, locale, message, options) {\r\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\r\n const resolveMessage = (key) => {\r\n let val = resolveValue(message, key);\r\n // fallback to root context\r\n if (val == null && fallbackContext) {\r\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\r\n val = resolveValue(message, key);\r\n }\r\n if (isString(val)) {\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n const msg = compileMessageFormat(context, key, locale, val, key, errorDetector);\r\n return !occurred\r\n ? msg\r\n : NOOP_MESSAGE_FUNCTION;\r\n }\r\n else if (isMessageFunction(val)) {\r\n return val;\r\n }\r\n else {\r\n // TODO: should be implemented warning message\r\n return NOOP_MESSAGE_FUNCTION;\r\n }\r\n };\r\n const ctxOptions = {\r\n locale,\r\n modifiers,\r\n pluralRules,\r\n messages: resolveMessage\r\n };\r\n if (context.processor) {\r\n ctxOptions.processor = context.processor;\r\n }\r\n if (options.list) {\r\n ctxOptions.list = options.list;\r\n }\r\n if (options.named) {\r\n ctxOptions.named = options.named;\r\n }\r\n if (isNumber(options.plural)) {\r\n ctxOptions.pluralIndex = options.plural;\r\n }\r\n return ctxOptions;\r\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\r\nconst Availabilities = {\r\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\r\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\r\n};\n\n// implementation of `datetime` function\r\nfunction datetime(context, ...args) {\r\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let datetimeFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'datetime format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n datetimeFormat =\r\n datetimeFormats[targetLocale] || {};\r\n format = datetimeFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __datetimeFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\r\n __datetimeFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'weekday',\r\n 'era',\r\n 'year',\r\n 'month',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second',\r\n 'timeZoneName',\r\n 'formatMatcher',\r\n 'hour12',\r\n 'timeZone',\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'hourCycle',\r\n 'fractionalSecondDigits'\r\n];\r\n/** @internal */\r\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n let value;\r\n if (isString(arg1)) {\r\n // Only allow ISO strings - other date formats are often supported,\r\n // but may cause different results in different browsers.\r\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\r\n if (!matches) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n // Some browsers can not parse the iso datetime separated by space,\r\n // this is a compromise solution by replace the 'T'/' ' with 'T'\r\n const dateTime = matches[3]\r\n ? matches[3].trim().startsWith('T')\r\n ? `${matches[1].trim()}${matches[3].trim()}`\r\n : `${matches[1].trim()}T${matches[3].trim()}`\r\n : matches[1].trim();\r\n value = new Date(dateTime);\r\n try {\r\n // This will fail if the date is not valid\r\n value.toISOString();\r\n }\r\n catch (e) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\r\n }\r\n value = arg1;\r\n }\r\n else if (isNumber(arg1)) {\r\n value = arg1;\r\n }\r\n else {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearDateTimeFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__datetimeFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__datetimeFormatters.delete(id);\r\n }\r\n}\n\n// implementation of `number` function\r\nfunction number(context, ...args) {\r\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseNumberArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let numberFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'number format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n numberFormat =\r\n numberFormats[targetLocale] || {};\r\n format = numberFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __numberFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\r\n __numberFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'currencySign',\r\n 'useGrouping',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'compactDisplay',\r\n 'notation',\r\n 'signDisplay',\r\n 'unit',\r\n 'unitDisplay',\r\n 'roundingMode',\r\n 'roundingPriority',\r\n 'roundingIncrement',\r\n 'trailingZeroDisplay'\r\n];\r\n/** @internal */\r\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const value = arg1;\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearNumberFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__numberFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__numberFormatters.delete(id);\r\n }\r\n}\n\n// TODO: we could not exports for Node native ES Moudles yet...\r\n{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n"],"names":["pathStateMachine","literalValueRE","getPathCharType","ch","charCodeAt","cache","Map","resolveWithKeyValue","obj","path","resolveValue","hit","get","keys","c","key","newChar","type","transition","action","typeMap","index","mode","subPathDepth","actions","maybeUnescapeQuote","nextChar","undefined","push","trimmed","trim","charAt","isNaN","parseInt","exp","test","str","a","length","slice","stripQuotes","formatSubPath","parse","set","len","last","i","val","DEFAULT_MODIFIER","DEFAULT_MESSAGE","ctx","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","join","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","devtools","setDevToolsHook","hook","translateDevTools","createDevToolsHook","FunctionTranslate","payloads","emit","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","__EXTEND_POINT__","fallbackWithSimple","fallback","start","Set","Object","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","context","__localeChainCache","chain","block","appendBlockToChain","defaults","blocks","follow","locale","appendLocaleToChain","tokens","split","appendItemToChain","splice","target","includes","replace","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","meta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","options","version","fallbackLocale","messages","datetimeFormats","numberFormats","modifiers","upper","toUpperCase","children","lower","toLowerCase","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","onWarn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","i18n","I18nInit","timestamp","Date","now","initI18nDevTools","handleMissing","ret","updateFallbackLocale","defaultOnCacheKey","source","compileCache","create","compileToFunction","onCacheKey","cached","occurred","onError","err","code","msg","Function","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","args","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","list","map","item","named","forEach","escapeParams","formatScope","targetLocale","message","resolveMessageFormat","format","cacheBaseKey","compileMessageFormat","ctxOptions","plural","pluralIndex","getMessageContextOptions","messaged","msgCtx","evaluateMessage","count","n","getPluralIndex","pluralRule","orgPluralRule","_list","_named","parent","props","normalizeNamed","normalize","interpolate","arg1","arg2","modifier","name","createMessageContext","locales","from","to","missingRet","errorDetector","getCompileOptions","arg3","String","intlDefined","Intl","datetime","value","overrides","parseDateTimeArgs","part","DateTimeFormat","datetimeFormat","id","JSON","stringify","formatter","formatToParts","NumberFormat","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","match","dateTime","startsWith","toISOString","e","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat"],"sourceRoot":""}