8 lines
27 KiB
JavaScript
Executable File
8 lines
27 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
var A0=Object.create;var q=Object.defineProperty;var C0=Object.getOwnPropertyDescriptor;var O0=Object.getOwnPropertyNames;var E0=Object.getPrototypeOf,R0=Object.prototype.hasOwnProperty;var S0=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of O0(r))!R0.call(e,n)&&n!==t&&q(e,n,{get:()=>r[n],enumerable:!(a=C0(r,n))||a.enumerable});return e};var N=(e,r,t)=>(t=e!=null?A0(E0(e)):{},S0(r||!e||!e.__esModule?q(t,"default",{value:e,enumerable:!0}):t,e));var v0=N(require("fs"));var z=(e=0)=>r=>`\x1B[${r+e}m`,Q=(e=0)=>r=>`\x1B[${38+e};5;${r}m`,X=(e=0)=>(r,t,a)=>`\x1B[${38+e};2;${r};${t};${a}m`,x={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},e2=Object.keys(x.modifier),N0=Object.keys(x.color),L0=Object.keys(x.bgColor),r2=[...N0,...L0];function M0(){let e=new Map;for(let[r,t]of Object.entries(x)){for(let[a,n]of Object.entries(t))x[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},t[a]=x[a],e.set(n[0],n[1]);Object.defineProperty(x,r,{value:t,enumerable:!1})}return Object.defineProperty(x,"codes",{value:e,enumerable:!1}),x.color.close="\x1B[39m",x.bgColor.close="\x1B[49m",x.color.ansi=z(),x.color.ansi256=Q(),x.color.ansi16m=X(),x.bgColor.ansi=z(10),x.bgColor.ansi256=Q(10),x.bgColor.ansi16m=X(10),Object.defineProperties(x,{rgbToAnsi256:{value(r,t,a){return r===t&&t===a?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(a/255*5)},enumerable:!1},hexToRgb:{value(r){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!t)return[0,0,0];let[a]=t;a.length===3&&(a=[...a].map(l=>l+l).join(""));let n=Number.parseInt(a,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:r=>x.rgbToAnsi256(...x.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value(r){if(r<8)return 30+r;if(r<16)return 90+(r-8);let t,a,n;if(r>=232)t=((r-232)*10+8)/255,a=t,n=t;else{r-=16;let d=r%36;t=Math.floor(r/36)/5,a=Math.floor(d/6)/5,n=d%6/5}let l=Math.max(t,a,n)*2;if(l===0)return 30;let i=30+(Math.round(n)<<2|Math.round(a)<<1|Math.round(t));return l===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(r,t,a)=>x.ansi256ToAnsi(x.rgbToAnsi256(r,t,a)),enumerable:!1},hexToAnsi:{value:r=>x.ansi256ToAnsi(x.hexToAnsi256(r)),enumerable:!1}}),x}var _0=M0(),v=_0;var w=N(require("process"),1),r0=N(require("os"),1),$=N(require("tty"),1);function y(e,r=globalThis.Deno?globalThis.Deno.args:w.default.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",a=r.indexOf(t+e),n=r.indexOf("--");return a!==-1&&(n===-1||a<n)}var{env:f}=w.default,k;y("no-color")||y("no-colors")||y("color=false")||y("color=never")?k=0:(y("color")||y("colors")||y("color=true")||y("color=always"))&&(k=1);function I0(){if("FORCE_COLOR"in f)return f.FORCE_COLOR==="true"?1:f.FORCE_COLOR==="false"?0:f.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f.FORCE_COLOR,10),3)}function B0(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function F0(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let a=I0();a!==void 0&&(k=a);let n=t?k:a;if(n===0)return 0;if(t){if(y("color=16m")||y("color=full")||y("color=truecolor"))return 3;if(y("color=256"))return 2}if("TF_BUILD"in f&&"AGENT_NAME"in f)return 1;if(e&&!r&&n===void 0)return 0;let l=n||0;if(f.TERM==="dumb")return l;if(w.default.platform==="win32"){let i=r0.default.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in f)return"GITHUB_ACTIONS"in f||"GITEA_ACTIONS"in f?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(i=>i in f)||f.CI_NAME==="codeship"?1:l;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor"||f.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in f){let i=Number.parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:l}function e0(e,r={}){let t=F0(e,{streamIsTTY:e&&e.isTTY,...r});return B0(t)}var k0={stdout:e0({isTTY:$.default.isatty(1)}),stderr:e0({isTTY:$.default.isatty(2)})},t0=k0;function o0(e,r,t){let a=e.indexOf(r);if(a===-1)return e;let n=r.length,l=0,i="";do i+=e.slice(l,a)+r+t,l=a+n,a=e.indexOf(r,l);while(a!==-1);return i+=e.slice(l),i}function a0(e,r,t,a){let n=0,l="";do{let i=e[a-1]==="\r";l+=e.slice(n,i?a-1:a)+r+(i?`\r
|
|
`:`
|
|
`)+t,n=a+1,a=e.indexOf(`
|
|
`,n)}while(a!==-1);return l+=e.slice(n),l}var{stdout:n0,stderr:l0}=t0,P=Symbol("GENERATOR"),R=Symbol("STYLER"),L=Symbol("IS_EMPTY"),s0=["ansi","ansi","ansi256","ansi16m"],S=Object.create(null),w0=(e,r={})=>{if(r.level&&!(Number.isInteger(r.level)&&r.level>=0&&r.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=n0?n0.level:0;e.level=r.level===void 0?t:r.level};var Y0=e=>{let r=(...t)=>t.join(" ");return w0(r,e),Object.setPrototypeOf(r,M.prototype),r};function M(e){return Y0(e)}Object.setPrototypeOf(M.prototype,Function.prototype);for(let[e,r]of Object.entries(v))S[e]={get(){let t=Y(this,G(r.open,r.close,this[R]),this[L]);return Object.defineProperty(this,e,{value:t}),t}};S.visible={get(){let e=Y(this,this[R],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var V=(e,r,t,...a)=>e==="rgb"?r==="ansi16m"?v[t].ansi16m(...a):r==="ansi256"?v[t].ansi256(v.rgbToAnsi256(...a)):v[t].ansi(v.rgbToAnsi(...a)):e==="hex"?V("rgb",r,t,...v.hexToRgb(...a)):v[t][e](...a),D0=["rgb","hex","ansi256"];for(let e of D0){S[e]={get(){let{level:t}=this;return function(...a){let n=G(V(e,s0[t],"color",...a),v.color.close,this[R]);return Y(this,n,this[L])}}};let r="bg"+e[0].toUpperCase()+e.slice(1);S[r]={get(){let{level:t}=this;return function(...a){let n=G(V(e,s0[t],"bgColor",...a),v.bgColor.close,this[R]);return Y(this,n,this[L])}}}}var j0=Object.defineProperties(()=>{},{...S,level:{enumerable:!0,get(){return this[P].level},set(e){this[P].level=e}}}),G=(e,r,t)=>{let a,n;return t===void 0?(a=e,n=r):(a=t.openAll+e,n=r+t.closeAll),{open:e,close:r,openAll:a,closeAll:n,parent:t}},Y=(e,r,t)=>{let a=(...n)=>$0(a,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(a,j0),a[P]=e,a[R]=r,a[L]=t,a},$0=(e,r)=>{if(e.level<=0||!r)return e[L]?"":r;let t=e[R];if(t===void 0)return r;let{openAll:a,closeAll:n}=t;if(r.includes("\x1B"))for(;t!==void 0;)r=o0(r,t.close,t.open),t=t.parent;let l=r.indexOf(`
|
|
`);return l!==-1&&(r=a0(r,n,a,l)),a+r+n};Object.defineProperties(M.prototype,S);var P0=M(),i2=M({level:l0?l0.level:0});var s=P0;var i0=require("path"),D=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,92821,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,23232,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,37600,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,41680,53584,62034,54560],c0=["\u6B63","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u51AC","\u814A"],T={0:"\u521D",1:"\u4E00",2:"\u4E8C",3:"\u4E09",4:"\u56DB",5:"\u4E94",6:"\u516D",7:"\u4E03",8:"\u516B",9:"\u4E5D",10:"\u5341",20:"\u5EFF"},x0=["\u9F20","\u725B","\u864E","\u5154","\u9F99","\u86C7","\u9A6C","\u7F8A","\u7334","\u9E21","\u72D7","\u732A"],u0=["\u7532","\u4E59","\u4E19","\u4E01","\u620A","\u5DF1","\u5E9A","\u8F9B","\u58EC","\u7678"],f0=["\u5B50","\u4E11","\u5BC5","\u536F","\u8FB0","\u5DF3","\u5348","\u672A","\u7533","\u9149","\u620C","\u4EA5"],H=["\u5C0F\u5BD2","\u5927\u5BD2","\u7ACB\u6625","\u96E8\u6C34","\u60CA\u86F0","\u6625\u5206","\u6E05\u660E","\u8C37\u96E8","\u7ACB\u590F","\u5C0F\u6EE1","\u8292\u79CD","\u590F\u81F3","\u5C0F\u6691","\u5927\u6691","\u7ACB\u79CB","\u5904\u6691","\u767D\u9732","\u79CB\u5206","\u5BD2\u9732","\u971C\u964D","\u7ACB\u51AC","\u5C0F\u96EA","\u5927\u96EA","\u51AC\u81F3"],d0=["062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220722082408240824092408230823","062105200722062107220722082409240924092408230823","072105200621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220622082408240824092408230823","062105200722062107220722082409240924092408230823","072105200621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220622082408240824092408230823","062105200722062107220722082409240924092408230823","072105200621052006210622072308230823092408220722","062004190621052106220622082308240823092408230822","062104190621052106220622082408240824092408230823","062105200622062106220722082408240924092408230823","062105200621052006210622072308230823082408220722","062004190621052106210622082308240823092408230822","062104190621052106220622082408240824092408230822","062105200622062106220722082408240924092408230823","062105200621052006210622072308230823082408220722","062004190621052006210622082308240823092408230722","062104190621052106220622082408240824092408230822","062105190621062106220722082408240924092408230823","062105200621052006210622072308230823082408220722","062004190621052006210622082308240823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220722082408240924092408230823","062105200621052006210622072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220722082408240824092408230823","062105200621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220622082408240824092408230823","062105200621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220622082408240824092408230823","062105200621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190621062106220622082408240824092408230823","062105200621052005210621072308230823082307220722","062004190621052006210622072308230823082408220722","062004190621052106220622082308240823092408230822","062104190621052106220622082408240824092408230823","062105200521052005210621072307230823082307220722","052004190621052006210622072308230823082408220722","062004190621052006210622082308240823092408230822","062104190621052106220622082408240824092408230823","062105200521052005210621072307230823082307220722","052004190621052006210622072308230823082408220722","062004190621052006210622082308240823092408230722","062104190621052106220622082308240824092408230822","062105200520052005210621072307230823082307220722","052004190621052006210622072308230823082408220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190520052005210621072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190520052005210621072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190520052005210521072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240824092408230822","062105190520052005210521072307230723082307220722","052004190621052005210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190621052106220622082308240823092408230822","062105190520042005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190621052006210622072308230823082408230722","062004190621052106210622082308240823092408230822","062105190520042005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190621052006210622072308230823082408220722","062004190621052006210622082308240823092408230822","062104190520042005210521072207230723082307220722","052004190521052005210621072307230823082307220722","052004190621052006210622072308230823082408220722","062004190621052006210622072308240823092408230722","062104190520042005210521072207230723082307220721","052004190520052005210621072307230723082307220722","052004190621052006210621072308230823082408220722","062004190621052006210622072308230823092408230722","062104190520042005210521072207230723082307220721","052004180520052005210621072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052006210621072308230823082307220722","062004190621052006210622072308230823092408230722","062104190520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190621052006210622072308230823092408230722","062104190520042005210521072207230722082307220721","052004180520042005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190621052006210622072308230823082408230722","062104190520042005200521072207230722082307220721","052004180520042005210521072207230723082307220722","052004190621052005210621072307230823082307220722","062004190621052006210622072308230823082408220722","062004190520041905200521072207230722082307220721","052003180520042005210521072207230723082307220722","052004190521052005210621072307230823082307220722","052004190621052006210621072308230823082408220722","062004190520041905200521062207220722082307220721","052003180520042005210521072207230723082307220721","052004190520052005210621072307230723082307220722","052004190621052006210621072308230823082408220722","062004190520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052006210621072308230823082307220722","062004190520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052006210621072308230823082307220722","062004190520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190520041905200521062207220722082307220621","052003180520042005200521072207230722082307220721","052004180520042005210521072307230723082307220722","052004190621052005210621072307230823082307220722","062004190520041905200521062207220722072307220621","052003180520041905200521072207230722082307220721","052004180520042005210521072207230723082307220722","052004190621052005210621072307230823082307220722","062004190520041905200520062207220722072307210621","051903180520041905200521062207220722082307220721","052003180520042005210521072207230723082307220722","052004190520052005210621072307230723082307220722","052004190520041905200520062207220722072307210621","051903180520041905200521062207220722082307220721","052003180520042005210521072207230723082307220722","052004190520052005210521072307230723082307220722","052004190520041905200520062207220722072307210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004190520052005210521072307230723082307220722","052004190520041905200520062207220722072206210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190520041905200520062207220722072206210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722","052004190520041904200520062206220722072206210621","051903180520041905200521062207220722082307220621","052003180520042005200521072207230722082307220721","052004180520052005210521072307230723082307220722","052004190520041904200520062206220722072206210621","051903180520041905200521062207220722072307220621","052003180520042005200521072207230722082307220721","052004180520042005210521072207230723082307220722","052004190520041904200520062206220722072206210621","051903180520041905200521062207220722072307220621","052003180520041905200521062207230722082307220721","052004180520042005210521072207230723082307220722","052004190520041904200520062206220722072206210621","051903180520041905200520062207220722072307210621","052003180520041905200521062207220722082307220721","052003180520042005210521072207230723082307220722","052004190419041904200520062206220622072206210621","041903180520041905200520062207220722072307210621","051903180520041905200521062207220722082307220721","052003180520042005210521072207230723082307220722","052004190419041904200420062206220622072206210621","041903180520041905200520062207220722072307210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004190419041904200420062206220622072206210621","041903180520041905200520062207220722072206210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180419041904200420062206220622072206210621","041903180520041905200520062206220722072206210621","051903180520041905200521062207220722082307220621","052003180520042005210521072207230723082307220721","052004180520052005210521072307230723082307220722"],_={"1.1":"\u6625\u8282","1.15":"\u5143\u5BB5\u8282","2.2":"\u9F99\u62AC\u5934","3.3":"\u4E0A\u5DF3\u8282","5.5":"\u7AEF\u5348\u8282","7.7":"\u4E03\u5915\u8282","7.15":"\u4E2D\u5143\u8282","8.15":"\u4E2D\u79CB\u8282","9.9":"\u91CD\u9633\u8282","10.1":"\u5BD2\u8863\u8282","10.15":"\u4E0B\u5143\u8282","12.8":"\u814A\u516B\u8282","12.23":"\u5317\u65B9\u5C0F\u5E74","12.24":"\u5357\u65B9\u5C0F\u5E74","12.30":"\u9664\u5915"},b0={"1.1":"\u5143\u65E6","2.14":"\u60C5\u4EBA\u8282","3.8":"\u5987\u5973\u8282","3.12":"\u690D\u6811\u8282","4.1":"\u611A\u4EBA\u8282","5.1":"\u52B3\u52A8\u8282","5.4":"\u9752\u5E74\u8282","5.12":"\u62A4\u58EB\u8282","6.1":"\u513F\u7AE5\u8282","7.1":"\u5EFA\u515A\u8282","8.1":"\u5EFA\u519B\u8282","9.10":"\u6559\u5E08\u8282","10.1":"\u56FD\u5E86\u8282","12.24":"\u5E73\u5B89\u591C","12.25":"\u5723\u8BDE\u8282"},I=(0,i0.join)(process.env.HOME||process.env.LOCALAPPDATA,".festivals.json");var U=N(require("fs"));var p0={};if(U.default.existsSync(I))try{p0=JSON.parse(U.default.readFileSync(I))}catch{}function j(e=1901,r=0,t=1){var a=Date.UTC(1900,0,31),n=Date.UTC(e,r,t),l=(n-a)/(24*60*60*1e3)+1,i,d,o={short:"",solarTerms:"",festival:"",lunarFestival:""},h=d0[e-1900],m=`${e}.${r+1}.${t}`;if(e<1901||e>2100)return o;for(let c=1900;c<=2100;c++){let u=V0(c);if(l-=u,l<=0){o.year=c,l+=u;break}}i=g0(o.year),d=K(o.year);for(let c=0;c<i.length;c++)if(l-=i[c],l<=0){o.month=c,o.day=l+i[c],d>0&&c>=d&&(o.leap=c===d,o.month-=1);break}if(o.custom=p0[m]||"",h){let c=h.slice(r*4,(r+1)*4);+c.slice(0,2)===t?o.solarTerms=H[r*2]:+c.slice(2)===t&&(o.solarTerms=H[r*2+1])}return o.festival=b0[`${r+1}.${t}`]||"",o.leap||(o.month===11&&o.day===i.pop()?(o.festival=_["12.30"],o.lunarFestival=_["12.30"]):(o.festival=_[`${o.month+1}.${o.day}`]||o.festival,o.lunarFestival=_[`${o.month+1}.${o.day}`]||"")),o.yearCN=W(o.year),o.monthCN=(o.leap>0?"\u95F0":"")+c0[o.month]+"\u6708",o.day<11?o.dayCN=T[0]+T[o.day]:o.day<20?o.dayCN=T[10]+T[o.day-10]:o.day===20?o.dayCN=T[2]+T[10]:o.day<30?o.dayCN=T[20]+T[o.day-20]:o.day===30&&(o.dayCN=T[3]+T[10]),o.short=o.festival?o.festival:o.solarTerms?o.solarTerms:o.day===1?o.monthCN:o.dayCN,o}function V0(e){var r=g0(e);return r.reduce((t,a)=>t+=a,0)}function K(e){var r=D[e-1900];return r&15}function G0(e){var r=D[e-1900],t=K(e);return t>0?r&983040?30:29:0}function g0(e){var r=D[e-1900],t=K(e),a=G0(e),n=[];for(let l=32768;l>8;l>>=1)n.push(r&l?30:29);return t>0&&n.splice(t,0,a),n}function W(e){var r=(e-3)%10,t=(e-3)%12;return r=r===0?10:r,t=t===0?12:t,u0[r-1]+f0[t-1]+x0[(e-4)%12]+"\u5E74"}var H0=["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"].map((e,r)=>(e="\u661F\u671F"+e,(r===0||r===6)&&(e=s.red(e))," "+e+" "+s.grey("\u2502"))),B=s.grey("\u2502"),U0=s.grey("\u251C"),K0=s.grey("\u2514"),p2=s.grey("\u2502"+(" ".repeat(10)+"\u2502").repeat(7));function y0(){var e=new Date;return[e.getFullYear(),e.getMonth()]}function h0(e,r){return new Date(e,r+1,0).getDate()}function m0(e,r,t){return new Date(e,r,t||1).getDay()}function W0({year:e,month:r,day:t},a){return a.year===e&&a.month===r&&a.day===t}function J0(){var e=new Date;return{year:e.getFullYear(),month:e.getMonth(),day:e.getDate()}}function Z0(e,r){var t=h0(e,r-1),a=h0(e,r),n=1-m0(e,r),l=0,i=J0(),d=[],o,h,m,c;n<1&&(o=e,h=r-1,h<0&&(h=11,o--));for(let u=n;u<=a;u++){let A={day:u<1?t- -u:(u+"").padStart(2,"0")},E;if(u>0){let Z=m0(e,r,u);E=j(e,r,u),A.weekend=Z===0||Z===6,A.picked=!!W0({year:e,month:r,day:u},i),A.highlight=!!E.festival||!!E.solarTerms}else E=j(o,h,t+u),A.grey=1;A.lunar=E.short,A.custom=E.custom,d.push(A)}l=42-d.length,l>0&&(m=e,c=r+1,c>11&&(c=0,m++));for(let u=1;u<=l;u++){let A=j(m,c,u);d.push({day:(u+"").padStart(2,"0"),lunar:A.short,custom:A.custom,grey:1})}return d}function q0(e,r){var t=`${e}\u5E74${r+1}\u6708${" ".repeat(10)}${W(e,r)}`;t=s.grey("\u2502 ")+s.cyan(t)+" ".repeat(71-t.length-2)+s.grey("\u2502"),console.log(s.grey("\u250C\u2500"+"\u2500".repeat(75)+"\u2510")),console.log(s.grey("\u2502"+" ".repeat(76)+"\u2502")),console.log(t),console.log(s.grey("\u2502"+" ".repeat(76)+"\u2502")),console.log(s.grey("\u251C"+"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C".repeat(7).slice(0,-1)+"\u2524")),console.log(s.grey("\u2502")+H0.join("")),console.log(s.grey("\u251C"+"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C".repeat(7).slice(0,-1)+"\u2524"))}function z0(e,r){var t=Z0(e,r),a=0,n=3*Math.ceil(t.length/7);for(let l=0;l<n+1;l++){let i="";for(let d=0;d<7;d++){let o=t[a+d];if(!o)break;if(!(l===0&&d===0))switch(d===0&&(i+=l%3===0?l===n?K0:U0:B),l%3){case 0:if(l===0)break;i+=s.grey("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"+(d===6?l===n?"\u2518":"\u2524":l===n?"\u2534":"\u253C")),d===6&&(a+=7);break;case 1:let h=" ";o.custom&&(o.custom==="\u73ED"?h=s.red(o.custom):h=s.green(o.custom)),o.picked?i+=" "+s.bgBlue.whiteBright(" "+o.day+" ")+h+B:(o.grey?o.day=s.grey(o.day):o.weekend?o.day=s.red(o.day):o.day=s.whiteBright(o.day),i+=" ".repeat(4)+o.day+" "+h+B);break;case 2:let m=5,c="",u=" ";o.lunar&&(m=(10-o.lunar.length*2)/2-2),m>=0?c=" ".repeat(m):u=u.slice(0,m),o.picked?i+=u+s.bgBlue.white(c+o.lunar+c)+u+B:(o.lunar&&(o.lunar=o.highlight?s.cyan(o.lunar):o.weekend?s.redBright(o.lunar):s.grey(o.lunar)),i+=" ".repeat(m+2)+o.lunar+" ".repeat(m+2)+B);break}}i&&console.log(i)}}function O(e,r){q0(e,r),z0(e,r)}var T0="1.2.7",C=process.argv.slice(2),F=C.shift(),[g,p]=y0();function J(e){for(let r=0;r<12;r++)O(e,r),r<11&&console.log("")}function b(...e){e[0]=e[0].padEnd(20," "),e.length>1&&e.splice(1,0," - "),console.log.apply(null,e)}function Q0(){b("=".repeat(64)),b(`\u7EC8\u7AEF\u7248\u4E07\u5E74\u5386 v${T0}, \u4F5C\u8005: \u5B87\u5929`),b("=".repeat(64)),b("\u7528\u6CD5: cal [command] args..."),b("Commands:"),b(" -y {year}","\u6253\u5370\u6307\u5B9A\u5E74\u4EFD\u7684\u65E5\u5386"),b(" -m","\u6253\u5370\u6307\u5B9A\u6708\u4EFD\u7684\u65E5\u5386"),b(" -c","\u5BFC\u5165\u81EA\u5B9A\u4E49\u4F11\u5047\u65E5, \u5FC5\u987B\u662F\u6807\u51C6json\u683C\u5F0F, \u8BED\u6CD5\u770B\u4E0B\u9762\u7684\u793A\u4F8B"),b(" -h","\u67E5\u770B\u5E2E\u52A9\u6587\u6863"),b(" -v",`\u67E5\u770B\u7A0B\u5E8F\u7684\u7248\u672C
|
|
`),b("\u793A\u4F8B: "),b(" cal "+s.grey("# \u4E0D\u5E26\u53C2\u6570\u6253\u5370\u5F53\u524D\u5E74\u6708")),b(" cal -y "+s.grey("# -y \u4E0D\u63A5\u53C2\u6570, \u6253\u5370\u5F53\u524D\u5E74\u7684\u6240\u6709\u6708\u4EFD")),b(" cal -y 2000 "+s.grey("# \u6253\u5370\u6307\u5B9A\u5E74\u4EFD\u7684\u6240\u6709\u6708\u4EFD")),b(" cal -y 2021 5 "+s.grey("# \u6253\u5370\u6307\u5B9A\u5E74\u4EFD, \u6307\u5B9A\u6708\u4EFD")),b(" cal -y 2000 -m 3 "+s.grey("# \u540C\u4E0A")),b(" cal -m 5 "+s.grey("# \u6253\u5370\u5F53\u524D\u5E74\u4EFD\u7684 \u6307\u5B9A\u6708\u4EFD")),b(' cal -c {"2021.12.11":"\u73ED","2021.12.12":"\u4F11"} '+s.grey("# \u5BFC\u5165\u81EA\u5B9A\u4E49\u4F11\u5047\u65E5")),process.exit()}switch(F){case"-y":switch(C.length){case 0:J(g);break;case 1:case 2:g=+C.shift(),p=+C.shift(),g===g?p<13&&p>0?O(g,p-1):J(g):console.log("-y \u53C2\u6570\u5F02\u5E38");break;case 3:g=+C.shift(),F=C.shift(),p=+C.pop(),F==="-m"&&p<13&&p>0?O(g,p-1):console.log("-m \u53C2\u6570\u5F02\u5E38");break;default:console.log("-y \u53C2\u6570\u5F02\u5E38");break}break;case"-m":p=+C.shift(),p<13&&p>0?O(g,p-1):console.log("-m \u53C2\u6570\u5F02\u5E38");break;case"-v":b(T0);break;case"-h":Q0();break;case"-c":let e=C.shift();if(e)try{JSON.parse(e),v0.default.writeFileSync(I,e),console.log("\u5BFC\u5165\u6210\u529F")}catch{console.log("\u9519\u8BEF\u7684json\u6570\u636E")}else console.log("\u5BFC\u5165\u7684\u6570\u636E\u4E3A\u7A7A");break;default:F?(g=+F,p=+C.shift(),g===g?p<13&&p>0?O(g,p-1):J(g):console.log("\u53C2\u6570\u5F02\u5E38")):O(g,p);break}process.exit();
|