@intlify/core-edge
Version:
7 lines (6 loc) • 15.1 kB
JavaScript
/*!
* core v9.3.0-beta.14
* (c) 2023 kazuya kawaguchi
* Released under the MIT License.
*/
var IntlifyCore=function(e){"use strict";const t=/\{([0-9a-zA-Z]+)\}/g;const n=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),r=e=>"number"==typeof e&&isFinite(e),a=e=>"[object RegExp]"===p(e),o=e=>E(e)&&0===Object.keys(e).length;function l(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const s=Object.assign;function i(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const c=Array.isArray,u=e=>"function"==typeof e,m=e=>"string"==typeof e,f=e=>"boolean"==typeof e,_=e=>null!==e&&"object"==typeof e,g=Object.prototype.toString,p=e=>g.call(e),E=e=>"[object Object]"===p(e),d={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,__EXTEND_POINT__:15};function T(e,t,n={}){const{domain:r,messages:a,args:o}=n,l=new SyntaxError(String(e));return l.code=e,t&&(l.location=t),l.domain=r,l}const A=[];A[0]={w:[0],i:[3,0],"[":[4],o:[7]},A[1]={w:[1],".":[2],"[":[4],o:[7]},A[2]={w:[2],i:[3,0],0:[3,0]},A[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},A[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},A[5]={"'":[4,0],o:8,l:[5,0]},A[6]={'"':[4,0],o:8,l:[6,0]};const N=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function b(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 C(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,N.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 k(e){const t=[];let n,r,a,o,l,s,i,c=-1,u=0,m=0;const f=[];function _(){const t=e[c+1];if(5===u&&"'"===t||6===u&&'"'===t)return c++,a="\\"+t,f[0](),!0}for(f[0]=()=>{void 0===r?r=a:r+=a},f[1]=()=>{void 0!==r&&(t.push(r),r=void 0)},f[2]=()=>{f[0](),m++},f[3]=()=>{if(m>0)m--,u=4,f[0]();else{if(m=0,void 0===r)return!1;if(r=C(r),!1===r)return!1;f[1]()}};null!==u;)if(c++,n=e[c],"\\"!==n||!_()){if(o=b(n),i=A[u],l=i[o]||i.l||8,8===l)return;if(u=l[0],void 0!==l[1]&&(s=f[l[1]],s&&(a=n,!1===s())))return;if(7===u)return t}}const F=new Map;function h(e,t){return _(e)?e[t]:null}function D(e,t){if(!_(e))return null;let n=F.get(t);if(n||(n=k(t),n&&F.set(t,n)),!n)return null;const r=n.length;let a=e,o=0;for(;o<r;){const e=a[n[o]];if(void 0===e)return null;a=e,o++}return a}const L=e=>e,O=e=>"",I="text",y=e=>0===e.length?"":e.join(""),M=e=>null==e?"":c(e)||E(e)&&e.toString===g?JSON.stringify(e,null,2):String(e);function R(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function S(e={}){const t=e.locale,n=function(e){const t=r(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(r(e.named.count)||r(e.named.n))?r(e.named.count)?e.named.count:r(e.named.n)?e.named.n:t:t}(e),a=_(e.pluralRules)&&m(t)&&u(e.pluralRules[t])?e.pluralRules[t]:R,o=_(e.pluralRules)&&m(t)&&u(e.pluralRules[t])?R:void 0,l=e.list||[],s=e.named||{};r(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,s);function i(t){const n=u(e.messages)?e.messages(t):!!_(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):O)}const f=E(e.processor)&&u(e.processor.normalize)?e.processor.normalize:y,g=E(e.processor)&&u(e.processor.interpolate)?e.processor.interpolate:M,p={list:e=>l[e],named:e=>s[e],plural:e=>e[a(n,e.length,o)],linked:(t,...n)=>{const[r,a]=n;let o="text",l="";1===n.length?_(r)?(l=r.modifier||l,o=r.type||o):m(r)&&(l=r||l):2===n.length&&(m(r)&&(l=r||l),m(a)&&(o=a||o));let s=i(t)(p);return"vnode"===o&&c(s)&&l&&(s=s[0]),l?(u=l,e.modifiers?e.modifiers[u]:L)(s,o):s;var u},message:i,type:E(e.processor)&&m(e.processor.type)?e.processor.type:I,interpolate:g,normalize:f};return p}const W="i18n:init";let v=null;const w=U("function:translate");function U(e){return t=>v&&v.emit(e,t)}const P={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,__EXTEND_POINT__:7},x={[P.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[P.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[P.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[P.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[P.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[P.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale."};function V(e,t,n){return[...new Set([n,...c(t)?t:_(t)?Object.keys(t):m(t)?[t]:[n]])]}function K(e,t,n){const r=m(n)?n:H,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let o=a.__localeChainCache.get(r);if(!o){o=[];let e=[n];for(;c(e);)e=$(o,e,t);const l=c(t)||!E(t)?t:t.default?t.default:null;e=m(l)?[l]:l,c(e)&&$(o,e,!1),a.__localeChainCache.set(r,o)}return o}function $(e,t,n){let r=!0;for(let a=0;a<t.length&&f(r);a++){const o=t[a];m(o)&&(r=G(e,t[a],n))}return r}function G(e,t,n){let r;const a=t.split("-");do{r=j(e,a.join("-"),n),a.splice(-1,1)}while(a.length&&!0===r);return r}function j(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r="!"!==t[t.length-1];const a=t.replace(/!/g,"");e.push(a),(c(n)||E(n))&&n[a]&&(r=n[a])}return r}const B="9.3.0-beta.14",H="en-US",Y=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let X,z,J;function Z(e){z=e}function Q(e){J=e}let q=null;let ee=null;let te=0;function ne(e,t,n,r,a){const{missing:o,onWarn:l}=e;if(null!==o){const r=o(e,n,t,a);return m(r)?r:t}return t}let re=d.__EXTEND_POINT__;const ae=()=>++re,oe={INVALID_ARGUMENT:re,INVALID_DATE_ARGUMENT:ae(),INVALID_ISO_DATE_ARGUMENT:ae(),__EXTEND_POINT__:ae()};const le=()=>"",se=e=>u(e);function ie(e,t,n,r,a,o){const{messages:l,onWarn:s,messageResolver:i,localeFallbacker:c}=e,f=c(e,r,n);let _,g={},p=null;for(let n=0;n<f.length&&(_=f[n],g=l[_]||{},null===(p=i(g,t))&&(p=g[t]),!m(p)&&!u(p));n++){const n=ne(e,t,_,0,"translate");n!==t&&(p=n)}return[p,_,g]}function ce(e,t,r,a,o,l){const{messageCompiler:s,warnHtmlMessage:i}=e;if(se(a)){const e=a;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==s){const e=()=>a;return e.locale=r,e.key=t,e}const c=s(a,function(e,t,r,a,o,l){return{warnHtmlMessage:o,onError:e=>{throw l&&l(e),e},onCacheKey:e=>((e,t,r)=>n({l:e,k:t,s:r}))(t,r,e)}}(0,r,o,0,i,l));return c.locale=r,c.key=t,c.source=a,c}function ue(...e){const[t,n,a]=e,l={};if(!m(t)&&!r(t)&&!se(t))throw Error(oe.INVALID_ARGUMENT);const i=r(t)?String(t):(se(t),t);return r(n)?l.plural=n:m(n)?l.default=n:E(n)&&!o(n)?l.named=n:c(n)&&(l.list=n),r(a)?l.plural=a:m(a)?l.default=a:E(a)&&s(l,a),[i,l]}const me=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function fe(...e){const[t,n,a,o]=e,l={};let s,i={};if(m(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(oe.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();s=new Date(n);try{s.toISOString()}catch(e){throw Error(oe.INVALID_ISO_DATE_ARGUMENT)}}else if("[object Date]"===p(t)){if(isNaN(t.getTime()))throw Error(oe.INVALID_DATE_ARGUMENT);s=t}else{if(!r(t))throw Error(oe.INVALID_ARGUMENT);s=t}return m(n)?l.key=n:E(n)&&Object.keys(n).forEach((e=>{me.includes(e)?i[e]=n[e]:l[e]=n[e]})),m(a)?l.locale=a:E(a)&&(i=a),E(o)&&(i=o),[l.key||"",s,l,i]}const _e=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function ge(...e){const[t,n,a,o]=e,l={};let s={};if(!r(t))throw Error(oe.INVALID_ARGUMENT);const i=t;return m(n)?l.key=n:E(n)&&Object.keys(n).forEach((e=>{_e.includes(e)?s[e]=n[e]:l[e]=n[e]})),m(a)?l.locale=a:E(a)&&(s=a),E(o)&&(s=o),[l.key||"",i,l,s]}return Z(D),Q(K),e.CompileErrorCodes=d,e.CoreErrorCodes=oe,e.CoreWarnCodes=P,e.DATETIME_FORMAT_OPTIONS_KEYS=me,e.DEFAULT_LOCALE=H,e.DEFAULT_MESSAGE_DATA_TYPE=I,e.MISSING_RESOLVE_VALUE="",e.NOT_REOSLVED=-1,e.NUMBER_FORMAT_OPTIONS_KEYS=_e,e.VERSION=B,e.clearCompileCache=function(){},e.clearDateTimeFormat=function(e,t,n){const r=e;for(const e in n){const n=`${t}__${e}`;r.__datetimeFormatters.has(n)&&r.__datetimeFormatters.delete(n)}},e.clearNumberFormat=function(e,t,n){const r=e;for(const e in n){const n=`${t}__${e}`;r.__numberFormatters.has(n)&&r.__numberFormatters.delete(n)}},e.compileToFunction=function(e,t={}){return()=>e},e.createCompileError=T,e.createCoreContext=function(e={}){const t=m(e.version)?e.version:B,n=m(e.locale)?e.locale:H,r=c(e.fallbackLocale)||E(e.fallbackLocale)||m(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:n,o=E(e.messages)?e.messages:{[n]:{}},i=E(e.datetimeFormats)?e.datetimeFormats:{[n]:{}},g=E(e.numberFormats)?e.numberFormats:{[n]:{}},p=s({},e.modifiers||{},{upper:(e,t)=>"text"===t&&m(e)?e.toUpperCase():"vnode"===t&&_(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&m(e)?e.toLowerCase():"vnode"===t&&_(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&m(e)?Y(e):"vnode"===t&&_(e)&&"__v_isVNode"in e?Y(e.children):e}),d=e.pluralRules||{},T=u(e.missing)?e.missing:null,A=!f(e.missingWarn)&&!a(e.missingWarn)||e.missingWarn,N=!f(e.fallbackWarn)&&!a(e.fallbackWarn)||e.fallbackWarn,b=!!e.fallbackFormat,C=!!e.unresolving,k=u(e.postTranslation)?e.postTranslation:null,F=E(e.processor)?e.processor:null,D=!f(e.warnHtmlMessage)||e.warnHtmlMessage,L=!!e.escapeParameter,O=u(e.messageCompiler)?e.messageCompiler:X,I=u(e.messageResolver)?e.messageResolver:z||h,y=u(e.localeFallbacker)?e.localeFallbacker:J||V,M=_(e.fallbackContext)?e.fallbackContext:void 0,R=u(e.onWarn)?e.onWarn:l,S=e,W=_(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,v=_(S.__numberFormatters)?S.__numberFormatters:new Map,w=_(S.__meta)?S.__meta:{};te++;const U={version:t,cid:te,locale:n,fallbackLocale:r,messages:o,modifiers:p,pluralRules:d,missing:T,missingWarn:A,fallbackWarn:N,fallbackFormat:b,unresolving:C,postTranslation:k,processor:F,warnHtmlMessage:D,escapeParameter:L,messageCompiler:O,messageResolver:I,localeFallbacker:y,fallbackContext:M,onWarn:R,__meta:w};return U.datetimeFormats=i,U.numberFormats=g,U.__datetimeFormatters=W,U.__numberFormatters=v,U},e.createCoreError=function(e){return T(e,null,void 0)},e.createMessageContext=S,e.datetime=function(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:a,onWarn:l,localeFallbacker:i}=e,{__datetimeFormatters:c}=e,[u,_,g,p]=fe(...t);f(g.missingWarn)?g.missingWarn:e.missingWarn,f(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const d=!!g.part,T=m(g.locale)?g.locale:e.locale,A=i(e,a,T);if(!m(u)||""===u)return new Intl.DateTimeFormat(T,p).format(_);let N,b={},C=null;for(let t=0;t<A.length&&(N=A[t],b=n[N]||{},C=b[u],!E(C));t++)ne(e,u,N,0,"datetime format");if(!E(C)||!m(N))return r?-1:u;let k=`${N}__${u}`;o(p)||(k=`${k}__${JSON.stringify(p)}`);let F=c.get(k);return F||(F=new Intl.DateTimeFormat(N,s({},C,p)),c.set(k,F)),d?F.formatToParts(_):F.format(_)},e.fallbackWithLocaleChain=K,e.fallbackWithSimple=V,e.getAdditionalMeta=()=>q,e.getDevToolsHook=function(){return v},e.getFallbackContext=()=>ee,e.getWarnMessage=function(e,...n){return function(e,...n){return 1===n.length&&_(n[0])&&(n=n[0]),n&&n.hasOwnProperty||(n={}),e.replace(t,((e,t)=>n.hasOwnProperty(t)?n[t]:""))}(x[e],...n)},e.handleMissing=ne,e.initI18nDevTools=function(e,t,n){v&&v.emit(W,{timestamp:Date.now(),i18n:e,version:t,meta:n})},e.isMessageFunction=se,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:a,onWarn:l,localeFallbacker:i}=e,{__numberFormatters:c}=e,[u,_,g,p]=ge(...t);f(g.missingWarn)?g.missingWarn:e.missingWarn,f(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const d=!!g.part,T=m(g.locale)?g.locale:e.locale,A=i(e,a,T);if(!m(u)||""===u)return new Intl.NumberFormat(T,p).format(_);let N,b={},C=null;for(let t=0;t<A.length&&(N=A[t],b=n[N]||{},C=b[u],!E(C));t++)ne(e,u,N,0,"number format");if(!E(C)||!m(N))return r?-1:u;let k=`${N}__${u}`;o(p)||(k=`${k}__${JSON.stringify(p)}`);let F=c.get(k);return F||(F=new Intl.NumberFormat(N,s({},C,p)),c.set(k,F)),d?F.formatToParts(_):F.format(_)},e.parse=k,e.parseDateTimeArgs=fe,e.parseNumberArgs=ge,e.parseTranslateArgs=ue,e.registerLocaleFallbacker=Q,e.registerMessageCompiler=function(e){X=e},e.registerMessageResolver=Z,e.resolveValue=D,e.resolveWithKeyValue=h,e.setAdditionalMeta=e=>{q=e},e.setDevToolsHook=function(e){v=e},e.setFallbackContext=e=>{ee=e},e.translate=function(e,...t){const{fallbackFormat:n,postTranslation:a,unresolving:o,messageCompiler:l,fallbackLocale:s,messages:u}=e,[g,p]=ue(...t),E=f(p.missingWarn)?p.missingWarn:e.missingWarn,d=f(p.fallbackWarn)?p.fallbackWarn:e.fallbackWarn,T=f(p.escapeParameter)?p.escapeParameter:e.escapeParameter,A=!!p.resolvedMessage,N=m(p.default)||f(p.default)?f(p.default)?l?g:()=>g:p.default:n?l?g:()=>g:"",b=n||""!==N,C=m(p.locale)?p.locale:e.locale;T&&function(e){c(e.list)?e.list=e.list.map((e=>m(e)?i(e):e)):_(e.named)&&Object.keys(e.named).forEach((t=>{m(e.named[t])&&(e.named[t]=i(e.named[t]))}))}(p);let[k,F,h]=A?[g,C,u[C]||{}]:ie(e,g,C,s,d,E),D=k,L=g;if(A||m(D)||se(D)||b&&(D=N,L=D),!(A||(m(D)||se(D))&&m(F)))return o?-1:g;let O=!1;const I=se(D)?D:ce(e,g,F,D,L,(()=>{O=!0}));if(O)return D;const y=function(e,t,n,a){const{modifiers:o,pluralRules:l,messageResolver:s,fallbackLocale:i,fallbackWarn:c,missingWarn:u,fallbackContext:f}=e,_=r=>{let a=s(n,r);if(null==a&&f){const[,,e]=ie(f,r,t,i,c,u);a=s(e,r)}if(m(a)){let n=!1;const o=ce(e,r,t,a,r,(()=>{n=!0}));return n?le:o}return se(a)?a:le},g={locale:t,modifiers:o,pluralRules:l,messages:_};e.processor&&(g.processor=e.processor);a.list&&(g.list=a.list);a.named&&(g.named=a.named);r(a.plural)&&(g.pluralIndex=a.plural);return g}(e,F,h,p),M=function(e,t,n){return t(n)}(0,I,S(y));return a?a(M,g):M},e.translateDevTools=w,e.updateFallbackLocale=function(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)},Object.defineProperty(e,"__esModule",{value:!0}),e}({});