Socket
Socket
Sign inDemoInstall

@intlify/message-compiler

Package Overview
Dependencies
2
Maintainers
2
Versions
149
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 9.13.1 to 10.0.0-alpha.1

22

dist/message-compiler.d.ts

@@ -15,3 +15,2 @@

needIndent?: boolean;
onWarn?: CompileWarnHandler;
onError?: CompileErrorHandler;

@@ -75,21 +74,4 @@ sourceMap?: boolean;

export declare interface CompileWarn {
message: string;
code: number;
location?: SourceLocation;
}
export declare const CompileWarnCodes: {
readonly USE_MODULO_SYNTAX: 1;
readonly __EXTEND_POINT__: 2;
};
export declare type CompileWarnCodes = (typeof CompileWarnCodes)[keyof typeof CompileWarnCodes];
export declare type CompileWarnHandler = (warn: CompileWarn) => void;
export declare function createCompileError<T extends number>(code: T, loc: SourceLocation | null, options?: CompileErrorOptions): CompileError;
export declare function createCompileWarn<T extends number>(code: T, loc: SourceLocation | null, ...args: unknown[]): CompileWarn;
export declare function createLocation(start: Position, end: Position, source?: string): SourceLocation;

@@ -203,3 +185,2 @@

onCacheKey?: (source: string) => string;
onWarn?: CompileWarnHandler;
onError?: CompileErrorHandler;

@@ -246,8 +227,5 @@ }

export declare interface TransformOptions {
onWarn?: CompileWarnHandler;
onError?: CompileErrorHandler;
}
/* Excluded from this release type: warnMessages */
export { }

192

