6 lines
9.6 KiB
JavaScript
6 lines
9.6 KiB
JavaScript
|
|
/*!
|
||
|
|
* Globalize v1.4.2 2019-03-07T13:47Z Released under the MIT license
|
||
|
|
* http://git.io/TrdQbw
|
||
|
|
*/
|
||
|
|
!function(e,n){"function"==typeof define&&define.amd?define(["cldr","../globalize","cldr/event","cldr/supplemental"],n):"object"==typeof exports?module.exports=n(require("cldrjs"),require("../globalize")):n(e.Cldr,e.Globalize)}(this,function(e,n){function t(e){var n=e[2],t=e[3],r=e[4],i=e[5],u=e[6];if(isNaN(i*u)){if(!isNaN(i)||!isNaN(u))throw new Error("Neither or both the minimum and maximum significant digits must be present");f(n,"minimumIntegerDigits",1,21),f(t,"minimumFractionDigits",0,20),f(r,"maximumFractionDigits",t,20)}else f(i,"minimumSignificantDigits",1,21),f(u,"maximumSignificantDigits",i,21)}var r=n._createError,i=n._regexpEscape,u=n._runtimeBind,a=n._stringPad,o=n._validateCldr,m=n._validateDefaultLocale,c=n._validateParameterPresence,f=n._validateParameterRange,l=n._validateParameterType,s=n._validateParameterTypePlainObject,p=function(e){return r("E_UNSUPPORTED","Unsupported {feature}.",{feature:e})},g=function(e,n){l(e,n,void 0===e||"number"==typeof e,"Number")},d=function(e,n){l(e,n,void 0===e||"string"==typeof e,"a string")},b=/^([^0]*)(0+)([^0]*)$/,h=function(e,n,t){var r,i=n,u="",a=",",o=!!t;for(e=String(e).split("."),r=e[0].length;r>i;)u=e[0].slice(r-i,r)+(u.length?a:"")+u,r-=i,o&&(i=t,o=!1);return e[0]=e[0].slice(0,r)+(u.length?a:"")+u,e.join(".")},x=function(e,n,t,r,i,u){return e=r?u?i(e,u):i(e,{exponent:-r}):i(e),e=String(e),r&&/e-/.test(e)&&(e=(+e).toFixed(r).replace(/0+$/,"").replace(/\.$/,"")),t&&(e=e.split("."),e[1]=a(e[1]||"",t,!0),e=e.join(".")),n&&(e=e.split("."),e[0]=a(e[0],n),e=e.join(".")),e},v=function(e,n,t){var r;return r=Math.ceil(Math.log(Math.abs(e))/Math.log(10)),r-=n,t(e,{exponent:r})},N=function(e,n,t,r){var i,u;if(n>t&&(t=n),i=v(e,n,r),u=v(e,t,r),e=+i===+u?i:u,e=(+e).toString(10),/e/.test(e))throw p({feature:"integers out of (1e21, 1e-7)"});return n-e.replace(/^0+|\./g,"").length>0&&(e=e.split("."),e[1]=a(e[1]||"",n-e[0].replace(/^0+/,"").length,!0),e=e.join(".")),e},y=/^(('([^']|'')*'|[^*#@0,.E])*)(\*.)?((([#,]*[0,]*0+)(\.0*[0-9]*#*)?)|([#,]*@+#*))(E\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/,F=function(e){return e[0]+e[e.length-1]!=="''"?e:"''"===e?"":e.replace(/''/g,"'").slice(1,-1)},E=function(e,n,t){var r,i,u,a,o,m,c,f,l,s,p,g,d,v,y,E,D,S,w;if(s=n[1],m=n[2],o=n[3],u=n[4],c=n[5],a=n[6],E=n[7],g=n[8],D=n[9],y=n[15],i=n[16],f=n[17],w=n[18],l=n[19],r=n[20],isNaN(e))return f;if(e<0?(d=n[12],p=n[13],S=n[14]):(d=n[11],p=n[0],S=n[10]),!isFinite(e))return p+i+S;d.indexOf("%")!==-1?e*=100:d.indexOf("\u2030")!==-1&&(e*=1e3);var _,P,M,j,A,O;return r&&(A=Math.abs(Math.floor(e)).toString().length-1,A=Math.min(A,r.maxExponent),A>=3&&(_=r[A]&&r[A].other),"0"===_?_=null:_&&(P=_.split("0").length-1,j=A-(P-1),e/=Math.pow(10,j))),e=isNaN(c*a)?x(e,m,o,u,y,E):N(e,c,a,y),r&&_&&(O=t?t(+e):"other",_=r[A][O]||_,M=_.match(b),p+=M[1],S=M[3]+S),e=e.replace(/^-/,""),g&&(e=h(e,g,D)),v=p,v+=e,v+=S,v.replace(/('([^']|'')+'|'')|./g,function(e,n){return n?F(n):(e=e.replace(/[.,\-+E%\u2030]/,function(e){return w[e]}),l&&(e=e.replace(/[0-9]/,function(e){return l[+e]})),e)})},D=function(e,n){return function(t){return c(t,"value"),g(t,"value"),E(t,e,n)}},S=function(e){var n=e.attributes["u-nu"];return n?("traditio"===n&&(n="traditional"),["native","traditional","finance"].indexOf(n)!==-1?e.main(["numbers/otherNumberingSystems",n]):n):e.main("numbers/defaultNumberingSystem")},w=function(e,n){var t=0,r=n.main(["numbers/decimalFormats-numberSystem-"+S(n),e,"decimalFormat"]);return r=Object.keys(r).reduce(function(e,n){var i=n.split("0").length-1,u=n.split("-")[2];return e[i]=e[i]||{},e[i][u]=r[n],t=Math.max(i,t),e},{}),r.maxExponent=t,r},_=function(e){var n,t=S(e);if("latn"!==t){if(n=e.supplemental(["numberingSystems",t]),"numeric"!==n._type)throw p("`"+n._type+"` numbering system");return n._digits}},P=function(e){var n,t,r,i,u,a,o,m,c,f,l,s,g,d,b,h,x,v;if(e=e.match(y),!e)throw new Error("Invalid pattern: "+e);if(s=e[1],l=e[4],i=e[5],x=e[9],b=e[10],v=e[11],x?x.replace(/(@+)(#*)/,function(e,n,t){f=n.length,o=f+t.length}):(r=e[8],u=e[7],r?(r.replace(/[0-9]+/,function(e){m=e}),m?(d=+("0."+m),m=m.length):m=0,a=r.length-1)
|