lunisolar
Version:
专业农历库,支持公历阴历互转,支持各类黄历数据查询,如八字四柱、阴历、神煞宜忌、时辰吉凶、建除十二神、胎神占方、五行纳音等。支持自定义插件。
2 lines (1 loc) • 32.6 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).lunisolarPluginChar8ex=t()}(this,(function(){"use strict";var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)};function t(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}function r(e,t,r,n){var a,l=arguments.length,i=l<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(i=(l<3?a(i):l>3?a(t,r,i):a(t,r))||i);return l>3&&i&&Object.defineProperty(t,r,i),i}function n(e,t,r,n){return new(r||(r=Promise))((function(a,l){function i(e){try{o(n.next(e))}catch(e){l(e)}}function u(e){try{o(n.throw(e))}catch(e){l(e)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,u)}o((n=n.apply(e,t||[])).next())}))}function a(e,t){var r,n,a,l,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(u){return function(o){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(i=0)),i;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,n=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,o])}}}function l(e,t,r){if(r||2===arguments.length)for(var n,a=0,l=t.length;a<l;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var i=[3,1,0,2,3,1,4,2,3,0,4,2,1,0,4,3,1,0,2,3,1,4,2,3,0,4,2,1,0,4],u={name:"zh",takeSound:["海中金","爐中火","大林木","路旁土","劍鋒金","山頭火","澗下水","城頭土","白臘金","楊柳木","井泉水","屋上土","霹靂火","松柏木","長流水","砂中金","山下火","平地木","壁上土","金箔金","覆燈火","天河水","大驛土","釵釧金","桑柘木","大溪水","砂中土","天上火","石榴木","大海水"]},o=function(e,t,r){return n(void 0,void 0,void 0,(function(){var e,n;return a(this,(function(a){return r.locale(u,!0),e=t.prototype,n=r.SB.prototype,Object.defineProperty(n,"takeSound",{get:function(){var e=r.getLocale(this._config.lang);return void 0===this._takeSoundValue&&(this._takeSoundValue=(this.value>>1)%30),e.takeSound[this._takeSoundValue]}}),Object.defineProperty(n,"takeSoundE5",{get:function(){return void 0===this._takeSoundValue&&(this._takeSoundValue=(this.value>>1)%30),new r.Element5(i[this._takeSoundValue],{lang:this._config.lang})}}),Object.defineProperty(e,"takeSound",{get:function(){return this.char8.day.takeSound}}),[2]}))}))},s=["正官","七殺","正財","偏財","食神","傷官","比肩","劫財","正印","梟神"],c={generating:["食神","傷官"],weakening:["梟神","正印"],sibling:["比肩","劫財"],overcoming:["偏財","正財"],counteracting:["七殺","正官"]},f=function(){function e(e,t){this._config={lang:"zh"},this.key=e,t&&(this._config=Object.assign({},this._config,t))}return Object.defineProperty(e.prototype,"name",{get:function(){return m("gods.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name},e}(),h=function(e){function r(t,n){if("日主"!==t&&!r.godkeysSet.has(t))throw new Error("錯誤的十神key:".concat(t));return e.call(this,t,n)||this}return t(r,e),r.create=function(e,t){var n=(null==t?void 0:t.lang)||"zh",a="".concat(e,":").concat(n);if(r.instances.has(a))return r.instances.get(a);var l=new r(e,t);return r.instances.set(a,l),l},Object.defineProperty(r.prototype,"name",{get:function(){return m("tenGod.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),r.godkeysSet=new Set(s),r.instances=new Map,r}(f),y=[[9],[5,9,7],[0,2,4],[1],[4,1,9],[2,6,4],[3,5],[5,3,1],[6,8,4],[7],[4,7,3],[8,0]],g={isUTC:!1,offset:0,changeAgeTerm:2,locales:{zh:{name:"zh",leap:"閏",lunarYearUnit:"年",lunarHourUnit:"時",bigMonth:"大",smallMonth:"小",weekdays:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],weekdaysShort:["週日","週一","週二","週三","週四","週五","週六"],weekdaysMin:["日","一","二","三","四","五","六"],months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),lunarMonths:"正月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),lunarMonthsAlias:"正月_二月_三月_四月_五月_六月_七月_八月_九月_十月_冬月_腊月".split("_"),lunarDays:"初一_初二_初三_初四_初五_初六_初七_初八_初九_初十_十一_十二_十三_十四_十五_十六_十七_十八_十九_二十_廿一_廿二_廿三_廿四_廿五_廿六_廿七_廿八_廿九_三十".split("_"),numerals:"〇一二三四五六七八九十".split(""),constellationName:"白羊座_金牛座_雙子座_巨蟹座_狮子座_處女座_天秤座_天蝎座_射手座_摩羯座_水瓶座_雙魚座".split("_"),solarTerm:"小寒_大寒_立春_雨水_驚蟄_春分_清明_穀雨_立夏_小滿_芒種_夏至_小暑_大暑_立秋_處暑_白露_秋分_寒露_霜降_立冬_小雪_大雪_冬至".split("_"),seasonName:"春夏秋冬".split(""),stems:["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],branchs:["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],stemBranchSeparator:"",chineseZodiac:["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"],fiveElements:["木","火","土","金","水"],eightTrigram:"坤震坎兌艮離巽乾".split(""),moonPhase:{"朔":"朔","望":"望","弦":"弦","晦":"晦"},directions:["","北","西南","東","東南","中","西北","西","東北","南"],formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah點mm分",LLLL:"YYYY年M月D日ddddAh點mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiem:function(e,t){var r=100*e+t;return r<600?"凌晨":r<900?"早上":r<1100?"上午":r<1300?"中午":r<1800?"下午":"晚上"}}},lang:"zh"};function b(e,t){return void 0===t&&(t=0),(e%5*2+t)%10}var p={stem:[10,"stems"],branch:[12,"branchs"],trigram8:[8,"eightTrigram"],element5:[5,"fiveElements"]},v=function(e,t,r,n){if("number"==typeof e)e%=p[t][0];else if("string"==typeof e){var a=n.locales[r][p[t][1]].indexOf(e);if(-1===a)throw new Error("Invalid ".concat(t," value"));e=a}return e},d={locales:{}},m=function(e,t){void 0===t&&(t="zh");var r=d.locales[t];return r?function(e,t){for(var r=t.split("."),n=e,a=t,l=function(e){return("string"==typeof e||"number"==typeof e||"function"==typeof e)&&(a=e,!0)};r.length>=0&&!l(n)&&0!==r.length;){var i=r.shift();if(void 0===i)return"";if(Array.isArray(n)){var u=Number(i);if(isNaN(u)||u>=n.length)return"";n=n[u],a=n}else{if(!n.hasOwnProperty(i))return r[r.length-1]||i;n=n[i]}}return a}(r,"char8ex.".concat(e)):e},_=function(e,t,r){void 0===r&&(r="zh");var n,a=e.value%2==t.value%2?0:1,l=t.e5.value;return n=e.e5.generating().value===l?"generating":e.e5.weakening().value===l?"weakening":e.e5.overcoming().value===l?"overcoming":e.e5.counteracting().value===l?"counteracting":"sibling",h.create(c[n][a],{lang:r})},B=function(e){return(e+1)%12},P=function(e){return(12+e-1)%12},k={name:"zh",char8ex:{sex:["坤造","乾造"]}},w=function(){this.cache=new Map};function L(e,t){return void 0===t&&(t=!1),function(r,n,a){var i=void 0===a.value?a.get:a.value;a[void 0===a.value?"get":"value"]=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];if(r.length>0&&t){var a=JSON.stringify(r);e+=a}if(this.cache.has(e))return this.cache.get(e);var u=i.call.apply(i,l([this],r,!1));return this.cache.set(e,u),u}}}var O=function(){function e(t,r){if(this.value=-1,this._config={lang:g.lang},t instanceof e)return t;r&&(this._config=Object.assign({},this._config,r)),this.value=v(t,"element5",this._config.lang,g)}return e.getNames=function(e){return e=e||g.lang,l([],g.locales[e].fiveElements,!0)},e.create=function(t,r){if(t instanceof e)return t;var n=(null==r?void 0:r.lang)||g.lang;t=v(t,"element5",n,g);var a="".concat(t,":").concat(n);if(e.instances.has(a))return e.instances.get(a);var l=new e(t,r);return e.instances.set(a,l),l},Object.defineProperty(e.prototype,"name",{get:function(){return-1===this.value?"":g.locales[this._config.lang].fiveElements[this.value]},enumerable:!1,configurable:!0}),e.prototype.generating=function(){var t=(this.value+1)%5;return e.create(t,this._config)},e.prototype.overcoming=function(){var t=(this.value+2)%5;return e.create(t,this._config)},e.prototype.weakening=function(){var t=(this.value+4)%5;return e.create(t,this._config)},e.prototype.counteracting=function(){var t=(this.value+3)%5;return e.create(t,this._config)},e.prototype.toString=function(){return-1===this.value?"Invalid five-element value":this.name},e.prototype.valueOf=function(){return this.value},e.instances=new Map,e}(),S=function(){function e(e,t){this.value=-1,this._config={lang:g.lang},t&&(this._config=Object.assign({},this._config,t)),this.value=e%8}return e.getNames=function(e){return e=e||g.lang,l([],g.locales[e].eightTrigram,!0)},e.create=function(t,r){var n=(null==r?void 0:r.lang)||g.lang;t=v(t,"trigram8",n,g);var a="".concat(t,":").concat(n);if(e.instances.has(a))return e.instances.get(a);var l=new e(t,r);return e.instances.set(a,l),l},Object.defineProperty(e.prototype,"name",{get:function(){return g.locales[this._config.lang].eightTrigram[this.value]},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name},e.prototype.valueOf=function(){return this.value},e.instances=new Map,e}(),j=function(e){function n(t,r){var a=e.call(this)||this;return a.value=-1,a._config={lang:g.lang},t instanceof n?t:(r&&(a._config=Object.assign({},a._config,r)),a.value=v(t,"branch",a._config.lang,g),a)}return t(n,e),n.getNames=function(e){return e=e||g.lang,l([],g.locales[e].branchs,!0)},n.create=function(e,t){if(e instanceof n)return e;var r=(null==t?void 0:t.lang)||g.lang;e=v(e,"branch",r,g);var a="".concat(e,":").concat(r);if(n.instances.has(a))return n.instances.get(a);var l=new n(e,t);return n.instances.set(a,l),l},Object.defineProperty(n.prototype,"name",{get:function(){return g.locales[this._config.lang].branchs[this.value]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hiddenStems",{get:function(){return y[this.value].map((function(e){return new E(e)}))},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"e5",{get:function(){var e=Math.floor((this.value+10)/3)%4;return(this.value+10)%3==2?O.create(2,this._config):O.create(e<2?e:e+1,this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"meeting",{get:function(){var e=this,t=[[2,3,4],[5,6,7],[8,9,10],[11,0,1]].find((function(t){return t.includes(e.value)})),r=null==t?void 0:t.filter((function(t){return t!==e.value}));return[n.create(r[0],this._config),n.create(r[1],this._config)]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"meetingE5",{get:function(){return O.create((e=this.value,[0,1,3,4][Math.floor((e-2+12)%12/3)]),this._config);var e},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"triad",{get:function(){return[n.create((this.value+4)%12,this._config),n.create((this.value+8)%12,this._config)]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"triadE5",{get:function(){return O.create([4,0,1,3][this.value%4],this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"group6",{get:function(){return n.create((13-this.value)%12,this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"group6E5",{get:function(){return O.create((e=this.value,t=[2,0,1,3,4,2],(e=0===e?12:e)<7?t[e-1]:t[12-e]),this._config);var e,t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"punishing",{get:function(){return n.create([3,10,5,0,4,8,6,1,2,9,7,11][this.value],this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"punishBy",{get:function(){return n.create([3,7,8,0,4,2,6,10,5,9,1,11][this.value],this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"conflict",{get:function(){return n.create((this.value+6)%12,this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"destroying",{get:function(){return n.create([9,4,11,6,1,8,3,10,5,0,7,2][this.value],this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"harming",{get:function(){var e=this.value>7?19-this.value:7-this.value;return n.create(e,this._config)},enumerable:!1,configurable:!0}),n.prototype.toString=function(){return this.name},n.prototype.valueOf=function(){return this.value},n.instances=new Map,r([L("branch:hiddenStems")],n.prototype,"hiddenStems",null),r([L("branch:e5")],n.prototype,"e5",null),r([L("branch:meeting")],n.prototype,"meeting",null),r([L("branch:punishing")],n.prototype,"punishing",null),r([L("branch:punishBy")],n.prototype,"punishBy",null),r([L("branch:conflict")],n.prototype,"conflict",null),r([L("branch:destroying")],n.prototype,"destroying",null),r([L("branch:harming")],n.prototype,"harming",null),n}(w),E=function(e){function n(t,r){var a=e.call(this)||this;return a.value=-1,a._config={lang:g.lang},t instanceof n?t:(r&&(a._config=Object.assign({},a._config,r)),a.value=v(t,"stem",a._config.lang,g),a)}return t(n,e),n.getNames=function(e){return e=e||g.lang,l([],g.locales[e].stems,!0)},n.create=function(e,t){if(e instanceof n)return e;var r=(null==t?void 0:t.lang)||g.lang;e=v(e,"stem",r,g);var a="".concat(e,":").concat(r);if(n.instances.has(a))return n.instances.get(a);var l=new n(e,t);return n.instances.set(a,l),l},Object.defineProperty(n.prototype,"name",{get:function(){return g.locales[this._config.lang].stems[this.value]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"branchs",{get:function(){var e=this;return g.locales[this._config.lang].branchs.filter((function(t,r){return r%2==e.value%2})).map((function(t){return j.create(t,e._config)}))},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"e5",{get:function(){return O.create(Math.floor(this.value/2),this._config)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"trigram8",{get:function(){return S.create([7,0,4,3,2,5,1,5,7,0][this.value],this._config)},enumerable:!1,configurable:!0}),n.prototype.toString=function(){return this.name},n.prototype.valueOf=function(){return this.value},n.instances=new Map,r([L("stem:branchs")],n.prototype,"branchs",null),r([L("stem:e5")],n.prototype,"e5",null),n}(w),Y=function(){function e(e,t,r){if(this.value=-1,this._config={lang:g.lang},r&&(this._config=Object.assign({},this._config,r)),"number"==typeof t||"string"==typeof t||t instanceof j){this.stem=E.create(e,this._config),this.branch=j.create(t,this._config);var n=this.stem.valueOf(),a=this.branch.valueOf();this.value=function(e,t){if((e+t)%2!=0)throw new Error("Invalid SB value");return e%10+(6-(t>>1)+(e>>1))%6*10}(n,a)}else{if("number"!=typeof e)throw new Error("Invalid SB value");this.value=e%60;n=this.value%10,a=this.value%12;this.stem=E.create(n,this._config),this.branch=j.create(a,this._config)}}return e.getNames=function(e){e=e||g.lang;var t=g.locales[e];return new Array(60).fill("").map((function(e,r){var n,a=r%10,l=r%12;return t.stems[a]+(null!==(n=null==t?void 0:t.stemBranchSeparator)&&void 0!==n?n:"")+t.branchs[l]}))},e.create=function(t,r){if(t instanceof e)return t;var n=(null==r?void 0:r.lang)||g.lang,a="".concat(t,":").concat(n);if(e.instances.has(a))return e.instances.get(a);var l=new e(t,void 0,r);return e.instances.set(a,l),l},Object.defineProperty(e.prototype,"missing",{get:function(){var e=2*(5-Math.floor(this.value/10));return[j.create(e,this._config),j.create(e+1,this._config)]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){var e,t=g.locales[this._config.lang];return"".concat(this.stem).concat(null!==(e=null==t?void 0:t.stemBranchSeparator)&&void 0!==e?e:"").concat(this.branch)},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name},e.prototype.valueOf=function(){return this.value},e.instances=new Map,e}(),x=function(e){function n(t){var r=e.call(this)||this;return r._lang="zh",r.gods=[],r._sb=t.sb,r._cate=t.cate,r._me=t.me,t.lang&&(r._lang=t.lang),r}return t(n,e),n.prototype._pushGods=function(e){var t;(t=this.gods).push.apply(t,e)},Object.defineProperty(n.prototype,"stem",{get:function(){return this._sb.stem},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"branch",{get:function(){return this._sb.branch},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"value",{get:function(){return this._sb.value},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"name",{get:function(){return this._sb.name},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"takeSound",{get:function(){return this._sb.takeSound},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"takeSoundE5",{get:function(){return this._sb.takeSoundE5},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"stemTenGod",{get:function(){return"day"===this._cate?h.create("日主",{lang:this._lang}):_(this._me,this.stem,this._lang)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"branchTenGod",{get:function(){var e=this;return this.branch.hiddenStems.map((function(t){return _(e._me,t,e._lang)}))},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"missing",{get:function(){return this._sb.missing},enumerable:!1,configurable:!0}),n.prototype.valueOf=function(){return this._sb.valueOf()},n.prototype.toString=function(){return this._sb.toString()},r([L("pillar:stemTenGod")],n.prototype,"stemTenGod",null),r([L("pillar:branchTenGod")],n.prototype,"branchTenGod",null),n}(w),M={"天乙貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[[1,7],[0,8],[11,9],[11,9],[1,7],[0,8],[1,7],[2,6],[3,5]]}]},"文昌貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[5,6,8,9,8,9,11,0,2,3]}]},"國印貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[10,11,1,2,1,2,4,5,7,8]}]},"太極貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year"],findBy:"branch",sbFormatter:function(e,t){return[e>>1,t]},rule:[[0,6],[3,9],[4,10,1,7],[2,11],[5,8]]}]},"金輿":{luckLevel:1,rules:[{startBy:"stem",startPillar:["day"],findBy:"branch",rule:[4,5,7,8,7,8,10,11,1,2]}]},"綠神":{luckLevel:1,rules:[{startBy:"stem",startPillar:["day"],findBy:"branch",rule:[2,3,5,6,5,6,8,9,11,0]}]},"垣城":{luckLevel:1,rules:[{startBy:"stem",startPillar:["day"],findBy:"branch",rule:[11,6,2,9,2,9,5,0,8,3]}]},"羊刃":{luckLevel:-1,rules:[{startBy:"stem",startPillar:["day"],findBy:"branch",rule:[3,2,6,5,6,5,9,8,0,11]}]},"天官":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year:hour"],findBy:"branch",rule:[7,4,5,9,10,3,11,8,2,8]}]},"天福":{luckLevel:1,rules:[{startBy:"stem",startPillar:["day"],findBy:"sb",rule:[57,56,59,48,51,50,53,42,[25,55],[4,34]]}]},"辭館":{luckLevel:1,rules:[{startBy:"stem",startPillar:["day"],findBy:"sb",rule:[26,27,41,54,53,6,8,9,12]}]},"墓煞":{luckLevel:-1,rules:[{startBy:"stem",startPillar:["day"],findBy:"sb",rule:[[16,46],[37,7],[28,58],[49,19],[40,10],[1,31],[52,22],[13,43],[4,34],[25,55]]}]},"時墓":{luckLevel:-1,rules:[{startBy:"stem",startPillar:["day"],findBy:"sb",rule:[[55,7],[34,46],null,null,null,null,[1,13],[40,52],null,null]}]},"天廚貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[5,6,5,6,8,9,11,0,2,3]}]},"天德":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"s,b",rule:["b5","s6","s3","b8","s8","s7","b11","s0","s9","b2","s2","s1"]}]},"天德合":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"s,b",rule:["b8","s1","s8","b5","s3","s2","b2","s5","s4","b11","s7","s6"]}]},"天醫":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"branch",rule:[11,0,1,2,3,4,5,6,7,8,9,10]}]},"太白星":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["month"],findBy:"branch",sbFormatter:function(e,t){return[e,t%3]},rule:[5,1,9]}]},"隔角":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["month:hour"],findBy:"branch",rule:[2,3,4,5,6,7,8,9,10,11,0,1]}]},"喪門":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",rule:[2,3,4,5,6,7,8,9,10,11,0,1]}]},"吊客":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",rule:[10,11,0,1,2,3,4,5,6,7,8,9]}]},"勾煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",ruleParams:["year.stem","sexValue"],rule:function(e,t){return(e.value+t)%2==1?[3,4,5,6,7,8,9,10,11,0,1,2]:[9,10,11,0,1,2,3,4,5,6,7,8]}}]},"絞煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",rule:function(e,t){return(e+t)%2==1?[9,10,11,0,1,2,3,4,5,6,7,8]:[3,4,5,6,7,8,9,10,11,0,1,2]}}]},"元辰":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",ruleParams:["year.stem","sexValue"],rule:function(e,t){return(e.value+t)%2==1?[7,8,9,10,11,0,1,2,3,4,5,6]:[5,6,7,8,9,10,11,0,1,2,3,4]}}]},"孤辰":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",rule:[2,2,5,5,5,8,8,8,11,11,11,2]}]},"寡宿":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",rule:[10,10,1,1,1,4,4,4,7,7,7,10]}]},"天羅":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",rule:[null,null,null,null,null,null,null,null,null,null,11,10]},{startBy:"takeSoundE5",startPillar:["year"],findBy:"branch",rule:[null,[10,11],null,null,null]}]},"地網":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",rule:[null,null,null,null,5,4,null,null,null,null,null,null]},{startBy:"takeSoundE5",startPillar:["year"],findBy:"branch",rule:[null,null,[4,5],null,[4,5]]}]},"月德":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(e,t){return[e,t%4]},rule:[8,6,2,0]}]},"月德合":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(e,t){return[e,t%4]},rule:[3,1,7,5]}]},"德":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(e,t){return[e,t%4]},rule:[[0,1],[2,3],[4,5,8,9],[6,7]]}]},"秀":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(e,t){return[e,t%4]},rule:[[2,7,0,5],[1,6],[4,9],[3,8]]}]},"華蓋":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[4,1,10,7]}]},"將星":{luckLevel:1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[0,9,6,3]}]},"驛馬":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[2,11,8,5]}]},"桃花":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[9,6,3,0]}]},"劫煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[5,2,11,8]}]},"亡神":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[11,8,5,2]}]},"災煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[6,3,0,9]}]},"六厄":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["day"],findBy:"branch",sbFormatter:function(e,t){return[e,t%4]},rule:[3,0,9,6]}]},"日貴":{luckLevel:1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[33,23,29,39]}]},"魁罡貴人":{luckLevel:1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[16,28,34,46]}]},"日德":{luckLevel:1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[50,52,4,16,58]}]},"陰陽差錯":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[12,13,14,27,28,29,42,43,44,57,58,59]}]},"陰陽煞":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[12,54]}]},"九醜":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[24,51,48,18,51,15,27,21,45,57]}]},"天赦":{luckLevel:1,rules:[{startBy:"season",startPillar:["null:day"],findBy:"sb",rule:[14,30,44,0]}]},"四廢":{luckLevel:-1,rules:[{startBy:"season",startPillar:["null:day"],findBy:"sb",rule:[[56,57],[48,59],[50,51],[53,42]]}]},"天地轉煞":{luckLevel:-1,rules:[{startBy:"season",startPillar:["null:day"],findBy:"sb",rule:[[51,27],[42,54],[57,9],[12,48]]}]},"金神":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day","null:hour"],findBy:"sb",rule:[1,5,9]}]},"孤鸞":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day","null:hour"],startAO:"and",findBy:"sb",rule:[50,41,42,53,54,44,47,48]}]},"八專":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day","null:hour"],findBy:"sb",rule:[50,51,43,34,55,56,57,49]}]},"十惡大敗":{luckLevel:-1,rules:[{startBy:null,startPillar:["null:day"],findBy:"sb",rule:[8,16,17,23,25,32,34,40,41,59]}]},"學堂":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[11,11,2,2,8,8,5,8,8]}]},"帝座":{luckLevel:1,rules:[{startBy:"takeSoundE5",startPillar:["hour"],findBy:"branch",rule:[3,6,6,9,0]}]},"截路空亡":{luckLevel:-1,rules:[{startBy:"sb",startPillar:["day:hour"],findBy:"stem",startMapping:[[10,21,32,43,15,26,37,48]],rule:[[8,9]]},{startBy:"sb",startPillar:["day:hour"],findBy:"sb",startMapping:[[54,59],[4,9]],rule:[[48,49],[58,59]]}]}},T=Object.keys(M),A=new Set(T),F=function(e){function r(t,r){var n=this;if(!A.has(t))throw new Error("錯誤的八字神煞key:".concat(t));return(n=e.call(this,t,r)||this).luckLevel=0,n.luckLevel=U(t),n}return t(r,e),r.create=function(e,t){var n=(null==t?void 0:t.lang)||"zh",a="".concat(e,":").concat(n);if(r.instances.has(a))return r.instances.get(a);var l=new r(e,t);return r.instances.set(a,l),l},Object.defineProperty(r.prototype,"name",{get:function(){return m("gods.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),r.godkeysSet=A,r.instances=new Map,r}(f),C=["year","month","day","hour"],G=function(e,t){var r;if(!A.has(t))throw new Error("Error C8God key: ".concat(t));for(var n=M[t],a=n.luckLevel,l=n.rules,i=[[],[],[],[]],u=!1,o=0,s=l;o<s.length;o++){var c=s[o],f=H(e,c),h=f.res,y=f.isHasTrue;if(1===l.length)return{luckLevel:a,res:h,isHasTrue:y};for(var g=0;g<i.length;g++)(r=i[g]).push.apply(r,h[g]);u=u||y}return{luckLevel:a,res:i,isHasTrue:u}},H=function(e,t){for(var r=t.startPillar,n="and"===t.startAO,a=[[],[],[],[]],l=[],i=!0,u=!1,o=0,s=r;o<s.length;o++){var c=s[o],f=z(e,t,c),h=f[0],y=f[1],g=f[2];l.push([h,y]),i=i&&y,u=u||g}for(var b=0;b<l.length;b++){h=l[b][0];var p=(c=r[b]).split(":")[0];if(n&&!i)break;for(var v=0;v<4;v++){h[C[v]]&&a[v].push(p)}}return{res:a,isAllTrue:i,isHasTrue:u}},z=function(e,t,r){var n,a,l=t.startBy,i=t.startMapping,u=t.findBy,o=t.sbFormatter,s=t.ruleParams,c=t.rule,f=r.split(":"),h=f[0],y=f[1]?[f[1]]:C;if("function"==typeof c){var g=N(e,s);a=c.apply(void 0,g)}else a=c;if("null"===h){var b=new Set(a);return R(e,y,u,b)}var p=e[h],v=void 0;if("season"===l)v=e.lsr.getSeasonIndex();else if("takeSoundE5"===l)v=p.takeSoundE5.valueOf();else if("sb"===l)v=p.value;else{if("stem"!==l&&"branch"!==l)throw new Error("Error value RuleItem.startBy: ".concat(l));var d=[p.stem.value,p.branch.value],m=d[0],_=d[1];"function"==typeof o&&(m=(n=o(m,_))[0],_=n[1]),v="stem"===l?m:_}i&&(v=D(v,i));var B=a[v];if(null===B)return[{year:!1,month:!1,day:!1,hour:!1},!1,!1];b=Array.isArray(B)?new Set(B):new Set([B]);return R(e,y,u,b)},D=function(e,t){for(var r=0;r<t.length;r++){var n=t[r];if("number"==typeof n){if(e===n)return r}else if(Array.isArray(n)&&n.includes(e))return r}return e},N=function(e,t){return null==t?[]:t.map((function(t){return V(e,t)}))},V=function(e,t){for(var r=t.split("."),n=e;r.length>0;){var a=r.shift();if(void 0===a||void 0===n[a])return;n=n[a]}return n},I=function(e,t){var r;if("s,b"===t)r=["s".concat(e.stem.value),"b".concat(e.branch.value)];else if("sb"===t)r=e.value;else if("stem"===t)r=e.stem.value;else{if("branch"!==t)throw new Error("Error godDict prop: findBy ".concat(t));r=e.branch.value}return r},R=function(e,t,r,n){for(var a={year:!1,month:!1,day:!1,hour:!1},l=!0,i=!1,u=0,o=t;u<o.length;u++){var s=o[u],c=e[s],f=I(c,r),h=!1;if(Array.isArray(f))for(var y=0,g=f;y<g.length;y++){var b=g[y];if(n.has(b)){a[s]=!0,h=!0;break}}else n.has(f)&&(h=!0,a[s]=!0);h?i=!0:l=!1}return[a,l,i]},U=function(e){if(!A.has(e))throw new Error("Error C8God key: ".concat(e));return M[e].luckLevel},J=function(e){for(var t={year:[],month:[],day:[],hour:[]},r={year:new Set,month:new Set,day:new Set,hour:new Set},n=0,a=T;n<a.length;n++)for(var l=a[n],i=G(e,l).res,u=0;u<4;u++){var o=C[u];if(i[u].length>0&&!r[o].has(l)){var s=new F(l,{lang:e.lsr.getConfig().lang});r[o].add(l),t[o].push(s)}}return t},Z=function(e){function n(t,r){var n=e.call(this)||this;n._lang="zh",n.gods={year:[],month:[],day:[],hour:[]},n.sexValue=r,n.lsr=t,n.me=t.char8.me,n.char8=t.char8,n._lang=t.getConfig().lang;var a=["year","month","day","hour"],l=function(e){return new x({sb:n.char8[e],me:n.me,cate:e,lang:t.char8.getConfig().lang})};n.year=l("year"),n.month=l("month"),n.day=l("day"),n.hour=l("hour"),n.gods=J(n);for(var i=0;i<4;i++){var u=a[i];n[u]._pushGods(n.gods[u])}return n}return t(n,e),Object.defineProperty(n.prototype,"list",{get:function(){return[this.year,this.month,this.day,this.hour]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"sex",{get:function(){return m("sex.".concat(this.sexValue),this._lang)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"missing",{get:function(){return this.day.missing},enumerable:!1,configurable:!0}),n.prototype.embryo=function(){var e=(this.month.stem.value+1)%10,t=(this.month.branch.value+3)%12;return new Y(e,t,{lang:this.char8.getConfig().lang})},n.prototype.ownSign=function(){var e=P(this.month.branch.value)+P(this.hour.branch.value),t=B(e>14?26-e:14-e),r=b(this.year.stem.value,t)%10;return new Y(r,t,{lang:this.char8.getConfig().lang})},n.prototype.bodySign=function(){var e=P(this.month.branch.value),t=this.hour.branch.value+1,r=B((e+t)%12),n=b(this.year.stem.value,r)%10;return new Y(n,r,{lang:this.char8.getConfig().lang})},n.prototype.toString=function(){return"".concat(this.sex,": ").concat(this.year," ").concat(this.month," ").concat(this.day," ").concat(this.hour)},r([L("char8ex:embryo")],n.prototype,"embryo",null),r([L("char8ex:ownSign")],n.prototype,"ownSign",null),r([L("char8ex:bodySign")],n.prototype,"bodySign",null),n}(w),q=function(e,t,r){return n(void 0,void 0,void 0,(function(){var e;return a(this,(function(n){var a;return r.locale(k,!0),a=r._globalConfig.locales,d.locales=a,r.extend(o),e=t.prototype,Object.defineProperty(e,"char8ex",{value:function(e){var t="char8ex:sex_".concat(e);if(this.cache.has(t)){var r=this.cache.get(t);if(r instanceof Z)return r}var n=new Z(this,e);return this.cache.set(t,n),n}}),[2]}))}))};return q.Char8Ex=Z,q.Pillar=x,q.C8God=F,q.TenGod=h,q}));