dist/message-compiler.esm-browser.js
/*!
* message-compiler v9.13.1
* message-compiler v10.0.0-alpha.1
* (c) 2024 kazuya kawaguchi

@@ -46,19 +46,2 @@ * Released under the MIT License.

const CompileWarnCodes = {
USE_MODULO_SYNTAX: 1,
__EXTEND_POINT__: 2
};
/** @internal */
const warnMessages = {
[CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`
};
function createCompileWarn(code, loc, ...args) {
const msg = format(warnMessages[code] || '', ...(args || [])) ;
const message = { message: String(msg), code };
if (loc) {
message.location = loc;
}
return message;
}
const CompileErrorCodes = {

@@ -188,3 +171,2 @@ // tokenizer error codes

const target = _index + _peekOffset;
// eslint-disable-next-line no-unmodified-loop-condition
while (target !== _index) {

@@ -223,7 +205,7 @@ next();

const _context = {
currentType: 14 /* TokenTypes.EOF */,
currentType: 13 /* TokenTypes.EOF */,
offset: _initOffset,
startLoc: _initLoc,
endLoc: _initLoc,
lastType: 14 /* TokenTypes.EOF */,
lastType: 13 /* TokenTypes.EOF */,
lastOffset: _initOffset,

@@ -263,3 +245,3 @@ lastStartLoc: _initLoc,

}
const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);
function eat(scnr, ch) {

@@ -338,3 +320,3 @@ if (scnr.currentChar() === ch) {

const { currentType } = context;
if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
if (currentType !== 7 /* TokenTypes.LinkedAlias */) {
return false;

@@ -349,3 +331,3 @@ }

const { currentType } = context;
if (currentType !== 9 /* TokenTypes.LinkedDot */) {
if (currentType !== 8 /* TokenTypes.LinkedDot */) {
return false;

@@ -360,4 +342,4 @@ }

const { currentType } = context;
if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
currentType === 12 /* TokenTypes.LinkedModifier */)) {
if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||
currentType === 11 /* TokenTypes.LinkedModifier */)) {
return false;

@@ -372,3 +354,3 @@ }

const { currentType } = context;
if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {
return false;

@@ -382,3 +364,2 @@ }

else if (ch === "@" /* TokenChars.LinkedAlias */ ||
ch === "%" /* TokenChars.Modulo */ ||
ch === "|" /* TokenChars.Pipe */ ||

@@ -410,37 +391,21 @@ ch === ":" /* TokenChars.LinkedDelimiter */ ||

}
function detectModuloStart(scnr) {
const spaces = peekSpaces(scnr);
const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
scnr.peek() === "{" /* TokenChars.BraceLeft */;
scnr.resetPeek();
return {
isModulo: ret,
hasSpace: spaces.length > 0
};
}
function isTextStart(scnr, reset = true) {
const fn = (hasSpace = false, prev = '', detectModulo = false) => {
const fn = (hasSpace = false, prev = '') => {
const ch = scnr.currentPeek();
if (ch === "{" /* TokenChars.BraceLeft */) {
return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
return hasSpace;
}
else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
return hasSpace;
}
else if (ch === "%" /* TokenChars.Modulo */) {
scnr.peek();
return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
}
else if (ch === "|" /* TokenChars.Pipe */) {
return prev === "%" /* TokenChars.Modulo */ || detectModulo
? true
: !(prev === CHAR_SP || prev === CHAR_LF);
return !(prev === CHAR_SP || prev === CHAR_LF);
}
else if (ch === CHAR_SP) {
scnr.peek();
return fn(true, CHAR_SP, detectModulo);
return fn(true, CHAR_SP);
}
else if (ch === CHAR_LF) {
scnr.peek();
return fn(true, CHAR_LF, detectModulo);
return fn(true, CHAR_LF);
}

@@ -515,14 +480,4 @@ else {

}
function readModulo(scnr) {
skipSpaces(scnr);
const ch = scnr.currentChar();
if (ch !== "%" /* TokenChars.Modulo */) {
emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
}
scnr.next();
return "%" /* TokenChars.Modulo */;
}
function readText(scnr) {
let buf = '';
// eslint-disable-next-line no-constant-condition
while (true) {

@@ -537,11 +492,2 @@ const ch = scnr.currentChar();

}
else if (ch === "%" /* TokenChars.Modulo */) {
if (isTextStart(scnr)) {
buf += ch;
scnr.next();
}
else {
break;
}
}
else if (ch === CHAR_SP || ch === CHAR_LF) {

@@ -682,3 +628,2 @@ if (isTextStart(scnr)) {

if (ch === "{" /* TokenChars.BraceLeft */ ||
ch === "%" /* TokenChars.Modulo */ ||
ch === "@" /* TokenChars.LinkedAlias */ ||

@@ -762,5 +707,5 @@ ch === "|" /* TokenChars.Pipe */ ||

if (context.braceNest > 0 &&
(context.currentType === 5 /* TokenTypes.Named */ ||
context.currentType === 6 /* TokenTypes.List */ ||
context.currentType === 7 /* TokenTypes.Literal */)) {
(context.currentType === 4 /* TokenTypes.Named */ ||
context.currentType === 5 /* TokenTypes.List */ ||
context.currentType === 6 /* TokenTypes.Literal */)) {
emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);

@@ -771,3 +716,3 @@ context.braceNest = 0;

if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));
skipSpaces(scnr);

@@ -777,3 +722,3 @@ return token;

if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));
skipSpaces(scnr);

@@ -783,3 +728,3 @@ return token;

if ((validLiteral = isLiteralStart(scnr, context))) {
token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));
skipSpaces(scnr);

@@ -790,3 +735,3 @@ return token;

// TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);

@@ -806,6 +751,6 @@ skipSpaces(scnr);

const ch = scnr.currentChar();
if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
currentType === 9 /* TokenTypes.LinkedDot */ ||
currentType === 12 /* TokenTypes.LinkedModifier */ ||
currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||
currentType === 8 /* TokenTypes.LinkedDot */ ||
currentType === 11 /* TokenTypes.LinkedModifier */ ||
currentType === 9 /* TokenTypes.LinkedDelimiter */) &&
(ch === CHAR_LF || ch === CHAR_SP)) {

@@ -817,3 +762,3 @@ emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);

scnr.next();
token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
token = getToken(context, 7 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
context.inLinked = true;

@@ -824,7 +769,7 @@ return token;

scnr.next();
return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
return getToken(context, 8 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
case ":" /* TokenChars.LinkedDelimiter */:
skipSpaces(scnr);
scnr.next();
return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
default:

@@ -845,3 +790,3 @@ if (isPluralStart(scnr)) {

skipSpaces(scnr);
return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
}

@@ -855,6 +800,6 @@ if (isLinkedReferStart(scnr, context)) {

else {
return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
}
}
if (currentType === 8 /* TokenTypes.LinkedAlias */) {
if (currentType === 7 /* TokenTypes.LinkedAlias */) {
emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);

@@ -869,3 +814,3 @@ }

function readToken(scnr, context) {
let token = { type: 14 /* TokenTypes.EOF */ };
let token = { type: 13 /* TokenTypes.EOF */ };
if (context.braceNest > 0) {

@@ -895,8 +840,2 @@ return readTokenInPlaceholder(scnr, context) || getEndToken(context);

}
const { isModulo, hasSpace } = detectModuloStart(scnr);
if (isModulo) {
return hasSpace
? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
: getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
}
if (isTextStart(scnr)) {

@@ -919,3 +858,3 @@ return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));

if (_scnr.currentChar() === EOF) {
return getToken(_context, 14 /* TokenTypes.EOF */);
return getToken(_context, 13 /* TokenTypes.EOF */);
}

@@ -956,3 +895,3 @@ return readToken(_scnr, _context);

const location = options.location !== false;
const { onError, onWarn } = options;
const { onError } = options;
function emitError(tokenzer, code, start, offset, ...args) {

@@ -971,11 +910,2 @@ const end = tokenzer.currentPosition();

}
function emitWarn(tokenzer, code, start, offset, ...args) {
const end = tokenzer.currentPosition();
end.offset += offset;
end.column += offset;
if (onWarn) {
const loc = location ? createLocation(start, end) : null;
onWarn(createCompileWarn(code, loc, args));
}
}
function startNode(type, offset, loc) {

@@ -1017,3 +947,3 @@ const node = { type };

}
function parseNamed(tokenizer, key, modulo) {
function parseNamed(tokenizer, key) {
const context = tokenizer.context();

@@ -1023,5 +953,2 @@ const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc

node.key = key;
if (modulo === true) {
node.modulo = true;
}
tokenizer.nextToken(); // skip brach right

@@ -1045,3 +972,3 @@ endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());

const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
if (token.type !== 11 /* TokenTypes.LinkedModifier */) {
// empty modifier

@@ -1077,3 +1004,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);

let token = tokenizer.nextToken();
if (token.type === 9 /* TokenTypes.LinkedDot */) {
if (token.type === 8 /* TokenTypes.LinkedDot */) {
const parsed = parseLinkedModifier(tokenizer);

@@ -1084,3 +1011,3 @@ linkedNode.modifier = parsed.node;

// asset check token
if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

@@ -1094,3 +1021,3 @@ }

switch (token.type) {
case 11 /* TokenTypes.LinkedKey */:
case 10 /* TokenTypes.LinkedKey */:
if (token.value == null) {

@@ -1101,3 +1028,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 5 /* TokenTypes.Named */:
case 4 /* TokenTypes.Named */:
if (token.value == null) {

@@ -1108,3 +1035,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 6 /* TokenTypes.List */:
case 5 /* TokenTypes.List */:
if (token.value == null) {

@@ -1115,3 +1042,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 7 /* TokenTypes.Literal */:
case 6 /* TokenTypes.Literal */:
if (token.value == null) {

@@ -1153,3 +1080,2 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

let nextToken = null;
let modulo = null;
do {

@@ -1165,3 +1091,3 @@ const token = nextToken || tokenizer.nextToken();

break;
case 6 /* TokenTypes.List */:
case 5 /* TokenTypes.List */:
if (token.value == null) {

@@ -1172,16 +1098,9 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 4 /* TokenTypes.Modulo */:
modulo = true;
break;
case 5 /* TokenTypes.Named */:
case 4 /* TokenTypes.Named */:
if (token.value == null) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
}
node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));
if (modulo) {
emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));
modulo = null;
}
node.items.push(parseNamed(tokenizer, token.value || ''));
break;
case 7 /* TokenTypes.Literal */:
case 6 /* TokenTypes.Literal */:
if (token.value == null) {

@@ -1192,3 +1111,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 8 /* TokenTypes.LinkedAlias */: {
case 7 /* TokenTypes.LinkedAlias */: {
const parsed = parseLinked(tokenizer);

@@ -1200,3 +1119,3 @@ node.items.push(parsed.node);

}
} while (context.currentType !== 14 /* TokenTypes.EOF */ &&
} while (context.currentType !== 13 /* TokenTypes.EOF */ &&
context.currentType !== 1 /* TokenTypes.Pipe */);

@@ -1225,3 +1144,3 @@ // adjust message node loc

node.cases.push(msg);
} while (context.currentType !== 14 /* TokenTypes.EOF */);
} while (context.currentType !== 13 /* TokenTypes.EOF */);
if (hasEmptyMessage) {

@@ -1237,3 +1156,3 @@ emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);

const msgNode = parseMessage(tokenizer);
if (context.currentType === 14 /* TokenTypes.EOF */) {
if (context.currentType === 13 /* TokenTypes.EOF */) {
return msgNode;

@@ -1257,3 +1176,3 @@ }

// assert whether achieved to EOF
if (context.currentType !== 14 /* TokenTypes.EOF */) {
if (context.currentType !== 13 /* TokenTypes.EOF */) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');

@@ -1267,3 +1186,3 @@ }

function getTokenCaption(token) {
if (token.type === 14 /* TokenTypes.EOF */) {
if (token.type === 13 /* TokenTypes.EOF */) {
return 'EOF';

@@ -1606,4 +1525,3 @@ }

// generate code from AST
const generate = (ast, options = {} // eslint-disable-line
) => {
const generate = (ast, options = {}) => {
const mode = isString(options.mode) ? options.mode : 'normal';

@@ -1672,2 +1590,2 @@ const filename = isString(options.filename)

export { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };
export { CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };
/*!
* message-compiler v9.13.1
* message-compiler v10.0.0-alpha.1
* (c) 2024 kazuya kawaguchi
* Released under the MIT License.
*/
const LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function createPosition(e,t,n){return{line:e,column:t,offset:n}}function createLocation(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const assign=Object.assign,isString=e=>"string"==typeof e;function join(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const CompileWarnCodes={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},warnMessages={[CompileWarnCodes.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function createCompileWarn(e,t,...n){const r={message:String(e),code:e};return t&&(r.location=t),r}const CompileErrorCodes={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},errorMessages={[CompileErrorCodes.EXPECTED_TOKEN]:"Expected token: '{0}'",[CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[CompileErrorCodes.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[CompileErrorCodes.EMPTY_PLACEHOLDER]:"Empty placeholder",[CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[CompileErrorCodes.INVALID_LINKED_FORMAT]:"Invalid linked format",[CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function createCompileError(e,t,n={}){const{domain:r,messages:o,args:s}=n,c=new SyntaxError(String(e));return c.code=e,t&&(c.location=t),c.domain=r,c}function defaultOnError(e){throw e}const RE_HTML_TAG=/<\/?[\w\s="/.':;#-\/]+>/,detectHtmlTag=e=>RE_HTML_TAG.test(e),CHAR_SP=" ",CHAR_CR="\r",CHAR_LF="\n",CHAR_LS=String.fromCharCode(8232),CHAR_PS=String.fromCharCode(8233);function createScanner(e){const t=e;let n=0,r=1,o=1,s=0;const c=e=>t[e]===CHAR_CR&&t[e+1]===CHAR_LF,a=e=>t[e]===CHAR_PS,i=e=>t[e]===CHAR_LS,u=e=>c(e)||(e=>t[e]===CHAR_LF)(e)||a(e)||i(e),l=e=>c(e)||a(e)||i(e)?CHAR_LF:t[e];function E(){return s=0,u(n)&&(r++,o=0),c(n)&&n++,n++,o++,t[n]}return{index:()=>n,line:()=>r,column:()=>o,peekOffset:()=>s,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+s),next:E,peek:function(){return c(n+s)&&s++,s++,t[n+s]},reset:function(){n=0,r=1,o=1,s=0},resetPeek:function(e=0){s=e},skipToPeek:function(){const e=n+s;for(;e!==n;)E();s=0}}}const EOF=void 0,DOT=".",LITERAL_DELIMITER="'",ERROR_DOMAIN$1="tokenizer";function createTokenizer(e,t={}){const n=!1!==t.location,r=createScanner(e),o=()=>r.index(),s=()=>createPosition(r.line(),r.column(),r.index()),c=s(),a=o(),i={currentType:14,offset:a,startLoc:c,endLoc:c,lastType:14,lastOffset:a,lastStartLoc:c,lastEndLoc:c,braceNest:0,inLinked:!1,text:""},u=()=>i,{onError:l}=t;function E(e,t,r){e.endLoc=s(),e.currentType=t;const o={type:t};return n&&(o.loc=createLocation(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const C=e=>E(e,14);function f(e,t){return e.currentChar()===t?(e.next(),t):(CompileErrorCodes.EXPECTED_TOKEN,s(),"")}function d(e){let t="";for(;e.currentPeek()===CHAR_SP||e.currentPeek()===CHAR_LF;)t+=e.currentPeek(),e.peek();return t}function p(e){const t=d(e);return e.skipToPeek(),t}function _(e){if(e===EOF)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function L(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=function(e){if(e===EOF)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function N(e){d(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function A(e,t=!0){const n=(t=!1,r="",o=!1)=>{const s=e.currentPeek();return"{"===s?"%"!==r&&t:"@"!==s&&s?"%"===s?(e.peek(),n(t,"%",!0)):"|"===s?!("%"!==r&&!o)||!(r===CHAR_SP||r===CHAR_LF):s===CHAR_SP?(e.peek(),n(!0,CHAR_SP,o)):s!==CHAR_LF||(e.peek(),n(!0,CHAR_LF,o)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function T(e,t){const n=e.currentChar();return n===EOF?EOF:t(n)?(e.next(),n):null}function m(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function k(e){return T(e,m)}function I(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function S(e){return T(e,I)}function P(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function h(e){return T(e,P)}function O(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function D(e){return T(e,O)}function y(e){let t="",n="";for(;t=h(e);)n+=t;return n}function R(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!A(e))break;t+=n,e.next()}else if(n===CHAR_SP||n===CHAR_LF)if(A(e))t+=n,e.next();else{if(N(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function g(e){return e!==LITERAL_DELIMITER&&e!==CHAR_LF}function U(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return b(e,t,4);case"U":return b(e,t,6);default:return CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,s(),""}}function b(e,t,n){f(e,t);let r="";for(let o=0;o<n;o++){const t=D(e);if(!t){CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),e.currentChar();break}r+=t}return`\\${t}${r}`}function x(e){return"{"!==e&&"}"!==e&&e!==CHAR_SP&&e!==CHAR_LF}function M(e){p(e);const t=f(e,"|");return p(e),t}function v(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,s()),e.next(),n=E(t,2,"{"),p(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(CompileErrorCodes.EMPTY_PLACEHOLDER,s()),e.next(),n=E(t,3,"}"),t.braceNest--,t.braceNest>0&&p(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),n=H(e,t)||C(t),t.braceNest=0,n;default:{let r=!0,o=!0,c=!0;if(N(e))return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),n=E(t,1,M(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s(),t.braceNest=0,X(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=_(e.currentPeek());return e.resetPeek(),r}(e,t))return n=E(t,5,function(e){p(e);let t="",n="";for(;t=S(e);)n+=t;return e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),n}(e)),p(e),n;if(o=L(e,t))return n=E(t,6,function(e){p(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${y(e)}`):t+=y(e),e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),t}(e)),p(e),n;if(c=function(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=e.currentPeek()===LITERAL_DELIMITER;return e.resetPeek(),r}(e,t))return n=E(t,7,function(e){p(e),f(e,"'");let t="",n="";for(;t=T(e,g);)n+="\\"===t?U(e):t;const r=e.currentChar();return r===CHAR_LF||r===EOF?(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),r===CHAR_LF&&(e.next(),f(e,"'")),n):(f(e,"'"),n)}(e)),p(e),n;if(!r&&!o&&!c)return n=E(t,13,function(e){p(e);let t="",n="";for(;t=T(e,x);)n+=t;return n}(e)),CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,s(),n.value,p(e),n;break}}return n}function H(e,t){const{currentType:n}=t;let r=null;const o=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||o!==CHAR_LF&&o!==CHAR_SP||(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),o){case"@":return e.next(),r=E(t,8,"@"),t.inLinked=!0,r;case".":return p(e),e.next(),E(t,9,".");case":":return p(e),e.next(),E(t,10,":");default:return N(e)?(r=E(t,1,M(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;d(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(8!==n&&12!==n)return!1;d(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(p(e),H(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;d(e);const r=_(e.currentPeek());return e.resetPeek(),r}(e,t)?(p(e),E(t,12,function(e){let t="",n="";for(;t=k(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(10!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?_(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===CHAR_SP||!t)&&(t===CHAR_LF?(e.peek(),r()):A(e,!1))},o=r();return e.resetPeek(),o}(e,t)?(p(e),"{"===o?v(e,t)||r:E(t,11,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"%"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===CHAR_SP?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(8===n&&(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),t.braceNest=0,t.inLinked=!1,X(e,t))}}function X(e,t){let n={type:14};if(t.braceNest>0)return v(e,t)||C(t);if(t.inLinked)return H(e,t)||C(t);switch(e.currentChar()){case"{":return v(e,t)||C(t);case"}":return CompileErrorCodes.UNBALANCED_CLOSING_BRACE,s(),e.next(),E(t,3,"}");case"@":return H(e,t)||C(t);default:{if(N(e))return n=E(t,1,M(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:o}=function(e){const t=d(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return o?E(t,0,R(e)):E(t,4,function(e){p(e);const t=e.currentChar();return"%"!==t&&(CompileErrorCodes.EXPECTED_TOKEN,s()),e.next(),"%"}(e));if(A(e))return E(t,0,R(e));break}}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:c}=i;return i.lastType=e,i.lastOffset=t,i.lastStartLoc=n,i.lastEndLoc=c,i.offset=o(),i.startLoc=s(),r.currentChar()===EOF?E(i,14):X(r,i)},currentOffset:o,currentPosition:s,context:u}}const ERROR_DOMAIN="parser",KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function createParser(e={}){const t=!1!==e.location,{onError:n,onWarn:r}=e;function o(e,n,r){const o={type:e};return t&&(o.start=n,o.end=n,o.loc={start:r,end:r}),o}function s(e,n,r,o){o&&(e.type=o),t&&(e.end=n,e.loc&&(e.loc.end=r))}function c(e,t){const n=e.context(),r=o(3,n.offset,n.startLoc);return r.value=t,s(r,e.currentOffset(),e.currentPosition()),r}function a(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,a=o(5,r,c);return a.index=parseInt(t,10),e.nextToken(),s(a,e.currentOffset(),e.currentPosition()),a}function i(e,t,n){const r=e.context(),{lastOffset:c,lastStartLoc:a}=r,i=o(4,c,a);return i.key=t,!0===n&&(i.modulo=!0),e.nextToken(),s(i,e.currentOffset(),e.currentPosition()),i}function u(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,a=o(9,r,c);return a.value=t.replace(KNOWN_ESCAPES,fromEscapeSequence),e.nextToken(),s(a,e.currentOffset(),e.currentPosition()),a}function l(e){const t=e.context(),n=o(6,t.offset,t.startLoc);let r=e.nextToken();if(9===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:c}=n,a=o(8,r,c);return 12!==t.type?(CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,a.value="",s(a,r,c),{nextConsumeToken:t,node:a}):(null==t.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,getTokenCaption(t)),a.value=t.value||"",s(a,e.currentOffset(),e.currentPosition()),{node:a})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(10!==r.type&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.key=function(e,t){const n=e.context(),r=o(7,n.offset,n.startLoc);return r.value=t,s(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 5:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.key=i(e,r.value||"");break;case 6:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.key=a(e,r.value||"");break;case 7:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.key=u(e,r.value||"");break;default:{CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const c=e.context(),a=o(7,c.offset,c.startLoc);return a.value="",s(a,c.offset,c.startLoc),n.key=a,s(n,c.offset,c.startLoc),{nextConsumeToken:r,node:n}}}return s(n,e.currentOffset(),e.currentPosition()),{node:n}}function E(e){const t=e.context(),n=o(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let r=null,E=null;do{const o=r||e.nextToken();switch(r=null,o.type){case 0:null==o.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(o)),n.items.push(c(e,o.value||""));break;case 6:null==o.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(o)),n.items.push(a(e,o.value||""));break;case 4:E=!0;break;case 5:null==o.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(o)),n.items.push(i(e,o.value||"",!!E)),E&&(CompileWarnCodes.USE_MODULO_SYNTAX,t.lastStartLoc,getTokenCaption(o),E=null);break;case 7:null==o.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(o)),n.items.push(u(e,o.value||""));break;case 8:{const t=l(e);n.items.push(t.node),r=t.nextConsumeToken||null;break}}}while(14!==t.currentType&&1!==t.currentType);return s(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function C(e){const t=e.context(),{offset:n,startLoc:r}=t,c=E(e);return 14===t.currentType?c:function(e,t,n,r){const c=e.context();let a=0===r.items.length;const i=o(1,t,n);i.cases=[],i.cases.push(r);do{const t=E(e);a||(a=0===t.items.length),i.cases.push(t)}while(14!==c.currentType);return a&&CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,s(i,e.currentOffset(),e.currentPosition()),i}(e,n,r,c)}return{parse:function(n){const r=createTokenizer(n,assign({},e)),c=r.context(),a=o(0,c.offset,c.startLoc);return t&&a.loc&&(a.loc.source=n),a.body=C(r),e.onCacheKey&&(a.cacheKey=e.onCacheKey(n)),14!==c.currentType&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,c.lastStartLoc,n[c.offset]),s(a,r.currentOffset(),r.currentPosition()),a}}}function getTokenCaption(e){if(14===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function createTransformer(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}function traverseNodes(e,t){for(let n=0;n<e.length;n++)traverseNode(e[n],t)}function traverseNode(e,t){switch(e.type){case 1:traverseNodes(e.cases,t),t.helper("plural");break;case 2:traverseNodes(e.items,t);break;case 6:traverseNode(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function transform(e,t={}){const n=createTransformer(e);n.helper("normalize"),e.body&&traverseNode(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function optimize(e){const t=e.body;return 2===t.type?optimizeMessageNode(t):t.cases.forEach((e=>optimizeMessageNode(e))),e}function optimizeMessageNode(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=join(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function minify(e){switch(e.t=e.type,e.type){case 0:{const t=e;minify(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)minify(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)minify(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;minify(t.key),t.k=t.key,delete t.key,t.modifier&&(minify(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function createCodeGenerator(e,t){const{sourceMap:n,filename:r,breakLineCode:o,needIndent:s}=t,c=!1!==t.location,a={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:s,indentLevel:0};c&&e.loc&&(a.source=e.loc.source);function i(e,t){a.code+=e}function u(e,t=!0){const n=t?o:"";i(s?n+" ".repeat(e):n)}return{context:()=>a,push:i,indent:function(e=!0){const t=++a.indentLevel;e&&u(t)},deindent:function(e=!0){const t=--a.indentLevel;e&&u(t)},newline:function(){u(a.indentLevel)},helper:e=>`_${e}`,needIndent:()=>a.needIndent}}function generateLinkedNode(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),generateNode(e,t.key),t.modifier?(e.push(", "),generateNode(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function generateMessageNode(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const o=t.items.length;for(let s=0;s<o&&(generateNode(e,t.items[s]),s!==o-1);s++)e.push(", ");e.deindent(r()),e.push("])")}function generatePluralNode(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const o=t.cases.length;for(let n=0;n<o&&(generateNode(e,t.cases[n]),n!==o-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}function generateResource(e,t){t.body?generateNode(e,t.body):e.push("null")}function generateNode(e,t){const{helper:n}=e;switch(t.type){case 0:generateResource(e,t);break;case 1:generatePluralNode(e,t);break;case 2:generateMessageNode(e,t);break;case 6:generateLinkedNode(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}const generate=(e,t={})=>{const n=isString(t.mode)?t.mode:"normal",r=isString(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,s=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",c=t.needIndent?t.needIndent:"arrow"!==n,a=e.helpers||[],i=createCodeGenerator(e,{mode:n,filename:r,sourceMap:o,breakLineCode:s,needIndent:c});i.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(c),a.length>0&&(i.push(`const { ${join(a.map((e=>`${e}: _${e}`)),", ")} } = ctx`),i.newline()),i.push("return "),generateNode(i,e),i.deindent(c),i.push("}"),delete e.helpers;const{code:u,map:l}=i.context();return{ast:e,code:u,map:l?l.toJSON():void 0}};function baseCompile(e,t={}){const n=assign({},t),r=!!n.jit,o=!!n.minify,s=null==n.optimize||n.optimize,c=createParser(n).parse(e);return r?(s&&optimize(c),o&&minify(c),{ast:c,code:""}):(transform(c,n),generate(c,n))}export{CompileErrorCodes,CompileWarnCodes,ERROR_DOMAIN,LOCATION_STUB,baseCompile,createCompileError,createCompileWarn,createLocation,createParser,createPosition,defaultOnError,detectHtmlTag,errorMessages,warnMessages};
const LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function createPosition(e,t,n){return{line:e,column:t,offset:n}}function createLocation(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const assign=Object.assign,isString=e=>"string"==typeof e;function join(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const CompileErrorCodes={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},errorMessages={[CompileErrorCodes.EXPECTED_TOKEN]:"Expected token: '{0}'",[CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[CompileErrorCodes.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[CompileErrorCodes.EMPTY_PLACEHOLDER]:"Empty placeholder",[CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[CompileErrorCodes.INVALID_LINKED_FORMAT]:"Invalid linked format",[CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function createCompileError(e,t,n={}){const{domain:r,messages:o,args:c}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}function defaultOnError(e){throw e}const RE_HTML_TAG=/<\/?[\w\s="/.':;#-\/]+>/,detectHtmlTag=e=>RE_HTML_TAG.test(e),CHAR_SP=" ",CHAR_CR="\r",CHAR_LF="\n",CHAR_LS=String.fromCharCode(8232),CHAR_PS=String.fromCharCode(8233);function createScanner(e){const t=e;let n=0,r=1,o=1,c=0;const s=e=>t[e]===CHAR_CR&&t[e+1]===CHAR_LF,i=e=>t[e]===CHAR_PS,a=e=>t[e]===CHAR_LS,u=e=>s(e)||(e=>t[e]===CHAR_LF)(e)||i(e)||a(e),l=e=>s(e)||i(e)||a(e)?CHAR_LF:t[e];function E(){return c=0,u(n)&&(r++,o=0),s(n)&&n++,n++,o++,t[n]}return{index:()=>n,line:()=>r,column:()=>o,peekOffset:()=>c,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+c),next:E,peek:function(){return s(n+c)&&c++,c++,t[n+c]},reset:function(){n=0,r=1,o=1,c=0},resetPeek:function(e=0){c=e},skipToPeek:function(){const e=n+c;for(;e!==n;)E();c=0}}}const EOF=void 0,DOT=".",LITERAL_DELIMITER="'",ERROR_DOMAIN$1="tokenizer";function createTokenizer(e,t={}){const n=!1!==t.location,r=createScanner(e),o=()=>r.index(),c=()=>createPosition(r.line(),r.column(),r.index()),s=c(),i=o(),a={currentType:13,offset:i,startLoc:s,endLoc:s,lastType:13,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>a,{onError:l}=t;function E(e,t,r){e.endLoc=c(),e.currentType=t;const o={type:t};return n&&(o.loc=createLocation(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const C=e=>E(e,13);function f(e,t){return e.currentChar()===t?(e.next(),t):(CompileErrorCodes.EXPECTED_TOKEN,c(),"")}function d(e){let t="";for(;e.currentPeek()===CHAR_SP||e.currentPeek()===CHAR_LF;)t+=e.currentPeek(),e.peek();return t}function p(e){const t=d(e);return e.skipToPeek(),t}function L(e){if(e===EOF)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function _(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=function(e){if(e===EOF)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function N(e){d(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function A(e,t=!0){const n=(t=!1,r="")=>{const o=e.currentPeek();return"{"===o?t:"@"!==o&&o?"|"===o?!(r===CHAR_SP||r===CHAR_LF):o===CHAR_SP?(e.peek(),n(!0,CHAR_SP)):o!==CHAR_LF||(e.peek(),n(!0,CHAR_LF)):t},r=n();return t&&e.resetPeek(),r}function T(e,t){const n=e.currentChar();return n===EOF?EOF:t(n)?(e.next(),n):null}function m(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function k(e){return T(e,m)}function I(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function S(e){return T(e,I)}function P(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function h(e){return T(e,P)}function O(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function y(e){return T(e,O)}function R(e){let t="",n="";for(;t=h(e);)n+=t;return n}function D(e){return e!==LITERAL_DELIMITER&&e!==CHAR_LF}function g(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return b(e,t,4);case"U":return b(e,t,6);default:return CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,c(),""}}function b(e,t,n){f(e,t);let r="";for(let o=0;o<n;o++){const t=y(e);if(!t){CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,c(),e.currentChar();break}r+=t}return`\\${t}${r}`}function U(e){return"{"!==e&&"}"!==e&&e!==CHAR_SP&&e!==CHAR_LF}function x(e){p(e);const t=f(e,"|");return p(e),t}function v(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,c()),e.next(),n=E(t,2,"{"),p(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(CompileErrorCodes.EMPTY_PLACEHOLDER,c()),e.next(),n=E(t,3,"}"),t.braceNest--,t.braceNest>0&&p(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,c()),n=H(e,t)||C(t),t.braceNest=0,n;default:{let r=!0,o=!0,s=!0;if(N(e))return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,c()),n=E(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(4===t.currentType||5===t.currentType||6===t.currentType))return CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,c(),t.braceNest=0,M(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=L(e.currentPeek());return e.resetPeek(),r}(e,t))return n=E(t,4,function(e){p(e);let t="",n="";for(;t=S(e);)n+=t;return e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,c()),n}(e)),p(e),n;if(o=_(e,t))return n=E(t,5,function(e){p(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${R(e)}`):t+=R(e),e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,c()),t}(e)),p(e),n;if(s=function(e,t){const{currentType:n}=t;if(2!==n)return!1;d(e);const r=e.currentPeek()===LITERAL_DELIMITER;return e.resetPeek(),r}(e,t))return n=E(t,6,function(e){p(e),f(e,"'");let t="",n="";for(;t=T(e,D);)n+="\\"===t?g(e):t;const r=e.currentChar();return r===CHAR_LF||r===EOF?(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,c(),r===CHAR_LF&&(e.next(),f(e,"'")),n):(f(e,"'"),n)}(e)),p(e),n;if(!r&&!o&&!s)return n=E(t,12,function(e){p(e);let t="",n="";for(;t=T(e,U);)n+=t;return n}(e)),CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,c(),n.value,p(e),n;break}}return n}function H(e,t){const{currentType:n}=t;let r=null;const o=e.currentChar();switch(7!==n&&8!==n&&11!==n&&9!==n||o!==CHAR_LF&&o!==CHAR_SP||(CompileErrorCodes.INVALID_LINKED_FORMAT,c()),o){case"@":return e.next(),r=E(t,7,"@"),t.inLinked=!0,r;case".":return p(e),e.next(),E(t,8,".");case":":return p(e),e.next(),E(t,9,":");default:return N(e)?(r=E(t,1,x(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(7!==n)return!1;d(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(7!==n&&11!==n)return!1;d(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(p(e),H(e,t)):function(e,t){const{currentType:n}=t;if(8!==n)return!1;d(e);const r=L(e.currentPeek());return e.resetPeek(),r}(e,t)?(p(e),E(t,11,function(e){let t="",n="";for(;t=k(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(9!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?L(e.peek()):!("@"===t||"|"===t||":"===t||"."===t||t===CHAR_SP||!t)&&(t===CHAR_LF?(e.peek(),r()):A(e,!1))},o=r();return e.resetPeek(),o}(e,t)?(p(e),"{"===o?v(e,t)||r:E(t,10,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===CHAR_SP?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(7===n&&(CompileErrorCodes.INVALID_LINKED_FORMAT,c()),t.braceNest=0,t.inLinked=!1,M(e,t))}}function M(e,t){let n={type:13};if(t.braceNest>0)return v(e,t)||C(t);if(t.inLinked)return H(e,t)||C(t);switch(e.currentChar()){case"{":return v(e,t)||C(t);case"}":return CompileErrorCodes.UNBALANCED_CLOSING_BRACE,c(),e.next(),E(t,3,"}");case"@":return H(e,t)||C(t);default:if(N(e))return n=E(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;if(A(e))return E(t,0,function(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if(n===CHAR_SP||n===CHAR_LF)if(A(e))t+=n,e.next();else{if(N(e))break;t+=n,e.next()}else t+=n,e.next()}return t}(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:s}=a;return a.lastType=e,a.lastOffset=t,a.lastStartLoc=n,a.lastEndLoc=s,a.offset=o(),a.startLoc=c(),r.currentChar()===EOF?E(a,13):M(r,a)},currentOffset:o,currentPosition:c,context:u}}const ERROR_DOMAIN="parser",KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function createParser(e={}){const t=!1!==e.location,{onError:n}=e;function r(e,n,r){const o={type:e};return t&&(o.start=n,o.end=n,o.loc={start:r,end:r}),o}function o(e,n,r,o){o&&(e.type=o),t&&(e.end=n,e.loc&&(e.loc.end=r))}function c(e,t){const n=e.context(),c=r(3,n.offset,n.startLoc);return c.value=t,o(c,e.currentOffset(),e.currentPosition()),c}function s(e,t){const n=e.context(),{lastOffset:c,lastStartLoc:s}=n,i=r(5,c,s);return i.index=parseInt(t,10),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function i(e,t){const n=e.context(),{lastOffset:c,lastStartLoc:s}=n,i=r(4,c,s);return i.key=t,e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function a(e,t){const n=e.context(),{lastOffset:c,lastStartLoc:s}=n,i=r(9,c,s);return i.value=t.replace(KNOWN_ESCAPES,fromEscapeSequence),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function u(e){const t=e.context(),n=r(6,t.offset,t.startLoc);let c=e.nextToken();if(8===c.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:c,lastStartLoc:s}=n,i=r(8,c,s);return 11!==t.type?(CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,i.value="",o(i,c,s),{nextConsumeToken:t,node:i}):(null==t.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,getTokenCaption(t)),i.value=t.value||"",o(i,e.currentOffset(),e.currentPosition()),{node:i})}(e);n.modifier=t.node,c=t.nextConsumeToken||e.nextToken()}switch(9!==c.type&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(c)),c=e.nextToken(),2===c.type&&(c=e.nextToken()),c.type){case 10:null==c.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(c)),n.key=function(e,t){const n=e.context(),c=r(7,n.offset,n.startLoc);return c.value=t,o(c,e.currentOffset(),e.currentPosition()),c}(e,c.value||"");break;case 4:null==c.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(c)),n.key=i(e,c.value||"");break;case 5:null==c.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(c)),n.key=s(e,c.value||"");break;case 6:null==c.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(c)),n.key=a(e,c.value||"");break;default:{CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const s=e.context(),i=r(7,s.offset,s.startLoc);return i.value="",o(i,s.offset,s.startLoc),n.key=i,o(n,s.offset,s.startLoc),{nextConsumeToken:c,node:n}}}return o(n,e.currentOffset(),e.currentPosition()),{node:n}}function l(e){const t=e.context(),n=r(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let l=null;do{const r=l||e.nextToken();switch(l=null,r.type){case 0:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.items.push(c(e,r.value||""));break;case 5:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.items.push(s(e,r.value||""));break;case 4:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.items.push(i(e,r.value||""));break;case 6:null==r.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(r)),n.items.push(a(e,r.value||""));break;case 7:{const t=u(e);n.items.push(t.node),l=t.nextConsumeToken||null;break}}}while(13!==t.currentType&&1!==t.currentType);return o(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function E(e){const t=e.context(),{offset:n,startLoc:c}=t,s=l(e);return 13===t.currentType?s:function(e,t,n,c){const s=e.context();let i=0===c.items.length;const a=r(1,t,n);a.cases=[],a.cases.push(c);do{const t=l(e);i||(i=0===t.items.length),a.cases.push(t)}while(13!==s.currentType);return i&&CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,o(a,e.currentOffset(),e.currentPosition()),a}(e,n,c,s)}return{parse:function(n){const c=createTokenizer(n,assign({},e)),s=c.context(),i=r(0,s.offset,s.startLoc);return t&&i.loc&&(i.loc.source=n),i.body=E(c),e.onCacheKey&&(i.cacheKey=e.onCacheKey(n)),13!==s.currentType&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,n[s.offset]),o(i,c.currentOffset(),c.currentPosition()),i}}}function getTokenCaption(e){if(13===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function createTransformer(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}function traverseNodes(e,t){for(let n=0;n<e.length;n++)traverseNode(e[n],t)}function traverseNode(e,t){switch(e.type){case 1:traverseNodes(e.cases,t),t.helper("plural");break;case 2:traverseNodes(e.items,t);break;case 6:traverseNode(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function transform(e,t={}){const n=createTransformer(e);n.helper("normalize"),e.body&&traverseNode(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function optimize(e){const t=e.body;return 2===t.type?optimizeMessageNode(t):t.cases.forEach((e=>optimizeMessageNode(e))),e}function optimizeMessageNode(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=join(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function minify(e){switch(e.t=e.type,e.type){case 0:{const t=e;minify(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)minify(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)minify(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;minify(t.key),t.k=t.key,delete t.key,t.modifier&&(minify(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function createCodeGenerator(e,t){const{sourceMap:n,filename:r,breakLineCode:o,needIndent:c}=t,s=!1!==t.location,i={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:c,indentLevel:0};s&&e.loc&&(i.source=e.loc.source);function a(e,t){i.code+=e}function u(e,t=!0){const n=t?o:"";a(c?n+" ".repeat(e):n)}return{context:()=>i,push:a,indent:function(e=!0){const t=++i.indentLevel;e&&u(t)},deindent:function(e=!0){const t=--i.indentLevel;e&&u(t)},newline:function(){u(i.indentLevel)},helper:e=>`_${e}`,needIndent:()=>i.needIndent}}function generateLinkedNode(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),generateNode(e,t.key),t.modifier?(e.push(", "),generateNode(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function generateMessageNode(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const o=t.items.length;for(let c=0;c<o&&(generateNode(e,t.items[c]),c!==o-1);c++)e.push(", ");e.deindent(r()),e.push("])")}function generatePluralNode(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const o=t.cases.length;for(let n=0;n<o&&(generateNode(e,t.cases[n]),n!==o-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}function generateResource(e,t){t.body?generateNode(e,t.body):e.push("null")}function generateNode(e,t){const{helper:n}=e;switch(t.type){case 0:generateResource(e,t);break;case 1:generatePluralNode(e,t);break;case 2:generateMessageNode(e,t);break;case 6:generateLinkedNode(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}const generate=(e,t={})=>{const n=isString(t.mode)?t.mode:"normal",r=isString(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,c=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",s=t.needIndent?t.needIndent:"arrow"!==n,i=e.helpers||[],a=createCodeGenerator(e,{mode:n,filename:r,sourceMap:o,breakLineCode:c,needIndent:s});a.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(s),i.length>0&&(a.push(`const { ${join(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),a.newline()),a.push("return "),generateNode(a,e),a.deindent(s),a.push("}"),delete e.helpers;const{code:u,map:l}=a.context();return{ast:e,code:u,map:l?l.toJSON():void 0}};function baseCompile(e,t={}){const n=assign({},t),r=!!n.jit,o=!!n.minify,c=null==n.optimize||n.optimize,s=createParser(n).parse(e);return r?(c&&optimize(s),o&&minify(s),{ast:s,code:""}):(transform(s,n),generate(s,n))}export{CompileErrorCodes,ERROR_DOMAIN,LOCATION_STUB,baseCompile,createCompileError,createLocation,createParser,createPosition,defaultOnError,detectHtmlTag,errorMessages};
/*!
* message-compiler v9.13.1
* message-compiler v10.0.0-alpha.1
* (c) 2024 kazuya kawaguchi

@@ -49,19 +49,2 @@ * Released under the MIT License.

const CompileWarnCodes = {
USE_MODULO_SYNTAX: 1,
__EXTEND_POINT__: 2
};
/** @internal */
const warnMessages = {
[CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`
};
function createCompileWarn(code, loc, ...args) {
const msg = format(warnMessages[code] || '', ...(args || [])) ;
const message = { message: String(msg), code };
if (loc) {
message.location = loc;
}
return message;
}
const CompileErrorCodes = {

@@ -191,3 +174,2 @@ // tokenizer error codes

const target = _index + _peekOffset;
// eslint-disable-next-line no-unmodified-loop-condition
while (target !== _index) {

@@ -226,7 +208,7 @@ next();

const _context = {
currentType: 14 /* TokenTypes.EOF */,
currentType: 13 /* TokenTypes.EOF */,
offset: _initOffset,
startLoc: _initLoc,
endLoc: _initLoc,
lastType: 14 /* TokenTypes.EOF */,
lastType: 13 /* TokenTypes.EOF */,
lastOffset: _initOffset,

@@ -266,3 +248,3 @@ lastStartLoc: _initLoc,

}
const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);
function eat(scnr, ch) {

@@ -341,3 +323,3 @@ if (scnr.currentChar() === ch) {

const { currentType } = context;
if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
if (currentType !== 7 /* TokenTypes.LinkedAlias */) {
return false;

@@ -352,3 +334,3 @@ }

const { currentType } = context;
if (currentType !== 9 /* TokenTypes.LinkedDot */) {
if (currentType !== 8 /* TokenTypes.LinkedDot */) {
return false;

@@ -363,4 +345,4 @@ }

const { currentType } = context;
if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
currentType === 12 /* TokenTypes.LinkedModifier */)) {
if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||
currentType === 11 /* TokenTypes.LinkedModifier */)) {
return false;

@@ -375,3 +357,3 @@ }

const { currentType } = context;
if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {
return false;

@@ -385,3 +367,2 @@ }

else if (ch === "@" /* TokenChars.LinkedAlias */ ||
ch === "%" /* TokenChars.Modulo */ ||
ch === "|" /* TokenChars.Pipe */ ||

@@ -413,37 +394,21 @@ ch === ":" /* TokenChars.LinkedDelimiter */ ||

}
function detectModuloStart(scnr) {
const spaces = peekSpaces(scnr);
const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
scnr.peek() === "{" /* TokenChars.BraceLeft */;
scnr.resetPeek();
return {
isModulo: ret,
hasSpace: spaces.length > 0
};
}
function isTextStart(scnr, reset = true) {
const fn = (hasSpace = false, prev = '', detectModulo = false) => {
const fn = (hasSpace = false, prev = '') => {
const ch = scnr.currentPeek();
if (ch === "{" /* TokenChars.BraceLeft */) {
return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
return hasSpace;
}
else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
return hasSpace;
}
else if (ch === "%" /* TokenChars.Modulo */) {
scnr.peek();
return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
}
else if (ch === "|" /* TokenChars.Pipe */) {
return prev === "%" /* TokenChars.Modulo */ || detectModulo
? true
: !(prev === CHAR_SP || prev === CHAR_LF);
return !(prev === CHAR_SP || prev === CHAR_LF);
}
else if (ch === CHAR_SP) {
scnr.peek();
return fn(true, CHAR_SP, detectModulo);
return fn(true, CHAR_SP);
}
else if (ch === CHAR_LF) {
scnr.peek();
return fn(true, CHAR_LF, detectModulo);
return fn(true, CHAR_LF);
}

@@ -518,14 +483,4 @@ else {

}
function readModulo(scnr) {
skipSpaces(scnr);
const ch = scnr.currentChar();
if (ch !== "%" /* TokenChars.Modulo */) {
emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
}
scnr.next();
return "%" /* TokenChars.Modulo */;
}
function readText(scnr) {
let buf = '';
// eslint-disable-next-line no-constant-condition
while (true) {

@@ -540,11 +495,2 @@ const ch = scnr.currentChar();

}
else if (ch === "%" /* TokenChars.Modulo */) {
if (isTextStart(scnr)) {
buf += ch;
scnr.next();
}
else {
break;
}
}
else if (ch === CHAR_SP || ch === CHAR_LF) {

@@ -685,3 +631,2 @@ if (isTextStart(scnr)) {

if (ch === "{" /* TokenChars.BraceLeft */ ||
ch === "%" /* TokenChars.Modulo */ ||
ch === "@" /* TokenChars.LinkedAlias */ ||

@@ -765,5 +710,5 @@ ch === "|" /* TokenChars.Pipe */ ||

if (context.braceNest > 0 &&
(context.currentType === 5 /* TokenTypes.Named */ ||
context.currentType === 6 /* TokenTypes.List */ ||
context.currentType === 7 /* TokenTypes.Literal */)) {
(context.currentType === 4 /* TokenTypes.Named */ ||
context.currentType === 5 /* TokenTypes.List */ ||
context.currentType === 6 /* TokenTypes.Literal */)) {
emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);

@@ -774,3 +719,3 @@ context.braceNest = 0;

if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));
skipSpaces(scnr);

@@ -780,3 +725,3 @@ return token;

if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));
skipSpaces(scnr);

@@ -786,3 +731,3 @@ return token;

if ((validLiteral = isLiteralStart(scnr, context))) {
token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));
skipSpaces(scnr);

@@ -793,3 +738,3 @@ return token;

// TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);

@@ -809,6 +754,6 @@ skipSpaces(scnr);

const ch = scnr.currentChar();
if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
currentType === 9 /* TokenTypes.LinkedDot */ ||
currentType === 12 /* TokenTypes.LinkedModifier */ ||
currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||
currentType === 8 /* TokenTypes.LinkedDot */ ||
currentType === 11 /* TokenTypes.LinkedModifier */ ||
currentType === 9 /* TokenTypes.LinkedDelimiter */) &&
(ch === CHAR_LF || ch === CHAR_SP)) {

@@ -820,3 +765,3 @@ emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);

scnr.next();
token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
token = getToken(context, 7 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
context.inLinked = true;

@@ -827,7 +772,7 @@ return token;

scnr.next();
return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
return getToken(context, 8 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
case ":" /* TokenChars.LinkedDelimiter */:
skipSpaces(scnr);
scnr.next();
return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
default:

@@ -848,3 +793,3 @@ if (isPluralStart(scnr)) {

skipSpaces(scnr);
return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
}

@@ -858,6 +803,6 @@ if (isLinkedReferStart(scnr, context)) {

else {
return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
}
}
if (currentType === 8 /* TokenTypes.LinkedAlias */) {
if (currentType === 7 /* TokenTypes.LinkedAlias */) {
emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);

@@ -872,3 +817,3 @@ }

function readToken(scnr, context) {
let token = { type: 14 /* TokenTypes.EOF */ };
let token = { type: 13 /* TokenTypes.EOF */ };
if (context.braceNest > 0) {

@@ -898,8 +843,2 @@ return readTokenInPlaceholder(scnr, context) || getEndToken(context);

}
const { isModulo, hasSpace } = detectModuloStart(scnr);
if (isModulo) {
return hasSpace
? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
: getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
}
if (isTextStart(scnr)) {

@@ -922,3 +861,3 @@ return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));

if (_scnr.currentChar() === EOF) {
return getToken(_context, 14 /* TokenTypes.EOF */);
return getToken(_context, 13 /* TokenTypes.EOF */);
}

@@ -959,3 +898,3 @@ return readToken(_scnr, _context);

const location = options.location !== false;
const { onError, onWarn } = options;
const { onError } = options;
function emitError(tokenzer, code, start, offset, ...args) {

@@ -974,11 +913,2 @@ const end = tokenzer.currentPosition();

}
function emitWarn(tokenzer, code, start, offset, ...args) {
const end = tokenzer.currentPosition();
end.offset += offset;
end.column += offset;
if (onWarn) {
const loc = location ? createLocation(start, end) : null;
onWarn(createCompileWarn(code, loc, args));
}
}
function startNode(type, offset, loc) {

@@ -1020,3 +950,3 @@ const node = { type };

}
function parseNamed(tokenizer, key, modulo) {
function parseNamed(tokenizer, key) {
const context = tokenizer.context();

@@ -1026,5 +956,2 @@ const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc

node.key = key;
if (modulo === true) {
node.modulo = true;
}
tokenizer.nextToken(); // skip brach right

@@ -1048,3 +975,3 @@ endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());

const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
if (token.type !== 11 /* TokenTypes.LinkedModifier */) {
// empty modifier

@@ -1080,3 +1007,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);

let token = tokenizer.nextToken();
if (token.type === 9 /* TokenTypes.LinkedDot */) {
if (token.type === 8 /* TokenTypes.LinkedDot */) {
const parsed = parseLinkedModifier(tokenizer);

@@ -1087,3 +1014,3 @@ linkedNode.modifier = parsed.node;

// asset check token
if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

@@ -1097,3 +1024,3 @@ }

switch (token.type) {
case 11 /* TokenTypes.LinkedKey */:
case 10 /* TokenTypes.LinkedKey */:
if (token.value == null) {

@@ -1104,3 +1031,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 5 /* TokenTypes.Named */:
case 4 /* TokenTypes.Named */:
if (token.value == null) {

@@ -1111,3 +1038,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 6 /* TokenTypes.List */:
case 5 /* TokenTypes.List */:
if (token.value == null) {

@@ -1118,3 +1045,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 7 /* TokenTypes.Literal */:
case 6 /* TokenTypes.Literal */:
if (token.value == null) {

@@ -1156,3 +1083,2 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

let nextToken = null;
let modulo = null;
do {

@@ -1168,3 +1094,3 @@ const token = nextToken || tokenizer.nextToken();

break;
case 6 /* TokenTypes.List */:
case 5 /* TokenTypes.List */:
if (token.value == null) {

@@ -1175,16 +1101,9 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 4 /* TokenTypes.Modulo */:
modulo = true;
break;
case 5 /* TokenTypes.Named */:
case 4 /* TokenTypes.Named */:
if (token.value == null) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
}
node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));
if (modulo) {
emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));
modulo = null;
}
node.items.push(parseNamed(tokenizer, token.value || ''));
break;
case 7 /* TokenTypes.Literal */:
case 6 /* TokenTypes.Literal */:
if (token.value == null) {

@@ -1195,3 +1114,3 @@ emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));

break;
case 8 /* TokenTypes.LinkedAlias */: {
case 7 /* TokenTypes.LinkedAlias */: {
const parsed = parseLinked(tokenizer);

@@ -1203,3 +1122,3 @@ node.items.push(parsed.node);

}
} while (context.currentType !== 14 /* TokenTypes.EOF */ &&
} while (context.currentType !== 13 /* TokenTypes.EOF */ &&
context.currentType !== 1 /* TokenTypes.Pipe */);

@@ -1228,3 +1147,3 @@ // adjust message node loc

node.cases.push(msg);
} while (context.currentType !== 14 /* TokenTypes.EOF */);
} while (context.currentType !== 13 /* TokenTypes.EOF */);
if (hasEmptyMessage) {

@@ -1240,3 +1159,3 @@ emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);

const msgNode = parseMessage(tokenizer);
if (context.currentType === 14 /* TokenTypes.EOF */) {
if (context.currentType === 13 /* TokenTypes.EOF */) {
return msgNode;

@@ -1260,3 +1179,3 @@ }

// assert whether achieved to EOF
if (context.currentType !== 14 /* TokenTypes.EOF */) {
if (context.currentType !== 13 /* TokenTypes.EOF */) {
emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');

@@ -1270,3 +1189,3 @@ }

function getTokenCaption(token) {
if (token.type === 14 /* TokenTypes.EOF */) {
if (token.type === 13 /* TokenTypes.EOF */) {
return 'EOF';

@@ -1609,4 +1528,3 @@ }

// generate code from AST
const generate = (ast, options = {} // eslint-disable-line
) => {
const generate = (ast, options = {}) => {
const mode = isString(options.mode) ? options.mode : 'normal';

@@ -1676,3 +1594,2 @@ const filename = isString(options.filename)

exports.CompileErrorCodes = CompileErrorCodes;
exports.CompileWarnCodes = CompileWarnCodes;
exports.ERROR_DOMAIN = ERROR_DOMAIN$2;

@@ -1682,3 +1599,2 @@ exports.LOCATION_STUB = LOCATION_STUB;

exports.createCompileError = createCompileError;
exports.createCompileWarn = createCompileWarn;
exports.createLocation = createLocation;

@@ -1690,3 +1606,2 @@ exports.createParser = createParser;

exports.errorMessages = errorMessages;
exports.warnMessages = warnMessages;

@@ -1693,0 +1608,0 @@ return exports;

/*!
* message-compiler v9.13.1
* message-compiler v10.0.0-alpha.1
* (c) 2024 kazuya kawaguchi
* Released under the MIT License.
*/
var IntlifyMessageCompiler=function(e){"use strict";function t(e,t,n){return{line:e,column:t,offset:n}}function n(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const r=Object.assign,c=e=>"string"==typeof e;function o(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const s={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},u={[s.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function a(e,t,...n){const r={message:String(e),code:e};return t&&(r.location=t),r}const i={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},l={[i.EXPECTED_TOKEN]:"Expected token: '{0}'",[i.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[i.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[i.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[i.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[i.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[i.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[i.EMPTY_PLACEHOLDER]:"Empty placeholder",[i.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[i.INVALID_LINKED_FORMAT]:"Invalid linked format",[i.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[i.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[i.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[i.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[i.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[i.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function E(e,t,n={}){const{domain:r,messages:c,args:o}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}const f=/<\/?[\w\s="/.':;#-\/]+>/,d=" ",L="\r",N="\n",_=String.fromCharCode(8232),p=String.fromCharCode(8233);function C(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>t[e]===L&&t[e+1]===N,u=e=>t[e]===p,a=e=>t[e]===_,i=e=>s(e)||(e=>t[e]===N)(e)||u(e)||a(e),l=e=>s(e)||u(e)||a(e)?N:t[e];function E(){return o=0,i(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+o),next:E,peek:function(){return s(n+o)&&o++,o++,t[n+o]},reset:function(){n=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=n+o;for(;e!==n;)E();o=0}}}const T=void 0,k="'";function A(e,r={}){const c=!1!==r.location,o=C(e),s=()=>o.index(),u=()=>t(o.line(),o.column(),o.index()),a=u(),l=s(),E={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},f=()=>E,{onError:L}=r;function _(e,t,r){e.endLoc=u(),e.currentType=t;const o={type:t};return c&&(o.loc=n(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const p=e=>_(e,14);function A(e,t){return e.currentChar()===t?(e.next(),t):(i.EXPECTED_TOKEN,u(),"")}function I(e){let t="";for(;e.currentPeek()===d||e.currentPeek()===N;)t+=e.currentPeek(),e.peek();return t}function h(e){const t=I(e);return e.skipToPeek(),t}function S(e){if(e===T)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function P(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=function(e){if(e===T)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function O(e){I(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function D(e,t=!0){const n=(t=!1,r="",c=!1)=>{const o=e.currentPeek();return"{"===o?"%"!==r&&t:"@"!==o&&o?"%"===o?(e.peek(),n(t,"%",!0)):"|"===o?!("%"!==r&&!c)||!(r===d||r===N):o===d?(e.peek(),n(!0,d,c)):o!==N||(e.peek(),n(!0,N,c)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function y(e,t){const n=e.currentChar();return n===T?T:t(n)?(e.next(),n):null}function m(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function U(e){return y(e,m)}function b(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function x(e){return y(e,b)}function v(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function R(e){return y(e,v)}function M(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function g(e){return y(e,M)}function X(e){let t="",n="";for(;t=R(e);)n+=t;return n}function Y(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!D(e))break;t+=n,e.next()}else if(n===d||n===N)if(D(e))t+=n,e.next();else{if(O(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function K(e){return e!==k&&e!==N}function w(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return H(e,t,4);case"U":return H(e,t,6);default:return i.UNKNOWN_ESCAPE_SEQUENCE,u(),""}}function H(e,t,n){A(e,t);let r="";for(let c=0;c<n;c++){const t=g(e);if(!t){i.INVALID_UNICODE_ESCAPE_SEQUENCE,u(),e.currentChar();break}r+=t}return`\\${t}${r}`}function G(e){return"{"!==e&&"}"!==e&&e!==d&&e!==N}function $(e){h(e);const t=A(e,"|");return h(e),t}function B(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(i.NOT_ALLOW_NEST_PLACEHOLDER,u()),e.next(),n=_(t,2,"{"),h(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(i.EMPTY_PLACEHOLDER,u()),e.next(),n=_(t,3,"}"),t.braceNest--,t.braceNest>0&&h(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=V(e,t)||p(t),t.braceNest=0,n;default:{let r=!0,c=!0,o=!0;if(O(e))return t.braceNest>0&&(i.UNTERMINATED_CLOSING_BRACE,u()),n=_(t,1,$(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return i.UNTERMINATED_CLOSING_BRACE,u(),t.braceNest=0,F(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=S(e.currentPeek());return e.resetPeek(),r}(e,t))return n=_(t,5,function(e){h(e);let t="",n="";for(;t=x(e);)n+=t;return e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),n}(e)),h(e),n;if(c=P(e,t))return n=_(t,6,function(e){h(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${X(e)}`):t+=X(e),e.currentChar()===T&&(i.UNTERMINATED_CLOSING_BRACE,u()),t}(e)),h(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=e.currentPeek()===k;return e.resetPeek(),r}(e,t))return n=_(t,7,function(e){h(e),A(e,"'");let t="",n="";for(;t=y(e,K);)n+="\\"===t?w(e):t;const r=e.currentChar();return r===N||r===T?(i.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,u(),r===N&&(e.next(),A(e,"'")),n):(A(e,"'"),n)}(e)),h(e),n;if(!r&&!c&&!o)return n=_(t,13,function(e){h(e);let t="",n="";for(;t=y(e,G);)n+=t;return n}(e)),i.INVALID_TOKEN_IN_PLACEHOLDER,u(),n.value,h(e),n;break}}return n}function V(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||c!==N&&c!==d||(i.INVALID_LINKED_FORMAT,u()),c){case"@":return e.next(),r=_(t,8,"@"),t.inLinked=!0,r;case".":return h(e),e.next(),_(t,9,".");case":":return h(e),e.next(),_(t,10,":");default:return O(e)?(r=_(t,1,$(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;I(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(8!==n&&12!==n)return!1;I(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(h(e),V(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;I(e);const r=S(e.currentPeek());return e.resetPeek(),r}(e,t)?(h(e),_(t,12,function(e){let t="",n="";for(;t=U(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(10!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?S(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===d||!t)&&(t===N?(e.peek(),r()):D(e,!1))},c=r();return e.resetPeek(),c}(e,t)?(h(e),"{"===c?B(e,t)||r:_(t,11,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"%"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===d?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(8===n&&(i.INVALID_LINKED_FORMAT,u()),t.braceNest=0,t.inLinked=!1,F(e,t))}}function F(e,t){let n={type:14};if(t.braceNest>0)return B(e,t)||p(t);if(t.inLinked)return V(e,t)||p(t);switch(e.currentChar()){case"{":return B(e,t)||p(t);case"}":return i.UNBALANCED_CLOSING_BRACE,u(),e.next(),_(t,3,"}");case"@":return V(e,t)||p(t);default:{if(O(e))return n=_(t,1,$(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:c}=function(e){const t=I(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return c?_(t,0,Y(e)):_(t,4,function(e){h(e);const t=e.currentChar();return"%"!==t&&(i.EXPECTED_TOKEN,u()),e.next(),"%"}(e));if(D(e))return _(t,0,Y(e));break}}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:r}=E;return E.lastType=e,E.lastOffset=t,E.lastStartLoc=n,E.lastEndLoc=r,E.offset=s(),E.startLoc=u(),o.currentChar()===T?_(E,14):F(o,E)},currentOffset:s,currentPosition:u,context:f}}const I="parser",h=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function S(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function P(e={}){const t=!1!==e.location,{onError:n,onWarn:c}=e;function o(e,n,r){const c={type:e};return t&&(c.start=n,c.end=n,c.loc={start:r,end:r}),c}function u(e,n,r,c){c&&(e.type=c),t&&(e.end=n,e.loc&&(e.loc.end=r))}function a(e,t){const n=e.context(),r=o(3,n.offset,n.startLoc);return r.value=t,u(r,e.currentOffset(),e.currentPosition()),r}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(5,r,c);return s.index=parseInt(t,10),e.nextToken(),u(s,e.currentOffset(),e.currentPosition()),s}function E(e,t,n){const r=e.context(),{lastOffset:c,lastStartLoc:s}=r,a=o(4,c,s);return a.key=t,!0===n&&(a.modulo=!0),e.nextToken(),u(a,e.currentOffset(),e.currentPosition()),a}function f(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(9,r,c);return s.value=t.replace(h,S),e.nextToken(),u(s,e.currentOffset(),e.currentPosition()),s}function d(e){const t=e.context(),n=o(6,t.offset,t.startLoc);let r=e.nextToken();if(9===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:c}=n,s=o(8,r,c);return 12!==t.type?(i.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,s.value="",u(s,r,c),{nextConsumeToken:t,node:s}):(null==t.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,O(t)),s.value=t.value||"",u(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(10!==r.type&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 11:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),n.key=function(e,t){const n=e.context(),r=o(7,n.offset,n.startLoc);return r.value=t,u(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 5:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),n.key=E(e,r.value||"");break;case 6:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),n.key=l(e,r.value||"");break;case 7:null==r.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(r)),n.key=f(e,r.value||"");break;default:{i.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const c=e.context(),s=o(7,c.offset,c.startLoc);return s.value="",u(s,c.offset,c.startLoc),n.key=s,u(n,c.offset,c.startLoc),{nextConsumeToken:r,node:n}}}return u(n,e.currentOffset(),e.currentPosition()),{node:n}}function L(e){const t=e.context(),n=o(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let r=null,c=null;do{const o=r||e.nextToken();switch(r=null,o.type){case 0:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(o)),n.items.push(a(e,o.value||""));break;case 6:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(o)),n.items.push(l(e,o.value||""));break;case 4:c=!0;break;case 5:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(o)),n.items.push(E(e,o.value||"",!!c)),c&&(s.USE_MODULO_SYNTAX,t.lastStartLoc,O(o),c=null);break;case 7:null==o.value&&(i.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,O(o)),n.items.push(f(e,o.value||""));break;case 8:{const t=d(e);n.items.push(t.node),r=t.nextConsumeToken||null;break}}}while(14!==t.currentType&&1!==t.currentType);return u(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function N(e){const t=e.context(),{offset:n,startLoc:r}=t,c=L(e);return 14===t.currentType?c:function(e,t,n,r){const c=e.context();let s=0===r.items.length;const a=o(1,t,n);a.cases=[],a.cases.push(r);do{const t=L(e);s||(s=0===t.items.length),a.cases.push(t)}while(14!==c.currentType);return s&&i.MUST_HAVE_MESSAGES_IN_PLURAL,u(a,e.currentOffset(),e.currentPosition()),a}(e,n,r,c)}return{parse:function(n){const c=A(n,r({},e)),s=c.context(),a=o(0,s.offset,s.startLoc);return t&&a.loc&&(a.loc.source=n),a.body=N(c),e.onCacheKey&&(a.cacheKey=e.onCacheKey(n)),14!==s.currentType&&(i.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,n[s.offset]),u(a,c.currentOffset(),c.currentPosition()),a}}}function O(e){if(14===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function D(e,t){for(let n=0;n<e.length;n++)y(e[n],t)}function y(e,t){switch(e.type){case 1:D(e.cases,t),t.helper("plural");break;case 2:D(e.items,t);break;case 6:y(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function m(e,t={}){const n=function(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&y(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function U(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=o(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function b(e){switch(e.t=e.type,e.type){case 0:{const t=e;b(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)b(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)b(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;b(t.key),t.k=t.key,delete t.key,t.modifier&&(b(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function x(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?x(e,t.body):e.push("null")}(e,t);break;case 1:!function(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const c=t.cases.length;for(let n=0;n<c&&(x(e,t.cases[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}(e,t);break;case 2:!function(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const c=t.items.length;for(let o=0;o<c&&(x(e,t.items[o]),o!==c-1);o++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),x(e,t.key),t.modifier?(e.push(", "),x(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}return e.CompileErrorCodes=i,e.CompileWarnCodes=s,e.ERROR_DOMAIN=I,e.LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,t={}){const n=r({},t),s=!!n.jit,u=!!n.minify,a=null==n.optimize||n.optimize,i=P(n).parse(e);return s?(a&&function(e){const t=e.body;2===t.type?U(t):t.cases.forEach((e=>U(e)))}(i),u&&b(i),{ast:i,code:""}):(m(i,n),((e,t={})=>{const n=c(t.mode)?t.mode:"normal",r=c(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,u=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==n,i=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s=!1!==t.location,u={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function a(e,t){u.code+=e}function i(e,t=!0){const n=t?c:"";a(o?n+" ".repeat(e):n)}return s&&e.loc&&(u.source=e.loc.source),{context:()=>u,push:a,indent:function(e=!0){const t=++u.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--u.indentLevel;e&&i(t)},newline:function(){i(u.indentLevel)},helper:e=>`_${e}`,needIndent:()=>u.needIndent}}(e,{mode:n,filename:r,sourceMap:s,breakLineCode:u,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),i.length>0&&(l.push(`const { ${o(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),x(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:E,map:f}=l.context();return{ast:e,code:E,map:f?f.toJSON():void 0}})(i,n))},e.createCompileError=E,e.createCompileWarn=a,e.createLocation=n,e.createParser=P,e.createPosition=t,e.defaultOnError=function(e){throw e},e.detectHtmlTag=e=>f.test(e),e.errorMessages=l,e.warnMessages=u,e}({});
var IntlifyMessageCompiler=function(e){"use strict";function t(e,t,n){return{line:e,column:t,offset:n}}function n(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const r=Object.assign,c=e=>"string"==typeof e;function o(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}const s={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},u={[s.EXPECTED_TOKEN]:"Expected token: '{0}'",[s.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[s.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[s.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[s.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[s.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[s.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[s.EMPTY_PLACEHOLDER]:"Empty placeholder",[s.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[s.INVALID_LINKED_FORMAT]:"Invalid linked format",[s.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[s.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[s.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[s.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[s.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[s.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function a(e,t,n={}){const{domain:r,messages:c,args:o}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}const i=/<\/?[\w\s="/.':;#-\/]+>/,l=" ",E="\r",f="\n",L=String.fromCharCode(8232),d=String.fromCharCode(8233);function N(e){const t=e;let n=0,r=1,c=1,o=0;const s=e=>t[e]===E&&t[e+1]===f,u=e=>t[e]===d,a=e=>t[e]===L,i=e=>s(e)||(e=>t[e]===f)(e)||u(e)||a(e),l=e=>s(e)||u(e)||a(e)?f:t[e];function N(){return o=0,i(n)&&(r++,c=0),s(n)&&n++,n++,c++,t[n]}return{index:()=>n,line:()=>r,column:()=>c,peekOffset:()=>o,charAt:l,currentChar:()=>l(n),currentPeek:()=>l(n+o),next:N,peek:function(){return s(n+o)&&o++,o++,t[n+o]},reset:function(){n=0,r=1,c=1,o=0},resetPeek:function(e=0){o=e},skipToPeek:function(){const e=n+o;for(;e!==n;)N();o=0}}}const _=void 0,p="'";function C(e,r={}){const c=!1!==r.location,o=N(e),u=()=>o.index(),a=()=>t(o.line(),o.column(),o.index()),i=a(),E=u(),L={currentType:13,offset:E,startLoc:i,endLoc:i,lastType:13,lastOffset:E,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},d=()=>L,{onError:C}=r;function A(e,t,r){e.endLoc=a(),e.currentType=t;const o={type:t};return c&&(o.loc=n(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const T=e=>A(e,13);function k(e,t){return e.currentChar()===t?(e.next(),t):(s.EXPECTED_TOKEN,a(),"")}function I(e){let t="";for(;e.currentPeek()===l||e.currentPeek()===f;)t+=e.currentPeek(),e.peek();return t}function h(e){const t=I(e);return e.skipToPeek(),t}function P(e){if(e===_)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function S(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=function(e){if(e===_)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function y(e){I(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function D(e,t=!0){const n=(t=!1,r="")=>{const c=e.currentPeek();return"{"===c?t:"@"!==c&&c?"|"===c?!(r===l||r===f):c===l?(e.peek(),n(!0,l)):c!==f||(e.peek(),n(!0,f)):t},r=n();return t&&e.resetPeek(),r}function O(e,t){const n=e.currentChar();return n===_?_:t(n)?(e.next(),n):null}function m(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function b(e){return O(e,m)}function U(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function x(e){return O(e,U)}function v(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function R(e){return O(e,v)}function M(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function g(e){return O(e,M)}function X(e){let t="",n="";for(;t=R(e);)n+=t;return n}function Y(e){return e!==p&&e!==f}function K(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return w(e,t,4);case"U":return w(e,t,6);default:return s.UNKNOWN_ESCAPE_SEQUENCE,a(),""}}function w(e,t,n){k(e,t);let r="";for(let c=0;c<n;c++){const t=g(e);if(!t){s.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),e.currentChar();break}r+=t}return`\\${t}${r}`}function H(e){return"{"!==e&&"}"!==e&&e!==l&&e!==f}function G(e){h(e);const t=k(e,"|");return h(e),t}function $(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(s.NOT_ALLOW_NEST_PLACEHOLDER,a()),e.next(),n=A(t,2,"{"),h(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(s.EMPTY_PLACEHOLDER,a()),e.next(),n=A(t,3,"}"),t.braceNest--,t.braceNest>0&&h(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(s.UNTERMINATED_CLOSING_BRACE,a()),n=B(e,t)||T(t),t.braceNest=0,n;default:{let r=!0,c=!0,o=!0;if(y(e))return t.braceNest>0&&(s.UNTERMINATED_CLOSING_BRACE,a()),n=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(4===t.currentType||5===t.currentType||6===t.currentType))return s.UNTERMINATED_CLOSING_BRACE,a(),t.braceNest=0,V(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t))return n=A(t,4,function(e){h(e);let t="",n="";for(;t=x(e);)n+=t;return e.currentChar()===_&&(s.UNTERMINATED_CLOSING_BRACE,a()),n}(e)),h(e),n;if(c=S(e,t))return n=A(t,5,function(e){h(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${X(e)}`):t+=X(e),e.currentChar()===_&&(s.UNTERMINATED_CLOSING_BRACE,a()),t}(e)),h(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;I(e);const r=e.currentPeek()===p;return e.resetPeek(),r}(e,t))return n=A(t,6,function(e){h(e),k(e,"'");let t="",n="";for(;t=O(e,Y);)n+="\\"===t?K(e):t;const r=e.currentChar();return r===f||r===_?(s.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),r===f&&(e.next(),k(e,"'")),n):(k(e,"'"),n)}(e)),h(e),n;if(!r&&!c&&!o)return n=A(t,12,function(e){h(e);let t="",n="";for(;t=O(e,H);)n+=t;return n}(e)),s.INVALID_TOKEN_IN_PLACEHOLDER,a(),n.value,h(e),n;break}}return n}function B(e,t){const{currentType:n}=t;let r=null;const c=e.currentChar();switch(7!==n&&8!==n&&11!==n&&9!==n||c!==f&&c!==l||(s.INVALID_LINKED_FORMAT,a()),c){case"@":return e.next(),r=A(t,7,"@"),t.inLinked=!0,r;case".":return h(e),e.next(),A(t,8,".");case":":return h(e),e.next(),A(t,9,":");default:return y(e)?(r=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(7!==n)return!1;I(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(7!==n&&11!==n)return!1;I(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(h(e),B(e,t)):function(e,t){const{currentType:n}=t;if(8!==n)return!1;I(e);const r=P(e.currentPeek());return e.resetPeek(),r}(e,t)?(h(e),A(t,11,function(e){let t="",n="";for(;t=b(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(9!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?P(e.peek()):!("@"===t||"|"===t||":"===t||"."===t||t===l||!t)&&(t===f?(e.peek(),r()):D(e,!1))},c=r();return e.resetPeek(),c}(e,t)?(h(e),"{"===c?$(e,t)||r:A(t,10,function(e){const t=n=>{const r=e.currentChar();return"{"!==r&&"@"!==r&&"|"!==r&&"("!==r&&")"!==r&&r?r===l?n:(n+=r,e.next(),t(n)):n};return t("")}(e))):(7===n&&(s.INVALID_LINKED_FORMAT,a()),t.braceNest=0,t.inLinked=!1,V(e,t))}}function V(e,t){let n={type:13};if(t.braceNest>0)return $(e,t)||T(t);if(t.inLinked)return B(e,t)||T(t);switch(e.currentChar()){case"{":return $(e,t)||T(t);case"}":return s.UNBALANCED_CLOSING_BRACE,a(),e.next(),A(t,3,"}");case"@":return B(e,t)||T(t);default:if(y(e))return n=A(t,1,G(e)),t.braceNest=0,t.inLinked=!1,n;if(D(e))return A(t,0,function(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if(n===l||n===f)if(D(e))t+=n,e.next();else{if(y(e))break;t+=n,e.next()}else t+=n,e.next()}return t}(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:r}=L;return L.lastType=e,L.lastOffset=t,L.lastStartLoc=n,L.lastEndLoc=r,L.offset=u(),L.startLoc=a(),o.currentChar()===_?A(L,13):V(o,L)},currentOffset:u,currentPosition:a,context:d}}const A="parser",T=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function k(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function I(e={}){const t=!1!==e.location,{onError:n}=e;function c(e,n,r){const c={type:e};return t&&(c.start=n,c.end=n,c.loc={start:r,end:r}),c}function o(e,n,r,c){c&&(e.type=c),t&&(e.end=n,e.loc&&(e.loc.end=r))}function u(e,t){const n=e.context(),r=c(3,n.offset,n.startLoc);return r.value=t,o(r,e.currentOffset(),e.currentPosition()),r}function a(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(5,r,s);return u.index=parseInt(t,10),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function i(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(4,r,s);return u.key=t,e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:s}=n,u=c(9,r,s);return u.value=t.replace(T,k),e.nextToken(),o(u,e.currentOffset(),e.currentPosition()),u}function E(e){const t=e.context(),n=c(6,t.offset,t.startLoc);let r=e.nextToken();if(8===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:u}=n,a=c(8,r,u);return 11!==t.type?(s.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,a.value="",o(a,r,u),{nextConsumeToken:t,node:a}):(null==t.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,h(t)),a.value=t.value||"",o(a,e.currentOffset(),e.currentPosition()),{node:a})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(9!==r.type&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 10:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=function(e,t){const n=e.context(),r=c(7,n.offset,n.startLoc);return r.value=t,o(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 4:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=i(e,r.value||"");break;case 5:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=a(e,r.value||"");break;case 6:null==r.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(r)),n.key=l(e,r.value||"");break;default:{s.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const u=e.context(),a=c(7,u.offset,u.startLoc);return a.value="",o(a,u.offset,u.startLoc),n.key=a,o(n,u.offset,u.startLoc),{nextConsumeToken:r,node:n}}}return o(n,e.currentOffset(),e.currentPosition()),{node:n}}function f(e){const t=e.context(),n=c(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let r=null;do{const c=r||e.nextToken();switch(r=null,c.type){case 0:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(u(e,c.value||""));break;case 5:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(a(e,c.value||""));break;case 4:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(i(e,c.value||""));break;case 6:null==c.value&&(s.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,h(c)),n.items.push(l(e,c.value||""));break;case 7:{const t=E(e);n.items.push(t.node),r=t.nextConsumeToken||null;break}}}while(13!==t.currentType&&1!==t.currentType);return o(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function L(e){const t=e.context(),{offset:n,startLoc:r}=t,u=f(e);return 13===t.currentType?u:function(e,t,n,r){const u=e.context();let a=0===r.items.length;const i=c(1,t,n);i.cases=[],i.cases.push(r);do{const t=f(e);a||(a=0===t.items.length),i.cases.push(t)}while(13!==u.currentType);return a&&s.MUST_HAVE_MESSAGES_IN_PLURAL,o(i,e.currentOffset(),e.currentPosition()),i}(e,n,r,u)}return{parse:function(n){const u=C(n,r({},e)),a=u.context(),i=c(0,a.offset,a.startLoc);return t&&i.loc&&(i.loc.source=n),i.body=L(u),e.onCacheKey&&(i.cacheKey=e.onCacheKey(n)),13!==a.currentType&&(s.UNEXPECTED_LEXICAL_ANALYSIS,a.lastStartLoc,n[a.offset]),o(i,u.currentOffset(),u.currentPosition()),i}}}function h(e){if(13===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function P(e,t){for(let n=0;n<e.length;n++)S(e[n],t)}function S(e,t){switch(e.type){case 1:P(e.cases,t),t.helper("plural");break;case 2:P(e.items,t);break;case 6:S(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function y(e,t={}){const n=function(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&S(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function D(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=o(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function O(e){switch(e.t=e.type,e.type){case 0:{const t=e;O(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let e=0;e<n.length;e++)O(n[e]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let e=0;e<n.length;e++)O(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;O(t.key),t.k=t.key,delete t.key,t.modifier&&(O(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function m(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?m(e,t.body):e.push("null")}(e,t);break;case 1:!function(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const c=t.cases.length;for(let n=0;n<c&&(m(e,t.cases[n]),n!==c-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}(e,t);break;case 2:!function(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const c=t.items.length;for(let o=0;o<c&&(m(e,t.items[o]),o!==c-1);o++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),m(e,t.key),t.modifier?(e.push(", "),m(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}return e.CompileErrorCodes=s,e.ERROR_DOMAIN=A,e.LOCATION_STUB={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}},e.baseCompile=function(e,t={}){const n=r({},t),s=!!n.jit,u=!!n.minify,a=null==n.optimize||n.optimize,i=I(n).parse(e);return s?(a&&function(e){const t=e.body;2===t.type?D(t):t.cases.forEach((e=>D(e)))}(i),u&&O(i),{ast:i,code:""}):(y(i,n),((e,t={})=>{const n=c(t.mode)?t.mode:"normal",r=c(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,u=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==n,i=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:c,needIndent:o}=t,s=!1!==t.location,u={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:c,needIndent:o,indentLevel:0};function a(e,t){u.code+=e}function i(e,t=!0){const n=t?c:"";a(o?n+" ".repeat(e):n)}return s&&e.loc&&(u.source=e.loc.source),{context:()=>u,push:a,indent:function(e=!0){const t=++u.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--u.indentLevel;e&&i(t)},newline:function(){i(u.indentLevel)},helper:e=>`_${e}`,needIndent:()=>u.needIndent}}(e,{mode:n,filename:r,sourceMap:s,breakLineCode:u,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),i.length>0&&(l.push(`const { ${o(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),m(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:E,map:f}=l.context();return{ast:e,code:E,map:f?f.toJSON():void 0}})(i,n))},e.createCompileError=a,e.createLocation=n,e.createParser=I,e.createPosition=t,e.defaultOnError=function(e){throw e},e.detectHtmlTag=e=>i.test(e),e.errorMessages=u,e}({});
{
"name": "@intlify/message-compiler",
"version": "9.13.1",
"version": "10.0.0-alpha.1",
"description": "@intlify/message-compiler",

@@ -37,3 +37,3 @@ "keywords": [

"source-map-js": "^1.0.2",
"@intlify/shared": "9.13.1"
"@intlify/shared": "10.0.0-alpha.1"
},

@@ -40,0 +40,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc