nadesiko3
Version:
Japanese Programming Language
3 lines (2 loc) • 4.05 kB
JavaScript
;(()=>{var k={meta:{type:"const",value:{pluginName:"plugin_kansuji",description:"\u6F22\u6570\u5B57\u3092\u4F7F\u3046\u305F\u3081\u306E\u30D7\u30E9\u30B0\u30A4\u30F3",pluginVersion:"3.6.0",nakoRuntime:["wnako"],nakoVersion:"3.6.0"}},\u521D\u671F\u5316:{type:"func",josi:[],pure:!0,fn:function(f){}},\u6F22\u6570\u5B57:{type:"func",josi:[["\u3092","\u306E"]],pure:!0,fn:function(f){function E(t){function n(e){let i=e.match(/[0-9]*\.?[0-9]+[eE][-+]?[0-9]+/);if(i&&i[0]===e){let d=function(l,h){let A=h[0],y=l.includes(".")?l.indexOf("."):l.length,a=A==="-"?y-parseInt(h.slice(1)):y+parseInt(h.match(/[0-9]+$/)[0]);function O(w,x,S){return w.slice(0,x)+S+w.slice(x)}return a>0?l.length-y>a?O(l.replace(".",""),a,"."):l.includes(".")?l.replace(".","")+"0".repeat(a-l.length+y):l+"0".repeat(a-l.length+y-1):"0."+"0".repeat(-a)+l.replace(".","")};var g=d;let o=e.match(/[0-9]*\.?[0-9]+[eE]/)[0].slice(0,-1),m=e.match(/[eE][-+]?[0-9]+/)[0].slice(1);e=d(o,m)}return e}function s(e){return e.replace(/[0-9]/g,i=>String.fromCharCode(i.charCodeAt(0)-65248))}if(t=s(t),Number.isNaN(Number(t)))throw new Error("\u300E\u6F22\u6570\u5B57\u300F\u547D\u4EE4\u306E\u4E2D\u306B\u7121\u52B9\u306A\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002");let r=n(t.toString());if(r>BigInt(1e72))throw new Error("\u300E\u6F22\u6570\u5B57\u300F\u547D\u4EE4\u306E\u4E2D\u306B\u542B\u3081\u3089\u308C\u308B\u6570\u306E\u5927\u304D\u3055\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002");return r}f=E(String(f));function I(t){let n=t.includes(".");return t.split("").reverse().reduce((s,r)=>r==="."?(n=!1,s.splice(1,0,"."),s):n?(s.splice(1,0,r),s):(s[0].length===c.length&&s.unshift([]),s[0].unshift(r),s),[[]])}function N(t){function n(e){return v[_.indexOf(e)]}let s=0,r=t.reverse().reduce((e,i,g)=>{if(typeof i=="string")i==="."?(e="\u30FB"+e,s=g+1):e=n(i)+e;else{let o=i.reduce((m,d,l,h)=>d==="0"?m:d==="1"&&c[h.length-1-l]!==""?m+c[h.length-1-l]:m+n(d)+c[h.length-1-l],"");e=(o?o+j[g-s]:"")+e}return e},"");return r[0]==="\u30FB"?"\u96F6"+r:r}let p="";(f.charAt(0)==="+"||f.charAt(0)==="-")&&(p=f.charAt(0),f=f.substr(1));let u=N(I(f));return u===""&&(u="\u96F6"),p+u}},\u7B97\u7528\u6570\u5B57:{type:"func",josi:[["\u3092","\u306E"]],pure:!0,fn:function(f){function E(u){let t=j.filter(s=>s.length>1),n=[];for(let s=0;s<u.length;s++){let r=u.slice(s,s+1),e=j.includes(r)?r:t.find(o=>o===u.slice(s,s+o.length)),i=c.includes(r)?r:null,g=v.includes(r)?r:null;if(e)e.length>1&&(s+=e.length-1),n.push(BigInt("1"+"0".repeat(4*j.indexOf(e))));else if(i)n.push(10**c.indexOf(i));else if(g)n.push(v.indexOf(g));else if(r==="\u30FB")n.push(".");else if(r==="\u96F6")n.push("0");else throw new Error("\u300E\u7B97\u7528\u6570\u5B57\u300F\u547D\u4EE4\u306E\u4E2D\u306B\u7121\u52B9\u306A\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002")}return n}function I(u){let t=[],n=[],s=!1;return u.reduce((r,e,i)=>(e==="."?(t.length===0&&t.push(0,1),t.length===1&&t.push(1),n.push(t),t=[],r.push(n),r.push("."),n=[],s=!0):s?r.push(String(e)):e>1e3?(t.length===0&&t.push(0,1),t.length===1&&t.push(1),n.push(t),t=[],n.push(e),r.push(n),n=[]):e>=10&&e<=1e3?(t.length===0&&t.push(1),t.push(e),n.push(t),t=[]):e<10&&t.push(e),i+1===u.length&&s===!1&&(t.length===1&&(t.push(1),n.push(t)),r.push(n)),r),[])}function N(u){return u.reduce((t,n,s)=>typeof n=="string"?t+n:t+n.reduce((r,e,i)=>e>1e3?r*e:r+BigInt(e[0]*e[1]),BigInt(0)),BigInt(0))}let p=N(I(E(f.toString())));return p>Number.MAX_SAFE_INTEGER?p:Number(p)}}},j=["","\u4E07","\u5104","\u5146","\u4EAC","\u5793","\u{25771}","\u7A63","\u6E9D","\u6F97","\u6B63","\u8F09","\u6975","\u6052\u6CB3\u6C99","\u963F\u50E7\u7947","\u90A3\u7531\u4ED6","\u4E0D\u53EF\u601D\u8B70","\u7121\u91CF\u5927\u6570"],c=["","\u5341","\u767E","\u5343"],_="0123456789".split(""),v="\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D".split(""),B=k;typeof navigator=="object"&&typeof navigator.nako3=="object"&&navigator.nako3.addPluginObject("PluginKansuji",k);})();
//# sourceMappingURL=plugin_kansuji.js.map