@intlify/core-base 9.4.1 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core-base.cjs +32 -11
- package/dist/core-base.d.ts +27 -23
- package/dist/core-base.esm-browser.js +31 -12
- package/dist/core-base.esm-browser.prod.js +2 -2
- package/dist/core-base.global.js +32 -11
- package/dist/core-base.global.prod.js +2 -2
- package/dist/core-base.mjs +31 -12
- package/dist/core-base.prod.cjs +32 -11
- package/package.json +5 -5
package/dist/core-base.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -449,6 +449,22 @@ function getWarnMessage(code, ...args) {
|
|
|
449
449
|
return shared.format(warnMessages[code], ...args);
|
|
450
450
|
}
|
|
451
451
|
|
|
452
|
+
/** @internal */
|
|
453
|
+
function getLocale(context, options) {
|
|
454
|
+
return options.locale != null
|
|
455
|
+
? resolveLocale(options.locale)
|
|
456
|
+
: resolveLocale(context.locale);
|
|
457
|
+
}
|
|
458
|
+
let _resolveLocale;
|
|
459
|
+
/** @internal */
|
|
460
|
+
function resolveLocale(locale) {
|
|
461
|
+
// prettier-ignore
|
|
462
|
+
return shared.isString(locale)
|
|
463
|
+
? locale
|
|
464
|
+
: _resolveLocale != null && locale.resolvedOnce
|
|
465
|
+
? _resolveLocale
|
|
466
|
+
: (_resolveLocale = locale());
|
|
467
|
+
}
|
|
452
468
|
/**
|
|
453
469
|
* Fallback with simple implemenation
|
|
454
470
|
*
|
|
@@ -570,7 +586,7 @@ function appendItemToChain(chain, target, blocks) {
|
|
|
570
586
|
* Intlify core-base version
|
|
571
587
|
* @internal
|
|
572
588
|
*/
|
|
573
|
-
const VERSION = '9.
|
|
589
|
+
const VERSION = '9.5.0';
|
|
574
590
|
const NOT_REOSLVED = -1;
|
|
575
591
|
const DEFAULT_LOCALE = 'en-US';
|
|
576
592
|
const MISSING_RESOLVE_VALUE = '';
|
|
@@ -646,23 +662,26 @@ function createCoreContext(options = {}) {
|
|
|
646
662
|
// setup options
|
|
647
663
|
const onWarn = shared.isFunction(options.onWarn) ? options.onWarn : shared.warn;
|
|
648
664
|
const version = shared.isString(options.version) ? options.version : VERSION;
|
|
649
|
-
const locale = shared.isString(options.locale)
|
|
665
|
+
const locale = shared.isString(options.locale) || shared.isFunction(options.locale)
|
|
666
|
+
? options.locale
|
|
667
|
+
: DEFAULT_LOCALE;
|
|
668
|
+
const _locale = shared.isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
650
669
|
const fallbackLocale = shared.isArray(options.fallbackLocale) ||
|
|
651
670
|
shared.isPlainObject(options.fallbackLocale) ||
|
|
652
671
|
shared.isString(options.fallbackLocale) ||
|
|
653
672
|
options.fallbackLocale === false
|
|
654
673
|
? options.fallbackLocale
|
|
655
|
-
:
|
|
674
|
+
: _locale;
|
|
656
675
|
const messages = shared.isPlainObject(options.messages)
|
|
657
676
|
? options.messages
|
|
658
|
-
: { [
|
|
677
|
+
: { [_locale]: {} };
|
|
659
678
|
const datetimeFormats = shared.isPlainObject(options.datetimeFormats)
|
|
660
679
|
? options.datetimeFormats
|
|
661
|
-
: { [
|
|
680
|
+
: { [_locale]: {} }
|
|
662
681
|
;
|
|
663
682
|
const numberFormats = shared.isPlainObject(options.numberFormats)
|
|
664
683
|
? options.numberFormats
|
|
665
|
-
: { [
|
|
684
|
+
: { [_locale]: {} }
|
|
666
685
|
;
|
|
667
686
|
const modifiers = shared.assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
668
687
|
const pluralRules = options.pluralRules || {};
|
|
@@ -839,7 +858,7 @@ function formatMessagePart(ctx, node) {
|
|
|
839
858
|
return ctx.interpolate(ctx.named(named.k || named.key));
|
|
840
859
|
case 5 /* NodeTypes.List */:
|
|
841
860
|
const list = node;
|
|
842
|
-
return ctx.interpolate(ctx.list(list.i
|
|
861
|
+
return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
|
|
843
862
|
case 6 /* NodeTypes.Linked */:
|
|
844
863
|
const linked = node;
|
|
845
864
|
const modifier = linked.m || linked.modifier;
|
|
@@ -1002,7 +1021,7 @@ function translate(context, ...args) {
|
|
|
1002
1021
|
? (!messageCompiler ? () => key : key)
|
|
1003
1022
|
: '';
|
|
1004
1023
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
|
|
1005
|
-
const locale =
|
|
1024
|
+
const locale = getLocale(context, options);
|
|
1006
1025
|
// escape params
|
|
1007
1026
|
escapeParameter && escapeParams(options);
|
|
1008
1027
|
// resolve message format
|
|
@@ -1406,7 +1425,7 @@ function datetime(context, ...args) {
|
|
|
1406
1425
|
? options.fallbackWarn
|
|
1407
1426
|
: context.fallbackWarn;
|
|
1408
1427
|
const part = !!options.part;
|
|
1409
|
-
const locale =
|
|
1428
|
+
const locale = getLocale(context, options);
|
|
1410
1429
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1411
1430
|
fallbackLocale, locale);
|
|
1412
1431
|
if (!shared.isString(key) || key === '') {
|
|
@@ -1580,7 +1599,7 @@ function number(context, ...args) {
|
|
|
1580
1599
|
? options.fallbackWarn
|
|
1581
1600
|
: context.fallbackWarn;
|
|
1582
1601
|
const part = !!options.part;
|
|
1583
|
-
const locale =
|
|
1602
|
+
const locale = getLocale(context, options);
|
|
1584
1603
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1585
1604
|
fallbackLocale, locale);
|
|
1586
1605
|
if (!shared.isString(key) || key === '') {
|
|
@@ -1731,6 +1750,7 @@ exports.fallbackWithSimple = fallbackWithSimple;
|
|
|
1731
1750
|
exports.getAdditionalMeta = getAdditionalMeta;
|
|
1732
1751
|
exports.getDevToolsHook = getDevToolsHook;
|
|
1733
1752
|
exports.getFallbackContext = getFallbackContext;
|
|
1753
|
+
exports.getLocale = getLocale;
|
|
1734
1754
|
exports.getWarnMessage = getWarnMessage;
|
|
1735
1755
|
exports.handleMissing = handleMissing;
|
|
1736
1756
|
exports.initI18nDevTools = initI18nDevTools;
|
|
@@ -1746,6 +1766,7 @@ exports.parseTranslateArgs = parseTranslateArgs;
|
|
|
1746
1766
|
exports.registerLocaleFallbacker = registerLocaleFallbacker;
|
|
1747
1767
|
exports.registerMessageCompiler = registerMessageCompiler;
|
|
1748
1768
|
exports.registerMessageResolver = registerMessageResolver;
|
|
1769
|
+
exports.resolveLocale = resolveLocale;
|
|
1749
1770
|
exports.resolveValue = resolveValue;
|
|
1750
1771
|
exports.resolveWithKeyValue = resolveWithKeyValue;
|
|
1751
1772
|
exports.setAdditionalMeta = setAdditionalMeta;
|
package/dist/core-base.d.ts
CHANGED
|
@@ -46,8 +46,8 @@ export declare interface CoreCommonContext<Message = string, Locales = 'en-US'>
|
|
|
46
46
|
onWarn(msg: string, err?: Error): void;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export declare type CoreContext<Message = string, Messages = {}, DateTimeFormats = {}, NumberFormats = {}, ResourceLocales = PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>, Locales = [ResourceLocales] extends [never] ? Locale : ResourceLocales> = CoreCommonContext<Message, Locales> & CoreTranslationContext<NonNullable<Messages>, Message> & CoreDateTimeContext<NonNullable<DateTimeFormats>> & CoreNumberContext<NonNullable<NumberFormats>> & {
|
|
50
|
-
fallbackContext?: CoreContext<Message, Messages, DateTimeFormats, NumberFormats, ResourceLocales, Locales>;
|
|
49
|
+
export declare type CoreContext<Message = string, Messages = {}, DateTimeFormats = {}, NumberFormats = {}, LocaleType = Locale, ResourceLocales = PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>, Locales = LocaleType extends LocaleDetector ? Locale : [ResourceLocales] extends [never] ? Locale : ResourceLocales> = CoreCommonContext<Message, Locales> & CoreTranslationContext<NonNullable<Messages>, Message> & CoreDateTimeContext<NonNullable<DateTimeFormats>> & CoreNumberContext<NonNullable<NumberFormats>> & {
|
|
50
|
+
fallbackContext?: CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType, ResourceLocales, Locales>;
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
export declare interface CoreDateTimeContext<DateTimeFormats = {}> {
|
|
@@ -120,7 +120,7 @@ export declare interface CoreOptions<Message = string, Schema extends {
|
|
|
120
120
|
number: infer N;
|
|
121
121
|
} ? N : NumberFormat, _Messages extends LocaleMessages<MessageSchema, MessagesLocales, Message> = LocaleMessages<MessageSchema, MessagesLocales, Message>, _DateTimeFormats extends DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormats<NumberSchema, NumberFormatsLocales> = NumberFormats<NumberSchema, NumberFormatsLocales>> {
|
|
122
122
|
version?: string;
|
|
123
|
-
locale?: Locale;
|
|
123
|
+
locale?: Locale | LocaleDetector;
|
|
124
124
|
fallbackLocale?: FallbackLocale;
|
|
125
125
|
messages?: {
|
|
126
126
|
[K in keyof _Messages]: MessageSchema;
|
|
@@ -177,9 +177,9 @@ export declare const CoreWarnCodes: {
|
|
|
177
177
|
export declare type CoreWarnCodes = (typeof CoreWarnCodes)[keyof typeof CoreWarnCodes];
|
|
178
178
|
export { createCompileError }
|
|
179
179
|
|
|
180
|
-
export declare function createCoreContext<Message = string, Options extends CoreOptions<Message> = CoreOptions<Message>, Messages extends Record<string, any> = Options['messages'] extends Record<string, any> ? Options['messages'] : {}, DateTimeFormats extends Record<string, any> = Options['datetimeFormats'] extends Record<string, any> ? Options['datetimeFormats'] : {}, NumberFormats extends Record<string, any> = Options['numberFormats'] extends Record<string, any> ? Options['numberFormats'] : {}>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats>;
|
|
180
|
+
export declare function createCoreContext<Message = string, Options extends CoreOptions<Message> = CoreOptions<Message>, Messages extends Record<string, any> = Options['messages'] extends Record<string, any> ? Options['messages'] : {}, DateTimeFormats extends Record<string, any> = Options['datetimeFormats'] extends Record<string, any> ? Options['datetimeFormats'] : {}, NumberFormats extends Record<string, any> = Options['numberFormats'] extends Record<string, any> ? Options['numberFormats'] : {}, LocaleType extends LocaleDetector | Locale = NonNullable<Options['locale']> extends LocaleDetector ? LocaleDetector : Locale>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
|
|
181
181
|
|
|
182
|
-
export declare function createCoreContext<Schema = LocaleMessage, Locales = 'en-US', Message = string, Options extends CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>> = CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>>, Messages extends Record<string, any> = NonNullable<Options['messages']> extends Record<string, any> ? NonNullable<Options['messages']> : {}, DateTimeFormats extends Record<string, any> = NonNullable<Options['datetimeFormats']> extends Record<string, any> ? NonNullable<Options['datetimeFormats']> : {}, NumberFormats extends Record<string, any> = NonNullable<Options['numberFormats']> extends Record<string, any> ? NonNullable<Options['numberFormats']> : {}>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats>;
|
|
182
|
+
export declare function createCoreContext<Schema = LocaleMessage, Locales = 'en-US', Message = string, Options extends CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>> = CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>>, Messages extends Record<string, any> = NonNullable<Options['messages']> extends Record<string, any> ? NonNullable<Options['messages']> : {}, DateTimeFormats extends Record<string, any> = NonNullable<Options['datetimeFormats']> extends Record<string, any> ? NonNullable<Options['datetimeFormats']> : {}, NumberFormats extends Record<string, any> = NonNullable<Options['numberFormats']> extends Record<string, any> ? NonNullable<Options['numberFormats']> : {}, LocaleType extends LocaleDetector | Locale = NonNullable<Options['locale']> extends LocaleDetector ? LocaleDetector : Locale>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
|
|
183
183
|
|
|
184
184
|
export declare function createCoreError(code: CoreErrorCodes): CoreError;
|
|
185
185
|
|
|
@@ -275,17 +275,12 @@ export declare type DateTimeHumanReadable = 'long' | 'short' | 'narrow';
|
|
|
275
275
|
*
|
|
276
276
|
* @VueI18nGeneral
|
|
277
277
|
*/
|
|
278
|
-
export declare interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions {
|
|
278
|
+
export declare interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions, LocaleOptions<Locales> {
|
|
279
279
|
/**
|
|
280
280
|
* @remarks
|
|
281
281
|
* The target format key
|
|
282
282
|
*/
|
|
283
283
|
key?: Key;
|
|
284
|
-
/**
|
|
285
|
-
* @remarks
|
|
286
|
-
* The locale of localization
|
|
287
|
-
*/
|
|
288
|
-
locale?: Locales;
|
|
289
284
|
/**
|
|
290
285
|
* @remarks
|
|
291
286
|
* Whether suppress warnings outputted when localization fails
|
|
@@ -373,6 +368,8 @@ export declare function getDevToolsHook(): IntlifyDevToolsEmitter | null;
|
|
|
373
368
|
|
|
374
369
|
export declare const getFallbackContext: () => CoreContext | null;
|
|
375
370
|
|
|
371
|
+
/* Excluded from this release type: getLocale */
|
|
372
|
+
|
|
376
373
|
export declare function getWarnMessage(code: CoreWarnCodes, ...args: unknown[]): string;
|
|
377
374
|
|
|
378
375
|
/* Excluded from this release type: handleMissing */
|
|
@@ -443,6 +440,12 @@ export declare interface LinkedOptions {
|
|
|
443
440
|
/** @VueI18nGeneral */
|
|
444
441
|
export declare type Locale = string;
|
|
445
442
|
|
|
443
|
+
/** @VueI18nGeneral */
|
|
444
|
+
export declare interface LocaleDetector {
|
|
445
|
+
(): Locale;
|
|
446
|
+
resolvedOnce?: boolean;
|
|
447
|
+
}
|
|
448
|
+
|
|
446
449
|
/**
|
|
447
450
|
* The locale fallbacker
|
|
448
451
|
*
|
|
@@ -471,6 +474,15 @@ export declare type LocaleMessageType<T, Message = string> = T extends string ?
|
|
|
471
474
|
/** @VueI18nGeneral */
|
|
472
475
|
export declare type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;
|
|
473
476
|
|
|
477
|
+
/** @VueI18nGeneral */
|
|
478
|
+
export declare interface LocaleOptions<Locales = Locale> {
|
|
479
|
+
/**
|
|
480
|
+
* @remarks
|
|
481
|
+
* The locale of localization
|
|
482
|
+
*/
|
|
483
|
+
locale?: Locales | LocaleDetector;
|
|
484
|
+
}
|
|
485
|
+
|
|
474
486
|
export declare type LocaleParams<T, Default = 'en-US'> = T extends IsUnion<T> ? {
|
|
475
487
|
messages: T;
|
|
476
488
|
datetimeFormats: T;
|
|
@@ -793,17 +805,12 @@ export declare type NumberFormatToPartsResult = {
|
|
|
793
805
|
*
|
|
794
806
|
* @VueI18nGeneral
|
|
795
807
|
*/
|
|
796
|
-
export declare interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions {
|
|
808
|
+
export declare interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales> {
|
|
797
809
|
/**
|
|
798
810
|
* @remarks
|
|
799
811
|
* The target format key
|
|
800
812
|
*/
|
|
801
813
|
key?: Key;
|
|
802
|
-
/**
|
|
803
|
-
* @remarks
|
|
804
|
-
* The locale of localization
|
|
805
|
-
*/
|
|
806
|
-
locale?: Locales;
|
|
807
814
|
/**
|
|
808
815
|
* @remarks
|
|
809
816
|
* Whether suppress warnings outputted when localization fails
|
|
@@ -891,6 +898,8 @@ export declare type RemoveIndexSignature<T> = {
|
|
|
891
898
|
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
892
899
|
};
|
|
893
900
|
|
|
901
|
+
/* Excluded from this release type: resolveLocale */
|
|
902
|
+
|
|
894
903
|
/**
|
|
895
904
|
* message resolver
|
|
896
905
|
*
|
|
@@ -1062,7 +1071,7 @@ export declare const translateDevTools: (payloads: IntlifyDevToolsHookPayloads[I
|
|
|
1062
1071
|
*
|
|
1063
1072
|
* @VueI18nGeneral
|
|
1064
1073
|
*/
|
|
1065
|
-
export declare interface TranslateOptions<Locales = Locale> {
|
|
1074
|
+
export declare interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales> {
|
|
1066
1075
|
/**
|
|
1067
1076
|
* @remarks
|
|
1068
1077
|
* List interpolation
|
|
@@ -1083,11 +1092,6 @@ export declare interface TranslateOptions<Locales = Locale> {
|
|
|
1083
1092
|
* Default message when is occurred translation missing
|
|
1084
1093
|
*/
|
|
1085
1094
|
default?: string | boolean;
|
|
1086
|
-
/**
|
|
1087
|
-
* @remarks
|
|
1088
|
-
* The locale of localization
|
|
1089
|
-
*/
|
|
1090
|
-
locale?: Locales;
|
|
1091
1095
|
/**
|
|
1092
1096
|
* @remarks
|
|
1093
1097
|
* Whether suppress warnings outputted when localization fails
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -2102,6 +2102,22 @@ function getWarnMessage(code, ...args) {
|
|
|
2102
2102
|
return format$1(warnMessages[code], ...args);
|
|
2103
2103
|
}
|
|
2104
2104
|
|
|
2105
|
+
/** @internal */
|
|
2106
|
+
function getLocale(context, options) {
|
|
2107
|
+
return options.locale != null
|
|
2108
|
+
? resolveLocale(options.locale)
|
|
2109
|
+
: resolveLocale(context.locale);
|
|
2110
|
+
}
|
|
2111
|
+
let _resolveLocale;
|
|
2112
|
+
/** @internal */
|
|
2113
|
+
function resolveLocale(locale) {
|
|
2114
|
+
// prettier-ignore
|
|
2115
|
+
return isString(locale)
|
|
2116
|
+
? locale
|
|
2117
|
+
: _resolveLocale != null && locale.resolvedOnce
|
|
2118
|
+
? _resolveLocale
|
|
2119
|
+
: (_resolveLocale = locale());
|
|
2120
|
+
}
|
|
2105
2121
|
/**
|
|
2106
2122
|
* Fallback with simple implemenation
|
|
2107
2123
|
*
|
|
@@ -2223,7 +2239,7 @@ function appendItemToChain(chain, target, blocks) {
|
|
|
2223
2239
|
* Intlify core-base version
|
|
2224
2240
|
* @internal
|
|
2225
2241
|
*/
|
|
2226
|
-
const VERSION = '9.
|
|
2242
|
+
const VERSION = '9.5.0';
|
|
2227
2243
|
const NOT_REOSLVED = -1;
|
|
2228
2244
|
const DEFAULT_LOCALE = 'en-US';
|
|
2229
2245
|
const MISSING_RESOLVE_VALUE = '';
|
|
@@ -2299,23 +2315,26 @@ function createCoreContext(options = {}) {
|
|
|
2299
2315
|
// setup options
|
|
2300
2316
|
const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
|
|
2301
2317
|
const version = isString(options.version) ? options.version : VERSION;
|
|
2302
|
-
const locale = isString(options.locale)
|
|
2318
|
+
const locale = isString(options.locale) || isFunction(options.locale)
|
|
2319
|
+
? options.locale
|
|
2320
|
+
: DEFAULT_LOCALE;
|
|
2321
|
+
const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
2303
2322
|
const fallbackLocale = isArray(options.fallbackLocale) ||
|
|
2304
2323
|
isPlainObject(options.fallbackLocale) ||
|
|
2305
2324
|
isString(options.fallbackLocale) ||
|
|
2306
2325
|
options.fallbackLocale === false
|
|
2307
2326
|
? options.fallbackLocale
|
|
2308
|
-
:
|
|
2327
|
+
: _locale;
|
|
2309
2328
|
const messages = isPlainObject(options.messages)
|
|
2310
2329
|
? options.messages
|
|
2311
|
-
: { [
|
|
2330
|
+
: { [_locale]: {} };
|
|
2312
2331
|
const datetimeFormats = isPlainObject(options.datetimeFormats)
|
|
2313
2332
|
? options.datetimeFormats
|
|
2314
|
-
: { [
|
|
2333
|
+
: { [_locale]: {} }
|
|
2315
2334
|
;
|
|
2316
2335
|
const numberFormats = isPlainObject(options.numberFormats)
|
|
2317
2336
|
? options.numberFormats
|
|
2318
|
-
: { [
|
|
2337
|
+
: { [_locale]: {} }
|
|
2319
2338
|
;
|
|
2320
2339
|
const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
2321
2340
|
const pluralRules = options.pluralRules || {};
|
|
@@ -2492,7 +2511,7 @@ function formatMessagePart(ctx, node) {
|
|
|
2492
2511
|
return ctx.interpolate(ctx.named(named.k || named.key));
|
|
2493
2512
|
case 5 /* NodeTypes.List */:
|
|
2494
2513
|
const list = node;
|
|
2495
|
-
return ctx.interpolate(ctx.list(list.i
|
|
2514
|
+
return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
|
|
2496
2515
|
case 6 /* NodeTypes.Linked */:
|
|
2497
2516
|
const linked = node;
|
|
2498
2517
|
const modifier = linked.m || linked.modifier;
|
|
@@ -2655,7 +2674,7 @@ function translate(context, ...args) {
|
|
|
2655
2674
|
? (!messageCompiler ? () => key : key)
|
|
2656
2675
|
: '';
|
|
2657
2676
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
|
|
2658
|
-
const locale =
|
|
2677
|
+
const locale = getLocale(context, options);
|
|
2659
2678
|
// escape params
|
|
2660
2679
|
escapeParameter && escapeParams(options);
|
|
2661
2680
|
// resolve message format
|
|
@@ -3059,7 +3078,7 @@ function datetime(context, ...args) {
|
|
|
3059
3078
|
? options.fallbackWarn
|
|
3060
3079
|
: context.fallbackWarn;
|
|
3061
3080
|
const part = !!options.part;
|
|
3062
|
-
const locale =
|
|
3081
|
+
const locale = getLocale(context, options);
|
|
3063
3082
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
3064
3083
|
fallbackLocale, locale);
|
|
3065
3084
|
if (!isString(key) || key === '') {
|
|
@@ -3233,7 +3252,7 @@ function number(context, ...args) {
|
|
|
3233
3252
|
? options.fallbackWarn
|
|
3234
3253
|
: context.fallbackWarn;
|
|
3235
3254
|
const part = !!options.part;
|
|
3236
|
-
const locale =
|
|
3255
|
+
const locale = getLocale(context, options);
|
|
3237
3256
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
3238
3257
|
fallbackLocale, locale);
|
|
3239
3258
|
if (!isString(key) || key === '') {
|
|
@@ -3359,4 +3378,4 @@ function clearNumberFormat(ctx, locale, format) {
|
|
|
3359
3378
|
}
|
|
3360
3379
|
}
|
|
3361
3380
|
|
|
3362
|
-
export { CompileErrorCodes, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCompileError, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };
|
|
3381
|
+
export { CompileErrorCodes, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCompileError, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
const RE_ARGS=/\{([0-9a-zA-Z]+)\}/g;function format$1(e,...t){return 1===t.length&&isObject(t[0])&&(t=t[0]),t&&t.hasOwnProperty||(t={}),e.replace(RE_ARGS,((e,r)=>t.hasOwnProperty(r)?t[r]:""))}const generateFormatCacheKey=(e,t,r)=>friendlyJSONstringify({l:e,k:t,s:r}),friendlyJSONstringify=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),isNumber=e=>"number"==typeof e&&isFinite(e),isDate=e=>"[object Date]"===toTypeString(e),isRegExp=e=>"[object RegExp]"===toTypeString(e),isEmptyObject=e=>isPlainObject(e)&&0===Object.keys(e).length,assign=Object.assign;function escapeHtml(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const isArray=Array.isArray,isFunction=e=>"function"==typeof e,isString=e=>"string"==typeof e,isBoolean=e=>"boolean"==typeof e,isObject=e=>null!==e&&"object"==typeof e,objectToString=Object.prototype.toString,toTypeString=e=>objectToString.call(e),isPlainObject=e=>{if(!isObject(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object},toDisplayString=e=>null==e?"":isArray(e)||isPlainObject(e)&&e.toString===objectToString?JSON.stringify(e,null,2):String(e);function join(e,t=""){return e.reduce(((e,r,n)=>0===n?e+r:e+t+r),"")}function incrementer(e){let t=e;return()=>++t}function warn(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}function createPosition(e,t,r){return{line:e,column:t,offset:r}}function createLocation(e,t,r){const n={start:e,end:t};return null!=r&&(n.source=r),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};function createCompileError(e,t,r={}){const{domain:n,messages:o,args:s}=r,a=new SyntaxError(String(e));return a.code=e,t&&(a.location=t),a.domain=n,a}function defaultOnError(e){throw e}CompileErrorCodes.EXPECTED_TOKEN,CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,CompileErrorCodes.UNBALANCED_CLOSING_BRACE,CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,CompileErrorCodes.EMPTY_PLACEHOLDER,CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,CompileErrorCodes.INVALID_LINKED_FORMAT,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE,CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE;const 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 r=0,n=1,o=1,s=0;const a=e=>t[e]===CHAR_CR&&t[e+1]===CHAR_LF,i=e=>t[e]===CHAR_PS,c=e=>t[e]===CHAR_LS,l=e=>a(e)||(e=>t[e]===CHAR_LF)(e)||i(e)||c(e),u=e=>a(e)||i(e)||c(e)?CHAR_LF:t[e];function E(){return s=0,l(r)&&(n++,o=0),a(r)&&r++,r++,o++,t[r]}return{index:()=>r,line:()=>n,column:()=>o,peekOffset:()=>s,charAt:u,currentChar:()=>u(r),currentPeek:()=>u(r+s),next:E,peek:function(){return a(r+s)&&s++,s++,t[r+s]},reset:function(){r=0,n=1,o=1,s=0},resetPeek:function(e=0){s=e},skipToPeek:function(){const e=r+s;for(;e!==r;)E();s=0}}}const EOF=void 0,DOT=".",LITERAL_DELIMITER="'",ERROR_DOMAIN$1="tokenizer";function createTokenizer(e,t={}){const r=!1!==t.location,n=createScanner(e),o=()=>n.index(),s=()=>createPosition(n.line(),n.column(),n.index()),a=s(),i=o(),c={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=t;function E(e,t,n){e.endLoc=s(),e.currentType=t;const o={type:t};return r&&(o.loc=createLocation(e.startLoc,e.endLoc)),null!=n&&(o.value=n),o}const f=e=>E(e,14);function m(e,t){return e.currentChar()===t?(e.next(),t):(CompileErrorCodes.EXPECTED_TOKEN,s(),"")}function p(e){let t="";for(;e.currentPeek()===CHAR_SP||e.currentPeek()===CHAR_LF;)t+=e.currentPeek(),e.peek();return t}function C(e){const t=p(e);return e.skipToPeek(),t}function d(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:r}=t;if(2!==r)return!1;p(e);const n=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(),n}function g(e){p(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function N(e,t=!0){const r=(t=!1,n="",o=!1)=>{const s=e.currentPeek();return"{"===s?"%"!==n&&t:"@"!==s&&s?"%"===s?(e.peek(),r(t,"%",!0)):"|"===s?!("%"!==n&&!o)||!(n===CHAR_SP||n===CHAR_LF):s===CHAR_SP?(e.peek(),r(!0,CHAR_SP,o)):s!==CHAR_LF||(e.peek(),r(!0,CHAR_LF,o)):"%"===n||t},n=r();return t&&e.resetPeek(),n}function A(e,t){const r=e.currentChar();return r===EOF?EOF:t(r)?(e.next(),r):null}function T(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function L(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function S(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function O(e){let t="",r="";for(;t=L(e);)r+=t;return r}function h(e){let t="";for(;;){const r=e.currentChar();if("{"===r||"}"===r||"@"===r||"|"===r||!r)break;if("%"===r){if(!N(e))break;t+=r,e.next()}else if(r===CHAR_SP||r===CHAR_LF)if(N(e))t+=r,e.next();else{if(g(e))break;t+=r,e.next()}else t+=r,e.next()}return t}function b(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return k(e,t,4);case"U":return k(e,t,6);default:return CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,s(),""}}function k(e,t,r){m(e,t);let n="";for(let o=0;o<r;o++){const t=S(e);if(!t){CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),e.currentChar();break}n+=t}return`\\${t}${n}`}function I(e){C(e);const t=m(e,"|");return C(e),t}function M(e,t){let r=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,s()),e.next(),r=E(t,2,"{"),C(e),t.braceNest++,r;case"}":return t.braceNest>0&&2===t.currentType&&(CompileErrorCodes.EMPTY_PLACEHOLDER,s()),e.next(),r=E(t,3,"}"),t.braceNest--,t.braceNest>0&&C(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),r;case"@":return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r=y(e,t)||f(t),t.braceNest=0,r;default:let n=!0,o=!0,a=!0;if(g(e))return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,r;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s(),t.braceNest=0,P(e,t);if(n=function(e,t){const{currentType:r}=t;if(2!==r)return!1;p(e);const n=d(e.currentPeek());return e.resetPeek(),n}(e,t))return r=E(t,5,function(e){C(e);let t="",r="";for(;t=T(e);)r+=t;return e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r}(e)),C(e),r;if(o=_(e,t))return r=E(t,6,function(e){C(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${O(e)}`):t+=O(e),e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),t}(e)),C(e),r;if(a=function(e,t){const{currentType:r}=t;if(2!==r)return!1;p(e);const n=e.currentPeek()===LITERAL_DELIMITER;return e.resetPeek(),n}(e,t))return r=E(t,7,function(e){C(e),m(e,"'");let t="",r="";const n=e=>e!==LITERAL_DELIMITER&&e!==CHAR_LF;for(;t=A(e,n);)r+="\\"===t?b(e):t;const o=e.currentChar();return o===CHAR_LF||o===EOF?(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),o===CHAR_LF&&(e.next(),m(e,"'")),r):(m(e,"'"),r)}(e)),C(e),r;if(!n&&!o&&!a)return r=E(t,13,function(e){C(e);let t="",r="";const n=e=>"{"!==e&&"}"!==e&&e!==CHAR_SP&&e!==CHAR_LF;for(;t=A(e,n);)r+=t;return r}(e)),CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,s(),r.value,C(e),r}return r}function y(e,t){const{currentType:r}=t;let n=null;const o=e.currentChar();switch(8!==r&&9!==r&&12!==r&&10!==r||o!==CHAR_LF&&o!==CHAR_SP||(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),o){case"@":return e.next(),n=E(t,8,"@"),t.inLinked=!0,n;case".":return C(e),e.next(),E(t,9,".");case":":return C(e),e.next(),E(t,10,":");default:return g(e)?(n=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,n):function(e,t){const{currentType:r}=t;if(8!==r)return!1;p(e);const n="."===e.currentPeek();return e.resetPeek(),n}(e,t)||function(e,t){const{currentType:r}=t;if(8!==r&&12!==r)return!1;p(e);const n=":"===e.currentPeek();return e.resetPeek(),n}(e,t)?(C(e),y(e,t)):function(e,t){const{currentType:r}=t;if(9!==r)return!1;p(e);const n=d(e.currentPeek());return e.resetPeek(),n}(e,t)?(C(e),E(t,12,function(e){let t="",r="";for(;t=T(e);)r+=t;return r}(e))):function(e,t){const{currentType:r}=t;if(10!==r)return!1;const n=()=>{const t=e.currentPeek();return"{"===t?d(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===CHAR_SP||!t)&&(t===CHAR_LF?(e.peek(),n()):d(t))},o=n();return e.resetPeek(),o}(e,t)?(C(e),"{"===o?M(e,t)||n:E(t,11,function(e){const t=(r=!1,n)=>{const o=e.currentChar();return"{"!==o&&"%"!==o&&"@"!==o&&"|"!==o&&"("!==o&&")"!==o&&o?o===CHAR_SP?n:o===CHAR_LF||o===DOT?(n+=o,e.next(),t(r,n)):(n+=o,e.next(),t(!0,n)):n};return t(!1,"")}(e))):(8===r&&(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),t.braceNest=0,t.inLinked=!1,P(e,t))}}function P(e,t){let r={type:14};if(t.braceNest>0)return M(e,t)||f(t);if(t.inLinked)return y(e,t)||f(t);switch(e.currentChar()){case"{":return M(e,t)||f(t);case"}":return CompileErrorCodes.UNBALANCED_CLOSING_BRACE,s(),e.next(),E(t,3,"}");case"@":return y(e,t)||f(t);default:if(g(e))return r=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,r;const{isModulo:n,hasSpace:o}=function(e){const t=p(e),r="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:r,hasSpace:t.length>0}}(e);if(n)return o?E(t,0,h(e)):E(t,4,function(e){C(e);const t=e.currentChar();return"%"!==t&&(CompileErrorCodes.EXPECTED_TOKEN,s()),e.next(),"%"}(e));if(N(e))return E(t,0,h(e))}return r}return{nextToken:function(){const{currentType:e,offset:t,startLoc:r,endLoc:a}=c;return c.lastType=e,c.lastOffset=t,c.lastStartLoc=r,c.lastEndLoc=a,c.offset=o(),c.startLoc=s(),n.currentChar()===EOF?E(c,14):P(n,c)},currentOffset:o,currentPosition:s,context:l}}const ERROR_DOMAIN="parser",KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(e,t,r){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||r,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function createParser(e={}){const t=!1!==e.location,{onError:r}=e;function n(e,r,n){const o={type:e};return t&&(o.start=r,o.end=r,o.loc={start:n,end:n}),o}function o(e,r,n,o){o&&(e.type=o),t&&(e.end=r,e.loc&&(e.loc.end=n))}function s(e,t){const r=e.context(),s=n(3,r.offset,r.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}function a(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(5,s,a);return i.index=parseInt(t,10),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function i(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(4,s,a);return i.key=t,e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function c(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(9,s,a);return i.value=t.replace(KNOWN_ESCAPES,fromEscapeSequence),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function l(e){const t=e.context(),r=n(6,t.offset,t.startLoc);let s=e.nextToken();if(9===s.type){const t=function(e){const t=e.nextToken(),r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(8,s,a);return 12!==t.type?(CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,r.lastStartLoc,i.value="",o(i,s,a),{nextConsumeToken:t,node:i}):(null==t.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,r.lastStartLoc,getTokenCaption(t)),i.value=t.value||"",o(i,e.currentOffset(),e.currentPosition()),{node:i})}(e);r.modifier=t.node,s=t.nextConsumeToken||e.nextToken()}switch(10!==s.type&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),s=e.nextToken(),2===s.type&&(s=e.nextToken()),s.type){case 11:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=function(e,t){const r=e.context(),s=n(7,r.offset,r.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}(e,s.value||"");break;case 5:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=i(e,s.value||"");break;case 6:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=a(e,s.value||"");break;case 7:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=c(e,s.value||"");break;default:CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const l=e.context(),u=n(7,l.offset,l.startLoc);return u.value="",o(u,l.offset,l.startLoc),r.key=u,o(r,l.offset,l.startLoc),{nextConsumeToken:s,node:r}}return o(r,e.currentOffset(),e.currentPosition()),{node:r}}function u(e){const t=e.context(),r=n(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);r.items=[];let u=null;do{const n=u||e.nextToken();switch(u=null,n.type){case 0:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(s(e,n.value||""));break;case 6:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(a(e,n.value||""));break;case 5:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(i(e,n.value||""));break;case 7:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(c(e,n.value||""));break;case 8:const o=l(e);r.items.push(o.node),u=o.nextConsumeToken||null}}while(14!==t.currentType&&1!==t.currentType);return o(r,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),r}function E(e){const t=e.context(),{offset:r,startLoc:s}=t,a=u(e);return 14===t.currentType?a:function(e,t,r,s){const a=e.context();let i=0===s.items.length;const c=n(1,t,r);c.cases=[],c.cases.push(s);do{const t=u(e);i||(i=0===t.items.length),c.cases.push(t)}while(14!==a.currentType);return i&&CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,o(c,e.currentOffset(),e.currentPosition()),c}(e,r,s,a)}return{parse:function(r){const s=createTokenizer(r,assign({},e)),a=s.context(),i=n(0,a.offset,a.startLoc);return t&&i.loc&&(i.loc.source=r),i.body=E(s),e.onCacheKey&&(i.cacheKey=e.onCacheKey(r)),14!==a.currentType&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,a.lastStartLoc,r[a.offset]),o(i,s.currentOffset(),s.currentPosition()),i}}}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 r={ast:e,helpers:new Set};return{context:()=>r,helper:e=>(r.helpers.add(e),e)}}function traverseNodes(e,t){for(let r=0;r<e.length;r++)traverseNode(e[r],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 r=createTransformer(e);r.helper("normalize"),e.body&&traverseNode(e.body,r);const n=r.context();e.helpers=Array.from(n.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 r=0;r<e.items.length;r++){const n=e.items[r];if(3!==n.type&&9!==n.type)break;if(null==n.value)break;t.push(n.value)}if(t.length===e.items.length){e.static=join(t);for(let t=0;t<e.items.length;t++){const r=e.items[t];3!==r.type&&9!==r.type||delete r.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 r=e,n=r.cases;for(let e=0;e<n.length;e++)minify(n[e]);r.c=n,delete r.cases;break;case 2:const o=e,s=o.items;for(let e=0;e<s.length;e++)minify(s[e]);o.i=s,delete o.items,o.static&&(o.s=o.static,delete o.static);break;case 3:case 9:case 8:case 7:const a=e;a.value&&(a.v=a.value,delete a.value);break;case 6:const i=e;minify(i.key),i.k=i.key,delete i.key,i.modifier&&(minify(i.modifier),i.m=i.modifier,delete i.modifier);break;case 5:const c=e;c.i=c.index,delete c.index;break;case 4:const l=e;l.k=l.key,delete l.key}delete e.type}function createCodeGenerator(e,t){const{sourceMap:r,filename:n,breakLineCode:o,needIndent:s}=t,a=!1!==t.location,i={filename:n,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:s,indentLevel:0};a&&e.loc&&(i.source=e.loc.source);function c(e,t){i.code+=e}function l(e,t=!0){const r=t?o:"";c(s?r+" ".repeat(e):r)}return{context:()=>i,push:c,indent:function(e=!0){const t=++i.indentLevel;e&&l(t)},deindent:function(e=!0){const t=--i.indentLevel;e&&l(t)},newline:function(){l(i.indentLevel)},helper:e=>`_${e}`,needIndent:()=>i.needIndent}}function generateLinkedNode(e,t){const{helper:r}=e;e.push(`${r("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:r,needIndent:n}=e;e.push(`${r("normalize")}([`),e.indent(n());const o=t.items.length;for(let s=0;s<o&&(generateNode(e,t.items[s]),s!==o-1);s++)e.push(", ");e.deindent(n()),e.push("])")}function generatePluralNode(e,t){const{helper:r,needIndent:n}=e;if(t.cases.length>1){e.push(`${r("plural")}([`),e.indent(n());const o=t.cases.length;for(let r=0;r<o&&(generateNode(e,t.cases[r]),r!==o-1);r++)e.push(", ");e.deindent(n()),e.push("])")}}function generateResource(e,t){t.body?generateNode(e,t.body):e.push("null")}function generateNode(e,t){const{helper:r}=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(`${r("interpolate")}(${r("list")}(${t.index}))`,t);break;case 4:e.push(`${r("interpolate")}(${r("named")}(${JSON.stringify(t.key)}))`,t)}}const generate=(e,t={})=>{const r=isString(t.mode)?t.mode:"normal",n=isString(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,s=null!=t.breakLineCode?t.breakLineCode:"arrow"===r?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==r,i=e.helpers||[],c=createCodeGenerator(e,{mode:r,filename:n,sourceMap:o,breakLineCode:s,needIndent:a});c.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(a),i.length>0&&(c.push(`const { ${join(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),c.newline()),c.push("return "),generateNode(c,e),c.deindent(a),c.push("}"),delete e.helpers;const{code:l,map:u}=c.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function baseCompile$1(e,t={}){const r=assign({},t),n=!!r.jit,o=!!r.minify,s=null==r.optimize||r.optimize,a=createParser(r).parse(e);return n?(s&&optimize(a),o&&minify(a),{ast:a,code:""}):(transform(a,r),generate(a,r))}const pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};const literalValueRE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function isLiteral(e){return literalValueRE.test(e)}function stripQuotes(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}function getPathCharType(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function formatSubPath(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(isLiteral(t)?stripQuotes(t):"*"+t)}function parse(e){const t=[];let r,n,o,s,a,i,c,l=-1,u=0,E=0;const f=[];function m(){const t=e[l+1];if(5===u&&"'"===t||6===u&&'"'===t)return l++,o="\\"+t,f[0](),!0}for(f[0]=()=>{void 0===n?n=o:n+=o},f[1]=()=>{void 0!==n&&(t.push(n),n=void 0)},f[2]=()=>{f[0](),E++},f[3]=()=>{if(E>0)E--,u=4,f[0]();else{if(E=0,void 0===n)return!1;if(n=formatSubPath(n),!1===n)return!1;f[1]()}};null!==u;)if(l++,r=e[l],"\\"!==r||!m()){if(s=getPathCharType(r),c=pathStateMachine[u],a=c[s]||c.l||8,8===a)return;if(u=a[0],void 0!==a[1]&&(i=f[a[1]],i&&(o=r,!1===i())))return;if(7===u)return t}}const cache=new Map;function resolveWithKeyValue(e,t){return isObject(e)?e[t]:null}function resolveValue(e,t){if(!isObject(e))return null;let r=cache.get(t);if(r||(r=parse(t),r&&cache.set(t,r)),!r)return null;const n=r.length;let o=e,s=0;for(;s<n;){const e=o[r[s]];if(void 0===e)return null;o=e,s++}return o}const DEFAULT_MODIFIER=e=>e,DEFAULT_MESSAGE=e=>"",DEFAULT_MESSAGE_DATA_TYPE="text",DEFAULT_NORMALIZE=e=>0===e.length?"":join(e),DEFAULT_INTERPOLATE=toDisplayString;function pluralDefault(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function getPluralIndex(e){const t=isNumber(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(isNumber(e.named.count)||isNumber(e.named.n))?isNumber(e.named.count)?e.named.count:isNumber(e.named.n)?e.named.n:t:t}function normalizeNamed(e,t){t.count||(t.count=e),t.n||(t.n=e)}function createMessageContext(e={}){const t=e.locale,r=getPluralIndex(e),n=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?e.pluralRules[t]:pluralDefault,o=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?pluralDefault:void 0,s=e.list||[],a=e.named||{};isNumber(e.pluralIndex)&&normalizeNamed(r,a);function i(t){const r=isFunction(e.messages)?e.messages(t):!!isObject(e.messages)&&e.messages[t];return r||(e.parent?e.parent.message(t):DEFAULT_MESSAGE)}const c=isPlainObject(e.processor)&&isFunction(e.processor.normalize)?e.processor.normalize:DEFAULT_NORMALIZE,l=isPlainObject(e.processor)&&isFunction(e.processor.interpolate)?e.processor.interpolate:DEFAULT_INTERPOLATE,u={list:e=>s[e],named:e=>a[e],plural:e=>e[n(r,e.length,o)],linked:(t,...r)=>{const[n,o]=r;let s="text",a="";1===r.length?isObject(n)?(a=n.modifier||a,s=n.type||s):isString(n)&&(a=n||a):2===r.length&&(isString(n)&&(a=n||a),isString(o)&&(s=o||s));const c=i(t)(u),l="vnode"===s&&isArray(c)&&a?c[0]:c;return a?(E=a,e.modifiers?e.modifiers[E]:DEFAULT_MODIFIER)(l,s):l;var E},message:i,type:isPlainObject(e.processor)&&isString(e.processor.type)?e.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate:l,normalize:c,values:assign({},s,a)};return u}let devtools=null;function setDevToolsHook(e){devtools=e}function getDevToolsHook(){return devtools}function initI18nDevTools(e,t,r){devtools&&devtools.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:r})}const translateDevTools=createDevToolsHook("function:translate");function createDevToolsHook(e){return t=>devtools&&devtools.emit(e,t)}const CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7,__EXTEND_POINT__:8},warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[CoreWarnCodes.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function getWarnMessage(e,...t){return format$1(warnMessages[e],...t)}function fallbackWithSimple(e,t,r){return[...new Set([r,...isArray(t)?t:isObject(t)?Object.keys(t):isString(t)?[t]:[r]])]}function fallbackWithLocaleChain(e,t,r){const n=isString(r)?r:DEFAULT_LOCALE,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let s=o.__localeChainCache.get(n);if(!s){s=[];let e=[r];for(;isArray(e);)e=appendBlockToChain(s,e,t);const a=isArray(t)||!isPlainObject(t)?t:t.default?t.default:null;e=isString(a)?[a]:a,isArray(e)&&appendBlockToChain(s,e,!1),o.__localeChainCache.set(n,s)}return s}function appendBlockToChain(e,t,r){let n=!0;for(let o=0;o<t.length&&isBoolean(n);o++){const s=t[o];isString(s)&&(n=appendLocaleToChain(e,t[o],r))}return n}function appendLocaleToChain(e,t,r){let n;const o=t.split("-");do{n=appendItemToChain(e,o.join("-"),r),o.splice(-1,1)}while(o.length&&!0===n);return n}function appendItemToChain(e,t,r){let n=!1;if(!e.includes(t)&&(n=!0,t)){n="!"!==t[t.length-1];const o=t.replace(/!/g,"");e.push(o),(isArray(r)||isPlainObject(r))&&r[o]&&(n=r[o])}return n}const VERSION="9.4.1",NOT_REOSLVED=-1,DEFAULT_LOCALE="en-US",MISSING_RESOLVE_VALUE="",capitalize=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(e,t)=>"text"===t&&isString(e)?e.toUpperCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&isString(e)?e.toLowerCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&isString(e)?capitalize(e):"vnode"===t&&isObject(e)&&"__v_isVNode"in e?capitalize(e.children):e}}let _compiler,_resolver,_fallbacker;function registerMessageCompiler(e){_compiler=e}function registerMessageResolver(e){_resolver=e}function registerLocaleFallbacker(e){_fallbacker=e}let _additionalMeta=null;const setAdditionalMeta=e=>{_additionalMeta=e},getAdditionalMeta=()=>_additionalMeta;let _fallbackContext=null;const setFallbackContext=e=>{_fallbackContext=e},getFallbackContext=()=>_fallbackContext;let _cid=0;function createCoreContext(e={}){const t=isFunction(e.onWarn)?e.onWarn:warn,r=isString(e.version)?e.version:"9.4.1",n=isString(e.locale)?e.locale:DEFAULT_LOCALE,o=isArray(e.fallbackLocale)||isPlainObject(e.fallbackLocale)||isString(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:n,s=isPlainObject(e.messages)?e.messages:{[n]:{}},a=isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[n]:{}},i=isPlainObject(e.numberFormats)?e.numberFormats:{[n]:{}},c=assign({},e.modifiers||{},getDefaultLinkedModifiers()),l=e.pluralRules||{},u=isFunction(e.missing)?e.missing:null,E=!isBoolean(e.missingWarn)&&!isRegExp(e.missingWarn)||e.missingWarn,f=!isBoolean(e.fallbackWarn)&&!isRegExp(e.fallbackWarn)||e.fallbackWarn,m=!!e.fallbackFormat,p=!!e.unresolving,C=isFunction(e.postTranslation)?e.postTranslation:null,d=isPlainObject(e.processor)?e.processor:null,_=!isBoolean(e.warnHtmlMessage)||e.warnHtmlMessage,g=!!e.escapeParameter,N=isFunction(e.messageCompiler)?e.messageCompiler:_compiler,A=isFunction(e.messageResolver)?e.messageResolver:_resolver||resolveWithKeyValue,T=isFunction(e.localeFallbacker)?e.localeFallbacker:_fallbacker||fallbackWithSimple,L=isObject(e.fallbackContext)?e.fallbackContext:void 0,S=e,O=isObject(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,h=isObject(S.__numberFormatters)?S.__numberFormatters:new Map,b=isObject(S.__meta)?S.__meta:{};_cid++;const k={version:r,cid:_cid,locale:n,fallbackLocale:o,messages:s,modifiers:c,pluralRules:l,missing:u,missingWarn:E,fallbackWarn:f,fallbackFormat:m,unresolving:p,postTranslation:C,processor:d,warnHtmlMessage:_,escapeParameter:g,messageCompiler:N,messageResolver:A,localeFallbacker:T,fallbackContext:L,onWarn:t,__meta:b};return k.datetimeFormats=a,k.numberFormats=i,k.__datetimeFormatters=O,k.__numberFormatters=h,k}function isTranslateFallbackWarn(e,t){return e instanceof RegExp?e.test(t):e}function isTranslateMissingWarn(e,t){return e instanceof RegExp?e.test(t):e}function handleMissing(e,t,r,n,o){const{missing:s,onWarn:a}=e;if(null!==s){const n=s(e,r,t,o);return isString(n)?n:t}return t}function updateFallbackLocale(e,t,r){e.__localeChainCache=new Map,e.localeFallbacker(e,r,t)}function format(e){return t=>formatParts(t,e)}function formatParts(e,t){const r=t.b||t.body;if(1===(r.t||r.type)){const t=r,n=t.c||t.cases;return e.plural(n.reduce(((t,r)=>[...t,formatMessageParts(e,r)]),[]))}return formatMessageParts(e,r)}function formatMessageParts(e,t){const r=t.s||t.static;if(r)return"text"===e.type?r:e.normalize([r]);{const r=(t.i||t.items).reduce(((t,r)=>[...t,formatMessagePart(e,r)]),[]);return e.normalize(r)}}function formatMessagePart(e,t){const r=t.t||t.type;switch(r){case 3:const n=t;return n.v||n.value;case 9:const o=t;return o.v||o.value;case 4:const s=t;return e.interpolate(e.named(s.k||s.key));case 5:const a=t;return e.interpolate(e.list(a.i||a.index));case 6:const i=t,c=i.m||i.modifier;return e.linked(formatMessagePart(e,i.k||i.key),c?formatMessagePart(e,c):void 0,e.type);case 7:const l=t;return l.v||l.value;case 8:const u=t;return u.v||u.value;default:throw new Error(`unhandled node type on format message part: ${r}`)}}const code=CompileErrorCodes.__EXTEND_POINT__,inc=incrementer(code),CoreErrorCodes={INVALID_ARGUMENT:code,INVALID_DATE_ARGUMENT:inc(),INVALID_ISO_DATE_ARGUMENT:inc(),NOT_SUPPORT_NON_STRING_MESSAGE:inc(),__EXTEND_POINT__:inc()};function createCoreError(e){return createCompileError(e,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE;const defaultOnCacheKey=e=>e;let compileCache=Object.create(null);function clearCompileCache(){compileCache=Object.create(null)}const isMessageAST=e=>isObject(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e);function baseCompile(e,t={}){let r=!1;const n=t.onError||defaultOnError;return t.onError=e=>{r=!0,n(e)},{...baseCompile$1(e,t),detectError:r}}const compileToFunction=(e,t)=>{if(!isString(e))throw Error(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);{!isBoolean(t.warnHtmlMessage)||t.warnHtmlMessage;const r=(t.onCacheKey||defaultOnCacheKey)(e),n=compileCache[r];if(n)return n;const{code:o,detectError:s}=baseCompile(e,t),a=new Function(`return ${o}`)();return s?a:compileCache[r]=a}};function compile(e,t){if(isString(e)){!isBoolean(t.warnHtmlMessage)||t.warnHtmlMessage;const r=(t.onCacheKey||defaultOnCacheKey)(e),n=compileCache[r];if(n)return n;const{ast:o,detectError:s}=baseCompile(e,{...t,location:!1,jit:!0}),a=format(o);return s?a:compileCache[r]=a}{const t=e.cacheKey;if(t){const r=compileCache[t];return r||(compileCache[t]=format(e))}return format(e)}}const NOOP_MESSAGE_FUNCTION=()=>"",isMessageFunction=e=>isFunction(e);function translate(e,...t){const{fallbackFormat:r,postTranslation:n,unresolving:o,messageCompiler:s,fallbackLocale:a,messages:i}=e,[c,l]=parseTranslateArgs(...t),u=isBoolean(l.missingWarn)?l.missingWarn:e.missingWarn,E=isBoolean(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=isBoolean(l.escapeParameter)?l.escapeParameter:e.escapeParameter,m=!!l.resolvedMessage,p=isString(l.default)||isBoolean(l.default)?isBoolean(l.default)?s?c:()=>c:l.default:r?s?c:()=>c:"",C=r||""!==p,d=isString(l.locale)?l.locale:e.locale;f&&escapeParams(l);let[_,g,N]=m?[c,d,i[d]||{}]:resolveMessageFormat(e,c,d,a,E,u),A=_,T=c;if(m||isString(A)||isMessageAST(A)||isMessageFunction(A)||C&&(A=p,T=A),!(m||(isString(A)||isMessageAST(A)||isMessageFunction(A))&&isString(g)))return o?-1:c;let L=!1;const S=isMessageFunction(A)?A:compileMessageFormat(e,c,g,A,T,(()=>{L=!0}));if(L)return A;const O=evaluateMessage(e,S,createMessageContext(getMessageContextOptions(e,g,N,l)));return n?n(O,c):O}function escapeParams(e){isArray(e.list)?e.list=e.list.map((e=>isString(e)?escapeHtml(e):e)):isObject(e.named)&&Object.keys(e.named).forEach((t=>{isString(e.named[t])&&(e.named[t]=escapeHtml(e.named[t]))}))}function resolveMessageFormat(e,t,r,n,o,s){const{messages:a,onWarn:i,messageResolver:c,localeFallbacker:l}=e,u=l(e,n,r);let E,f={},m=null;for(let p=0;p<u.length&&(E=u[p],f=a[E]||{},null===(m=c(f,t))&&(m=f[t]),!(isString(m)||isMessageAST(m)||isMessageFunction(m)));p++){const r=handleMissing(e,t,E,s,"translate");r!==t&&(m=r)}return[m,E,f]}function compileMessageFormat(e,t,r,n,o,s){const{messageCompiler:a,warnHtmlMessage:i}=e;if(isMessageFunction(n)){const e=n;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==a){const e=()=>n;return e.locale=r,e.key=t,e}const c=a(n,getCompileContext(e,r,o,n,i,s));return c.locale=r,c.key=t,c.source=n,c}function evaluateMessage(e,t,r){return t(r)}function parseTranslateArgs(...e){const[t,r,n]=e,o={};if(!(isString(t)||isNumber(t)||isMessageFunction(t)||isMessageAST(t)))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const s=isNumber(t)?String(t):(isMessageFunction(t),t);return isNumber(r)?o.plural=r:isString(r)?o.default=r:isPlainObject(r)&&!isEmptyObject(r)?o.named=r:isArray(r)&&(o.list=r),isNumber(n)?o.plural=n:isString(n)?o.default=n:isPlainObject(n)&&assign(o,n),[s,o]}function getCompileContext(e,t,r,n,o,s){return{locale:t,key:r,warnHtmlMessage:o,onError:e=>{throw s&&s(e),e},onCacheKey:e=>generateFormatCacheKey(t,r,e)}}function getMessageContextOptions(e,t,r,n){const{modifiers:o,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:c,missingWarn:l,fallbackContext:u}=e,E={locale:t,modifiers:o,pluralRules:s,messages:n=>{let o=a(r,n);if(null==o&&u){const[,,e]=resolveMessageFormat(u,n,t,i,c,l);o=a(e,n)}if(isString(o)||isMessageAST(o)){let r=!1;const s=compileMessageFormat(e,n,t,o,n,(()=>{r=!0}));return r?NOOP_MESSAGE_FUNCTION:s}return isMessageFunction(o)?o:NOOP_MESSAGE_FUNCTION}};return e.processor&&(E.processor=e.processor),n.list&&(E.list=n.list),n.named&&(E.named=n.named),isNumber(n.plural)&&(E.pluralIndex=n.plural),E}function datetime(e,...t){const{datetimeFormats:r,unresolving:n,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[c,l,u,E]=parseDateTimeArgs(...t),f=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const m=!!u.part,p=isString(u.locale)?u.locale:e.locale,C=a(e,o,p);if(!isString(c)||""===c)return new Intl.DateTimeFormat(p,E).format(l);let d,_={},g=null;for(let T=0;T<C.length&&(d=C[T],_=r[d]||{},g=_[c],!isPlainObject(g));T++)handleMissing(e,c,d,f,"datetime format");if(!isPlainObject(g)||!isString(d))return n?-1:c;let N=`${d}__${c}`;isEmptyObject(E)||(N=`${N}__${JSON.stringify(E)}`);let A=i.get(N);return A||(A=new Intl.DateTimeFormat(d,assign({},g,E)),i.set(N,A)),m?A.formatToParts(l):A.format(l)}const DATETIME_FORMAT_OPTIONS_KEYS=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function parseDateTimeArgs(...e){const[t,r,n,o]=e,s={};let a,i={};if(isString(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);const r=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();a=new Date(r);try{a.toISOString()}catch(c){throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT)}}else if(isDate(t)){if(isNaN(t.getTime()))throw Error(CoreErrorCodes.INVALID_DATE_ARGUMENT);a=t}else{if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);a=t}return isString(r)?s.key=r:isPlainObject(r)&&Object.keys(r).forEach((e=>{DATETIME_FORMAT_OPTIONS_KEYS.includes(e)?i[e]=r[e]:s[e]=r[e]})),isString(n)?s.locale=n:isPlainObject(n)&&(i=n),isPlainObject(o)&&(i=o),[s.key||"",a,s,i]}function clearDateTimeFormat(e,t,r){const n=e;for(const o in r){const e=`${t}__${o}`;n.__datetimeFormatters.has(e)&&n.__datetimeFormatters.delete(e)}}function number(e,...t){const{numberFormats:r,unresolving:n,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[c,l,u,E]=parseNumberArgs(...t),f=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const m=!!u.part,p=isString(u.locale)?u.locale:e.locale,C=a(e,o,p);if(!isString(c)||""===c)return new Intl.NumberFormat(p,E).format(l);let d,_={},g=null;for(let T=0;T<C.length&&(d=C[T],_=r[d]||{},g=_[c],!isPlainObject(g));T++)handleMissing(e,c,d,f,"number format");if(!isPlainObject(g)||!isString(d))return n?-1:c;let N=`${d}__${c}`;isEmptyObject(E)||(N=`${N}__${JSON.stringify(E)}`);let A=i.get(N);return A||(A=new Intl.NumberFormat(d,assign({},g,E)),i.set(N,A)),m?A.formatToParts(l):A.format(l)}const NUMBER_FORMAT_OPTIONS_KEYS=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function parseNumberArgs(...e){const[t,r,n,o]=e,s={};let a={};if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const i=t;return isString(r)?s.key=r:isPlainObject(r)&&Object.keys(r).forEach((e=>{NUMBER_FORMAT_OPTIONS_KEYS.includes(e)?a[e]=r[e]:s[e]=r[e]})),isString(n)?s.locale=n:isPlainObject(n)&&(a=n),isPlainObject(o)&&(a=o),[s.key||"",i,s,a]}function clearNumberFormat(e,t,r){const n=e;for(const o in r){const e=`${t}__${o}`;n.__numberFormatters.has(e)&&n.__numberFormatters.delete(e)}}export{CompileErrorCodes,CoreErrorCodes,CoreWarnCodes,DATETIME_FORMAT_OPTIONS_KEYS,DEFAULT_LOCALE,DEFAULT_MESSAGE_DATA_TYPE,MISSING_RESOLVE_VALUE,NOT_REOSLVED,NUMBER_FORMAT_OPTIONS_KEYS,VERSION,clearCompileCache,clearDateTimeFormat,clearNumberFormat,compile,compileToFunction,createCompileError,createCoreContext,createCoreError,createMessageContext,datetime,fallbackWithLocaleChain,fallbackWithSimple,getAdditionalMeta,getDevToolsHook,getFallbackContext,getWarnMessage,handleMissing,initI18nDevTools,isMessageAST,isMessageFunction,isTranslateFallbackWarn,isTranslateMissingWarn,number,parse,parseDateTimeArgs,parseNumberArgs,parseTranslateArgs,registerLocaleFallbacker,registerMessageCompiler,registerMessageResolver,resolveValue,resolveWithKeyValue,setAdditionalMeta,setDevToolsHook,setFallbackContext,translate,translateDevTools,updateFallbackLocale};
|
|
6
|
+
const RE_ARGS=/\{([0-9a-zA-Z]+)\}/g;function format$1(e,...t){return 1===t.length&&isObject(t[0])&&(t=t[0]),t&&t.hasOwnProperty||(t={}),e.replace(RE_ARGS,((e,r)=>t.hasOwnProperty(r)?t[r]:""))}const generateFormatCacheKey=(e,t,r)=>friendlyJSONstringify({l:e,k:t,s:r}),friendlyJSONstringify=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),isNumber=e=>"number"==typeof e&&isFinite(e),isDate=e=>"[object Date]"===toTypeString(e),isRegExp=e=>"[object RegExp]"===toTypeString(e),isEmptyObject=e=>isPlainObject(e)&&0===Object.keys(e).length,assign=Object.assign;function escapeHtml(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const isArray=Array.isArray,isFunction=e=>"function"==typeof e,isString=e=>"string"==typeof e,isBoolean=e=>"boolean"==typeof e,isObject=e=>null!==e&&"object"==typeof e,objectToString=Object.prototype.toString,toTypeString=e=>objectToString.call(e),isPlainObject=e=>{if(!isObject(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object},toDisplayString=e=>null==e?"":isArray(e)||isPlainObject(e)&&e.toString===objectToString?JSON.stringify(e,null,2):String(e);function join(e,t=""){return e.reduce(((e,r,n)=>0===n?e+r:e+t+r),"")}function incrementer(e){let t=e;return()=>++t}function warn(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}function createPosition(e,t,r){return{line:e,column:t,offset:r}}function createLocation(e,t,r){const n={start:e,end:t};return null!=r&&(n.source=r),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};function createCompileError(e,t,r={}){const{domain:n,messages:o,args:s}=r,a=new SyntaxError(String(e));return a.code=e,t&&(a.location=t),a.domain=n,a}function defaultOnError(e){throw e}CompileErrorCodes.EXPECTED_TOKEN,CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,CompileErrorCodes.UNBALANCED_CLOSING_BRACE,CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,CompileErrorCodes.EMPTY_PLACEHOLDER,CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,CompileErrorCodes.INVALID_LINKED_FORMAT,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE,CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE;const 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 r=0,n=1,o=1,s=0;const a=e=>t[e]===CHAR_CR&&t[e+1]===CHAR_LF,i=e=>t[e]===CHAR_PS,c=e=>t[e]===CHAR_LS,l=e=>a(e)||(e=>t[e]===CHAR_LF)(e)||i(e)||c(e),u=e=>a(e)||i(e)||c(e)?CHAR_LF:t[e];function E(){return s=0,l(r)&&(n++,o=0),a(r)&&r++,r++,o++,t[r]}return{index:()=>r,line:()=>n,column:()=>o,peekOffset:()=>s,charAt:u,currentChar:()=>u(r),currentPeek:()=>u(r+s),next:E,peek:function(){return a(r+s)&&s++,s++,t[r+s]},reset:function(){r=0,n=1,o=1,s=0},resetPeek:function(e=0){s=e},skipToPeek:function(){const e=r+s;for(;e!==r;)E();s=0}}}const EOF=void 0,DOT=".",LITERAL_DELIMITER="'",ERROR_DOMAIN$1="tokenizer";function createTokenizer(e,t={}){const r=!1!==t.location,n=createScanner(e),o=()=>n.index(),s=()=>createPosition(n.line(),n.column(),n.index()),a=s(),i=o(),c={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=t;function E(e,t,n){e.endLoc=s(),e.currentType=t;const o={type:t};return r&&(o.loc=createLocation(e.startLoc,e.endLoc)),null!=n&&(o.value=n),o}const f=e=>E(e,14);function m(e,t){return e.currentChar()===t?(e.next(),t):(CompileErrorCodes.EXPECTED_TOKEN,s(),"")}function p(e){let t="";for(;e.currentPeek()===CHAR_SP||e.currentPeek()===CHAR_LF;)t+=e.currentPeek(),e.peek();return t}function C(e){const t=p(e);return e.skipToPeek(),t}function d(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:r}=t;if(2!==r)return!1;p(e);const n=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(),n}function g(e){p(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function N(e,t=!0){const r=(t=!1,n="",o=!1)=>{const s=e.currentPeek();return"{"===s?"%"!==n&&t:"@"!==s&&s?"%"===s?(e.peek(),r(t,"%",!0)):"|"===s?!("%"!==n&&!o)||!(n===CHAR_SP||n===CHAR_LF):s===CHAR_SP?(e.peek(),r(!0,CHAR_SP,o)):s!==CHAR_LF||(e.peek(),r(!0,CHAR_LF,o)):"%"===n||t},n=r();return t&&e.resetPeek(),n}function A(e,t){const r=e.currentChar();return r===EOF?EOF:t(r)?(e.next(),r):null}function T(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function L(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function S(e){return A(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function O(e){let t="",r="";for(;t=L(e);)r+=t;return r}function h(e){let t="";for(;;){const r=e.currentChar();if("{"===r||"}"===r||"@"===r||"|"===r||!r)break;if("%"===r){if(!N(e))break;t+=r,e.next()}else if(r===CHAR_SP||r===CHAR_LF)if(N(e))t+=r,e.next();else{if(g(e))break;t+=r,e.next()}else t+=r,e.next()}return t}function b(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return k(e,t,4);case"U":return k(e,t,6);default:return CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,s(),""}}function k(e,t,r){m(e,t);let n="";for(let o=0;o<r;o++){const t=S(e);if(!t){CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),e.currentChar();break}n+=t}return`\\${t}${n}`}function I(e){C(e);const t=m(e,"|");return C(e),t}function M(e,t){let r=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,s()),e.next(),r=E(t,2,"{"),C(e),t.braceNest++,r;case"}":return t.braceNest>0&&2===t.currentType&&(CompileErrorCodes.EMPTY_PLACEHOLDER,s()),e.next(),r=E(t,3,"}"),t.braceNest--,t.braceNest>0&&C(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),r;case"@":return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r=y(e,t)||f(t),t.braceNest=0,r;default:let n=!0,o=!0,a=!0;if(g(e))return t.braceNest>0&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,r;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s(),t.braceNest=0,P(e,t);if(n=function(e,t){const{currentType:r}=t;if(2!==r)return!1;p(e);const n=d(e.currentPeek());return e.resetPeek(),n}(e,t))return r=E(t,5,function(e){C(e);let t="",r="";for(;t=T(e);)r+=t;return e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),r}(e)),C(e),r;if(o=_(e,t))return r=E(t,6,function(e){C(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${O(e)}`):t+=O(e),e.currentChar()===EOF&&(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,s()),t}(e)),C(e),r;if(a=function(e,t){const{currentType:r}=t;if(2!==r)return!1;p(e);const n=e.currentPeek()===LITERAL_DELIMITER;return e.resetPeek(),n}(e,t))return r=E(t,7,function(e){C(e),m(e,"'");let t="",r="";const n=e=>e!==LITERAL_DELIMITER&&e!==CHAR_LF;for(;t=A(e,n);)r+="\\"===t?b(e):t;const o=e.currentChar();return o===CHAR_LF||o===EOF?(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),o===CHAR_LF&&(e.next(),m(e,"'")),r):(m(e,"'"),r)}(e)),C(e),r;if(!n&&!o&&!a)return r=E(t,13,function(e){C(e);let t="",r="";const n=e=>"{"!==e&&"}"!==e&&e!==CHAR_SP&&e!==CHAR_LF;for(;t=A(e,n);)r+=t;return r}(e)),CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,s(),r.value,C(e),r}return r}function y(e,t){const{currentType:r}=t;let n=null;const o=e.currentChar();switch(8!==r&&9!==r&&12!==r&&10!==r||o!==CHAR_LF&&o!==CHAR_SP||(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),o){case"@":return e.next(),n=E(t,8,"@"),t.inLinked=!0,n;case".":return C(e),e.next(),E(t,9,".");case":":return C(e),e.next(),E(t,10,":");default:return g(e)?(n=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,n):function(e,t){const{currentType:r}=t;if(8!==r)return!1;p(e);const n="."===e.currentPeek();return e.resetPeek(),n}(e,t)||function(e,t){const{currentType:r}=t;if(8!==r&&12!==r)return!1;p(e);const n=":"===e.currentPeek();return e.resetPeek(),n}(e,t)?(C(e),y(e,t)):function(e,t){const{currentType:r}=t;if(9!==r)return!1;p(e);const n=d(e.currentPeek());return e.resetPeek(),n}(e,t)?(C(e),E(t,12,function(e){let t="",r="";for(;t=T(e);)r+=t;return r}(e))):function(e,t){const{currentType:r}=t;if(10!==r)return!1;const n=()=>{const t=e.currentPeek();return"{"===t?d(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===CHAR_SP||!t)&&(t===CHAR_LF?(e.peek(),n()):d(t))},o=n();return e.resetPeek(),o}(e,t)?(C(e),"{"===o?M(e,t)||n:E(t,11,function(e){const t=(r=!1,n)=>{const o=e.currentChar();return"{"!==o&&"%"!==o&&"@"!==o&&"|"!==o&&"("!==o&&")"!==o&&o?o===CHAR_SP?n:o===CHAR_LF||o===DOT?(n+=o,e.next(),t(r,n)):(n+=o,e.next(),t(!0,n)):n};return t(!1,"")}(e))):(8===r&&(CompileErrorCodes.INVALID_LINKED_FORMAT,s()),t.braceNest=0,t.inLinked=!1,P(e,t))}}function P(e,t){let r={type:14};if(t.braceNest>0)return M(e,t)||f(t);if(t.inLinked)return y(e,t)||f(t);switch(e.currentChar()){case"{":return M(e,t)||f(t);case"}":return CompileErrorCodes.UNBALANCED_CLOSING_BRACE,s(),e.next(),E(t,3,"}");case"@":return y(e,t)||f(t);default:if(g(e))return r=E(t,1,I(e)),t.braceNest=0,t.inLinked=!1,r;const{isModulo:n,hasSpace:o}=function(e){const t=p(e),r="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:r,hasSpace:t.length>0}}(e);if(n)return o?E(t,0,h(e)):E(t,4,function(e){C(e);const t=e.currentChar();return"%"!==t&&(CompileErrorCodes.EXPECTED_TOKEN,s()),e.next(),"%"}(e));if(N(e))return E(t,0,h(e))}return r}return{nextToken:function(){const{currentType:e,offset:t,startLoc:r,endLoc:a}=c;return c.lastType=e,c.lastOffset=t,c.lastStartLoc=r,c.lastEndLoc=a,c.offset=o(),c.startLoc=s(),n.currentChar()===EOF?E(c,14):P(n,c)},currentOffset:o,currentPosition:s,context:l}}const ERROR_DOMAIN="parser",KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(e,t,r){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||r,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function createParser(e={}){const t=!1!==e.location,{onError:r}=e;function n(e,r,n){const o={type:e};return t&&(o.start=r,o.end=r,o.loc={start:n,end:n}),o}function o(e,r,n,o){o&&(e.type=o),t&&(e.end=r,e.loc&&(e.loc.end=n))}function s(e,t){const r=e.context(),s=n(3,r.offset,r.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}function a(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(5,s,a);return i.index=parseInt(t,10),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function i(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(4,s,a);return i.key=t,e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function c(e,t){const r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(9,s,a);return i.value=t.replace(KNOWN_ESCAPES,fromEscapeSequence),e.nextToken(),o(i,e.currentOffset(),e.currentPosition()),i}function l(e){const t=e.context(),r=n(6,t.offset,t.startLoc);let s=e.nextToken();if(9===s.type){const t=function(e){const t=e.nextToken(),r=e.context(),{lastOffset:s,lastStartLoc:a}=r,i=n(8,s,a);return 12!==t.type?(CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,r.lastStartLoc,i.value="",o(i,s,a),{nextConsumeToken:t,node:i}):(null==t.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,r.lastStartLoc,getTokenCaption(t)),i.value=t.value||"",o(i,e.currentOffset(),e.currentPosition()),{node:i})}(e);r.modifier=t.node,s=t.nextConsumeToken||e.nextToken()}switch(10!==s.type&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),s=e.nextToken(),2===s.type&&(s=e.nextToken()),s.type){case 11:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=function(e,t){const r=e.context(),s=n(7,r.offset,r.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}(e,s.value||"");break;case 5:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=i(e,s.value||"");break;case 6:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=a(e,s.value||"");break;case 7:null==s.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(s)),r.key=c(e,s.value||"");break;default:CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const l=e.context(),u=n(7,l.offset,l.startLoc);return u.value="",o(u,l.offset,l.startLoc),r.key=u,o(r,l.offset,l.startLoc),{nextConsumeToken:s,node:r}}return o(r,e.currentOffset(),e.currentPosition()),{node:r}}function u(e){const t=e.context(),r=n(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);r.items=[];let u=null;do{const n=u||e.nextToken();switch(u=null,n.type){case 0:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(s(e,n.value||""));break;case 6:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(a(e,n.value||""));break;case 5:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(i(e,n.value||""));break;case 7:null==n.value&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,getTokenCaption(n)),r.items.push(c(e,n.value||""));break;case 8:const o=l(e);r.items.push(o.node),u=o.nextConsumeToken||null}}while(14!==t.currentType&&1!==t.currentType);return o(r,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),r}function E(e){const t=e.context(),{offset:r,startLoc:s}=t,a=u(e);return 14===t.currentType?a:function(e,t,r,s){const a=e.context();let i=0===s.items.length;const c=n(1,t,r);c.cases=[],c.cases.push(s);do{const t=u(e);i||(i=0===t.items.length),c.cases.push(t)}while(14!==a.currentType);return i&&CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,o(c,e.currentOffset(),e.currentPosition()),c}(e,r,s,a)}return{parse:function(r){const s=createTokenizer(r,assign({},e)),a=s.context(),i=n(0,a.offset,a.startLoc);return t&&i.loc&&(i.loc.source=r),i.body=E(s),e.onCacheKey&&(i.cacheKey=e.onCacheKey(r)),14!==a.currentType&&(CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,a.lastStartLoc,r[a.offset]),o(i,s.currentOffset(),s.currentPosition()),i}}}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 r={ast:e,helpers:new Set};return{context:()=>r,helper:e=>(r.helpers.add(e),e)}}function traverseNodes(e,t){for(let r=0;r<e.length;r++)traverseNode(e[r],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 r=createTransformer(e);r.helper("normalize"),e.body&&traverseNode(e.body,r);const n=r.context();e.helpers=Array.from(n.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 r=0;r<e.items.length;r++){const n=e.items[r];if(3!==n.type&&9!==n.type)break;if(null==n.value)break;t.push(n.value)}if(t.length===e.items.length){e.static=join(t);for(let t=0;t<e.items.length;t++){const r=e.items[t];3!==r.type&&9!==r.type||delete r.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 r=e,n=r.cases;for(let e=0;e<n.length;e++)minify(n[e]);r.c=n,delete r.cases;break;case 2:const o=e,s=o.items;for(let e=0;e<s.length;e++)minify(s[e]);o.i=s,delete o.items,o.static&&(o.s=o.static,delete o.static);break;case 3:case 9:case 8:case 7:const a=e;a.value&&(a.v=a.value,delete a.value);break;case 6:const i=e;minify(i.key),i.k=i.key,delete i.key,i.modifier&&(minify(i.modifier),i.m=i.modifier,delete i.modifier);break;case 5:const c=e;c.i=c.index,delete c.index;break;case 4:const l=e;l.k=l.key,delete l.key}delete e.type}function createCodeGenerator(e,t){const{sourceMap:r,filename:n,breakLineCode:o,needIndent:s}=t,a=!1!==t.location,i={filename:n,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:s,indentLevel:0};a&&e.loc&&(i.source=e.loc.source);function c(e,t){i.code+=e}function l(e,t=!0){const r=t?o:"";c(s?r+" ".repeat(e):r)}return{context:()=>i,push:c,indent:function(e=!0){const t=++i.indentLevel;e&&l(t)},deindent:function(e=!0){const t=--i.indentLevel;e&&l(t)},newline:function(){l(i.indentLevel)},helper:e=>`_${e}`,needIndent:()=>i.needIndent}}function generateLinkedNode(e,t){const{helper:r}=e;e.push(`${r("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:r,needIndent:n}=e;e.push(`${r("normalize")}([`),e.indent(n());const o=t.items.length;for(let s=0;s<o&&(generateNode(e,t.items[s]),s!==o-1);s++)e.push(", ");e.deindent(n()),e.push("])")}function generatePluralNode(e,t){const{helper:r,needIndent:n}=e;if(t.cases.length>1){e.push(`${r("plural")}([`),e.indent(n());const o=t.cases.length;for(let r=0;r<o&&(generateNode(e,t.cases[r]),r!==o-1);r++)e.push(", ");e.deindent(n()),e.push("])")}}function generateResource(e,t){t.body?generateNode(e,t.body):e.push("null")}function generateNode(e,t){const{helper:r}=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(`${r("interpolate")}(${r("list")}(${t.index}))`,t);break;case 4:e.push(`${r("interpolate")}(${r("named")}(${JSON.stringify(t.key)}))`,t)}}const generate=(e,t={})=>{const r=isString(t.mode)?t.mode:"normal",n=isString(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,s=null!=t.breakLineCode?t.breakLineCode:"arrow"===r?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==r,i=e.helpers||[],c=createCodeGenerator(e,{mode:r,filename:n,sourceMap:o,breakLineCode:s,needIndent:a});c.push("normal"===r?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(a),i.length>0&&(c.push(`const { ${join(i.map((e=>`${e}: _${e}`)),", ")} } = ctx`),c.newline()),c.push("return "),generateNode(c,e),c.deindent(a),c.push("}"),delete e.helpers;const{code:l,map:u}=c.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function baseCompile$1(e,t={}){const r=assign({},t),n=!!r.jit,o=!!r.minify,s=null==r.optimize||r.optimize,a=createParser(r).parse(e);return n?(s&&optimize(a),o&&minify(a),{ast:a,code:""}):(transform(a,r),generate(a,r))}const pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};const literalValueRE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function isLiteral(e){return literalValueRE.test(e)}function stripQuotes(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}function getPathCharType(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function formatSubPath(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(isLiteral(t)?stripQuotes(t):"*"+t)}function parse(e){const t=[];let r,n,o,s,a,i,c,l=-1,u=0,E=0;const f=[];function m(){const t=e[l+1];if(5===u&&"'"===t||6===u&&'"'===t)return l++,o="\\"+t,f[0](),!0}for(f[0]=()=>{void 0===n?n=o:n+=o},f[1]=()=>{void 0!==n&&(t.push(n),n=void 0)},f[2]=()=>{f[0](),E++},f[3]=()=>{if(E>0)E--,u=4,f[0]();else{if(E=0,void 0===n)return!1;if(n=formatSubPath(n),!1===n)return!1;f[1]()}};null!==u;)if(l++,r=e[l],"\\"!==r||!m()){if(s=getPathCharType(r),c=pathStateMachine[u],a=c[s]||c.l||8,8===a)return;if(u=a[0],void 0!==a[1]&&(i=f[a[1]],i&&(o=r,!1===i())))return;if(7===u)return t}}const cache=new Map;function resolveWithKeyValue(e,t){return isObject(e)?e[t]:null}function resolveValue(e,t){if(!isObject(e))return null;let r=cache.get(t);if(r||(r=parse(t),r&&cache.set(t,r)),!r)return null;const n=r.length;let o=e,s=0;for(;s<n;){const e=o[r[s]];if(void 0===e)return null;o=e,s++}return o}const DEFAULT_MODIFIER=e=>e,DEFAULT_MESSAGE=e=>"",DEFAULT_MESSAGE_DATA_TYPE="text",DEFAULT_NORMALIZE=e=>0===e.length?"":join(e),DEFAULT_INTERPOLATE=toDisplayString;function pluralDefault(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function getPluralIndex(e){const t=isNumber(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(isNumber(e.named.count)||isNumber(e.named.n))?isNumber(e.named.count)?e.named.count:isNumber(e.named.n)?e.named.n:t:t}function normalizeNamed(e,t){t.count||(t.count=e),t.n||(t.n=e)}function createMessageContext(e={}){const t=e.locale,r=getPluralIndex(e),n=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?e.pluralRules[t]:pluralDefault,o=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?pluralDefault:void 0,s=e.list||[],a=e.named||{};isNumber(e.pluralIndex)&&normalizeNamed(r,a);function i(t){const r=isFunction(e.messages)?e.messages(t):!!isObject(e.messages)&&e.messages[t];return r||(e.parent?e.parent.message(t):DEFAULT_MESSAGE)}const c=isPlainObject(e.processor)&&isFunction(e.processor.normalize)?e.processor.normalize:DEFAULT_NORMALIZE,l=isPlainObject(e.processor)&&isFunction(e.processor.interpolate)?e.processor.interpolate:DEFAULT_INTERPOLATE,u={list:e=>s[e],named:e=>a[e],plural:e=>e[n(r,e.length,o)],linked:(t,...r)=>{const[n,o]=r;let s="text",a="";1===r.length?isObject(n)?(a=n.modifier||a,s=n.type||s):isString(n)&&(a=n||a):2===r.length&&(isString(n)&&(a=n||a),isString(o)&&(s=o||s));const c=i(t)(u),l="vnode"===s&&isArray(c)&&a?c[0]:c;return a?(E=a,e.modifiers?e.modifiers[E]:DEFAULT_MODIFIER)(l,s):l;var E},message:i,type:isPlainObject(e.processor)&&isString(e.processor.type)?e.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate:l,normalize:c,values:assign({},s,a)};return u}let devtools=null;function setDevToolsHook(e){devtools=e}function getDevToolsHook(){return devtools}function initI18nDevTools(e,t,r){devtools&&devtools.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:r})}const translateDevTools=createDevToolsHook("function:translate");function createDevToolsHook(e){return t=>devtools&&devtools.emit(e,t)}const CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7,__EXTEND_POINT__:8},warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[CoreWarnCodes.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function getWarnMessage(e,...t){return format$1(warnMessages[e],...t)}function getLocale(e,t){return null!=t.locale?resolveLocale(t.locale):resolveLocale(e.locale)}let _resolveLocale;function resolveLocale(e){return isString(e)?e:null!=_resolveLocale&&e.resolvedOnce?_resolveLocale:_resolveLocale=e()}function fallbackWithSimple(e,t,r){return[...new Set([r,...isArray(t)?t:isObject(t)?Object.keys(t):isString(t)?[t]:[r]])]}function fallbackWithLocaleChain(e,t,r){const n=isString(r)?r:DEFAULT_LOCALE,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let s=o.__localeChainCache.get(n);if(!s){s=[];let e=[r];for(;isArray(e);)e=appendBlockToChain(s,e,t);const a=isArray(t)||!isPlainObject(t)?t:t.default?t.default:null;e=isString(a)?[a]:a,isArray(e)&&appendBlockToChain(s,e,!1),o.__localeChainCache.set(n,s)}return s}function appendBlockToChain(e,t,r){let n=!0;for(let o=0;o<t.length&&isBoolean(n);o++){const s=t[o];isString(s)&&(n=appendLocaleToChain(e,t[o],r))}return n}function appendLocaleToChain(e,t,r){let n;const o=t.split("-");do{n=appendItemToChain(e,o.join("-"),r),o.splice(-1,1)}while(o.length&&!0===n);return n}function appendItemToChain(e,t,r){let n=!1;if(!e.includes(t)&&(n=!0,t)){n="!"!==t[t.length-1];const o=t.replace(/!/g,"");e.push(o),(isArray(r)||isPlainObject(r))&&r[o]&&(n=r[o])}return n}const VERSION="9.5.0",NOT_REOSLVED=-1,DEFAULT_LOCALE="en-US",MISSING_RESOLVE_VALUE="",capitalize=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(e,t)=>"text"===t&&isString(e)?e.toUpperCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&isString(e)?e.toLowerCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&isString(e)?capitalize(e):"vnode"===t&&isObject(e)&&"__v_isVNode"in e?capitalize(e.children):e}}let _compiler,_resolver,_fallbacker;function registerMessageCompiler(e){_compiler=e}function registerMessageResolver(e){_resolver=e}function registerLocaleFallbacker(e){_fallbacker=e}let _additionalMeta=null;const setAdditionalMeta=e=>{_additionalMeta=e},getAdditionalMeta=()=>_additionalMeta;let _fallbackContext=null;const setFallbackContext=e=>{_fallbackContext=e},getFallbackContext=()=>_fallbackContext;let _cid=0;function createCoreContext(e={}){const t=isFunction(e.onWarn)?e.onWarn:warn,r=isString(e.version)?e.version:"9.5.0",n=isString(e.locale)||isFunction(e.locale)?e.locale:DEFAULT_LOCALE,o=isFunction(n)?DEFAULT_LOCALE:n,s=isArray(e.fallbackLocale)||isPlainObject(e.fallbackLocale)||isString(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:o,a=isPlainObject(e.messages)?e.messages:{[o]:{}},i=isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[o]:{}},c=isPlainObject(e.numberFormats)?e.numberFormats:{[o]:{}},l=assign({},e.modifiers||{},getDefaultLinkedModifiers()),u=e.pluralRules||{},E=isFunction(e.missing)?e.missing:null,f=!isBoolean(e.missingWarn)&&!isRegExp(e.missingWarn)||e.missingWarn,m=!isBoolean(e.fallbackWarn)&&!isRegExp(e.fallbackWarn)||e.fallbackWarn,p=!!e.fallbackFormat,C=!!e.unresolving,d=isFunction(e.postTranslation)?e.postTranslation:null,_=isPlainObject(e.processor)?e.processor:null,g=!isBoolean(e.warnHtmlMessage)||e.warnHtmlMessage,N=!!e.escapeParameter,A=isFunction(e.messageCompiler)?e.messageCompiler:_compiler,T=isFunction(e.messageResolver)?e.messageResolver:_resolver||resolveWithKeyValue,L=isFunction(e.localeFallbacker)?e.localeFallbacker:_fallbacker||fallbackWithSimple,S=isObject(e.fallbackContext)?e.fallbackContext:void 0,O=e,h=isObject(O.__datetimeFormatters)?O.__datetimeFormatters:new Map,b=isObject(O.__numberFormatters)?O.__numberFormatters:new Map,k=isObject(O.__meta)?O.__meta:{};_cid++;const I={version:r,cid:_cid,locale:n,fallbackLocale:s,messages:a,modifiers:l,pluralRules:u,missing:E,missingWarn:f,fallbackWarn:m,fallbackFormat:p,unresolving:C,postTranslation:d,processor:_,warnHtmlMessage:g,escapeParameter:N,messageCompiler:A,messageResolver:T,localeFallbacker:L,fallbackContext:S,onWarn:t,__meta:k};return I.datetimeFormats=i,I.numberFormats=c,I.__datetimeFormatters=h,I.__numberFormatters=b,I}function isTranslateFallbackWarn(e,t){return e instanceof RegExp?e.test(t):e}function isTranslateMissingWarn(e,t){return e instanceof RegExp?e.test(t):e}function handleMissing(e,t,r,n,o){const{missing:s,onWarn:a}=e;if(null!==s){const n=s(e,r,t,o);return isString(n)?n:t}return t}function updateFallbackLocale(e,t,r){e.__localeChainCache=new Map,e.localeFallbacker(e,r,t)}function format(e){return t=>formatParts(t,e)}function formatParts(e,t){const r=t.b||t.body;if(1===(r.t||r.type)){const t=r,n=t.c||t.cases;return e.plural(n.reduce(((t,r)=>[...t,formatMessageParts(e,r)]),[]))}return formatMessageParts(e,r)}function formatMessageParts(e,t){const r=t.s||t.static;if(r)return"text"===e.type?r:e.normalize([r]);{const r=(t.i||t.items).reduce(((t,r)=>[...t,formatMessagePart(e,r)]),[]);return e.normalize(r)}}function formatMessagePart(e,t){const r=t.t||t.type;switch(r){case 3:const n=t;return n.v||n.value;case 9:const o=t;return o.v||o.value;case 4:const s=t;return e.interpolate(e.named(s.k||s.key));case 5:const a=t;return e.interpolate(e.list(null!=a.i?a.i:a.index));case 6:const i=t,c=i.m||i.modifier;return e.linked(formatMessagePart(e,i.k||i.key),c?formatMessagePart(e,c):void 0,e.type);case 7:const l=t;return l.v||l.value;case 8:const u=t;return u.v||u.value;default:throw new Error(`unhandled node type on format message part: ${r}`)}}const code=CompileErrorCodes.__EXTEND_POINT__,inc=incrementer(code),CoreErrorCodes={INVALID_ARGUMENT:code,INVALID_DATE_ARGUMENT:inc(),INVALID_ISO_DATE_ARGUMENT:inc(),NOT_SUPPORT_NON_STRING_MESSAGE:inc(),__EXTEND_POINT__:inc()};function createCoreError(e){return createCompileError(e,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE;const defaultOnCacheKey=e=>e;let compileCache=Object.create(null);function clearCompileCache(){compileCache=Object.create(null)}const isMessageAST=e=>isObject(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e);function baseCompile(e,t={}){let r=!1;const n=t.onError||defaultOnError;return t.onError=e=>{r=!0,n(e)},{...baseCompile$1(e,t),detectError:r}}const compileToFunction=(e,t)=>{if(!isString(e))throw Error(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);{!isBoolean(t.warnHtmlMessage)||t.warnHtmlMessage;const r=(t.onCacheKey||defaultOnCacheKey)(e),n=compileCache[r];if(n)return n;const{code:o,detectError:s}=baseCompile(e,t),a=new Function(`return ${o}`)();return s?a:compileCache[r]=a}};function compile(e,t){if(isString(e)){!isBoolean(t.warnHtmlMessage)||t.warnHtmlMessage;const r=(t.onCacheKey||defaultOnCacheKey)(e),n=compileCache[r];if(n)return n;const{ast:o,detectError:s}=baseCompile(e,{...t,location:!1,jit:!0}),a=format(o);return s?a:compileCache[r]=a}{const t=e.cacheKey;if(t){const r=compileCache[t];return r||(compileCache[t]=format(e))}return format(e)}}const NOOP_MESSAGE_FUNCTION=()=>"",isMessageFunction=e=>isFunction(e);function translate(e,...t){const{fallbackFormat:r,postTranslation:n,unresolving:o,messageCompiler:s,fallbackLocale:a,messages:i}=e,[c,l]=parseTranslateArgs(...t),u=isBoolean(l.missingWarn)?l.missingWarn:e.missingWarn,E=isBoolean(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=isBoolean(l.escapeParameter)?l.escapeParameter:e.escapeParameter,m=!!l.resolvedMessage,p=isString(l.default)||isBoolean(l.default)?isBoolean(l.default)?s?c:()=>c:l.default:r?s?c:()=>c:"",C=r||""!==p,d=getLocale(e,l);f&&escapeParams(l);let[_,g,N]=m?[c,d,i[d]||{}]:resolveMessageFormat(e,c,d,a,E,u),A=_,T=c;if(m||isString(A)||isMessageAST(A)||isMessageFunction(A)||C&&(A=p,T=A),!(m||(isString(A)||isMessageAST(A)||isMessageFunction(A))&&isString(g)))return o?-1:c;let L=!1;const S=isMessageFunction(A)?A:compileMessageFormat(e,c,g,A,T,(()=>{L=!0}));if(L)return A;const O=evaluateMessage(e,S,createMessageContext(getMessageContextOptions(e,g,N,l)));return n?n(O,c):O}function escapeParams(e){isArray(e.list)?e.list=e.list.map((e=>isString(e)?escapeHtml(e):e)):isObject(e.named)&&Object.keys(e.named).forEach((t=>{isString(e.named[t])&&(e.named[t]=escapeHtml(e.named[t]))}))}function resolveMessageFormat(e,t,r,n,o,s){const{messages:a,onWarn:i,messageResolver:c,localeFallbacker:l}=e,u=l(e,n,r);let E,f={},m=null;for(let p=0;p<u.length&&(E=u[p],f=a[E]||{},null===(m=c(f,t))&&(m=f[t]),!(isString(m)||isMessageAST(m)||isMessageFunction(m)));p++){const r=handleMissing(e,t,E,s,"translate");r!==t&&(m=r)}return[m,E,f]}function compileMessageFormat(e,t,r,n,o,s){const{messageCompiler:a,warnHtmlMessage:i}=e;if(isMessageFunction(n)){const e=n;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==a){const e=()=>n;return e.locale=r,e.key=t,e}const c=a(n,getCompileContext(e,r,o,n,i,s));return c.locale=r,c.key=t,c.source=n,c}function evaluateMessage(e,t,r){return t(r)}function parseTranslateArgs(...e){const[t,r,n]=e,o={};if(!(isString(t)||isNumber(t)||isMessageFunction(t)||isMessageAST(t)))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const s=isNumber(t)?String(t):(isMessageFunction(t),t);return isNumber(r)?o.plural=r:isString(r)?o.default=r:isPlainObject(r)&&!isEmptyObject(r)?o.named=r:isArray(r)&&(o.list=r),isNumber(n)?o.plural=n:isString(n)?o.default=n:isPlainObject(n)&&assign(o,n),[s,o]}function getCompileContext(e,t,r,n,o,s){return{locale:t,key:r,warnHtmlMessage:o,onError:e=>{throw s&&s(e),e},onCacheKey:e=>generateFormatCacheKey(t,r,e)}}function getMessageContextOptions(e,t,r,n){const{modifiers:o,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:c,missingWarn:l,fallbackContext:u}=e,E={locale:t,modifiers:o,pluralRules:s,messages:n=>{let o=a(r,n);if(null==o&&u){const[,,e]=resolveMessageFormat(u,n,t,i,c,l);o=a(e,n)}if(isString(o)||isMessageAST(o)){let r=!1;const s=compileMessageFormat(e,n,t,o,n,(()=>{r=!0}));return r?NOOP_MESSAGE_FUNCTION:s}return isMessageFunction(o)?o:NOOP_MESSAGE_FUNCTION}};return e.processor&&(E.processor=e.processor),n.list&&(E.list=n.list),n.named&&(E.named=n.named),isNumber(n.plural)&&(E.pluralIndex=n.plural),E}function datetime(e,...t){const{datetimeFormats:r,unresolving:n,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[c,l,u,E]=parseDateTimeArgs(...t),f=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const m=!!u.part,p=getLocale(e,u),C=a(e,o,p);if(!isString(c)||""===c)return new Intl.DateTimeFormat(p,E).format(l);let d,_={},g=null;for(let T=0;T<C.length&&(d=C[T],_=r[d]||{},g=_[c],!isPlainObject(g));T++)handleMissing(e,c,d,f,"datetime format");if(!isPlainObject(g)||!isString(d))return n?-1:c;let N=`${d}__${c}`;isEmptyObject(E)||(N=`${N}__${JSON.stringify(E)}`);let A=i.get(N);return A||(A=new Intl.DateTimeFormat(d,assign({},g,E)),i.set(N,A)),m?A.formatToParts(l):A.format(l)}const DATETIME_FORMAT_OPTIONS_KEYS=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function parseDateTimeArgs(...e){const[t,r,n,o]=e,s={};let a,i={};if(isString(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);const r=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();a=new Date(r);try{a.toISOString()}catch(c){throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT)}}else if(isDate(t)){if(isNaN(t.getTime()))throw Error(CoreErrorCodes.INVALID_DATE_ARGUMENT);a=t}else{if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);a=t}return isString(r)?s.key=r:isPlainObject(r)&&Object.keys(r).forEach((e=>{DATETIME_FORMAT_OPTIONS_KEYS.includes(e)?i[e]=r[e]:s[e]=r[e]})),isString(n)?s.locale=n:isPlainObject(n)&&(i=n),isPlainObject(o)&&(i=o),[s.key||"",a,s,i]}function clearDateTimeFormat(e,t,r){const n=e;for(const o in r){const e=`${t}__${o}`;n.__datetimeFormatters.has(e)&&n.__datetimeFormatters.delete(e)}}function number(e,...t){const{numberFormats:r,unresolving:n,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[c,l,u,E]=parseNumberArgs(...t),f=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const m=!!u.part,p=getLocale(e,u),C=a(e,o,p);if(!isString(c)||""===c)return new Intl.NumberFormat(p,E).format(l);let d,_={},g=null;for(let T=0;T<C.length&&(d=C[T],_=r[d]||{},g=_[c],!isPlainObject(g));T++)handleMissing(e,c,d,f,"number format");if(!isPlainObject(g)||!isString(d))return n?-1:c;let N=`${d}__${c}`;isEmptyObject(E)||(N=`${N}__${JSON.stringify(E)}`);let A=i.get(N);return A||(A=new Intl.NumberFormat(d,assign({},g,E)),i.set(N,A)),m?A.formatToParts(l):A.format(l)}const NUMBER_FORMAT_OPTIONS_KEYS=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function parseNumberArgs(...e){const[t,r,n,o]=e,s={};let a={};if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const i=t;return isString(r)?s.key=r:isPlainObject(r)&&Object.keys(r).forEach((e=>{NUMBER_FORMAT_OPTIONS_KEYS.includes(e)?a[e]=r[e]:s[e]=r[e]})),isString(n)?s.locale=n:isPlainObject(n)&&(a=n),isPlainObject(o)&&(a=o),[s.key||"",i,s,a]}function clearNumberFormat(e,t,r){const n=e;for(const o in r){const e=`${t}__${o}`;n.__numberFormatters.has(e)&&n.__numberFormatters.delete(e)}}export{CompileErrorCodes,CoreErrorCodes,CoreWarnCodes,DATETIME_FORMAT_OPTIONS_KEYS,DEFAULT_LOCALE,DEFAULT_MESSAGE_DATA_TYPE,MISSING_RESOLVE_VALUE,NOT_REOSLVED,NUMBER_FORMAT_OPTIONS_KEYS,VERSION,clearCompileCache,clearDateTimeFormat,clearNumberFormat,compile,compileToFunction,createCompileError,createCoreContext,createCoreError,createMessageContext,datetime,fallbackWithLocaleChain,fallbackWithSimple,getAdditionalMeta,getDevToolsHook,getFallbackContext,getLocale,getWarnMessage,handleMissing,initI18nDevTools,isMessageAST,isMessageFunction,isTranslateFallbackWarn,isTranslateMissingWarn,number,parse,parseDateTimeArgs,parseNumberArgs,parseTranslateArgs,registerLocaleFallbacker,registerMessageCompiler,registerMessageResolver,resolveLocale,resolveValue,resolveWithKeyValue,setAdditionalMeta,setDevToolsHook,setFallbackContext,translate,translateDevTools,updateFallbackLocale};
|
package/dist/core-base.global.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -2098,6 +2098,22 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
2098
2098
|
return format$1(warnMessages[code], ...args);
|
|
2099
2099
|
}
|
|
2100
2100
|
|
|
2101
|
+
/** @internal */
|
|
2102
|
+
function getLocale(context, options) {
|
|
2103
|
+
return options.locale != null
|
|
2104
|
+
? resolveLocale(options.locale)
|
|
2105
|
+
: resolveLocale(context.locale);
|
|
2106
|
+
}
|
|
2107
|
+
let _resolveLocale;
|
|
2108
|
+
/** @internal */
|
|
2109
|
+
function resolveLocale(locale) {
|
|
2110
|
+
// prettier-ignore
|
|
2111
|
+
return isString(locale)
|
|
2112
|
+
? locale
|
|
2113
|
+
: _resolveLocale != null && locale.resolvedOnce
|
|
2114
|
+
? _resolveLocale
|
|
2115
|
+
: (_resolveLocale = locale());
|
|
2116
|
+
}
|
|
2101
2117
|
/**
|
|
2102
2118
|
* Fallback with simple implemenation
|
|
2103
2119
|
*
|
|
@@ -2219,7 +2235,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
2219
2235
|
* Intlify core-base version
|
|
2220
2236
|
* @internal
|
|
2221
2237
|
*/
|
|
2222
|
-
const VERSION = '9.
|
|
2238
|
+
const VERSION = '9.5.0';
|
|
2223
2239
|
const NOT_REOSLVED = -1;
|
|
2224
2240
|
const DEFAULT_LOCALE = 'en-US';
|
|
2225
2241
|
const MISSING_RESOLVE_VALUE = '';
|
|
@@ -2295,23 +2311,26 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
2295
2311
|
// setup options
|
|
2296
2312
|
const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
|
|
2297
2313
|
const version = isString(options.version) ? options.version : VERSION;
|
|
2298
|
-
const locale = isString(options.locale)
|
|
2314
|
+
const locale = isString(options.locale) || isFunction(options.locale)
|
|
2315
|
+
? options.locale
|
|
2316
|
+
: DEFAULT_LOCALE;
|
|
2317
|
+
const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
2299
2318
|
const fallbackLocale = isArray(options.fallbackLocale) ||
|
|
2300
2319
|
isPlainObject(options.fallbackLocale) ||
|
|
2301
2320
|
isString(options.fallbackLocale) ||
|
|
2302
2321
|
options.fallbackLocale === false
|
|
2303
2322
|
? options.fallbackLocale
|
|
2304
|
-
:
|
|
2323
|
+
: _locale;
|
|
2305
2324
|
const messages = isPlainObject(options.messages)
|
|
2306
2325
|
? options.messages
|
|
2307
|
-
: { [
|
|
2326
|
+
: { [_locale]: {} };
|
|
2308
2327
|
const datetimeFormats = isPlainObject(options.datetimeFormats)
|
|
2309
2328
|
? options.datetimeFormats
|
|
2310
|
-
: { [
|
|
2329
|
+
: { [_locale]: {} }
|
|
2311
2330
|
;
|
|
2312
2331
|
const numberFormats = isPlainObject(options.numberFormats)
|
|
2313
2332
|
? options.numberFormats
|
|
2314
|
-
: { [
|
|
2333
|
+
: { [_locale]: {} }
|
|
2315
2334
|
;
|
|
2316
2335
|
const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
2317
2336
|
const pluralRules = options.pluralRules || {};
|
|
@@ -2485,7 +2504,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
2485
2504
|
return ctx.interpolate(ctx.named(named.k || named.key));
|
|
2486
2505
|
case 5 /* NodeTypes.List */:
|
|
2487
2506
|
const list = node;
|
|
2488
|
-
return ctx.interpolate(ctx.list(list.i
|
|
2507
|
+
return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
|
|
2489
2508
|
case 6 /* NodeTypes.Linked */:
|
|
2490
2509
|
const linked = node;
|
|
2491
2510
|
const modifier = linked.m || linked.modifier;
|
|
@@ -2648,7 +2667,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
2648
2667
|
? (!messageCompiler ? () => key : key)
|
|
2649
2668
|
: '';
|
|
2650
2669
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
|
|
2651
|
-
const locale =
|
|
2670
|
+
const locale = getLocale(context, options);
|
|
2652
2671
|
// escape params
|
|
2653
2672
|
escapeParameter && escapeParams(options);
|
|
2654
2673
|
// resolve message format
|
|
@@ -3052,7 +3071,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
3052
3071
|
? options.fallbackWarn
|
|
3053
3072
|
: context.fallbackWarn;
|
|
3054
3073
|
const part = !!options.part;
|
|
3055
|
-
const locale =
|
|
3074
|
+
const locale = getLocale(context, options);
|
|
3056
3075
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
3057
3076
|
fallbackLocale, locale);
|
|
3058
3077
|
if (!isString(key) || key === '') {
|
|
@@ -3226,7 +3245,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
3226
3245
|
? options.fallbackWarn
|
|
3227
3246
|
: context.fallbackWarn;
|
|
3228
3247
|
const part = !!options.part;
|
|
3229
|
-
const locale =
|
|
3248
|
+
const locale = getLocale(context, options);
|
|
3230
3249
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
3231
3250
|
fallbackLocale, locale);
|
|
3232
3251
|
if (!isString(key) || key === '') {
|
|
@@ -3377,6 +3396,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
3377
3396
|
exports.getAdditionalMeta = getAdditionalMeta;
|
|
3378
3397
|
exports.getDevToolsHook = getDevToolsHook;
|
|
3379
3398
|
exports.getFallbackContext = getFallbackContext;
|
|
3399
|
+
exports.getLocale = getLocale;
|
|
3380
3400
|
exports.getWarnMessage = getWarnMessage;
|
|
3381
3401
|
exports.handleMissing = handleMissing;
|
|
3382
3402
|
exports.initI18nDevTools = initI18nDevTools;
|
|
@@ -3392,6 +3412,7 @@ var IntlifyCoreBase = (function (exports) {
|
|
|
3392
3412
|
exports.registerLocaleFallbacker = registerLocaleFallbacker;
|
|
3393
3413
|
exports.registerMessageCompiler = registerMessageCompiler;
|
|
3394
3414
|
exports.registerMessageResolver = registerMessageResolver;
|
|
3415
|
+
exports.resolveLocale = resolveLocale;
|
|
3395
3416
|
exports.resolveValue = resolveValue;
|
|
3396
3417
|
exports.resolveWithKeyValue = resolveWithKeyValue;
|
|
3397
3418
|
exports.setAdditionalMeta = setAdditionalMeta;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
var IntlifyCoreBase=function(e){"use strict";const t=/\{([0-9a-zA-Z]+)\}/g;const n=(e,t,n)=>r({l:e,k:t,s:n}),r=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),o=e=>"number"==typeof e&&isFinite(e),a=e=>"[object Date]"===p(e),s=e=>"[object RegExp]"===p(e),c=e=>N(e)&&0===Object.keys(e).length,l=Object.assign;function i(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const u=Array.isArray,f=e=>"function"==typeof e,E=e=>"string"==typeof e,_=e=>"boolean"==typeof e,m=e=>null!==e&&"object"==typeof e,d=Object.prototype.toString,p=e=>d.call(e),N=e=>{if(!m(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object};function L(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}function T(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}function A(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const k={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};function C(e,t,n={}){const{domain:r,messages:o,args:a}=n,s=new SyntaxError(String(e));return s.code=e,t&&(s.location=t),s.domain=r,s}function h(e){throw e}k.EXPECTED_TOKEN,k.INVALID_TOKEN_IN_PLACEHOLDER,k.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,k.UNKNOWN_ESCAPE_SEQUENCE,k.INVALID_UNICODE_ESCAPE_SEQUENCE,k.UNBALANCED_CLOSING_BRACE,k.UNTERMINATED_CLOSING_BRACE,k.EMPTY_PLACEHOLDER,k.NOT_ALLOW_NEST_PLACEHOLDER,k.INVALID_LINKED_FORMAT,k.MUST_HAVE_MESSAGES_IN_PLURAL,k.UNEXPECTED_EMPTY_LINKED_MODIFIER,k.UNEXPECTED_EMPTY_LINKED_KEY,k.UNEXPECTED_LEXICAL_ANALYSIS,k.UNHANDLED_CODEGEN_NODE_TYPE,k.UNHANDLED_MINIFIER_NODE_TYPE;const I=" ",g="\r",y="\n",b=String.fromCharCode(8232),O=String.fromCharCode(8233);function S(e){const t=e;let n=0,r=1,o=1,a=0;const s=e=>t[e]===g&&t[e+1]===y,c=e=>t[e]===O,l=e=>t[e]===b,i=e=>s(e)||(e=>t[e]===y)(e)||c(e)||l(e),u=e=>s(e)||c(e)||l(e)?y:t[e];function f(){return a=0,i(n)&&(r++,o=0),s(n)&&n++,n++,o++,t[n]}return{index:()=>n,line:()=>r,column:()=>o,peekOffset:()=>a,charAt:u,currentChar:()=>u(n),currentPeek:()=>u(n+a),next:f,peek:function(){return s(n+a)&&a++,a++,t[n+a]},reset:function(){n=0,r=1,o=1,a=0},resetPeek:function(e=0){a=e},skipToPeek:function(){const e=n+a;for(;e!==n;)f();a=0}}}const D=void 0,P=".",M="'";function R(e,t={}){const n=!1!==t.location,r=S(e),o=()=>r.index(),a=()=>{return e=r.line(),t=r.column(),n=r.index(),{line:e,column:t,offset:n};var e,t,n},s=a(),c=o(),l={currentType:14,offset:c,startLoc:s,endLoc:s,lastType:14,lastOffset:c,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},i=()=>l,{onError:u}=t;function f(e,t,r){e.endLoc=a(),e.currentType=t;const o={type:t};return n&&(o.loc=A(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const E=e=>f(e,14);function _(e,t){return e.currentChar()===t?(e.next(),t):(k.EXPECTED_TOKEN,a(),"")}function m(e){let t="";for(;e.currentPeek()===I||e.currentPeek()===y;)t+=e.currentPeek(),e.peek();return t}function d(e){const t=m(e);return e.skipToPeek(),t}function p(e){if(e===D)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function N(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=function(e){if(e===D)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function L(e){m(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function T(e,t=!0){const n=(t=!1,r="",o=!1)=>{const a=e.currentPeek();return"{"===a?"%"!==r&&t:"@"!==a&&a?"%"===a?(e.peek(),n(t,"%",!0)):"|"===a?!("%"!==r&&!o)||!(r===I||r===y):a===I?(e.peek(),n(!0,I,o)):a!==y||(e.peek(),n(!0,y,o)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function C(e,t){const n=e.currentChar();return n===D?D:t(n)?(e.next(),n):null}function h(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function g(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function b(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function O(e){let t="",n="";for(;t=g(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(!T(e))break;t+=n,e.next()}else if(n===I||n===y)if(T(e))t+=n,e.next();else{if(L(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function v(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return U(e,t,4);case"U":return U(e,t,6);default:return k.UNKNOWN_ESCAPE_SEQUENCE,a(),""}}function U(e,t,n){_(e,t);let r="";for(let o=0;o<n;o++){const t=b(e);if(!t){k.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),e.currentChar();break}r+=t}return`\\${t}${r}`}function x(e){d(e);const t=_(e,"|");return d(e),t}function F(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(k.NOT_ALLOW_NEST_PLACEHOLDER,a()),e.next(),n=f(t,2,"{"),d(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(k.EMPTY_PLACEHOLDER,a()),e.next(),n=f(t,3,"}"),t.braceNest--,t.braceNest>0&&d(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(k.UNTERMINATED_CLOSING_BRACE,a()),n=w(e,t)||E(t),t.braceNest=0,n;default:let r=!0,o=!0,s=!0;if(L(e))return t.braceNest>0&&(k.UNTERMINATED_CLOSING_BRACE,a()),n=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return k.UNTERMINATED_CLOSING_BRACE,a(),t.braceNest=0,W(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=p(e.currentPeek());return e.resetPeek(),r}(e,t))return n=f(t,5,function(e){d(e);let t="",n="";for(;t=h(e);)n+=t;return e.currentChar()===D&&(k.UNTERMINATED_CLOSING_BRACE,a()),n}(e)),d(e),n;if(o=N(e,t))return n=f(t,6,function(e){d(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${O(e)}`):t+=O(e),e.currentChar()===D&&(k.UNTERMINATED_CLOSING_BRACE,a()),t}(e)),d(e),n;if(s=function(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=e.currentPeek()===M;return e.resetPeek(),r}(e,t))return n=f(t,7,function(e){d(e),_(e,"'");let t="",n="";const r=e=>e!==M&&e!==y;for(;t=C(e,r);)n+="\\"===t?v(e):t;const o=e.currentChar();return o===y||o===D?(k.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),o===y&&(e.next(),_(e,"'")),n):(_(e,"'"),n)}(e)),d(e),n;if(!r&&!o&&!s)return n=f(t,13,function(e){d(e);let t="",n="";const r=e=>"{"!==e&&"}"!==e&&e!==I&&e!==y;for(;t=C(e,r);)n+=t;return n}(e)),k.INVALID_TOKEN_IN_PLACEHOLDER,a(),n.value,d(e),n}return n}function w(e,t){const{currentType:n}=t;let r=null;const o=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||o!==y&&o!==I||(k.INVALID_LINKED_FORMAT,a()),o){case"@":return e.next(),r=f(t,8,"@"),t.inLinked=!0,r;case".":return d(e),e.next(),f(t,9,".");case":":return d(e),e.next(),f(t,10,":");default:return L(e)?(r=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;m(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;m(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(d(e),w(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;m(e);const r=p(e.currentPeek());return e.resetPeek(),r}(e,t)?(d(e),f(t,12,function(e){let t="",n="";for(;t=h(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?p(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===I||!t)&&(t===y?(e.peek(),r()):p(t))},o=r();return e.resetPeek(),o}(e,t)?(d(e),"{"===o?F(e,t)||r:f(t,11,function(e){const t=(n=!1,r)=>{const o=e.currentChar();return"{"!==o&&"%"!==o&&"@"!==o&&"|"!==o&&"("!==o&&")"!==o&&o?o===I?r:o===y||o===P?(r+=o,e.next(),t(n,r)):(r+=o,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&(k.INVALID_LINKED_FORMAT,a()),t.braceNest=0,t.inLinked=!1,W(e,t))}}function W(e,t){let n={type:14};if(t.braceNest>0)return F(e,t)||E(t);if(t.inLinked)return w(e,t)||E(t);switch(e.currentChar()){case"{":return F(e,t)||E(t);case"}":return k.UNBALANCED_CLOSING_BRACE,a(),e.next(),f(t,3,"}");case"@":return w(e,t)||E(t);default:if(L(e))return n=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:o}=function(e){const t=m(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return o?f(t,0,R(e)):f(t,4,function(e){d(e);const t=e.currentChar();return"%"!==t&&(k.EXPECTED_TOKEN,a()),e.next(),"%"}(e));if(T(e))return f(t,0,R(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:s}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=s,l.offset=o(),l.startLoc=a(),r.currentChar()===D?f(l,14):W(r,l)},currentOffset:o,currentPosition:a,context:i}}const v=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function U(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 x(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 a(e,t){const n=e.context(),a=r(3,n.offset,n.startLoc);return a.value=t,o(a,e.currentOffset(),e.currentPosition()),a}function s(e,t){const n=e.context(),{lastOffset:a,lastStartLoc:s}=n,c=r(5,a,s);return c.index=parseInt(t,10),e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function c(e,t){const n=e.context(),{lastOffset:a,lastStartLoc:s}=n,c=r(4,a,s);return c.key=t,e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function i(e,t){const n=e.context(),{lastOffset:a,lastStartLoc:s}=n,c=r(9,a,s);return c.value=t.replace(v,U),e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function u(e){const t=e.context(),n=r(6,t.offset,t.startLoc);let a=e.nextToken();if(9===a.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:a,lastStartLoc:s}=n,c=r(8,a,s);return 12!==t.type?(k.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,c.value="",o(c,a,s),{nextConsumeToken:t,node:c}):(null==t.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,F(t)),c.value=t.value||"",o(c,e.currentOffset(),e.currentPosition()),{node:c})}(e);n.modifier=t.node,a=t.nextConsumeToken||e.nextToken()}switch(10!==a.type&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),a=e.nextToken(),2===a.type&&(a=e.nextToken()),a.type){case 11:null==a.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.key=function(e,t){const n=e.context(),a=r(7,n.offset,n.startLoc);return a.value=t,o(a,e.currentOffset(),e.currentPosition()),a}(e,a.value||"");break;case 5:null==a.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.key=c(e,a.value||"");break;case 6:null==a.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.key=s(e,a.value||"");break;case 7:null==a.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.key=i(e,a.value||"");break;default:k.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const l=e.context(),u=r(7,l.offset,l.startLoc);return u.value="",o(u,l.offset,l.startLoc),n.key=u,o(n,l.offset,l.startLoc),{nextConsumeToken:a,node:n}}return o(n,e.currentOffset(),e.currentPosition()),{node:n}}function f(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&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(a(e,r.value||""));break;case 6:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(s(e,r.value||""));break;case 5:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(c(e,r.value||""));break;case 7:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(i(e,r.value||""));break;case 8:const o=u(e);n.items.push(o.node),l=o.nextConsumeToken||null}}while(14!==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:a}=t,s=f(e);return 14===t.currentType?s:function(e,t,n,a){const s=e.context();let c=0===a.items.length;const l=r(1,t,n);l.cases=[],l.cases.push(a);do{const t=f(e);c||(c=0===t.items.length),l.cases.push(t)}while(14!==s.currentType);return c&&k.MUST_HAVE_MESSAGES_IN_PLURAL,o(l,e.currentOffset(),e.currentPosition()),l}(e,n,a,s)}return{parse:function(n){const a=R(n,l({},e)),s=a.context(),c=r(0,s.offset,s.startLoc);return t&&c.loc&&(c.loc.source=n),c.body=E(a),e.onCacheKey&&(c.cacheKey=e.onCacheKey(n)),14!==s.currentType&&(k.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,n[s.offset]),o(c,a.currentOffset(),a.currentPosition()),c}}}function F(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 w(e,t){for(let n=0;n<e.length;n++)W(e[n],t)}function W(e,t){switch(e.type){case 1:w(e.cases,t),t.helper("plural");break;case 2:w(e.items,t);break;case 6:W(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 X(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&&W(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function G(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=L(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 K(e){switch(e.t=e.type,e.type){case 0:const t=e;K(t.body),t.b=t.body,delete t.body;break;case 1:const n=e,r=n.cases;for(let e=0;e<r.length;e++)K(r[e]);n.c=r,delete n.cases;break;case 2:const o=e,a=o.items;for(let e=0;e<a.length;e++)K(a[e]);o.i=a,delete o.items,o.static&&(o.s=o.static,delete o.static);break;case 3:case 9:case 8:case 7:const s=e;s.value&&(s.v=s.value,delete s.value);break;case 6:const c=e;K(c.key),c.k=c.key,delete c.key,c.modifier&&(K(c.modifier),c.m=c.modifier,delete c.modifier);break;case 5:const l=e;l.i=l.index,delete l.index;break;case 4:const i=e;i.k=i.key,delete i.key}delete e.type}function $(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?$(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 o=t.cases.length;for(let n=0;n<o&&($(e,t.cases[n]),n!==o-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 o=t.items.length;for(let a=0;a<o&&($(e,t.items[a]),a!==o-1);a++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),$(e,t.key),t.modifier?(e.push(", "),$(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)}}const V=(e,t={})=>{const n=E(t.mode)?t.mode:"normal",r=E(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,a=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",s=t.needIndent?t.needIndent:"arrow"!==n,c=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:o,needIndent:a}=t,s=!1!==t.location,c={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:a,indentLevel:0};function l(e,t){c.code+=e}function i(e,t=!0){const n=t?o:"";l(a?n+" ".repeat(e):n)}return s&&e.loc&&(c.source=e.loc.source),{context:()=>c,push:l,indent:function(e=!0){const t=++c.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--c.indentLevel;e&&i(t)},newline:function(){i(c.indentLevel)},helper:e=>`_${e}`,needIndent:()=>c.needIndent}}(e,{mode:n,filename:r,sourceMap:o,breakLineCode:a,needIndent:s});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),c.length>0&&(l.push(`const { ${L(c.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),$(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:u}=l.context();return{ast:e,code:i,map:u?u.toJSON():void 0}};function Y(e,t={}){const n=l({},t),r=!!n.jit,o=!!n.minify,a=null==n.optimize||n.optimize,s=x(n).parse(e);return r?(a&&function(e){const t=e.body;2===t.type?G(t):t.cases.forEach((e=>G(e)))}(s),o&&K(s),{ast:s,code:""}):(X(s,n),V(s,n))}const H=[];H[0]={w:[0],i:[3,0],"[":[4],o:[7]},H[1]={w:[1],".":[2],"[":[4],o:[7]},H[2]={w:[2],i:[3,0],0:[3,0]},H[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},H[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},H[5]={"'":[4,0],o:8,l:[5,0]},H[6]={'"':[4,0],o:8,l:[6,0]};const B=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function j(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function z(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,B.test(n)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}function Q(e){const t=[];let n,r,o,a,s,c,l,i=-1,u=0,f=0;const E=[];function _(){const t=e[i+1];if(5===u&&"'"===t||6===u&&'"'===t)return i++,o="\\"+t,E[0](),!0}for(E[0]=()=>{void 0===r?r=o:r+=o},E[1]=()=>{void 0!==r&&(t.push(r),r=void 0)},E[2]=()=>{E[0](),f++},E[3]=()=>{if(f>0)f--,u=4,E[0]();else{if(f=0,void 0===r)return!1;if(r=z(r),!1===r)return!1;E[1]()}};null!==u;)if(i++,n=e[i],"\\"!==n||!_()){if(a=j(n),l=H[u],s=l[a]||l.l||8,8===s)return;if(u=s[0],void 0!==s[1]&&(c=E[s[1]],c&&(o=n,!1===c())))return;if(7===u)return t}}const J=new Map;function Z(e,t){return m(e)?e[t]:null}const q=e=>e,ee=e=>"",te="text",ne=e=>0===e.length?"":L(e),re=e=>null==e?"":u(e)||N(e)&&e.toString===d?JSON.stringify(e,null,2):String(e);function oe(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function ae(e={}){const t=e.locale,n=function(e){const t=o(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(o(e.named.count)||o(e.named.n))?o(e.named.count)?e.named.count:o(e.named.n)?e.named.n:t:t}(e),r=m(e.pluralRules)&&E(t)&&f(e.pluralRules[t])?e.pluralRules[t]:oe,a=m(e.pluralRules)&&E(t)&&f(e.pluralRules[t])?oe:void 0,s=e.list||[],c=e.named||{};o(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,c);function i(t){const n=f(e.messages)?e.messages(t):!!m(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):ee)}const _=N(e.processor)&&f(e.processor.normalize)?e.processor.normalize:ne,d=N(e.processor)&&f(e.processor.interpolate)?e.processor.interpolate:re,p={list:e=>s[e],named:e=>c[e],plural:e=>e[r(n,e.length,a)],linked:(t,...n)=>{const[r,o]=n;let a="text",s="";1===n.length?m(r)?(s=r.modifier||s,a=r.type||a):E(r)&&(s=r||s):2===n.length&&(E(r)&&(s=r||s),E(o)&&(a=o||a));const c=i(t)(p),l="vnode"===a&&u(c)&&s?c[0]:c;return s?(f=s,e.modifiers?e.modifiers[f]:q)(l,a):l;var f},message:i,type:N(e.processor)&&E(e.processor.type)?e.processor.type:te,interpolate:d,normalize:_,values:l({},s,c)};return p}let se=null;const ce=le("function:translate");function le(e){return t=>se&&se.emit(e,t)}const ie={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7,__EXTEND_POINT__:8},ue={[ie.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[ie.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[ie.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[ie.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[ie.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[ie.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[ie.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function fe(e,t,n){return[...new Set([n,...u(t)?t:m(t)?Object.keys(t):E(t)?[t]:[n]])]}function Ee(e,t,n){let r=!0;for(let o=0;o<t.length&&_(r);o++){const a=t[o];E(a)&&(r=_e(e,t[o],n))}return r}function _e(e,t,n){let r;const o=t.split("-");do{r=me(e,o.join("-"),n),o.splice(-1,1)}while(o.length&&!0===r);return r}function me(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r="!"!==t[t.length-1];const o=t.replace(/!/g,"");e.push(o),(u(n)||N(n))&&n[o]&&(r=n[o])}return r}const de="9.4.1",pe="en-US",Ne=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let Le,Te,Ae;let ke=null;let Ce=null;let he=0;function Ie(e,t,n,r,o){const{missing:a,onWarn:s}=e;if(null!==a){const r=a(e,n,t,o);return E(r)?r:t}return t}function ge(e){return t=>function(e,t){const n=t.b||t.body;if(1===(n.t||n.type)){const t=n,r=t.c||t.cases;return e.plural(r.reduce(((t,n)=>[...t,ye(e,n)]),[]))}return ye(e,n)}(t,e)}function ye(e,t){const n=t.s||t.static;if(n)return"text"===e.type?n:e.normalize([n]);{const n=(t.i||t.items).reduce(((t,n)=>[...t,be(e,n)]),[]);return e.normalize(n)}}function be(e,t){const n=t.t||t.type;switch(n){case 3:const r=t;return r.v||r.value;case 9:const o=t;return o.v||o.value;case 4:const a=t;return e.interpolate(e.named(a.k||a.key));case 5:const s=t;return e.interpolate(e.list(s.i||s.index));case 6:const c=t,l=c.m||c.modifier;return e.linked(be(e,c.k||c.key),l?be(e,l):void 0,e.type);case 7:const i=t;return i.v||i.value;case 8:const u=t;return u.v||u.value;default:throw new Error(`unhandled node type on format message part: ${n}`)}}const Oe=k.__EXTEND_POINT__,Se=function(e){let t=e;return()=>++t}(Oe),De={INVALID_ARGUMENT:Oe,INVALID_DATE_ARGUMENT:Se(),INVALID_ISO_DATE_ARGUMENT:Se(),NOT_SUPPORT_NON_STRING_MESSAGE:Se(),__EXTEND_POINT__:Se()};De.INVALID_ARGUMENT,De.INVALID_DATE_ARGUMENT,De.INVALID_ISO_DATE_ARGUMENT,De.NOT_SUPPORT_NON_STRING_MESSAGE;const Pe=e=>e;let Me=Object.create(null);const Re=e=>m(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e);function ve(e,t={}){let n=!1;const r=t.onError||h;return t.onError=e=>{n=!0,r(e)},{...Y(e,t),detectError:n}}const Ue=()=>"",xe=e=>f(e);function Fe(e,t,n,r,o,a){const{messages:s,onWarn:c,messageResolver:l,localeFallbacker:i}=e,u=i(e,r,n);let f,_={},m=null;for(let d=0;d<u.length&&(f=u[d],_=s[f]||{},null===(m=l(_,t))&&(m=_[t]),!(E(m)||Re(m)||xe(m)));d++){const n=Ie(e,t,f,0,"translate");n!==t&&(m=n)}return[m,f,_]}function we(e,t,r,o,a,s){const{messageCompiler:c,warnHtmlMessage:l}=e;if(xe(o)){const e=o;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==c){const e=()=>o;return e.locale=r,e.key=t,e}const i=c(o,function(e,t,r,o,a,s){return{locale:t,key:r,warnHtmlMessage:a,onError:e=>{throw s&&s(e),e},onCacheKey:e=>n(t,r,e)}}(0,r,a,0,l,s));return i.locale=r,i.key=t,i.source=o,i}function We(...e){const[t,n,r]=e,a={};if(!(E(t)||o(t)||xe(t)||Re(t)))throw Error(De.INVALID_ARGUMENT);const s=o(t)?String(t):(xe(t),t);return o(n)?a.plural=n:E(n)?a.default=n:N(n)&&!c(n)?a.named=n:u(n)&&(a.list=n),o(r)?a.plural=r:E(r)?a.default=r:N(r)&&l(a,r),[s,a]}const Xe=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Ge(...e){const[t,n,r,s]=e,c={};let l,i={};if(E(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(De.INVALID_ISO_DATE_ARGUMENT);const n=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();l=new Date(n);try{l.toISOString()}catch(u){throw Error(De.INVALID_ISO_DATE_ARGUMENT)}}else if(a(t)){if(isNaN(t.getTime()))throw Error(De.INVALID_DATE_ARGUMENT);l=t}else{if(!o(t))throw Error(De.INVALID_ARGUMENT);l=t}return E(n)?c.key=n:N(n)&&Object.keys(n).forEach((e=>{Xe.includes(e)?i[e]=n[e]:c[e]=n[e]})),E(r)?c.locale=r:N(r)&&(i=r),N(s)&&(i=s),[c.key||"",l,c,i]}const Ke=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function $e(...e){const[t,n,r,a]=e,s={};let c={};if(!o(t))throw Error(De.INVALID_ARGUMENT);const l=t;return E(n)?s.key=n:N(n)&&Object.keys(n).forEach((e=>{Ke.includes(e)?c[e]=n[e]:s[e]=n[e]})),E(r)?s.locale=r:N(r)&&(c=r),N(a)&&(c=a),[s.key||"",l,s,c]}return e.CompileErrorCodes=k,e.CoreErrorCodes=De,e.CoreWarnCodes=ie,e.DATETIME_FORMAT_OPTIONS_KEYS=Xe,e.DEFAULT_LOCALE=pe,e.DEFAULT_MESSAGE_DATA_TYPE=te,e.MISSING_RESOLVE_VALUE="",e.NOT_REOSLVED=-1,e.NUMBER_FORMAT_OPTIONS_KEYS=Ke,e.VERSION=de,e.clearCompileCache=function(){Me=Object.create(null)},e.clearDateTimeFormat=function(e,t,n){const r=e;for(const o in n){const e=`${t}__${o}`;r.__datetimeFormatters.has(e)&&r.__datetimeFormatters.delete(e)}},e.clearNumberFormat=function(e,t,n){const r=e;for(const o in n){const e=`${t}__${o}`;r.__numberFormatters.has(e)&&r.__numberFormatters.delete(e)}},e.compile=function(e,t){if(E(e)){!_(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||Pe)(e),r=Me[n];if(r)return r;const{ast:o,detectError:a}=ve(e,{...t,location:!1,jit:!0}),s=ge(o);return a?s:Me[n]=s}{const t=e.cacheKey;if(t){const n=Me[t];return n||(Me[t]=ge(e))}return ge(e)}},e.compileToFunction=(e,t)=>{if(!E(e))throw Error(De.NOT_SUPPORT_NON_STRING_MESSAGE);{!_(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||Pe)(e),r=Me[n];if(r)return r;const{code:o,detectError:a}=ve(e,t),s=new Function(`return ${o}`)();return a?s:Me[n]=s}},e.createCompileError=C,e.createCoreContext=function(e={}){const t=f(e.onWarn)?e.onWarn:T,n=E(e.version)?e.version:de,r=E(e.locale)?e.locale:pe,o=u(e.fallbackLocale)||N(e.fallbackLocale)||E(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:r,a=N(e.messages)?e.messages:{[r]:{}},c=N(e.datetimeFormats)?e.datetimeFormats:{[r]:{}},i=N(e.numberFormats)?e.numberFormats:{[r]:{}},d=l({},e.modifiers||{},{upper:(e,t)=>"text"===t&&E(e)?e.toUpperCase():"vnode"===t&&m(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&E(e)?e.toLowerCase():"vnode"===t&&m(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&E(e)?Ne(e):"vnode"===t&&m(e)&&"__v_isVNode"in e?Ne(e.children):e}),p=e.pluralRules||{},L=f(e.missing)?e.missing:null,A=!_(e.missingWarn)&&!s(e.missingWarn)||e.missingWarn,k=!_(e.fallbackWarn)&&!s(e.fallbackWarn)||e.fallbackWarn,C=!!e.fallbackFormat,h=!!e.unresolving,I=f(e.postTranslation)?e.postTranslation:null,g=N(e.processor)?e.processor:null,y=!_(e.warnHtmlMessage)||e.warnHtmlMessage,b=!!e.escapeParameter,O=f(e.messageCompiler)?e.messageCompiler:Le,S=f(e.messageResolver)?e.messageResolver:Te||Z,D=f(e.localeFallbacker)?e.localeFallbacker:Ae||fe,P=m(e.fallbackContext)?e.fallbackContext:void 0,M=e,R=m(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,v=m(M.__numberFormatters)?M.__numberFormatters:new Map,U=m(M.__meta)?M.__meta:{};he++;const x={version:n,cid:he,locale:r,fallbackLocale:o,messages:a,modifiers:d,pluralRules:p,missing:L,missingWarn:A,fallbackWarn:k,fallbackFormat:C,unresolving:h,postTranslation:I,processor:g,warnHtmlMessage:y,escapeParameter:b,messageCompiler:O,messageResolver:S,localeFallbacker:D,fallbackContext:P,onWarn:t,__meta:U};return x.datetimeFormats=c,x.numberFormats=i,x.__datetimeFormatters=R,x.__numberFormatters=v,x},e.createCoreError=function(e){return C(e,null,void 0)},e.createMessageContext=ae,e.datetime=function(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:o,onWarn:a,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[u,f,m,d]=Ge(...t);_(m.missingWarn)?m.missingWarn:e.missingWarn,_(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,L=E(m.locale)?m.locale:e.locale,T=s(e,o,L);if(!E(u)||""===u)return new Intl.DateTimeFormat(L,d).format(f);let A,k={},C=null;for(let c=0;c<T.length&&(A=T[c],k=n[A]||{},C=k[u],!N(C));c++)Ie(e,u,A,0,"datetime format");if(!N(C)||!E(A))return r?-1:u;let h=`${A}__${u}`;c(d)||(h=`${h}__${JSON.stringify(d)}`);let I=i.get(h);return I||(I=new Intl.DateTimeFormat(A,l({},C,d)),i.set(h,I)),p?I.formatToParts(f):I.format(f)},e.fallbackWithLocaleChain=function(e,t,n){const r=E(n)?n:pe,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let a=o.__localeChainCache.get(r);if(!a){a=[];let e=[n];for(;u(e);)e=Ee(a,e,t);const s=u(t)||!N(t)?t:t.default?t.default:null;e=E(s)?[s]:s,u(e)&&Ee(a,e,!1),o.__localeChainCache.set(r,a)}return a},e.fallbackWithSimple=fe,e.getAdditionalMeta=()=>ke,e.getDevToolsHook=function(){return se},e.getFallbackContext=()=>Ce,e.getWarnMessage=function(e,...n){return function(e,...n){return 1===n.length&&m(n[0])&&(n=n[0]),n&&n.hasOwnProperty||(n={}),e.replace(t,((e,t)=>n.hasOwnProperty(t)?n[t]:""))}(ue[e],...n)},e.handleMissing=Ie,e.initI18nDevTools=function(e,t,n){se&&se.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})},e.isMessageAST=Re,e.isMessageFunction=xe,e.isTranslateFallbackWarn=function(e,t){return e instanceof RegExp?e.test(t):e},e.isTranslateMissingWarn=function(e,t){return e instanceof RegExp?e.test(t):e},e.number=function(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:o,onWarn:a,localeFallbacker:s}=e,{__numberFormatters:i}=e,[u,f,m,d]=$e(...t);_(m.missingWarn)?m.missingWarn:e.missingWarn,_(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,L=E(m.locale)?m.locale:e.locale,T=s(e,o,L);if(!E(u)||""===u)return new Intl.NumberFormat(L,d).format(f);let A,k={},C=null;for(let c=0;c<T.length&&(A=T[c],k=n[A]||{},C=k[u],!N(C));c++)Ie(e,u,A,0,"number format");if(!N(C)||!E(A))return r?-1:u;let h=`${A}__${u}`;c(d)||(h=`${h}__${JSON.stringify(d)}`);let I=i.get(h);return I||(I=new Intl.NumberFormat(A,l({},C,d)),i.set(h,I)),p?I.formatToParts(f):I.format(f)},e.parse=Q,e.parseDateTimeArgs=Ge,e.parseNumberArgs=$e,e.parseTranslateArgs=We,e.registerLocaleFallbacker=function(e){Ae=e},e.registerMessageCompiler=function(e){Le=e},e.registerMessageResolver=function(e){Te=e},e.resolveValue=function(e,t){if(!m(e))return null;let n=J.get(t);if(n||(n=Q(t),n&&J.set(t,n)),!n)return null;const r=n.length;let o=e,a=0;for(;a<r;){const e=o[n[a]];if(void 0===e)return null;o=e,a++}return o},e.resolveWithKeyValue=Z,e.setAdditionalMeta=e=>{ke=e},e.setDevToolsHook=function(e){se=e},e.setFallbackContext=e=>{Ce=e},e.translate=function(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:a,messageCompiler:s,fallbackLocale:c,messages:l}=e,[f,d]=We(...t),p=_(d.missingWarn)?d.missingWarn:e.missingWarn,N=_(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn,L=_(d.escapeParameter)?d.escapeParameter:e.escapeParameter,T=!!d.resolvedMessage,A=E(d.default)||_(d.default)?_(d.default)?s?f:()=>f:d.default:n?s?f:()=>f:"",k=n||""!==A,C=E(d.locale)?d.locale:e.locale;L&&function(e){u(e.list)?e.list=e.list.map((e=>E(e)?i(e):e)):m(e.named)&&Object.keys(e.named).forEach((t=>{E(e.named[t])&&(e.named[t]=i(e.named[t]))}))}(d);let[h,I,g]=T?[f,C,l[C]||{}]:Fe(e,f,C,c,N,p),y=h,b=f;if(T||E(y)||Re(y)||xe(y)||k&&(y=A,b=y),!(T||(E(y)||Re(y)||xe(y))&&E(I)))return a?-1:f;let O=!1;const S=xe(y)?y:we(e,f,I,y,b,(()=>{O=!0}));if(O)return y;const D=function(e,t,n,r){const{modifiers:a,pluralRules:s,messageResolver:c,fallbackLocale:l,fallbackWarn:i,missingWarn:u,fallbackContext:f}=e,_=r=>{let o=c(n,r);if(null==o&&f){const[,,e]=Fe(f,r,t,l,i,u);o=c(e,r)}if(E(o)||Re(o)){let n=!1;const a=we(e,r,t,o,r,(()=>{n=!0}));return n?Ue:a}return xe(o)?o:Ue},m={locale:t,modifiers:a,pluralRules:s,messages:_};e.processor&&(m.processor=e.processor);r.list&&(m.list=r.list);r.named&&(m.named=r.named);o(r.plural)&&(m.pluralIndex=r.plural);return m}(e,I,g,d),P=function(e,t,n){const r=t(n);return r}(0,S,ae(D));return r?r(P,f):P},e.translateDevTools=ce,e.updateFallbackLocale=function(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)},e}({});
|
|
6
|
+
var IntlifyCoreBase=function(e){"use strict";const t=/\{([0-9a-zA-Z]+)\}/g;const n=(e,t,n)=>r({l:e,k:t,s:n}),r=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),o=e=>"number"==typeof e&&isFinite(e),s=e=>"[object Date]"===p(e),a=e=>"[object RegExp]"===p(e),c=e=>N(e)&&0===Object.keys(e).length,l=Object.assign;function i(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const u=Array.isArray,f=e=>"function"==typeof e,E=e=>"string"==typeof e,_=e=>"boolean"==typeof e,m=e=>null!==e&&"object"==typeof e,d=Object.prototype.toString,p=e=>d.call(e),N=e=>{if(!m(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object};function L(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}function T(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}function A(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const k={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};function C(e,t,n={}){const{domain:r,messages:o,args:s}=n,a=new SyntaxError(String(e));return a.code=e,t&&(a.location=t),a.domain=r,a}function h(e){throw e}k.EXPECTED_TOKEN,k.INVALID_TOKEN_IN_PLACEHOLDER,k.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,k.UNKNOWN_ESCAPE_SEQUENCE,k.INVALID_UNICODE_ESCAPE_SEQUENCE,k.UNBALANCED_CLOSING_BRACE,k.UNTERMINATED_CLOSING_BRACE,k.EMPTY_PLACEHOLDER,k.NOT_ALLOW_NEST_PLACEHOLDER,k.INVALID_LINKED_FORMAT,k.MUST_HAVE_MESSAGES_IN_PLURAL,k.UNEXPECTED_EMPTY_LINKED_MODIFIER,k.UNEXPECTED_EMPTY_LINKED_KEY,k.UNEXPECTED_LEXICAL_ANALYSIS,k.UNHANDLED_CODEGEN_NODE_TYPE,k.UNHANDLED_MINIFIER_NODE_TYPE;const I=" ",g="\r",y="\n",O=String.fromCharCode(8232),b=String.fromCharCode(8233);function S(e){const t=e;let n=0,r=1,o=1,s=0;const a=e=>t[e]===g&&t[e+1]===y,c=e=>t[e]===b,l=e=>t[e]===O,i=e=>a(e)||(e=>t[e]===y)(e)||c(e)||l(e),u=e=>a(e)||c(e)||l(e)?y:t[e];function f(){return s=0,i(n)&&(r++,o=0),a(n)&&n++,n++,o++,t[n]}return{index:()=>n,line:()=>r,column:()=>o,peekOffset:()=>s,charAt:u,currentChar:()=>u(n),currentPeek:()=>u(n+s),next:f,peek:function(){return a(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;)f();s=0}}}const D=void 0,P=".",M="'";function R(e,t={}){const n=!1!==t.location,r=S(e),o=()=>r.index(),s=()=>{return e=r.line(),t=r.column(),n=r.index(),{line:e,column:t,offset:n};var e,t,n},a=s(),c=o(),l={currentType:14,offset:c,startLoc:a,endLoc:a,lastType:14,lastOffset:c,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},i=()=>l,{onError:u}=t;function f(e,t,r){e.endLoc=s(),e.currentType=t;const o={type:t};return n&&(o.loc=A(e.startLoc,e.endLoc)),null!=r&&(o.value=r),o}const E=e=>f(e,14);function _(e,t){return e.currentChar()===t?(e.next(),t):(k.EXPECTED_TOKEN,s(),"")}function m(e){let t="";for(;e.currentPeek()===I||e.currentPeek()===y;)t+=e.currentPeek(),e.peek();return t}function d(e){const t=m(e);return e.skipToPeek(),t}function p(e){if(e===D)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function N(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=function(e){if(e===D)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function L(e){m(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function T(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===I||r===y):s===I?(e.peek(),n(!0,I,o)):s!==y||(e.peek(),n(!0,y,o)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function C(e,t){const n=e.currentChar();return n===D?D:t(n)?(e.next(),n):null}function h(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function g(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function O(e){return C(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function b(e){let t="",n="";for(;t=g(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(!T(e))break;t+=n,e.next()}else if(n===I||n===y)if(T(e))t+=n,e.next();else{if(L(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function v(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return U(e,t,4);case"U":return U(e,t,6);default:return k.UNKNOWN_ESCAPE_SEQUENCE,s(),""}}function U(e,t,n){_(e,t);let r="";for(let o=0;o<n;o++){const t=O(e);if(!t){k.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),e.currentChar();break}r+=t}return`\\${t}${r}`}function x(e){d(e);const t=_(e,"|");return d(e),t}function F(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(k.NOT_ALLOW_NEST_PLACEHOLDER,s()),e.next(),n=f(t,2,"{"),d(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(k.EMPTY_PLACEHOLDER,s()),e.next(),n=f(t,3,"}"),t.braceNest--,t.braceNest>0&&d(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(k.UNTERMINATED_CLOSING_BRACE,s()),n=w(e,t)||E(t),t.braceNest=0,n;default:let r=!0,o=!0,a=!0;if(L(e))return t.braceNest>0&&(k.UNTERMINATED_CLOSING_BRACE,s()),n=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return k.UNTERMINATED_CLOSING_BRACE,s(),t.braceNest=0,W(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=p(e.currentPeek());return e.resetPeek(),r}(e,t))return n=f(t,5,function(e){d(e);let t="",n="";for(;t=h(e);)n+=t;return e.currentChar()===D&&(k.UNTERMINATED_CLOSING_BRACE,s()),n}(e)),d(e),n;if(o=N(e,t))return n=f(t,6,function(e){d(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${b(e)}`):t+=b(e),e.currentChar()===D&&(k.UNTERMINATED_CLOSING_BRACE,s()),t}(e)),d(e),n;if(a=function(e,t){const{currentType:n}=t;if(2!==n)return!1;m(e);const r=e.currentPeek()===M;return e.resetPeek(),r}(e,t))return n=f(t,7,function(e){d(e),_(e,"'");let t="",n="";const r=e=>e!==M&&e!==y;for(;t=C(e,r);)n+="\\"===t?v(e):t;const o=e.currentChar();return o===y||o===D?(k.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),o===y&&(e.next(),_(e,"'")),n):(_(e,"'"),n)}(e)),d(e),n;if(!r&&!o&&!a)return n=f(t,13,function(e){d(e);let t="",n="";const r=e=>"{"!==e&&"}"!==e&&e!==I&&e!==y;for(;t=C(e,r);)n+=t;return n}(e)),k.INVALID_TOKEN_IN_PLACEHOLDER,s(),n.value,d(e),n}return n}function w(e,t){const{currentType:n}=t;let r=null;const o=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||o!==y&&o!==I||(k.INVALID_LINKED_FORMAT,s()),o){case"@":return e.next(),r=f(t,8,"@"),t.inLinked=!0,r;case".":return d(e),e.next(),f(t,9,".");case":":return d(e),e.next(),f(t,10,":");default:return L(e)?(r=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;m(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;m(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(d(e),w(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;m(e);const r=p(e.currentPeek());return e.resetPeek(),r}(e,t)?(d(e),f(t,12,function(e){let t="",n="";for(;t=h(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?p(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===I||!t)&&(t===y?(e.peek(),r()):p(t))},o=r();return e.resetPeek(),o}(e,t)?(d(e),"{"===o?F(e,t)||r:f(t,11,function(e){const t=(n=!1,r)=>{const o=e.currentChar();return"{"!==o&&"%"!==o&&"@"!==o&&"|"!==o&&"("!==o&&")"!==o&&o?o===I?r:o===y||o===P?(r+=o,e.next(),t(n,r)):(r+=o,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&(k.INVALID_LINKED_FORMAT,s()),t.braceNest=0,t.inLinked=!1,W(e,t))}}function W(e,t){let n={type:14};if(t.braceNest>0)return F(e,t)||E(t);if(t.inLinked)return w(e,t)||E(t);switch(e.currentChar()){case"{":return F(e,t)||E(t);case"}":return k.UNBALANCED_CLOSING_BRACE,s(),e.next(),f(t,3,"}");case"@":return w(e,t)||E(t);default:if(L(e))return n=f(t,1,x(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:o}=function(e){const t=m(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return o?f(t,0,R(e)):f(t,4,function(e){d(e);const t=e.currentChar();return"%"!==t&&(k.EXPECTED_TOKEN,s()),e.next(),"%"}(e));if(T(e))return f(t,0,R(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:a}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=a,l.offset=o(),l.startLoc=s(),r.currentChar()===D?f(l,14):W(r,l)},currentOffset:o,currentPosition:s,context:i}}const v=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function U(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 x(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 s(e,t){const n=e.context(),s=r(3,n.offset,n.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}function a(e,t){const n=e.context(),{lastOffset:s,lastStartLoc:a}=n,c=r(5,s,a);return c.index=parseInt(t,10),e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function c(e,t){const n=e.context(),{lastOffset:s,lastStartLoc:a}=n,c=r(4,s,a);return c.key=t,e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function i(e,t){const n=e.context(),{lastOffset:s,lastStartLoc:a}=n,c=r(9,s,a);return c.value=t.replace(v,U),e.nextToken(),o(c,e.currentOffset(),e.currentPosition()),c}function u(e){const t=e.context(),n=r(6,t.offset,t.startLoc);let s=e.nextToken();if(9===s.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:s,lastStartLoc:a}=n,c=r(8,s,a);return 12!==t.type?(k.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,c.value="",o(c,s,a),{nextConsumeToken:t,node:c}):(null==t.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,F(t)),c.value=t.value||"",o(c,e.currentOffset(),e.currentPosition()),{node:c})}(e);n.modifier=t.node,s=t.nextConsumeToken||e.nextToken()}switch(10!==s.type&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(s)),s=e.nextToken(),2===s.type&&(s=e.nextToken()),s.type){case 11:null==s.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(s)),n.key=function(e,t){const n=e.context(),s=r(7,n.offset,n.startLoc);return s.value=t,o(s,e.currentOffset(),e.currentPosition()),s}(e,s.value||"");break;case 5:null==s.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(s)),n.key=c(e,s.value||"");break;case 6:null==s.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(s)),n.key=a(e,s.value||"");break;case 7:null==s.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(s)),n.key=i(e,s.value||"");break;default:k.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const l=e.context(),u=r(7,l.offset,l.startLoc);return u.value="",o(u,l.offset,l.startLoc),n.key=u,o(n,l.offset,l.startLoc),{nextConsumeToken:s,node:n}}return o(n,e.currentOffset(),e.currentPosition()),{node:n}}function f(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&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(s(e,r.value||""));break;case 6:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(a(e,r.value||""));break;case 5:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(c(e,r.value||""));break;case 7:null==r.value&&(k.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.items.push(i(e,r.value||""));break;case 8:const o=u(e);n.items.push(o.node),l=o.nextConsumeToken||null}}while(14!==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:s}=t,a=f(e);return 14===t.currentType?a:function(e,t,n,s){const a=e.context();let c=0===s.items.length;const l=r(1,t,n);l.cases=[],l.cases.push(s);do{const t=f(e);c||(c=0===t.items.length),l.cases.push(t)}while(14!==a.currentType);return c&&k.MUST_HAVE_MESSAGES_IN_PLURAL,o(l,e.currentOffset(),e.currentPosition()),l}(e,n,s,a)}return{parse:function(n){const s=R(n,l({},e)),a=s.context(),c=r(0,a.offset,a.startLoc);return t&&c.loc&&(c.loc.source=n),c.body=E(s),e.onCacheKey&&(c.cacheKey=e.onCacheKey(n)),14!==a.currentType&&(k.UNEXPECTED_LEXICAL_ANALYSIS,a.lastStartLoc,n[a.offset]),o(c,s.currentOffset(),s.currentPosition()),c}}}function F(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 w(e,t){for(let n=0;n<e.length;n++)W(e[n],t)}function W(e,t){switch(e.type){case 1:w(e.cases,t),t.helper("plural");break;case 2:w(e.items,t);break;case 6:W(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 X(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&&W(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function G(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=L(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 K(e){switch(e.t=e.type,e.type){case 0:const t=e;K(t.body),t.b=t.body,delete t.body;break;case 1:const n=e,r=n.cases;for(let e=0;e<r.length;e++)K(r[e]);n.c=r,delete n.cases;break;case 2:const o=e,s=o.items;for(let e=0;e<s.length;e++)K(s[e]);o.i=s,delete o.items,o.static&&(o.s=o.static,delete o.static);break;case 3:case 9:case 8:case 7:const a=e;a.value&&(a.v=a.value,delete a.value);break;case 6:const c=e;K(c.key),c.k=c.key,delete c.key,c.modifier&&(K(c.modifier),c.m=c.modifier,delete c.modifier);break;case 5:const l=e;l.i=l.index,delete l.index;break;case 4:const i=e;i.k=i.key,delete i.key}delete e.type}function $(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?$(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 o=t.cases.length;for(let n=0;n<o&&($(e,t.cases[n]),n!==o-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 o=t.items.length;for(let s=0;s<o&&($(e,t.items[s]),s!==o-1);s++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),$(e,t.key),t.modifier?(e.push(", "),$(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)}}const V=(e,t={})=>{const n=E(t.mode)?t.mode:"normal",r=E(t.filename)?t.filename:"message.intl",o=!!t.sourceMap,s=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",a=t.needIndent?t.needIndent:"arrow"!==n,c=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:r,breakLineCode:o,needIndent:s}=t,a=!1!==t.location,c={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:s,indentLevel:0};function l(e,t){c.code+=e}function i(e,t=!0){const n=t?o:"";l(s?n+" ".repeat(e):n)}return a&&e.loc&&(c.source=e.loc.source),{context:()=>c,push:l,indent:function(e=!0){const t=++c.indentLevel;e&&i(t)},deindent:function(e=!0){const t=--c.indentLevel;e&&i(t)},newline:function(){i(c.indentLevel)},helper:e=>`_${e}`,needIndent:()=>c.needIndent}}(e,{mode:n,filename:r,sourceMap:o,breakLineCode:s,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),c.length>0&&(l.push(`const { ${L(c.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),$(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:i,map:u}=l.context();return{ast:e,code:i,map:u?u.toJSON():void 0}};function Y(e,t={}){const n=l({},t),r=!!n.jit,o=!!n.minify,s=null==n.optimize||n.optimize,a=x(n).parse(e);return r?(s&&function(e){const t=e.body;2===t.type?G(t):t.cases.forEach((e=>G(e)))}(a),o&&K(a),{ast:a,code:""}):(X(a,n),V(a,n))}const H=[];H[0]={w:[0],i:[3,0],"[":[4],o:[7]},H[1]={w:[1],".":[2],"[":[4],o:[7]},H[2]={w:[2],i:[3,0],0:[3,0]},H[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},H[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},H[5]={"'":[4,0],o:8,l:[5,0]},H[6]={'"':[4,0],o:8,l:[6,0]};const B=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function j(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function z(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,B.test(n)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}function Q(e){const t=[];let n,r,o,s,a,c,l,i=-1,u=0,f=0;const E=[];function _(){const t=e[i+1];if(5===u&&"'"===t||6===u&&'"'===t)return i++,o="\\"+t,E[0](),!0}for(E[0]=()=>{void 0===r?r=o:r+=o},E[1]=()=>{void 0!==r&&(t.push(r),r=void 0)},E[2]=()=>{E[0](),f++},E[3]=()=>{if(f>0)f--,u=4,E[0]();else{if(f=0,void 0===r)return!1;if(r=z(r),!1===r)return!1;E[1]()}};null!==u;)if(i++,n=e[i],"\\"!==n||!_()){if(s=j(n),l=H[u],a=l[s]||l.l||8,8===a)return;if(u=a[0],void 0!==a[1]&&(c=E[a[1]],c&&(o=n,!1===c())))return;if(7===u)return t}}const J=new Map;function Z(e,t){return m(e)?e[t]:null}const q=e=>e,ee=e=>"",te="text",ne=e=>0===e.length?"":L(e),re=e=>null==e?"":u(e)||N(e)&&e.toString===d?JSON.stringify(e,null,2):String(e);function oe(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function se(e={}){const t=e.locale,n=function(e){const t=o(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(o(e.named.count)||o(e.named.n))?o(e.named.count)?e.named.count:o(e.named.n)?e.named.n:t:t}(e),r=m(e.pluralRules)&&E(t)&&f(e.pluralRules[t])?e.pluralRules[t]:oe,s=m(e.pluralRules)&&E(t)&&f(e.pluralRules[t])?oe:void 0,a=e.list||[],c=e.named||{};o(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,c);function i(t){const n=f(e.messages)?e.messages(t):!!m(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):ee)}const _=N(e.processor)&&f(e.processor.normalize)?e.processor.normalize:ne,d=N(e.processor)&&f(e.processor.interpolate)?e.processor.interpolate:re,p={list:e=>a[e],named:e=>c[e],plural:e=>e[r(n,e.length,s)],linked:(t,...n)=>{const[r,o]=n;let s="text",a="";1===n.length?m(r)?(a=r.modifier||a,s=r.type||s):E(r)&&(a=r||a):2===n.length&&(E(r)&&(a=r||a),E(o)&&(s=o||s));const c=i(t)(p),l="vnode"===s&&u(c)&&a?c[0]:c;return a?(f=a,e.modifiers?e.modifiers[f]:q)(l,s):l;var f},message:i,type:N(e.processor)&&E(e.processor.type)?e.processor.type:te,interpolate:d,normalize:_,values:l({},a,c)};return p}let ae=null;const ce=le("function:translate");function le(e){return t=>ae&&ae.emit(e,t)}const ie={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7,__EXTEND_POINT__:8},ue={[ie.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[ie.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[ie.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[ie.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[ie.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[ie.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[ie.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function fe(e,t){return null!=t.locale?_e(t.locale):_e(e.locale)}let Ee;function _e(e){return E(e)?e:null!=Ee&&e.resolvedOnce?Ee:Ee=e()}function me(e,t,n){return[...new Set([n,...u(t)?t:m(t)?Object.keys(t):E(t)?[t]:[n]])]}function de(e,t,n){let r=!0;for(let o=0;o<t.length&&_(r);o++){const s=t[o];E(s)&&(r=pe(e,t[o],n))}return r}function pe(e,t,n){let r;const o=t.split("-");do{r=Ne(e,o.join("-"),n),o.splice(-1,1)}while(o.length&&!0===r);return r}function Ne(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r="!"!==t[t.length-1];const o=t.replace(/!/g,"");e.push(o),(u(n)||N(n))&&n[o]&&(r=n[o])}return r}const Le="9.5.0",Te="en-US",Ae=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let ke,Ce,he;let Ie=null;let ge=null;let ye=0;function Oe(e,t,n,r,o){const{missing:s,onWarn:a}=e;if(null!==s){const r=s(e,n,t,o);return E(r)?r:t}return t}function be(e){return t=>function(e,t){const n=t.b||t.body;if(1===(n.t||n.type)){const t=n,r=t.c||t.cases;return e.plural(r.reduce(((t,n)=>[...t,Se(e,n)]),[]))}return Se(e,n)}(t,e)}function Se(e,t){const n=t.s||t.static;if(n)return"text"===e.type?n:e.normalize([n]);{const n=(t.i||t.items).reduce(((t,n)=>[...t,De(e,n)]),[]);return e.normalize(n)}}function De(e,t){const n=t.t||t.type;switch(n){case 3:const r=t;return r.v||r.value;case 9:const o=t;return o.v||o.value;case 4:const s=t;return e.interpolate(e.named(s.k||s.key));case 5:const a=t;return e.interpolate(e.list(null!=a.i?a.i:a.index));case 6:const c=t,l=c.m||c.modifier;return e.linked(De(e,c.k||c.key),l?De(e,l):void 0,e.type);case 7:const i=t;return i.v||i.value;case 8:const u=t;return u.v||u.value;default:throw new Error(`unhandled node type on format message part: ${n}`)}}const Pe=k.__EXTEND_POINT__,Me=function(e){let t=e;return()=>++t}(Pe),Re={INVALID_ARGUMENT:Pe,INVALID_DATE_ARGUMENT:Me(),INVALID_ISO_DATE_ARGUMENT:Me(),NOT_SUPPORT_NON_STRING_MESSAGE:Me(),__EXTEND_POINT__:Me()};Re.INVALID_ARGUMENT,Re.INVALID_DATE_ARGUMENT,Re.INVALID_ISO_DATE_ARGUMENT,Re.NOT_SUPPORT_NON_STRING_MESSAGE;const ve=e=>e;let Ue=Object.create(null);const xe=e=>m(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e);function Fe(e,t={}){let n=!1;const r=t.onError||h;return t.onError=e=>{n=!0,r(e)},{...Y(e,t),detectError:n}}const we=()=>"",We=e=>f(e);function Xe(e,t,n,r,o,s){const{messages:a,onWarn:c,messageResolver:l,localeFallbacker:i}=e,u=i(e,r,n);let f,_={},m=null;for(let d=0;d<u.length&&(f=u[d],_=a[f]||{},null===(m=l(_,t))&&(m=_[t]),!(E(m)||xe(m)||We(m)));d++){const n=Oe(e,t,f,0,"translate");n!==t&&(m=n)}return[m,f,_]}function Ge(e,t,r,o,s,a){const{messageCompiler:c,warnHtmlMessage:l}=e;if(We(o)){const e=o;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==c){const e=()=>o;return e.locale=r,e.key=t,e}const i=c(o,function(e,t,r,o,s,a){return{locale:t,key:r,warnHtmlMessage:s,onError:e=>{throw a&&a(e),e},onCacheKey:e=>n(t,r,e)}}(0,r,s,0,l,a));return i.locale=r,i.key=t,i.source=o,i}function Ke(...e){const[t,n,r]=e,s={};if(!(E(t)||o(t)||We(t)||xe(t)))throw Error(Re.INVALID_ARGUMENT);const a=o(t)?String(t):(We(t),t);return o(n)?s.plural=n:E(n)?s.default=n:N(n)&&!c(n)?s.named=n:u(n)&&(s.list=n),o(r)?s.plural=r:E(r)?s.default=r:N(r)&&l(s,r),[a,s]}const $e=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Ve(...e){const[t,n,r,a]=e,c={};let l,i={};if(E(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(Re.INVALID_ISO_DATE_ARGUMENT);const n=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();l=new Date(n);try{l.toISOString()}catch(u){throw Error(Re.INVALID_ISO_DATE_ARGUMENT)}}else if(s(t)){if(isNaN(t.getTime()))throw Error(Re.INVALID_DATE_ARGUMENT);l=t}else{if(!o(t))throw Error(Re.INVALID_ARGUMENT);l=t}return E(n)?c.key=n:N(n)&&Object.keys(n).forEach((e=>{$e.includes(e)?i[e]=n[e]:c[e]=n[e]})),E(r)?c.locale=r:N(r)&&(i=r),N(a)&&(i=a),[c.key||"",l,c,i]}const Ye=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function He(...e){const[t,n,r,s]=e,a={};let c={};if(!o(t))throw Error(Re.INVALID_ARGUMENT);const l=t;return E(n)?a.key=n:N(n)&&Object.keys(n).forEach((e=>{Ye.includes(e)?c[e]=n[e]:a[e]=n[e]})),E(r)?a.locale=r:N(r)&&(c=r),N(s)&&(c=s),[a.key||"",l,a,c]}return e.CompileErrorCodes=k,e.CoreErrorCodes=Re,e.CoreWarnCodes=ie,e.DATETIME_FORMAT_OPTIONS_KEYS=$e,e.DEFAULT_LOCALE=Te,e.DEFAULT_MESSAGE_DATA_TYPE=te,e.MISSING_RESOLVE_VALUE="",e.NOT_REOSLVED=-1,e.NUMBER_FORMAT_OPTIONS_KEYS=Ye,e.VERSION=Le,e.clearCompileCache=function(){Ue=Object.create(null)},e.clearDateTimeFormat=function(e,t,n){const r=e;for(const o in n){const e=`${t}__${o}`;r.__datetimeFormatters.has(e)&&r.__datetimeFormatters.delete(e)}},e.clearNumberFormat=function(e,t,n){const r=e;for(const o in n){const e=`${t}__${o}`;r.__numberFormatters.has(e)&&r.__numberFormatters.delete(e)}},e.compile=function(e,t){if(E(e)){!_(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||ve)(e),r=Ue[n];if(r)return r;const{ast:o,detectError:s}=Fe(e,{...t,location:!1,jit:!0}),a=be(o);return s?a:Ue[n]=a}{const t=e.cacheKey;if(t){const n=Ue[t];return n||(Ue[t]=be(e))}return be(e)}},e.compileToFunction=(e,t)=>{if(!E(e))throw Error(Re.NOT_SUPPORT_NON_STRING_MESSAGE);{!_(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||ve)(e),r=Ue[n];if(r)return r;const{code:o,detectError:s}=Fe(e,t),a=new Function(`return ${o}`)();return s?a:Ue[n]=a}},e.createCompileError=C,e.createCoreContext=function(e={}){const t=f(e.onWarn)?e.onWarn:T,n=E(e.version)?e.version:Le,r=E(e.locale)||f(e.locale)?e.locale:Te,o=f(r)?Te:r,s=u(e.fallbackLocale)||N(e.fallbackLocale)||E(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:o,c=N(e.messages)?e.messages:{[o]:{}},i=N(e.datetimeFormats)?e.datetimeFormats:{[o]:{}},d=N(e.numberFormats)?e.numberFormats:{[o]:{}},p=l({},e.modifiers||{},{upper:(e,t)=>"text"===t&&E(e)?e.toUpperCase():"vnode"===t&&m(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&E(e)?e.toLowerCase():"vnode"===t&&m(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&E(e)?Ae(e):"vnode"===t&&m(e)&&"__v_isVNode"in e?Ae(e.children):e}),L=e.pluralRules||{},A=f(e.missing)?e.missing:null,k=!_(e.missingWarn)&&!a(e.missingWarn)||e.missingWarn,C=!_(e.fallbackWarn)&&!a(e.fallbackWarn)||e.fallbackWarn,h=!!e.fallbackFormat,I=!!e.unresolving,g=f(e.postTranslation)?e.postTranslation:null,y=N(e.processor)?e.processor:null,O=!_(e.warnHtmlMessage)||e.warnHtmlMessage,b=!!e.escapeParameter,S=f(e.messageCompiler)?e.messageCompiler:ke,D=f(e.messageResolver)?e.messageResolver:Ce||Z,P=f(e.localeFallbacker)?e.localeFallbacker:he||me,M=m(e.fallbackContext)?e.fallbackContext:void 0,R=e,v=m(R.__datetimeFormatters)?R.__datetimeFormatters:new Map,U=m(R.__numberFormatters)?R.__numberFormatters:new Map,x=m(R.__meta)?R.__meta:{};ye++;const F={version:n,cid:ye,locale:r,fallbackLocale:s,messages:c,modifiers:p,pluralRules:L,missing:A,missingWarn:k,fallbackWarn:C,fallbackFormat:h,unresolving:I,postTranslation:g,processor:y,warnHtmlMessage:O,escapeParameter:b,messageCompiler:S,messageResolver:D,localeFallbacker:P,fallbackContext:M,onWarn:t,__meta:x};return F.datetimeFormats=i,F.numberFormats=d,F.__datetimeFormatters=v,F.__numberFormatters=U,F},e.createCoreError=function(e){return C(e,null,void 0)},e.createMessageContext=se,e.datetime=function(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[u,f,m,d]=Ve(...t);_(m.missingWarn)?m.missingWarn:e.missingWarn,_(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,L=fe(e,m),T=a(e,o,L);if(!E(u)||""===u)return new Intl.DateTimeFormat(L,d).format(f);let A,k={},C=null;for(let c=0;c<T.length&&(A=T[c],k=n[A]||{},C=k[u],!N(C));c++)Oe(e,u,A,0,"datetime format");if(!N(C)||!E(A))return r?-1:u;let h=`${A}__${u}`;c(d)||(h=`${h}__${JSON.stringify(d)}`);let I=i.get(h);return I||(I=new Intl.DateTimeFormat(A,l({},C,d)),i.set(h,I)),p?I.formatToParts(f):I.format(f)},e.fallbackWithLocaleChain=function(e,t,n){const r=E(n)?n:Te,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let s=o.__localeChainCache.get(r);if(!s){s=[];let e=[n];for(;u(e);)e=de(s,e,t);const a=u(t)||!N(t)?t:t.default?t.default:null;e=E(a)?[a]:a,u(e)&&de(s,e,!1),o.__localeChainCache.set(r,s)}return s},e.fallbackWithSimple=me,e.getAdditionalMeta=()=>Ie,e.getDevToolsHook=function(){return ae},e.getFallbackContext=()=>ge,e.getLocale=fe,e.getWarnMessage=function(e,...n){return function(e,...n){return 1===n.length&&m(n[0])&&(n=n[0]),n&&n.hasOwnProperty||(n={}),e.replace(t,((e,t)=>n.hasOwnProperty(t)?n[t]:""))}(ue[e],...n)},e.handleMissing=Oe,e.initI18nDevTools=function(e,t,n){ae&&ae.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})},e.isMessageAST=xe,e.isMessageFunction=We,e.isTranslateFallbackWarn=function(e,t){return e instanceof RegExp?e.test(t):e},e.isTranslateMissingWarn=function(e,t){return e instanceof RegExp?e.test(t):e},e.number=function(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:o,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[u,f,m,d]=He(...t);_(m.missingWarn)?m.missingWarn:e.missingWarn,_(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,L=fe(e,m),T=a(e,o,L);if(!E(u)||""===u)return new Intl.NumberFormat(L,d).format(f);let A,k={},C=null;for(let c=0;c<T.length&&(A=T[c],k=n[A]||{},C=k[u],!N(C));c++)Oe(e,u,A,0,"number format");if(!N(C)||!E(A))return r?-1:u;let h=`${A}__${u}`;c(d)||(h=`${h}__${JSON.stringify(d)}`);let I=i.get(h);return I||(I=new Intl.NumberFormat(A,l({},C,d)),i.set(h,I)),p?I.formatToParts(f):I.format(f)},e.parse=Q,e.parseDateTimeArgs=Ve,e.parseNumberArgs=He,e.parseTranslateArgs=Ke,e.registerLocaleFallbacker=function(e){he=e},e.registerMessageCompiler=function(e){ke=e},e.registerMessageResolver=function(e){Ce=e},e.resolveLocale=_e,e.resolveValue=function(e,t){if(!m(e))return null;let n=J.get(t);if(n||(n=Q(t),n&&J.set(t,n)),!n)return null;const r=n.length;let o=e,s=0;for(;s<r;){const e=o[n[s]];if(void 0===e)return null;o=e,s++}return o},e.resolveWithKeyValue=Z,e.setAdditionalMeta=e=>{Ie=e},e.setDevToolsHook=function(e){ae=e},e.setFallbackContext=e=>{ge=e},e.translate=function(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:a,fallbackLocale:c,messages:l}=e,[f,d]=Ke(...t),p=_(d.missingWarn)?d.missingWarn:e.missingWarn,N=_(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn,L=_(d.escapeParameter)?d.escapeParameter:e.escapeParameter,T=!!d.resolvedMessage,A=E(d.default)||_(d.default)?_(d.default)?a?f:()=>f:d.default:n?a?f:()=>f:"",k=n||""!==A,C=fe(e,d);L&&function(e){u(e.list)?e.list=e.list.map((e=>E(e)?i(e):e)):m(e.named)&&Object.keys(e.named).forEach((t=>{E(e.named[t])&&(e.named[t]=i(e.named[t]))}))}(d);let[h,I,g]=T?[f,C,l[C]||{}]:Xe(e,f,C,c,N,p),y=h,O=f;if(T||E(y)||xe(y)||We(y)||k&&(y=A,O=y),!(T||(E(y)||xe(y)||We(y))&&E(I)))return s?-1:f;let b=!1;const S=We(y)?y:Ge(e,f,I,y,O,(()=>{b=!0}));if(b)return y;const D=function(e,t,n,r){const{modifiers:s,pluralRules:a,messageResolver:c,fallbackLocale:l,fallbackWarn:i,missingWarn:u,fallbackContext:f}=e,_=r=>{let o=c(n,r);if(null==o&&f){const[,,e]=Xe(f,r,t,l,i,u);o=c(e,r)}if(E(o)||xe(o)){let n=!1;const s=Ge(e,r,t,o,r,(()=>{n=!0}));return n?we:s}return We(o)?o:we},m={locale:t,modifiers:s,pluralRules:a,messages:_};e.processor&&(m.processor=e.processor);r.list&&(m.list=r.list);r.named&&(m.named=r.named);o(r.plural)&&(m.pluralIndex=r.plural);return m}(e,I,g,d),P=function(e,t,n){const r=t(n);return r}(0,S,se(D));return r?r(P,f):P},e.translateDevTools=ce,e.updateFallbackLocale=function(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)},e}({});
|
package/dist/core-base.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -464,6 +464,22 @@ function getWarnMessage(code, ...args) {
|
|
|
464
464
|
return format$1(warnMessages[code], ...args);
|
|
465
465
|
}
|
|
466
466
|
|
|
467
|
+
/** @internal */
|
|
468
|
+
function getLocale(context, options) {
|
|
469
|
+
return options.locale != null
|
|
470
|
+
? resolveLocale(options.locale)
|
|
471
|
+
: resolveLocale(context.locale);
|
|
472
|
+
}
|
|
473
|
+
let _resolveLocale;
|
|
474
|
+
/** @internal */
|
|
475
|
+
function resolveLocale(locale) {
|
|
476
|
+
// prettier-ignore
|
|
477
|
+
return isString(locale)
|
|
478
|
+
? locale
|
|
479
|
+
: _resolveLocale != null && locale.resolvedOnce
|
|
480
|
+
? _resolveLocale
|
|
481
|
+
: (_resolveLocale = locale());
|
|
482
|
+
}
|
|
467
483
|
/**
|
|
468
484
|
* Fallback with simple implemenation
|
|
469
485
|
*
|
|
@@ -585,7 +601,7 @@ function appendItemToChain(chain, target, blocks) {
|
|
|
585
601
|
* Intlify core-base version
|
|
586
602
|
* @internal
|
|
587
603
|
*/
|
|
588
|
-
const VERSION = '9.
|
|
604
|
+
const VERSION = '9.5.0';
|
|
589
605
|
const NOT_REOSLVED = -1;
|
|
590
606
|
const DEFAULT_LOCALE = 'en-US';
|
|
591
607
|
const MISSING_RESOLVE_VALUE = '';
|
|
@@ -661,23 +677,26 @@ function createCoreContext(options = {}) {
|
|
|
661
677
|
// setup options
|
|
662
678
|
const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
|
|
663
679
|
const version = isString(options.version) ? options.version : VERSION;
|
|
664
|
-
const locale = isString(options.locale)
|
|
680
|
+
const locale = isString(options.locale) || isFunction(options.locale)
|
|
681
|
+
? options.locale
|
|
682
|
+
: DEFAULT_LOCALE;
|
|
683
|
+
const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
665
684
|
const fallbackLocale = isArray(options.fallbackLocale) ||
|
|
666
685
|
isPlainObject(options.fallbackLocale) ||
|
|
667
686
|
isString(options.fallbackLocale) ||
|
|
668
687
|
options.fallbackLocale === false
|
|
669
688
|
? options.fallbackLocale
|
|
670
|
-
:
|
|
689
|
+
: _locale;
|
|
671
690
|
const messages = isPlainObject(options.messages)
|
|
672
691
|
? options.messages
|
|
673
|
-
: { [
|
|
692
|
+
: { [_locale]: {} };
|
|
674
693
|
const datetimeFormats = isPlainObject(options.datetimeFormats)
|
|
675
694
|
? options.datetimeFormats
|
|
676
|
-
: { [
|
|
695
|
+
: { [_locale]: {} }
|
|
677
696
|
;
|
|
678
697
|
const numberFormats = isPlainObject(options.numberFormats)
|
|
679
698
|
? options.numberFormats
|
|
680
|
-
: { [
|
|
699
|
+
: { [_locale]: {} }
|
|
681
700
|
;
|
|
682
701
|
const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
683
702
|
const pluralRules = options.pluralRules || {};
|
|
@@ -857,7 +876,7 @@ function formatMessagePart(ctx, node) {
|
|
|
857
876
|
return ctx.interpolate(ctx.named(named.k || named.key));
|
|
858
877
|
case 5 /* NodeTypes.List */:
|
|
859
878
|
const list = node;
|
|
860
|
-
return ctx.interpolate(ctx.list(list.i
|
|
879
|
+
return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
|
|
861
880
|
case 6 /* NodeTypes.Linked */:
|
|
862
881
|
const linked = node;
|
|
863
882
|
const modifier = linked.m || linked.modifier;
|
|
@@ -1021,7 +1040,7 @@ function translate(context, ...args) {
|
|
|
1021
1040
|
? (!messageCompiler ? () => key : key)
|
|
1022
1041
|
: '';
|
|
1023
1042
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
|
|
1024
|
-
const locale =
|
|
1043
|
+
const locale = getLocale(context, options);
|
|
1025
1044
|
// escape params
|
|
1026
1045
|
escapeParameter && escapeParams(options);
|
|
1027
1046
|
// resolve message format
|
|
@@ -1429,7 +1448,7 @@ function datetime(context, ...args) {
|
|
|
1429
1448
|
? options.fallbackWarn
|
|
1430
1449
|
: context.fallbackWarn;
|
|
1431
1450
|
const part = !!options.part;
|
|
1432
|
-
const locale =
|
|
1451
|
+
const locale = getLocale(context, options);
|
|
1433
1452
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1434
1453
|
fallbackLocale, locale);
|
|
1435
1454
|
if (!isString(key) || key === '') {
|
|
@@ -1604,7 +1623,7 @@ function number(context, ...args) {
|
|
|
1604
1623
|
? options.fallbackWarn
|
|
1605
1624
|
: context.fallbackWarn;
|
|
1606
1625
|
const part = !!options.part;
|
|
1607
|
-
const locale =
|
|
1626
|
+
const locale = getLocale(context, options);
|
|
1608
1627
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1609
1628
|
fallbackLocale, locale);
|
|
1610
1629
|
if (!isString(key) || key === '') {
|
|
@@ -1735,4 +1754,4 @@ function clearNumberFormat(ctx, locale, format) {
|
|
|
1735
1754
|
initFeatureFlags();
|
|
1736
1755
|
}
|
|
1737
1756
|
|
|
1738
|
-
export { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };
|
|
1757
|
+
export { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };
|
package/dist/core-base.prod.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* core-base v9.
|
|
2
|
+
* core-base v9.5.0
|
|
3
3
|
* (c) 2023 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -449,6 +449,22 @@ function getWarnMessage(code, ...args) {
|
|
|
449
449
|
return shared.format(warnMessages[code], ...args);
|
|
450
450
|
}
|
|
451
451
|
|
|
452
|
+
/** @internal */
|
|
453
|
+
function getLocale(context, options) {
|
|
454
|
+
return options.locale != null
|
|
455
|
+
? resolveLocale(options.locale)
|
|
456
|
+
: resolveLocale(context.locale);
|
|
457
|
+
}
|
|
458
|
+
let _resolveLocale;
|
|
459
|
+
/** @internal */
|
|
460
|
+
function resolveLocale(locale) {
|
|
461
|
+
// prettier-ignore
|
|
462
|
+
return shared.isString(locale)
|
|
463
|
+
? locale
|
|
464
|
+
: _resolveLocale != null && locale.resolvedOnce
|
|
465
|
+
? _resolveLocale
|
|
466
|
+
: (_resolveLocale = locale());
|
|
467
|
+
}
|
|
452
468
|
/**
|
|
453
469
|
* Fallback with simple implemenation
|
|
454
470
|
*
|
|
@@ -570,7 +586,7 @@ function appendItemToChain(chain, target, blocks) {
|
|
|
570
586
|
* Intlify core-base version
|
|
571
587
|
* @internal
|
|
572
588
|
*/
|
|
573
|
-
const VERSION = '9.
|
|
589
|
+
const VERSION = '9.5.0';
|
|
574
590
|
const NOT_REOSLVED = -1;
|
|
575
591
|
const DEFAULT_LOCALE = 'en-US';
|
|
576
592
|
const MISSING_RESOLVE_VALUE = '';
|
|
@@ -646,23 +662,26 @@ function createCoreContext(options = {}) {
|
|
|
646
662
|
// setup options
|
|
647
663
|
const onWarn = shared.isFunction(options.onWarn) ? options.onWarn : shared.warn;
|
|
648
664
|
const version = shared.isString(options.version) ? options.version : VERSION;
|
|
649
|
-
const locale = shared.isString(options.locale)
|
|
665
|
+
const locale = shared.isString(options.locale) || shared.isFunction(options.locale)
|
|
666
|
+
? options.locale
|
|
667
|
+
: DEFAULT_LOCALE;
|
|
668
|
+
const _locale = shared.isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
650
669
|
const fallbackLocale = shared.isArray(options.fallbackLocale) ||
|
|
651
670
|
shared.isPlainObject(options.fallbackLocale) ||
|
|
652
671
|
shared.isString(options.fallbackLocale) ||
|
|
653
672
|
options.fallbackLocale === false
|
|
654
673
|
? options.fallbackLocale
|
|
655
|
-
:
|
|
674
|
+
: _locale;
|
|
656
675
|
const messages = shared.isPlainObject(options.messages)
|
|
657
676
|
? options.messages
|
|
658
|
-
: { [
|
|
677
|
+
: { [_locale]: {} };
|
|
659
678
|
const datetimeFormats = shared.isPlainObject(options.datetimeFormats)
|
|
660
679
|
? options.datetimeFormats
|
|
661
|
-
: { [
|
|
680
|
+
: { [_locale]: {} }
|
|
662
681
|
;
|
|
663
682
|
const numberFormats = shared.isPlainObject(options.numberFormats)
|
|
664
683
|
? options.numberFormats
|
|
665
|
-
: { [
|
|
684
|
+
: { [_locale]: {} }
|
|
666
685
|
;
|
|
667
686
|
const modifiers = shared.assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
668
687
|
const pluralRules = options.pluralRules || {};
|
|
@@ -810,7 +829,7 @@ function formatMessagePart(ctx, node) {
|
|
|
810
829
|
return ctx.interpolate(ctx.named(named.k || named.key));
|
|
811
830
|
case 5 /* NodeTypes.List */:
|
|
812
831
|
const list = node;
|
|
813
|
-
return ctx.interpolate(ctx.list(list.i
|
|
832
|
+
return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
|
|
814
833
|
case 6 /* NodeTypes.Linked */:
|
|
815
834
|
const linked = node;
|
|
816
835
|
const modifier = linked.m || linked.modifier;
|
|
@@ -961,7 +980,7 @@ function translate(context, ...args) {
|
|
|
961
980
|
? (!messageCompiler ? () => key : key)
|
|
962
981
|
: '';
|
|
963
982
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
|
|
964
|
-
const locale =
|
|
983
|
+
const locale = getLocale(context, options);
|
|
965
984
|
// escape params
|
|
966
985
|
escapeParameter && escapeParams(options);
|
|
967
986
|
// resolve message format
|
|
@@ -1196,7 +1215,7 @@ function datetime(context, ...args) {
|
|
|
1196
1215
|
? options.fallbackWarn
|
|
1197
1216
|
: context.fallbackWarn;
|
|
1198
1217
|
const part = !!options.part;
|
|
1199
|
-
const locale =
|
|
1218
|
+
const locale = getLocale(context, options);
|
|
1200
1219
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1201
1220
|
fallbackLocale, locale);
|
|
1202
1221
|
if (!shared.isString(key) || key === '') {
|
|
@@ -1343,7 +1362,7 @@ function number(context, ...args) {
|
|
|
1343
1362
|
? options.fallbackWarn
|
|
1344
1363
|
: context.fallbackWarn;
|
|
1345
1364
|
const part = !!options.part;
|
|
1346
|
-
const locale =
|
|
1365
|
+
const locale = getLocale(context, options);
|
|
1347
1366
|
const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
1348
1367
|
fallbackLocale, locale);
|
|
1349
1368
|
if (!shared.isString(key) || key === '') {
|
|
@@ -1471,6 +1490,7 @@ exports.fallbackWithSimple = fallbackWithSimple;
|
|
|
1471
1490
|
exports.getAdditionalMeta = getAdditionalMeta;
|
|
1472
1491
|
exports.getDevToolsHook = getDevToolsHook;
|
|
1473
1492
|
exports.getFallbackContext = getFallbackContext;
|
|
1493
|
+
exports.getLocale = getLocale;
|
|
1474
1494
|
exports.getWarnMessage = getWarnMessage;
|
|
1475
1495
|
exports.handleMissing = handleMissing;
|
|
1476
1496
|
exports.initI18nDevTools = initI18nDevTools;
|
|
@@ -1486,6 +1506,7 @@ exports.parseTranslateArgs = parseTranslateArgs;
|
|
|
1486
1506
|
exports.registerLocaleFallbacker = registerLocaleFallbacker;
|
|
1487
1507
|
exports.registerMessageCompiler = registerMessageCompiler;
|
|
1488
1508
|
exports.registerMessageResolver = registerMessageResolver;
|
|
1509
|
+
exports.resolveLocale = resolveLocale;
|
|
1489
1510
|
exports.resolveValue = resolveValue;
|
|
1490
1511
|
exports.resolveWithKeyValue = resolveWithKeyValue;
|
|
1491
1512
|
exports.setAdditionalMeta = setAdditionalMeta;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlify/core-base",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0",
|
|
4
4
|
"description": "@intlify/core-base",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"core",
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
"jsdelivr": "dist/core-base.global.js",
|
|
34
34
|
"types": "dist/core-base.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@intlify/
|
|
37
|
-
"@intlify/
|
|
36
|
+
"@intlify/message-compiler": "9.5.0",
|
|
37
|
+
"@intlify/shared": "9.5.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@intlify/
|
|
41
|
-
"@intlify/devtools
|
|
40
|
+
"@intlify/devtools-if": "9.5.0",
|
|
41
|
+
"@intlify/vue-devtools": "9.5.0"
|
|
42
42
|
},
|
|
43
43
|
"engines": {
|
|
44
44
|
"node": ">= 16"
|