{"version":3,"file":"js/4329.39ac7c3f.js","mappings":"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","sources":["webpack://console-mf-users-front/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://console-mf-users-front/./node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js","webpack://console-mf-users-front/./node_modules/@intlify/runtime/dist/runtime.esm-bundler.js","webpack://console-mf-users-front/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://console-mf-users-front/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://console-mf-users-front/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://console-mf-users-front/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js"],"sourcesContent":["/*!\n * @intlify/shared v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\r\n * Original Utilities\r\n * written by kazuya kawaguchi\r\n */\r\nconst inBrowser = typeof window !== 'undefined';\r\nlet mark;\r\nlet measure;\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const perf = inBrowser && window.performance;\r\n if (perf &&\r\n perf.mark &&\r\n perf.measure &&\r\n perf.clearMarks &&\r\n perf.clearMeasures) {\r\n mark = (tag) => perf.mark(tag);\r\n measure = (name, startTag, endTag) => {\r\n perf.measure(name, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n };\r\n }\r\n}\r\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\r\n/* eslint-disable */\r\nfunction format(message, ...args) {\r\n if (args.length === 1 && isObject(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args || !args.hasOwnProperty) {\r\n args = {};\r\n }\r\n return message.replace(RE_ARGS, (match, identifier) => {\r\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\r\n });\r\n}\r\nconst hasSymbol = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\r\nconst makeSymbol = (name) => hasSymbol ? Symbol(name) : name;\r\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\r\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\r\n .replace(/\\u2028/g, '\\\\u2028')\r\n .replace(/\\u2029/g, '\\\\u2029')\r\n .replace(/\\u0027/g, '\\\\u0027');\r\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\r\nconst isDate = (val) => toTypeString(val) === '[object Date]';\r\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\r\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\r\nfunction warn(msg, err) {\r\n if (typeof console !== 'undefined') {\r\n console.warn(`[intlify] ` + msg);\r\n /* istanbul ignore if */\r\n if (err) {\r\n console.warn(err.stack);\r\n }\r\n }\r\n}\r\nconst assign = Object.assign;\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n // prettier-ignore\r\n return (_globalThis ||\r\n (_globalThis =\r\n typeof globalThis !== 'undefined'\r\n ? globalThis\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : typeof global !== 'undefined'\r\n ? global\r\n : {}));\r\n};\r\nfunction escapeHtml(rawText) {\r\n return rawText\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n}\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nfunction hasOwn(obj, key) {\r\n return hasOwnProperty.call(obj, key);\r\n}\r\n/* eslint-enable */\r\n/**\r\n * Useful Utilities By Evan you\r\n * Modified by kazuya kawaguchi\r\n * MIT License\r\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\r\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\r\n */\r\nconst isArray = Array.isArray;\r\nconst isFunction = (val) => typeof val === 'function';\r\nconst isString = (val) => typeof val === 'string';\r\nconst isBoolean = (val) => typeof val === 'boolean';\r\nconst isSymbol = (val) => typeof val === 'symbol';\r\nconst isObject = (val) => // eslint-disable-line\r\n val !== null && typeof val === 'object';\r\nconst isPromise = (val) => {\r\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\r\n// for converting list and named values to displayed strings.\r\nconst toDisplayString = (val) => {\r\n return val == null\r\n ? ''\r\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\r\n ? JSON.stringify(val, null, 2)\r\n : String(val);\r\n};\r\nconst RANGE = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n const lines = source.split(/\\r?\\n/);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + 1;\r\n if (count >= start) {\r\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\r\n const lineLength = lines[j].length;\r\n if (j === i) {\r\n // push underline\r\n const pad = start - (count - lineLength) + 1;\r\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\r\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\r\n }\r\n else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + '^'.repeat(length));\r\n }\r\n count += lineLength + 1;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join('\\n');\r\n}\n\n/**\r\n * Event emitter, forked from the below:\r\n * - original repository url: https://github.com/developit/mitt\r\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\r\n * - author: Jason Miller (https://github.com/developit)\r\n * - license: MIT\r\n */\r\n/**\r\n * Create a event emitter\r\n *\r\n * @returns An event emitter\r\n */\r\nfunction createEmitter() {\r\n const events = new Map();\r\n const emitter = {\r\n events,\r\n on(event, handler) {\r\n const handlers = events.get(event);\r\n const added = handlers && handlers.push(handler);\r\n if (!added) {\r\n events.set(event, [handler]);\r\n }\r\n },\r\n off(event, handler) {\r\n const handlers = events.get(event);\r\n if (handlers) {\r\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\r\n }\r\n },\r\n emit(event, payload) {\r\n (events.get(event) || [])\r\n .slice()\r\n .map(handler => handler(payload));\r\n (events.get('*') || [])\r\n .slice()\r\n .map(handler => handler(event, payload));\r\n }\r\n };\r\n return emitter;\r\n}\n\nexport { assign, createEmitter, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn };\n","/*!\n * @intlify/message-resolver v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\r\n * Original Utilities\r\n * written by kazuya kawaguchi\r\n */\r\nif ((process.env.NODE_ENV !== 'production')) ;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nfunction hasOwn(obj, key) {\r\n return hasOwnProperty.call(obj, key);\r\n}\r\nconst isObject = (val) => // eslint-disable-line\r\n val !== null && typeof val === 'object';\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\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}\r\n/**\r\n * Transform flat json in obj to normal json in obj\r\n */\r\nfunction handleFlatJson(obj) {\r\n // check obj\r\n if (!isObject(obj)) {\r\n return obj;\r\n }\r\n for (const key in obj) {\r\n // check key\r\n if (!hasOwn(obj, key)) {\r\n continue;\r\n }\r\n // handle for normal json\r\n if (!key.includes(\".\" /* DOT */)) {\r\n // recursive process value if value is also a object\r\n if (isObject(obj[key])) {\r\n handleFlatJson(obj[key]);\r\n }\r\n }\r\n // handle for flat json, transform to normal json\r\n else {\r\n // go to the last object\r\n const subKeys = key.split(\".\" /* DOT */);\r\n const lastIndex = subKeys.length - 1;\r\n let currentObj = obj;\r\n for (let i = 0; i < lastIndex; i++) {\r\n if (!(subKeys[i] in currentObj)) {\r\n currentObj[subKeys[i]] = {};\r\n }\r\n currentObj = currentObj[subKeys[i]];\r\n }\r\n // update last object value, delete old property\r\n currentObj[subKeys[lastIndex]] = obj[key];\r\n delete obj[key];\r\n // recursive process value if value is also a object\r\n if (isObject(currentObj[subKeys[lastIndex]])) {\r\n handleFlatJson(currentObj[subKeys[lastIndex]]);\r\n }\r\n }\r\n }\r\n return obj;\r\n}\n\nexport { handleFlatJson, parse, resolveValue };\n","/*!\n * @intlify/runtime v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isNumber, isObject, isString, isFunction, isPlainObject, toDisplayString } from '@intlify/shared';\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) => messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\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 // TODO: need to design resolve message function?\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 ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: (key, modifier) => {\r\n // TODO: should check `key`\r\n const msg = message(key)(ctx);\r\n return isString(modifier) ? _modifier(modifier)(msg) : msg;\r\n },\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\nexport { DEFAULT_MESSAGE_DATA_TYPE, createMessageContext };\n","/*!\n * @intlify/message-compiler v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [0 /* EXPECTED_TOKEN */]: `Expected token: '{0}'`,\r\n [1 /* INVALID_TOKEN_IN_PLACEHOLDER */]: `Invalid token in placeholder: '{0}'`,\r\n [2 /* UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER */]: `Unterminated single quote in placeholder`,\r\n [3 /* UNKNOWN_ESCAPE_SEQUENCE */]: `Unknown escape sequence: \\\\{0}`,\r\n [4 /* INVALID_UNICODE_ESCAPE_SEQUENCE */]: `Invalid unicode escape sequence: {0}`,\r\n [5 /* UNBALANCED_CLOSING_BRACE */]: `Unbalanced closing brace`,\r\n [6 /* UNTERMINATED_CLOSING_BRACE */]: `Unterminated closing brace`,\r\n [7 /* EMPTY_PLACEHOLDER */]: `Empty placeholder`,\r\n [8 /* NOT_ALLOW_NEST_PLACEHOLDER */]: `Not allowed nest placeholder`,\r\n [9 /* INVALID_LINKED_FORMAT */]: `Invalid linked format`,\r\n // parser error messages\r\n [10 /* MUST_HAVE_MESSAGES_IN_PLURAL */]: `Plural must have messages`,\r\n [11 /* UNEXPECTED_EMPTY_LINKED_MODIFIER */]: `Unexpected empty linked modifier`,\r\n [12 /* UNEXPECTED_EMPTY_LINKED_KEY */]: `Unexpected empty linked key`,\r\n [13 /* UNEXPECTED_LEXICAL_ANALYSIS */]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(0 /* EXPECTED_TOKEN */, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(6 /* UNTERMINATED_CLOSING_BRACE */, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(6 /* UNTERMINATED_CLOSING_BRACE */, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(2 /* UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER */, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(3 /* UNKNOWN_ESCAPE_SEQUENCE */, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(4 /* INVALID_UNICODE_ESCAPE_SEQUENCE */, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(8 /* NOT_ALLOW_NEST_PLACEHOLDER */, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(7 /* EMPTY_PLACEHOLDER */, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(6 /* UNTERMINATED_CLOSING_BRACE */, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(6 /* UNTERMINATED_CLOSING_BRACE */, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(6 /* UNTERMINATED_CLOSING_BRACE */, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(1 /* INVALID_TOKEN_IN_PLACEHOLDER */, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(9 /* INVALID_LINKED_FORMAT */, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(9 /* INVALID_LINKED_FORMAT */, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(5 /* UNBALANCED_CLOSING_BRACE */, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n if (ch === \"%\" /* Modulo */) {\r\n scnr.next();\r\n return getToken(context, 4 /* Modulo */, \"%\" /* Modulo */);\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, 11 /* UNEXPECTED_EMPTY_LINKED_MODIFIER */, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, 12 /* UNEXPECTED_EMPTY_LINKED_KEY */, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, 10 /* MUST_HAVE_MESSAGES_IN_PLURAL */, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, 13 /* UNEXPECTED_LEXICAL_ANALYSIS */, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n","/*!\n * @intlify/devtools-if v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst IntlifyDevToolsHooks = {\r\n I18nInit: 'i18n:init',\r\n FunctionTranslate: 'function:translate'\r\n};\n\nexport { IntlifyDevToolsHooks };\n","/*!\n * @intlify/core-base v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, isString, isArray, isPlainObject, assign, isFunction, isBoolean, isRegExp, warn, isObject, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey, isNumber, isEmptyObject, isDate, getGlobalThis } from '@intlify/shared';\nimport { resolveValue } from '@intlify/message-resolver';\nexport * from '@intlify/message-resolver';\nimport { createMessageContext } from '@intlify/runtime';\nexport * from '@intlify/runtime';\nimport { defaultOnError, baseCompile, createCompileError } from '@intlify/message-compiler';\nexport { createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\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\n/** @internal */\r\nconst warnMessages = {\r\n [0 /* NOT_FOUND_KEY */]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [1 /* FALLBACK_TO_TRANSLATE */]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [2 /* CANNOT_FORMAT_NUMBER */]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [3 /* FALLBACK_TO_NUMBER_FORMAT */]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [4 /* CANNOT_FORMAT_DATE */]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [5 /* 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 * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.1.10';\r\nconst NOT_REOSLVED = -1;\r\nconst MISSING_RESOLVE_VALUE = '';\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val) => (isString(val) ? val.toUpperCase() : val),\r\n lower: (val) => (isString(val) ? val.toLowerCase() : val),\r\n // prettier-ignore\r\n capitalize: (val) => (isString(val)\r\n ? `${val.charAt(0).toLocaleUpperCase()}${val.substr(1)}`\r\n : val)\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = /* #__PURE__*/ (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = /* #__PURE__*/ () => _additionalMeta;\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 : 'en-US';\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 const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} };\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 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 const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map();\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 datetimeFormats,\r\n numberFormats,\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 onWarn,\r\n __datetimeFormatters,\r\n __numberFormatters,\r\n __meta\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(0 /* NOT_FOUND_KEY */, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction getLocaleChain(ctx, fallback, start) {\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(start);\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)\r\n ? fallback\r\n : isPlainObject(fallback)\r\n ? fallback['default']\r\n ? fallback['default']\r\n : null\r\n : fallback;\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(start, 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}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n getLocaleChain(ctx, fallback, locale);\r\n}\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\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 [14 /* INVALID_ARGUMENT */]: 'Invalid arguments',\r\n [15 /* INVALID_DATE_ARGUMENT */]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [16 /* 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, 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 : key\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? 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 [format, 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 // 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 ? postTranslation(messaged) : 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 } = context;\r\n const locales = getLocaleChain(context, fallbackLocale, locale);\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(1 /* 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, 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 // 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(14 /* 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\r\n .__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 } = context;\r\n const resolveMessage = (key) => {\r\n const val = resolveValue(message, key);\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 } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(4 /* 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 = getLocaleChain(context, fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale).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(5 /* 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);\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\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n let 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 if (!/\\d{4}-\\d{2}-\\d{2}(T.*)?/.test(arg1)) {\r\n throw createCoreError(16 /* INVALID_ISO_DATE_ARGUMENT */);\r\n }\r\n value = new Date(arg1);\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(16 /* INVALID_ISO_DATE_ARGUMENT */);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(15 /* 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(14 /* INVALID_ARGUMENT */);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n options = arg2;\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 } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(2 /* 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 = getLocaleChain(context, fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale).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(3 /* 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);\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\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n let options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(14 /* 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 options = arg2;\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{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { MISSING_RESOLVE_VALUE, NOT_REOSLVED, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compileToFunction, createCoreContext, createCoreError, datetime, getAdditionalMeta, getDevToolsHook, getLocaleChain, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerMessageCompiler, setAdditionalMeta, setDevToolsHook, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.1.10\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, format, makeSymbol, isPlainObject, isArray, hasOwn, isObject, isBoolean, isString, isRegExp, isFunction, assign, isNumber, warn, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { createCompileError, handleFlatJson, createCoreContext, updateFallbackLocale, resolveValue, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, getLocaleChain, registerMessageCompiler, compileToFunction, setDevToolsHook } from '@intlify/core-base';\nimport { ref, getCurrentInstance, computed, watch, createVNode, Text, h, Fragment, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\nimport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors } from '@intlify/vue-devtools';\n\n/**\r\n * Vue I18n Version\r\n *\r\n * @remarks\r\n * Semver format. Same format as the package.json `version` field.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst VERSION = '9.1.10';\r\n/**\r\n * This is only called in esm-bundler builds.\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\r\n }\r\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\r\n }\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of vue-i18n. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle.`);\r\n }\r\n}\n\nconst warnMessages = {\r\n [6 /* FALLBACK_TO_ROOT */]: `Fall back to {type} '{key}' with root locale.`,\r\n [7 /* NOT_SUPPORTED_PRESERVE */]: `Not supported 'preserve'.`,\r\n [8 /* NOT_SUPPORTED_FORMATTER */]: `Not supported 'formatter'.`,\r\n [9 /* NOT_SUPPORTED_PRESERVE_DIRECTIVE */]: `Not supported 'preserveDirectiveContent'.`,\r\n [10 /* NOT_SUPPORTED_GET_CHOICE_INDEX */]: `Not supported 'getChoiceIndex'.`,\r\n [11 /* COMPONENT_NAME_LEGACY_COMPATIBLE */]: `Component name legacy compatible: '{name}' -> 'i18n'`,\r\n [12 /* NOT_FOUND_PARENT_SCOPE */]: `Not found parent scope. use the global scope.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\nfunction createI18nError(code, ...args) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\r\n}\r\nconst errorMessages = {\r\n [14 /* UNEXPECTED_RETURN_TYPE */]: 'Unexpected return type in composer',\r\n [15 /* INVALID_ARGUMENT */]: 'Invalid argument',\r\n [16 /* MUST_BE_CALL_SETUP_TOP */]: 'Must be called at the top of a `setup` function',\r\n [17 /* NOT_INSLALLED */]: 'Need to install with `app.use` function',\r\n [22 /* UNEXPECTED_ERROR */]: 'Unexpected error',\r\n [18 /* NOT_AVAILABLE_IN_LEGACY_MODE */]: 'Not available in legacy mode',\r\n [19 /* REQUIRED_VALUE */]: `Required in value: {0}`,\r\n [20 /* INVALID_VALUE */]: `Invalid value`,\r\n [21 /* CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN */]: `Cannot setup vue-devtools plugin`\r\n};\n\nconst DEVTOOLS_META = '__INTLIFY_META__';\r\nconst TransrateVNodeSymbol = makeSymbol('__transrateVNode');\r\nconst DatetimePartsSymbol = makeSymbol('__datetimeParts');\r\nconst NumberPartsSymbol = makeSymbol('__numberParts');\r\nconst EnableEmitter = makeSymbol('__enableEmitter');\r\nconst DisableEmitter = makeSymbol('__disableEmitter');\r\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\r\nmakeSymbol('__intlifyMeta');\r\nconst InejctWithOption = makeSymbol('__injectWithOption');\r\nlet composerID = 0;\r\nfunction defineCoreMissingHandler(missing) {\r\n return ((ctx, locale, key, type) => {\r\n return missing(locale, key, getCurrentInstance() || undefined, type);\r\n });\r\n}\r\nfunction getLocaleMessages(locale, options) {\r\n const { messages, __i18n } = options;\r\n // prettier-ignore\r\n const ret = isPlainObject(messages)\r\n ? messages\r\n : isArray(__i18n)\r\n ? {}\r\n : { [locale]: {} };\r\n // merge locale messages of i18n custom block\r\n if (isArray(__i18n)) {\r\n __i18n.forEach(({ locale, resource }) => {\r\n if (locale) {\r\n ret[locale] = ret[locale] || {};\r\n deepCopy(resource, ret[locale]);\r\n }\r\n else {\r\n deepCopy(resource, ret);\r\n }\r\n });\r\n }\r\n // handle messages for flat json\r\n if (options.flatJson) {\r\n for (const key in ret) {\r\n if (hasOwn(ret, key)) {\r\n handleFlatJson(ret[key]);\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction deepCopy(src, des) {\r\n // src and des should both be objects, and non of then can be a array\r\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\r\n throw createI18nError(20 /* INVALID_VALUE */);\r\n }\r\n for (const key in src) {\r\n if (hasOwn(src, key)) {\r\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\r\n // replace with src[key] when:\r\n // src[key] or des[key] is not a object, or\r\n // src[key] or des[key] is a array\r\n des[key] = src[key];\r\n }\r\n else {\r\n // src[key] and des[key] are both object, merge them\r\n deepCopy(src[key], des[key]);\r\n }\r\n }\r\n }\r\n}\r\n// for Intlify DevTools\r\nconst getMetaInfo = /* #__PURE__*/ () => {\r\n const instance = getCurrentInstance();\r\n return instance && instance.type[DEVTOOLS_META] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ? { [DEVTOOLS_META]: instance.type[DEVTOOLS_META] } // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : null;\r\n};\r\n/**\r\n * Create composer interface factory\r\n *\r\n * @internal\r\n */\r\nfunction createComposer(options = {}) {\r\n const { __root } = options;\r\n const _isGlobal = __root === undefined;\r\n let _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : 'en-US');\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} });\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} });\r\n // warning suppress options\r\n // prettier-ignore\r\n let _missingWarn = __root\r\n ? __root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackWarn = __root\r\n ? __root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackRoot = __root\r\n ? __root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n let _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n let _missing = isFunction(options.missing) ? options.missing : null;\r\n let _runtimeMissing = isFunction(options.missing)\r\n ? defineCoreMissingHandler(options.missing)\r\n : null;\r\n // postTranslation handler\r\n let _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n let _warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n let _escapeParameter = !!options.escapeParameter;\r\n // custom linked modifiers\r\n // prettier-ignore\r\n const _modifiers = __root\r\n ? __root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\r\n // runtime context\r\n // eslint-disable-next-line prefer-const\r\n let _context;\r\n function getCoreContext() {\r\n return createCoreContext({\r\n version: VERSION,\r\n locale: _locale.value,\r\n fallbackLocale: _fallbackLocale.value,\r\n messages: _messages.value,\r\n datetimeFormats: _datetimeFormats.value,\r\n numberFormats: _numberFormats.value,\r\n modifiers: _modifiers,\r\n pluralRules: _pluralRules,\r\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\r\n missingWarn: _missingWarn,\r\n fallbackWarn: _fallbackWarn,\r\n fallbackFormat: _fallbackFormat,\r\n unresolving: true,\r\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\r\n warnHtmlMessage: _warnHtmlMessage,\r\n escapeParameter: _escapeParameter,\r\n __datetimeFormatters: isPlainObject(_context)\r\n ? _context.__datetimeFormatters\r\n : undefined,\r\n __numberFormatters: isPlainObject(_context)\r\n ? _context.__numberFormatters\r\n : undefined,\r\n __v_emitter: isPlainObject(_context)\r\n ? _context.__v_emitter\r\n : undefined,\r\n __meta: { framework: 'vue' }\r\n });\r\n }\r\n _context = getCoreContext();\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ];\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => _locale.value,\r\n set: val => {\r\n _locale.value = val;\r\n _context.locale = _locale.value;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => _fallbackLocale.value,\r\n set: val => {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = _fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, val);\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => _messages.value);\r\n // datetimeFormats\r\n const datetimeFormats = computed(() => _datetimeFormats.value);\r\n // numberFormats\r\n const numberFormats = computed(() => _numberFormats.value);\r\n // getPostTranslationHandler\r\n function getPostTranslationHandler() {\r\n return isFunction(_postTranslation) ? _postTranslation : null;\r\n }\r\n // setPostTranslationHandler\r\n function setPostTranslationHandler(handler) {\r\n _postTranslation = handler;\r\n _context.postTranslation = handler;\r\n }\r\n // getMissingHandler\r\n function getMissingHandler() {\r\n return _missing;\r\n }\r\n // setMissingHandler\r\n function setMissingHandler(handler) {\r\n if (handler !== null) {\r\n _runtimeMissing = defineCoreMissingHandler(handler);\r\n }\r\n _missing = handler;\r\n _context.missing = _runtimeMissing;\r\n }\r\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n return type !== 'translate' || !!arg.resolvedMessage === false;\r\n }\r\n function wrapWithDeps(fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) {\r\n trackReactivityValues(); // track reactive dependency\r\n // NOTE: experimental !!\r\n let ret;\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n try {\r\n setAdditionalMeta(getMetaInfo());\r\n ret = fn(_context);\r\n }\r\n finally {\r\n setAdditionalMeta(null);\r\n }\r\n }\r\n else {\r\n ret = fn(_context);\r\n }\r\n if (isNumber(ret) && ret === NOT_REOSLVED) {\r\n const [key, arg2] = argumentParser();\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n __root &&\r\n isString(key) &&\r\n isResolvedTranslateMessage(warnType, arg2)) {\r\n if (_fallbackRoot &&\r\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\r\n isTranslateMissingWarn(_missingWarn, key))) {\r\n warn(getWarnMessage(6 /* FALLBACK_TO_ROOT */, {\r\n key,\r\n type: warnType\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { __v_emitter: emitter } = _context;\r\n if (emitter && _fallbackRoot) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type: warnType,\r\n key,\r\n to: 'global',\r\n groupId: `${warnType}:${key}`\r\n });\r\n }\r\n }\r\n }\r\n return __root && _fallbackRoot\r\n ? fallbackSuccess(__root)\r\n : fallbackFail(key);\r\n }\r\n else if (successCondition(ret)) {\r\n return ret;\r\n }\r\n else {\r\n /* istanbul ignore next */\r\n throw createI18nError(14 /* UNEXPECTED_RETURN_TYPE */);\r\n }\r\n }\r\n // t\r\n function t(...args) {\r\n return wrapWithDeps(context => translate(context, ...args), () => parseTranslateArgs(...args), 'translate', root => root.t(...args), key => key, val => isString(val));\r\n }\r\n // rt\r\n function rt(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n if (arg3 && !isObject(arg3)) {\r\n throw createI18nError(15 /* INVALID_ARGUMENT */);\r\n }\r\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\r\n }\r\n // d\r\n function d(...args) {\r\n return wrapWithDeps(context => datetime(context, ...args), () => parseDateTimeArgs(...args), 'datetime format', root => root.d(...args), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // n\r\n function n(...args) {\r\n return wrapWithDeps(context => number(context, ...args), () => parseNumberArgs(...args), 'number format', root => root.n(...args), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // for custom processor\r\n function normalize(values) {\r\n return values.map(val => isString(val) ? createVNode(Text, null, val, 0) : val);\r\n }\r\n const interpolate = (val) => val;\r\n const processor = {\r\n normalize,\r\n interpolate,\r\n type: 'vnode'\r\n };\r\n // transrateVNode, using for `i18n-t` component\r\n function transrateVNode(...args) {\r\n return wrapWithDeps(context => {\r\n let ret;\r\n const _context = context;\r\n try {\r\n _context.processor = processor;\r\n ret = translate(_context, ...args);\r\n }\r\n finally {\r\n _context.processor = null;\r\n }\r\n return ret;\r\n }, () => parseTranslateArgs(...args), 'translate', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[TransrateVNodeSymbol](...args), key => [createVNode(Text, null, key, 0)], val => isArray(val));\r\n }\r\n // numberParts, using for `i18n-n` component\r\n function numberParts(...args) {\r\n return wrapWithDeps(context => number(context, ...args), () => parseNumberArgs(...args), 'number format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[NumberPartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n // datetimeParts, using for `i18n-d` component\r\n function datetimeParts(...args) {\r\n return wrapWithDeps(context => datetime(context, ...args), () => parseDateTimeArgs(...args), 'datetime format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[DatetimePartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n function setPluralRules(rules) {\r\n _pluralRules = rules;\r\n _context.pluralRules = _pluralRules;\r\n }\r\n // te\r\n function te(key, locale) {\r\n const targetLocale = isString(locale) ? locale : _locale.value;\r\n const message = getLocaleMessage(targetLocale);\r\n return resolveValue(message, key) !== null;\r\n }\r\n function resolveMessages(key) {\r\n let messages = null;\r\n const locales = getLocaleChain(_context, _fallbackLocale.value, _locale.value);\r\n for (let i = 0; i < locales.length; i++) {\r\n const targetLocaleMessages = _messages.value[locales[i]] || {};\r\n const messageValue = resolveValue(targetLocaleMessages, key);\r\n if (messageValue != null) {\r\n messages = messageValue;\r\n break;\r\n }\r\n }\r\n return messages;\r\n }\r\n // tm\r\n function tm(key) {\r\n const messages = resolveMessages(key);\r\n // prettier-ignore\r\n return messages != null\r\n ? messages\r\n : __root\r\n ? __root.tm(key) || {}\r\n : {};\r\n }\r\n // getLocaleMessage\r\n function getLocaleMessage(locale) {\r\n return (_messages.value[locale] || {});\r\n }\r\n // setLocaleMessage\r\n function setLocaleMessage(locale, message) {\r\n _messages.value[locale] = message;\r\n _context.messages = _messages.value;\r\n }\r\n // mergeLocaleMessage\r\n function mergeLocaleMessage(locale, message) {\r\n _messages.value[locale] = _messages.value[locale] || {};\r\n deepCopy(message, _messages.value[locale]);\r\n _context.messages = _messages.value;\r\n }\r\n // getDateTimeFormat\r\n function getDateTimeFormat(locale) {\r\n return _datetimeFormats.value[locale] || {};\r\n }\r\n // setDateTimeFormat\r\n function setDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = format;\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // mergeDateTimeFormat\r\n function mergeDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // getNumberFormat\r\n function getNumberFormat(locale) {\r\n return _numberFormats.value[locale] || {};\r\n }\r\n // setNumberFormat\r\n function setNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = format;\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // mergeNumberFormat\r\n function mergeNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // for debug\r\n composerID++;\r\n // watch root locale & fallbackLocale\r\n if (__root) {\r\n watch(__root.locale, (val) => {\r\n if (_inheritLocale) {\r\n _locale.value = val;\r\n _context.locale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n watch(__root.fallbackLocale, (val) => {\r\n if (_inheritLocale) {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n }\r\n // define composition API!\r\n const composer = {\r\n id: composerID,\r\n locale,\r\n fallbackLocale,\r\n get inheritLocale() {\r\n return _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n _inheritLocale = val;\r\n if (val && __root) {\r\n _locale.value = __root.locale.value;\r\n _fallbackLocale.value = __root.fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n },\r\n get availableLocales() {\r\n return Object.keys(_messages.value).sort();\r\n },\r\n messages,\r\n datetimeFormats,\r\n numberFormats,\r\n get modifiers() {\r\n return _modifiers;\r\n },\r\n get pluralRules() {\r\n return _pluralRules || {};\r\n },\r\n get isGlobal() {\r\n return _isGlobal;\r\n },\r\n get missingWarn() {\r\n return _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n _missingWarn = val;\r\n _context.missingWarn = _missingWarn;\r\n },\r\n get fallbackWarn() {\r\n return _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n _fallbackWarn = val;\r\n _context.fallbackWarn = _fallbackWarn;\r\n },\r\n get fallbackRoot() {\r\n return _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n _fallbackRoot = val;\r\n },\r\n get fallbackFormat() {\r\n return _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n _fallbackFormat = val;\r\n _context.fallbackFormat = _fallbackFormat;\r\n },\r\n get warnHtmlMessage() {\r\n return _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n _warnHtmlMessage = val;\r\n _context.warnHtmlMessage = val;\r\n },\r\n get escapeParameter() {\r\n return _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n _escapeParameter = val;\r\n _context.escapeParameter = val;\r\n },\r\n t,\r\n rt,\r\n d,\r\n n,\r\n te,\r\n tm,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getDateTimeFormat,\r\n setDateTimeFormat,\r\n mergeDateTimeFormat,\r\n getNumberFormat,\r\n setNumberFormat,\r\n mergeNumberFormat,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n [TransrateVNodeSymbol]: transrateVNode,\r\n [NumberPartsSymbol]: numberParts,\r\n [DatetimePartsSymbol]: datetimeParts,\r\n [SetPluralRulesSymbol]: setPluralRules,\r\n [InejctWithOption]: options.__injectWithOption // 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')) {\r\n composer[EnableEmitter] = (emitter) => {\r\n _context.__v_emitter = emitter;\r\n };\r\n composer[DisableEmitter] = () => {\r\n _context.__v_emitter = undefined;\r\n };\r\n }\r\n return composer;\r\n}\n\n/**\r\n * Convert to I18n Composer Options from VueI18n Options\r\n *\r\n * @internal\r\n */\r\nfunction convertComposerOptions(options) {\r\n const locale = isString(options.locale) ? options.locale : 'en-US';\r\n const fallbackLocale = isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const missing = isFunction(options.missing) ? options.missing : undefined;\r\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\r\n isRegExp(options.silentTranslationWarn)\r\n ? !options.silentTranslationWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\r\n isRegExp(options.silentFallbackWarn)\r\n ? !options.silentFallbackWarn\r\n : true;\r\n const fallbackRoot = isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n const fallbackFormat = !!options.formatFallbackMessages;\r\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\r\n const pluralizationRules = options.pluralizationRules;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : undefined;\r\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\r\n ? options.warnHtmlInMessage !== 'off'\r\n : true;\r\n const escapeParameter = !!options.escapeParameterHtml;\r\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\r\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\r\n warn(getWarnMessage(8 /* NOT_SUPPORTED_FORMATTER */));\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\r\n warn(getWarnMessage(9 /* NOT_SUPPORTED_PRESERVE_DIRECTIVE */));\r\n }\r\n let messages = options.messages;\r\n if (isPlainObject(options.sharedMessages)) {\r\n const sharedMessages = options.sharedMessages;\r\n const locales = Object.keys(sharedMessages);\r\n messages = locales.reduce((messages, locale) => {\r\n const message = messages[locale] || (messages[locale] = {});\r\n assign(message, sharedMessages[locale]);\r\n return messages;\r\n }, (messages || {}));\r\n }\r\n const { __i18n, __root, __injectWithOption } = options;\r\n const datetimeFormats = options.datetimeFormats;\r\n const numberFormats = options.numberFormats;\r\n const flatJson = options.flatJson;\r\n return {\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n flatJson,\r\n datetimeFormats,\r\n numberFormats,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackRoot,\r\n fallbackFormat,\r\n modifiers,\r\n pluralRules: pluralizationRules,\r\n postTranslation,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n inheritLocale,\r\n __i18n,\r\n __root,\r\n __injectWithOption\r\n };\r\n}\r\n/**\r\n * create VueI18n interface factory\r\n *\r\n * @internal\r\n */\r\nfunction createVueI18n(options = {}) {\r\n const composer = createComposer(convertComposerOptions(options));\r\n // defines VueI18n\r\n const vueI18n = {\r\n // id\r\n id: composer.id,\r\n // locale\r\n get locale() {\r\n return composer.locale.value;\r\n },\r\n set locale(val) {\r\n composer.locale.value = val;\r\n },\r\n // fallbackLocale\r\n get fallbackLocale() {\r\n return composer.fallbackLocale.value;\r\n },\r\n set fallbackLocale(val) {\r\n composer.fallbackLocale.value = val;\r\n },\r\n // messages\r\n get messages() {\r\n return composer.messages.value;\r\n },\r\n // datetimeFormats\r\n get datetimeFormats() {\r\n return composer.datetimeFormats.value;\r\n },\r\n // numberFormats\r\n get numberFormats() {\r\n return composer.numberFormats.value;\r\n },\r\n // availableLocales\r\n get availableLocales() {\r\n return composer.availableLocales;\r\n },\r\n // formatter\r\n get formatter() {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(8 /* NOT_SUPPORTED_FORMATTER */));\r\n // dummy\r\n return {\r\n interpolate() {\r\n return [];\r\n }\r\n };\r\n },\r\n set formatter(val) {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(8 /* NOT_SUPPORTED_FORMATTER */));\r\n },\r\n // missing\r\n get missing() {\r\n return composer.getMissingHandler();\r\n },\r\n set missing(handler) {\r\n composer.setMissingHandler(handler);\r\n },\r\n // silentTranslationWarn\r\n get silentTranslationWarn() {\r\n return isBoolean(composer.missingWarn)\r\n ? !composer.missingWarn\r\n : composer.missingWarn;\r\n },\r\n set silentTranslationWarn(val) {\r\n composer.missingWarn = isBoolean(val) ? !val : val;\r\n },\r\n // silentFallbackWarn\r\n get silentFallbackWarn() {\r\n return isBoolean(composer.fallbackWarn)\r\n ? !composer.fallbackWarn\r\n : composer.fallbackWarn;\r\n },\r\n set silentFallbackWarn(val) {\r\n composer.fallbackWarn = isBoolean(val) ? !val : val;\r\n },\r\n // modifiers\r\n get modifiers() {\r\n return composer.modifiers;\r\n },\r\n // formatFallbackMessages\r\n get formatFallbackMessages() {\r\n return composer.fallbackFormat;\r\n },\r\n set formatFallbackMessages(val) {\r\n composer.fallbackFormat = val;\r\n },\r\n // postTranslation\r\n get postTranslation() {\r\n return composer.getPostTranslationHandler();\r\n },\r\n set postTranslation(handler) {\r\n composer.setPostTranslationHandler(handler);\r\n },\r\n // sync\r\n get sync() {\r\n return composer.inheritLocale;\r\n },\r\n set sync(val) {\r\n composer.inheritLocale = val;\r\n },\r\n // warnInHtmlMessage\r\n get warnHtmlInMessage() {\r\n return composer.warnHtmlMessage ? 'warn' : 'off';\r\n },\r\n set warnHtmlInMessage(val) {\r\n composer.warnHtmlMessage = val !== 'off';\r\n },\r\n // escapeParameterHtml\r\n get escapeParameterHtml() {\r\n return composer.escapeParameter;\r\n },\r\n set escapeParameterHtml(val) {\r\n composer.escapeParameter = val;\r\n },\r\n // preserveDirectiveContent\r\n get preserveDirectiveContent() {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(9 /* NOT_SUPPORTED_PRESERVE_DIRECTIVE */));\r\n return true;\r\n },\r\n set preserveDirectiveContent(val) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(9 /* NOT_SUPPORTED_PRESERVE_DIRECTIVE */));\r\n },\r\n // pluralizationRules\r\n get pluralizationRules() {\r\n return composer.pluralRules || {};\r\n },\r\n // for internal\r\n __composer: composer,\r\n // t\r\n t(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(15 /* INVALID_ARGUMENT */);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n return composer.t(key, list || named || {}, options);\r\n },\r\n rt(...args) {\r\n return composer.rt(...args);\r\n },\r\n // tc\r\n tc(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = { plural: 1 };\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(15 /* INVALID_ARGUMENT */);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n return composer.t(key, list || named || {}, options);\r\n },\r\n // te\r\n te(key, locale) {\r\n return composer.te(key, locale);\r\n },\r\n // tm\r\n tm(key) {\r\n return composer.tm(key);\r\n },\r\n // getLocaleMessage\r\n getLocaleMessage(locale) {\r\n return composer.getLocaleMessage(locale);\r\n },\r\n // setLocaleMessage\r\n setLocaleMessage(locale, message) {\r\n composer.setLocaleMessage(locale, message);\r\n },\r\n // mergeLocaleMessage\r\n mergeLocaleMessage(locale, message) {\r\n composer.mergeLocaleMessage(locale, message);\r\n },\r\n // d\r\n d(...args) {\r\n return composer.d(...args);\r\n },\r\n // getDateTimeFormat\r\n getDateTimeFormat(locale) {\r\n return composer.getDateTimeFormat(locale);\r\n },\r\n // setDateTimeFormat\r\n setDateTimeFormat(locale, format) {\r\n composer.setDateTimeFormat(locale, format);\r\n },\r\n // mergeDateTimeFormat\r\n mergeDateTimeFormat(locale, format) {\r\n composer.mergeDateTimeFormat(locale, format);\r\n },\r\n // n\r\n n(...args) {\r\n return composer.n(...args);\r\n },\r\n // getNumberFormat\r\n getNumberFormat(locale) {\r\n return composer.getNumberFormat(locale);\r\n },\r\n // setNumberFormat\r\n setNumberFormat(locale, format) {\r\n composer.setNumberFormat(locale, format);\r\n },\r\n // mergeNumberFormat\r\n mergeNumberFormat(locale, format) {\r\n composer.mergeNumberFormat(locale, format);\r\n },\r\n // getChoiceIndex\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n getChoiceIndex(choice, choicesLength) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(10 /* NOT_SUPPORTED_GET_CHOICE_INDEX */));\r\n return -1;\r\n },\r\n // for internal\r\n __onComponentInstanceCreated(target) {\r\n const { componentInstanceCreatedListener } = options;\r\n if (componentInstanceCreatedListener) {\r\n componentInstanceCreatedListener(target, vueI18n);\r\n }\r\n }\r\n };\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n vueI18n.__enableEmitter = (emitter) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const __composer = composer;\r\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\r\n };\r\n vueI18n.__disableEmitter = () => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const __composer = composer;\r\n __composer[DisableEmitter] && __composer[DisableEmitter]();\r\n };\r\n }\r\n return vueI18n;\r\n}\n\nconst baseFormatProps = {\r\n tag: {\r\n type: [String, Object]\r\n },\r\n locale: {\r\n type: String\r\n },\r\n scope: {\r\n type: String,\r\n validator: (val) => val === 'parent' || val === 'global',\r\n default: 'parent'\r\n },\r\n i18n: {\r\n type: Object\r\n }\r\n};\n\n/**\r\n * Translation Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [TranslationProps](component#translationprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\r\n *\r\n * @example\r\n * ```html\r\n *
\r\n * \r\n * \r\n * {{ $t('tos') }}\r\n * \r\n * \r\n *
\r\n * ```\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n } from 'vue-i18n'\r\n *\r\n * const messages = {\r\n * en: {\r\n * tos: 'Term of Service',\r\n * term: 'I accept xxx {0}.'\r\n * },\r\n * ja: {\r\n * tos: '利用規約',\r\n * term: '私は xxx の{0}に同意します。'\r\n * }\r\n * }\r\n *\r\n * const i18n = createI18n({\r\n * locale: 'en',\r\n * messages\r\n * })\r\n *\r\n * const app = createApp({\r\n * data: {\r\n * url: '/term'\r\n * }\r\n * }).use(i18n).mount('#app')\r\n * ```\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst Translation = {\r\n /* eslint-disable */\r\n name: 'i18n-t',\r\n props: assign({\r\n keypath: {\r\n type: String,\r\n required: true\r\n },\r\n plural: {\r\n type: [Number, String],\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n validator: (val) => isNumber(val) || !isNaN(val)\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n setup(props, context) {\r\n const { slots, attrs } = context;\r\n const i18n = props.i18n ||\r\n useI18n({\r\n useScope: props.scope,\r\n __useComponent: true\r\n });\r\n const keys = Object.keys(slots).filter(key => key !== '_');\r\n return () => {\r\n const options = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (props.plural !== undefined) {\r\n options.plural = isString(props.plural) ? +props.plural : props.plural;\r\n }\r\n const arg = getInterpolateArg(context, keys);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const children = i18n[TransrateVNodeSymbol](props.keypath, arg, options);\r\n const assignedAttrs = assign({}, attrs);\r\n // prettier-ignore\r\n return isString(props.tag)\r\n ? h(props.tag, assignedAttrs, children)\r\n : isObject(props.tag)\r\n ? h(props.tag, assignedAttrs, children)\r\n : h(Fragment, assignedAttrs, children);\r\n };\r\n }\r\n};\r\nfunction getInterpolateArg({ slots }, keys) {\r\n if (keys.length === 1 && keys[0] === 'default') {\r\n // default slot only\r\n return slots.default ? slots.default() : [];\r\n }\r\n else {\r\n // named slots\r\n return keys.reduce((arg, key) => {\r\n const slot = slots[key];\r\n if (slot) {\r\n arg[key] = slot();\r\n }\r\n return arg;\r\n }, {});\r\n }\r\n}\n\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\r\n const { slots, attrs } = context;\r\n return () => {\r\n const options = { part: true };\r\n let overrides = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (isString(props.format)) {\r\n options.key = props.format;\r\n }\r\n else if (isObject(props.format)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (isString(props.format.key)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n options.key = props.format.key;\r\n }\r\n // Filter out number format options only\r\n overrides = Object.keys(props.format).reduce((options, prop) => {\r\n return slotKeys.includes(prop)\r\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : options;\r\n }, {});\r\n }\r\n const parts = partFormatter(...[props.value, options, overrides]);\r\n let children = [options.key];\r\n if (isArray(parts)) {\r\n children = parts.map((part, index) => {\r\n const slot = slots[part.type];\r\n return slot\r\n ? slot({ [part.type]: part.value, index, parts })\r\n : [part.value];\r\n });\r\n }\r\n else if (isString(parts)) {\r\n children = [parts];\r\n }\r\n const assignedAttrs = assign({}, attrs);\r\n // prettier-ignore\r\n return isString(props.tag)\r\n ? h(props.tag, assignedAttrs, children)\r\n : isObject(props.tag)\r\n ? h(props.tag, assignedAttrs, children)\r\n : h(Fragment, assignedAttrs, children);\r\n };\r\n}\n\nconst NUMBER_FORMAT_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'unit',\r\n 'unitDisplay',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'useGrouping',\r\n 'numberingSystem',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'notation',\r\n 'formatMatcher'\r\n];\r\n/**\r\n * Number Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst NumberFormat = {\r\n /* eslint-disable */\r\n name: 'i18n-n',\r\n props: assign({\r\n value: {\r\n type: Number,\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, NUMBER_FORMAT_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[NumberPartsSymbol](...args));\r\n }\r\n};\n\nconst DATETIME_FORMAT_KEYS = [\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'fractionalSecondDigits',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'localeMatcher',\r\n 'timeZone',\r\n 'hour12',\r\n 'hourCycle',\r\n 'formatMatcher',\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];\r\n/**\r\n * Datetime Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst DatetimeFormat = {\r\n /* eslint-disable */\r\n name: 'i18n-d',\r\n props: assign({\r\n value: {\r\n type: [Number, Date],\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, DATETIME_FORMAT_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[DatetimePartsSymbol](...args));\r\n }\r\n};\n\nfunction getComposer$2(i18n, instance) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n return (i18nInternal.__getInstance(instance) || i18n.global);\r\n }\r\n else {\r\n const vueI18n = i18nInternal.__getInstance(instance);\r\n return vueI18n != null\r\n ? vueI18n.__composer\r\n : i18n.global.__composer;\r\n }\r\n}\r\nfunction vTDirective(i18n) {\r\n const bind = (el, { instance, value, modifiers }) => {\r\n /* istanbul ignore if */\r\n if (!instance || !instance.$) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n const composer = getComposer$2(i18n, instance.$);\r\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\r\n warn(getWarnMessage(7 /* NOT_SUPPORTED_PRESERVE */));\r\n }\r\n const parsedValue = parseValue(value);\r\n el.textContent = composer.t(...makeParams(parsedValue));\r\n };\r\n return {\r\n beforeMount: bind,\r\n beforeUpdate: bind\r\n };\r\n}\r\nfunction parseValue(value) {\r\n if (isString(value)) {\r\n return { path: value };\r\n }\r\n else if (isPlainObject(value)) {\r\n if (!('path' in value)) {\r\n throw createI18nError(19 /* REQUIRED_VALUE */, 'path');\r\n }\r\n return value;\r\n }\r\n else {\r\n throw createI18nError(20 /* INVALID_VALUE */);\r\n }\r\n}\r\nfunction makeParams(value) {\r\n const { path, locale, args, choice, plural } = value;\r\n const options = {};\r\n const named = args || {};\r\n if (isString(locale)) {\r\n options.locale = locale;\r\n }\r\n if (isNumber(choice)) {\r\n options.plural = choice;\r\n }\r\n if (isNumber(plural)) {\r\n options.plural = plural;\r\n }\r\n return [path, named, options];\r\n}\n\nfunction apply(app, i18n, ...options) {\r\n const pluginOptions = isPlainObject(options[0])\r\n ? options[0]\r\n : {};\r\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\r\n const globalInstall = isBoolean(pluginOptions.globalInstall)\r\n ? pluginOptions.globalInstall\r\n : true;\r\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\r\n warn(getWarnMessage(11 /* COMPONENT_NAME_LEGACY_COMPATIBLE */, {\r\n name: Translation.name\r\n }));\r\n }\r\n if (globalInstall) {\r\n // install components\r\n app.component(!useI18nComponentName ? Translation.name : 'i18n', Translation);\r\n app.component(NumberFormat.name, NumberFormat);\r\n app.component(DatetimeFormat.name, DatetimeFormat);\r\n }\r\n // install directive\r\n app.directive('t', vTDirective(i18n));\r\n}\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\r\nlet devtoolsApi;\r\nasync function enableDevTools(app, i18n) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n setupDevtoolsPlugin({\r\n id: \"vue-devtools-plugin-vue-i18n\" /* PLUGIN */,\r\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */],\r\n packageName: 'vue-i18n',\r\n homepage: 'https://vue-i18n.intlify.dev',\r\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\r\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\r\n app\r\n }, api => {\r\n devtoolsApi = api;\r\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\r\n updateComponentTreeTags(componentInstance, treeNode, i18n);\r\n });\r\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\r\n if (componentInstance.vnode.el.__VUE_I18N__ && instanceData) {\r\n if (i18n.mode === 'legacy') {\r\n // ignore global scope on legacy mode\r\n if (componentInstance.vnode.el.__VUE_I18N__ !==\r\n i18n.global.__composer) {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n else {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n });\r\n api.addInspector({\r\n id: \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */,\r\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */],\r\n icon: 'language',\r\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]\r\n });\r\n api.on.getInspectorTree(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n registerScope(payload, i18n);\r\n }\r\n });\r\n api.on.getInspectorState(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n inspectScope(payload, i18n);\r\n }\r\n });\r\n api.on.editInspectorState(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n editScope(payload, i18n);\r\n }\r\n });\r\n api.addTimelineLayer({\r\n id: \"vue-i18n-timeline\" /* TIMELINE */,\r\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* TIMELINE */],\r\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* TIMELINE */]\r\n });\r\n resolve(true);\r\n });\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject(false);\r\n }\r\n });\r\n}\r\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\r\ntreeNode, i18n) {\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n if (instance && instance.vnode.el.__VUE_I18N__) {\r\n // add custom tags local scope only\r\n if (instance.vnode.el.__VUE_I18N__ !== global) {\r\n const label = instance.type.name || instance.type.displayName || instance.type.__file;\r\n const tag = {\r\n label: `i18n (${label} Scope)`,\r\n textColor: 0x000000,\r\n backgroundColor: 0xffcd19\r\n };\r\n treeNode.tags.push(tag);\r\n }\r\n }\r\n}\r\nfunction inspectComposer(instanceData, composer) {\r\n const type = VUE_I18N_COMPONENT_TYPES;\r\n instanceData.state.push({\r\n type,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n });\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getLocaleMessageValue(messages) {\r\n const value = {};\r\n Object.keys(messages).forEach((key) => {\r\n const v = messages[key];\r\n if (isFunction(v) && 'source' in v) {\r\n value[key] = getMessageFunctionDetails(v);\r\n }\r\n else if (isObject(v)) {\r\n value[key] = getLocaleMessageValue(v);\r\n }\r\n else {\r\n value[key] = v;\r\n }\r\n });\r\n return value;\r\n}\r\nconst ESC = {\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n '&': '&'\r\n};\r\nfunction escape(s) {\r\n return s.replace(/[<>\"&]/g, escapeChar);\r\n}\r\nfunction escapeChar(a) {\r\n return ESC[a] || a;\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getMessageFunctionDetails(func) {\r\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\r\n return {\r\n _custom: {\r\n type: 'function',\r\n display: `ƒ ${argString}`\r\n }\r\n };\r\n}\r\nfunction registerScope(payload, i18n) {\r\n payload.rootNodes.push({\r\n id: 'global',\r\n label: 'Global Scope'\r\n });\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n for (const [keyInstance, instance] of i18n.__instances) {\r\n // prettier-ignore\r\n const composer = i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n if (global === composer) {\r\n continue;\r\n }\r\n const label = keyInstance.type.name ||\r\n keyInstance.type.displayName ||\r\n keyInstance.type.__file;\r\n payload.rootNodes.push({\r\n id: composer.id.toString(),\r\n label: `${label} Scope`\r\n });\r\n }\r\n}\r\nfunction getComposer$1(nodeId, i18n) {\r\n if (nodeId === 'global') {\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n }\r\n else {\r\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\r\n if (instance) {\r\n return i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n}\r\nfunction inspectScope(payload, i18n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n payload.state = makeScopeInspectState(composer);\r\n }\r\n}\r\nfunction makeScopeInspectState(composer) {\r\n const state = {};\r\n const localeType = 'Locale related info';\r\n const localeStates = [\r\n {\r\n type: localeType,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n },\r\n {\r\n type: localeType,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n }\r\n ];\r\n state[localeType] = localeStates;\r\n const localeMessagesType = 'Locale messages info';\r\n const localeMessagesStates = [\r\n {\r\n type: localeMessagesType,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n }\r\n ];\r\n state[localeMessagesType] = localeMessagesStates;\r\n const datetimeFormatsType = 'Datetime formats info';\r\n const datetimeFormatsStates = [\r\n {\r\n type: datetimeFormatsType,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n }\r\n ];\r\n state[datetimeFormatsType] = datetimeFormatsStates;\r\n const numberFormatsType = 'Datetime formats info';\r\n const numberFormatsStates = [\r\n {\r\n type: numberFormatsType,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n }\r\n ];\r\n state[numberFormatsType] = numberFormatsStates;\r\n return state;\r\n}\r\nfunction addTimelineEvent(event, payload) {\r\n if (devtoolsApi) {\r\n let groupId;\r\n if (payload && 'groupId' in payload) {\r\n groupId = payload.groupId;\r\n delete payload.groupId;\r\n }\r\n devtoolsApi.addTimelineEvent({\r\n layerId: \"vue-i18n-timeline\" /* TIMELINE */,\r\n event: {\r\n title: event,\r\n groupId,\r\n time: Date.now(),\r\n meta: {},\r\n data: payload || {},\r\n logType: event === \"compile-error\" /* COMPILE_ERROR */\r\n ? 'error'\r\n : event === \"fallback\" /* FALBACK */ ||\r\n event === \"missing\" /* MISSING */\r\n ? 'warning'\r\n : 'default'\r\n }\r\n });\r\n }\r\n}\r\nfunction editScope(payload, i18n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n const [field] = payload.path;\r\n if (field === 'locale' && isString(payload.state.value)) {\r\n composer.locale.value = payload.state.value;\r\n }\r\n else if (field === 'fallbackLocale' &&\r\n (isString(payload.state.value) ||\r\n isArray(payload.state.value) ||\r\n isObject(payload.state.value))) {\r\n composer.fallbackLocale.value = payload.state.value;\r\n }\r\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\r\n composer.inheritLocale = payload.state.value;\r\n }\r\n }\r\n}\n\n// supports compatibility for legacy vue-i18n APIs\r\nfunction defineMixin(vuei18n, composer, i18n) {\r\n return {\r\n beforeCreate() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n const options = this.$options;\r\n if (options.i18n) {\r\n const optionsI18n = options.i18n;\r\n if (options.__i18n) {\r\n optionsI18n.__i18n = options.__i18n;\r\n }\r\n optionsI18n.__root = composer;\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, optionsI18n);\r\n }\r\n else {\r\n optionsI18n.__injectWithOption = true;\r\n this.$i18n = createVueI18n(optionsI18n);\r\n }\r\n }\r\n else if (options.__i18n) {\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, options);\r\n }\r\n else {\r\n this.$i18n = createVueI18n({\r\n __i18n: options.__i18n,\r\n __injectWithOption: true,\r\n __root: composer\r\n });\r\n }\r\n }\r\n else {\r\n // set global\r\n this.$i18n = vuei18n;\r\n }\r\n vuei18n.__onComponentInstanceCreated(this.$i18n);\r\n i18n.__setInstance(instance, this.$i18n);\r\n // defines vue-i18n legacy APIs\r\n this.$t = (...args) => this.$i18n.t(...args);\r\n this.$rt = (...args) => this.$i18n.rt(...args);\r\n this.$tc = (...args) => this.$i18n.tc(...args);\r\n this.$te = (key, locale) => this.$i18n.te(key, locale);\r\n this.$d = (...args) => this.$i18n.d(...args);\r\n this.$n = (...args) => this.$i18n.n(...args);\r\n this.$tm = (key) => this.$i18n.tm(key);\r\n },\r\n mounted() {\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n this.$el.__VUE_I18N__ = this.$i18n.__composer;\r\n const emitter = (this.__v_emitter = createEmitter());\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n beforeUnmount() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n if (this.__v_emitter) {\r\n this.__v_emitter.off('*', addTimelineEvent);\r\n delete this.__v_emitter;\r\n }\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\r\n delete this.$el.__VUE_I18N__;\r\n }\r\n delete this.$t;\r\n delete this.$rt;\r\n delete this.$tc;\r\n delete this.$te;\r\n delete this.$d;\r\n delete this.$n;\r\n delete this.$tm;\r\n i18n.__deleteInstance(instance);\r\n delete this.$i18n;\r\n }\r\n };\r\n}\r\nfunction mergeToRoot(root, options) {\r\n root.locale = options.locale || root.locale;\r\n root.fallbackLocale = options.fallbackLocale || root.fallbackLocale;\r\n root.missing = options.missing || root.missing;\r\n root.silentTranslationWarn =\r\n options.silentTranslationWarn || root.silentFallbackWarn;\r\n root.silentFallbackWarn =\r\n options.silentFallbackWarn || root.silentFallbackWarn;\r\n root.formatFallbackMessages =\r\n options.formatFallbackMessages || root.formatFallbackMessages;\r\n root.postTranslation = options.postTranslation || root.postTranslation;\r\n root.warnHtmlInMessage = options.warnHtmlInMessage || root.warnHtmlInMessage;\r\n root.escapeParameterHtml =\r\n options.escapeParameterHtml || root.escapeParameterHtml;\r\n root.sync = options.sync || root.sync;\r\n root.__composer[SetPluralRulesSymbol](options.pluralizationRules || root.pluralizationRules);\r\n const messages = getLocaleMessages(root.locale, {\r\n messages: options.messages,\r\n __i18n: options.__i18n\r\n });\r\n Object.keys(messages).forEach(locale => root.mergeLocaleMessage(locale, messages[locale]));\r\n if (options.datetimeFormats) {\r\n Object.keys(options.datetimeFormats).forEach(locale => root.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\r\n }\r\n if (options.numberFormats) {\r\n Object.keys(options.numberFormats).forEach(locale => root.mergeNumberFormat(locale, options.numberFormats[locale]));\r\n }\r\n return root;\r\n}\n\n/**\r\n * Vue I18n factory\r\n *\r\n * @param options - An options, see the {@link I18nOptions}\r\n *\r\n * @returns {@link I18n} instance\r\n *\r\n * @remarks\r\n * If you use Legacy API mode, you need toto specify {@link VueI18nOptions} and `legacy: true` option.\r\n *\r\n * If you use composition API mode, you need to specify {@link ComposerOptions}.\r\n *\r\n * @VueI18nSee [Getting Started](../guide/)\r\n * @VueI18nSee [Composition API](../guide/advanced/composition)\r\n *\r\n * @example\r\n * case: for Legacy API\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n } from 'vue-i18n'\r\n *\r\n * // call with I18n option\r\n * const i18n = createI18n({\r\n * locale: 'ja',\r\n * messages: {\r\n * en: { ... },\r\n * ja: { ... }\r\n * }\r\n * })\r\n *\r\n * const App = {\r\n * // ...\r\n * }\r\n *\r\n * const app = createApp(App)\r\n *\r\n * // install!\r\n * app.use(i18n)\r\n * app.mount('#app')\r\n * ```\r\n *\r\n * @example\r\n * case: for composition API\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n, useI18n } from 'vue-i18n'\r\n *\r\n * // call with I18n option\r\n * const i18n = createI18n({\r\n * legacy: false, // you must specify 'legacy: false' option\r\n * locale: 'ja',\r\n * messages: {\r\n * en: { ... },\r\n * ja: { ... }\r\n * }\r\n * })\r\n *\r\n * const App = {\r\n * setup() {\r\n * // ...\r\n * const { t } = useI18n({ ... })\r\n * return { ... , t }\r\n * }\r\n * }\r\n *\r\n * const app = createApp(App)\r\n *\r\n * // install!\r\n * app.use(i18n)\r\n * app.mount('#app')\r\n * ```\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction createI18n(options = {}) {\r\n // prettier-ignore\r\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\r\n ? options.legacy\r\n : __VUE_I18N_LEGACY_API__;\r\n const __globalInjection = !!options.globalInjection;\r\n const __instances = new Map();\r\n // prettier-ignore\r\n const __global = __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? createVueI18n(options)\r\n : createComposer(options);\r\n const symbol = makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\r\n const i18n = {\r\n // mode\r\n get mode() {\r\n // prettier-ignore\r\n return __VUE_I18N_LEGACY_API__\r\n ? __legacyMode\r\n ? 'legacy'\r\n : 'composition'\r\n : 'composition';\r\n },\r\n // install plugin\r\n async install(app, ...options) {\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n app.__VUE_I18N__ = i18n;\r\n }\r\n // setup global provider\r\n app.__VUE_I18N_SYMBOL__ = symbol;\r\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\r\n // global method and properties injection for Composition API\r\n if (!__legacyMode && __globalInjection) {\r\n injectGlobalFields(app, i18n.global);\r\n }\r\n // install built-in components and directive\r\n if (__VUE_I18N_FULL_INSTALL__) {\r\n apply(app, i18n, ...options);\r\n }\r\n // setup mixin for Legacy API\r\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\r\n app.mixin(defineMixin(__global, __global.__composer, i18n));\r\n }\r\n // setup vue-devtools plugin\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n const ret = await enableDevTools(app, i18n);\r\n if (!ret) {\r\n throw createI18nError(21 /* CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN */);\r\n }\r\n const emitter = createEmitter();\r\n if (__legacyMode) {\r\n const _vueI18n = __global;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = __global;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n }\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n // global accessor\r\n get global() {\r\n return __global;\r\n },\r\n // @internal\r\n __instances,\r\n // @internal\r\n __getInstance(component) {\r\n return __instances.get(component) || null;\r\n },\r\n // @internal\r\n __setInstance(component, instance) {\r\n __instances.set(component, instance);\r\n },\r\n // @internal\r\n __deleteInstance(component) {\r\n __instances.delete(component);\r\n }\r\n };\r\n return i18n;\r\n}\r\n/**\r\n * Use Composition API for Vue I18n\r\n *\r\n * @param options - An options, see {@link UseI18nOptions}\r\n *\r\n * @returns {@link Composer} instance\r\n *\r\n * @remarks\r\n * This function is mainly used by `setup`.\r\n *\r\n * If options are specified, Composer instance is created for each component and you can be localized on the component.\r\n *\r\n * If options are not specified, you can be localized using the global Composer.\r\n *\r\n * @example\r\n * case: Component resource base localization\r\n * ```html\r\n * \r\n *\r\n * \r\n * ```\r\n *\r\n * @VueI18nComposition\r\n */\r\nfunction useI18n(options = {}) {\r\n const instance = getCurrentInstance();\r\n if (instance == null) {\r\n throw createI18nError(16 /* MUST_BE_CALL_SETUP_TOP */);\r\n }\r\n if (!instance.appContext.app.__VUE_I18N_SYMBOL__) {\r\n throw createI18nError(17 /* NOT_INSLALLED */);\r\n }\r\n const i18n = inject(instance.appContext.app.__VUE_I18N_SYMBOL__);\r\n /* istanbul ignore if */\r\n if (!i18n) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n // prettier-ignore\r\n const scope = isEmptyObject(options)\r\n ? ('__i18n' in instance.type)\r\n ? 'local'\r\n : 'global'\r\n : !options.useScope\r\n ? 'local'\r\n : options.useScope;\r\n if (scope === 'global') {\r\n let messages = isObject(options.messages) ? options.messages : {};\r\n if ('__i18nGlobal' in instance.type) {\r\n messages = getLocaleMessages(global.locale.value, {\r\n messages,\r\n __i18n: instance.type.__i18nGlobal\r\n });\r\n }\r\n // merge locale messages\r\n const locales = Object.keys(messages);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeLocaleMessage(locale, messages[locale]);\r\n });\r\n }\r\n // merge datetime formats\r\n if (isObject(options.datetimeFormats)) {\r\n const locales = Object.keys(options.datetimeFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\r\n });\r\n }\r\n }\r\n // merge number formats\r\n if (isObject(options.numberFormats)) {\r\n const locales = Object.keys(options.numberFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeNumberFormat(locale, options.numberFormats[locale]);\r\n });\r\n }\r\n }\r\n return global;\r\n }\r\n if (scope === 'parent') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let composer = getComposer(i18n, instance, options.__useComponent);\r\n if (composer == null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(getWarnMessage(12 /* NOT_FOUND_PARENT_SCOPE */));\r\n }\r\n composer = global;\r\n }\r\n return composer;\r\n }\r\n // scope 'local' case\r\n if (i18n.mode === 'legacy') {\r\n throw createI18nError(18 /* NOT_AVAILABLE_IN_LEGACY_MODE */);\r\n }\r\n const i18nInternal = i18n;\r\n let composer = i18nInternal.__getInstance(instance);\r\n if (composer == null) {\r\n const type = instance.type;\r\n const composerOptions = assign({}, options);\r\n if (type.__i18n) {\r\n composerOptions.__i18n = type.__i18n;\r\n }\r\n if (global) {\r\n composerOptions.__root = global;\r\n }\r\n composer = createComposer(composerOptions);\r\n setupLifeCycle(i18nInternal, instance, composer);\r\n i18nInternal.__setInstance(instance, composer);\r\n }\r\n return composer;\r\n}\r\nfunction getComposer(i18n, target, useComponent = false) {\r\n let composer = null;\r\n const root = target.root;\r\n let current = target.parent;\r\n while (current != null) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n composer = i18nInternal.__getInstance(current);\r\n }\r\n else {\r\n const vueI18n = i18nInternal.__getInstance(current);\r\n if (vueI18n != null) {\r\n composer = vueI18n\r\n .__composer;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (useComponent && composer && !composer[InejctWithOption]) {\r\n composer = null;\r\n }\r\n }\r\n if (composer != null) {\r\n break;\r\n }\r\n if (root === current) {\r\n break;\r\n }\r\n current = current.parent;\r\n }\r\n return composer;\r\n}\r\nfunction setupLifeCycle(i18n, target, composer) {\r\n let emitter = null;\r\n onMounted(() => {\r\n // inject composer instance to DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el) {\r\n target.vnode.el.__VUE_I18N__ = composer;\r\n emitter = createEmitter();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n }, target);\r\n onUnmounted(() => {\r\n // remove composer instance from DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el &&\r\n target.vnode.el.__VUE_I18N__) {\r\n emitter && emitter.off('*', addTimelineEvent);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[DisableEmitter] && _composer[DisableEmitter]();\r\n delete target.vnode.el.__VUE_I18N__;\r\n }\r\n i18n.__deleteInstance(target);\r\n }, target);\r\n}\r\nconst globalExportProps = [\r\n 'locale',\r\n 'fallbackLocale',\r\n 'availableLocales'\r\n];\r\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm'];\r\nfunction injectGlobalFields(app, composer) {\r\n const i18n = Object.create(null);\r\n globalExportProps.forEach(prop => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\r\n if (!desc) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n const wrap = isRef(desc.value) // check computed props\r\n ? {\r\n get() {\r\n return desc.value.value;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n set(val) {\r\n desc.value.value = val;\r\n }\r\n }\r\n : {\r\n get() {\r\n return desc.get && desc.get();\r\n }\r\n };\r\n Object.defineProperty(i18n, prop, wrap);\r\n });\r\n app.config.globalProperties.$i18n = i18n;\r\n globalExportMethods.forEach(method => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, method);\r\n if (!desc || !desc.value) {\r\n throw createI18nError(22 /* UNEXPECTED_ERROR */);\r\n }\r\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\r\n });\r\n}\n\n// register message compiler at vue-i18n\r\nregisterMessageCompiler(compileToFunction);\r\n{\r\n initFeatureFlags();\r\n}\r\n// NOTE: experimental !!\r\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__INTLIFY__ = true;\r\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\r\n}\r\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n"],"names":["hasSymbol","Symbol","toStringTag","makeSymbol","name","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","l","k","s","json","JSON","stringify","replace","isNumber","val","isFinite","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","Object","keys","length","warn","msg","err","console","stack","assign","_globalThis","getGlobalThis","globalThis","self","window","global","escapeHtml","rawText","hasOwnProperty","prototype","hasOwn","obj","call","isArray","Array","isFunction","isString","isBoolean","isObject","objectToString","toString","value","toDisplayString","String","pathStateMachine","literalValueRE","isLiteral","exp","test","stripQuotes","str","a","charCodeAt","b","slice","getPathCharType","ch","undefined","code","formatSubPath","path","trimmed","trim","charAt","isNaN","parseInt","parse","c","newChar","type","transition","action","typeMap","index","mode","subPathDepth","actions","maybeUnescapeQuote","nextChar","push","cache","Map","resolveValue","hit","get","set","len","last","i","handleFlatJson","includes","subKeys","split","lastIndex","currentObj","DEFAULT_MODIFIER","DEFAULT_MESSAGE","ctx","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","join","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","getPluralIndex","options","pluralIndex","named","count","n","normalizeNamed","props","createMessageContext","pluralRule","pluralRules","orgPluralRule","plural","messages","_list","list","_named","message","parent","_modifier","modifiers","normalize","processor","interpolate","modifier","createCompileError","loc","domain","args","error","SyntaxError","location","defaultOnError","createPosition","line","column","offset","createLocation","start","end","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","getToken","token","getEndToken","eat","scnr","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","closure","takeDigit","takeHexDigit","getDigits","num","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","detect","readPlural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","match","codePoint4","codePoint6","codePoint","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","items","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","body","createTransformer","ast","helpers","Set","helper","add","traverseNodes","nodes","transformer","traverseNode","linked","transform","from","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","map","indentLevel","_newline","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","process","generate","toJSON","baseCompile","assignedOptions","parser","IntlifyDevToolsHooks","I18nInit","FunctionTranslate","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","emit","timestamp","Date","now","translateDevTools","createDevToolsHook","payloads","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","getDefaultLinkedModifiers","upper","toUpperCase","lower","toLowerCase","capitalize","toLocaleUpperCase","substr","_compiler","registerMessageCompiler","compiler","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_cid","createCoreContext","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","onWarn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","handleMissing","getLocaleChain","fallback","__localeChainCache","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","splice","updateFallbackLocale","defaultOnCacheKey","compileCache","create","compileToFunction","onCacheKey","cached","occurred","Function","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","format","targetLocale","resolveMessageFormat","cacheBaseKey","errorDetector","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","item","forEach","locales","to","missingRet","getCompileOptions","msgCtx","arg1","arg2","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","formatToParts","arg4","toISOString","e","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","clearNumberFormat","initFeatureFlags","needWarn","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","createI18nError","DEVTOOLS_META","TransrateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOption","composerID","defineCoreMissingHandler","getCurrentInstance","getLocaleMessages","__i18n","resource","deepCopy","flatJson","isNotObjectOrIsArray","src","des","getMetaInfo","instance","createComposer","__root","_isGlobal","_inheritLocale","inheritLocale","_locale","ref","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","getCoreContext","__v_emitter","framework","trackReactivityValues","computed","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","root","rt","d","createVNode","Text","transrateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","watch","composer","availableLocales","sort","isGlobal","__injectWithOption","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","reduce","createVueI18n","vueI18n","preserveDirectiveContent","__composer","tc","getChoiceIndex","__onComponentInstanceCreated","componentInstanceCreatedListener","baseFormatProps","tag","scope","validator","Translation","keypath","required","Number","setup","slots","attrs","useI18n","useScope","__useComponent","filter","arg","getInterpolateArg","children","assignedAttrs","h","Fragment","slot","renderFormatter","slotKeys","partFormatter","prop","parts","NUMBER_FORMAT_KEYS","DATETIME_FORMAT_KEYS","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","bind","el","$","parsedValue","parseValue","textContent","makeParams","beforeMount","beforeUpdate","apply","app","pluginOptions","useI18nComponentName","globalInstall","component","directive","defineMixin","vuei18n","beforeCreate","this","$options","optionsI18n","$root","$i18n","mergeToRoot","__setInstance","$t","$rt","$tc","$te","$d","$n","$tm","mounted","beforeUnmount","__deleteInstance","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__instances","__global","symbol","async","__VUE_I18N_SYMBOL__","provide","injectGlobalFields","mixin","appContext","inject","__i18nGlobal","getComposer","composerOptions","setupLifeCycle","useComponent","onMounted","onUnmounted","globalExportProps","globalExportMethods","desc","getOwnPropertyDescriptor","wrap","isRef","defineProperty","config","globalProperties","method","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__"],"sourceRoot":""}