@lunisolar/plugin-char8ex
Version:
lunisolar.js的八字增强插件
2 lines (1 loc) • 20.7 kB
JavaScript
var lunisolarPlugin_char8ex=function(r,e){"use strict";var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])},t(r,e)};function n(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function l(r,e,t,n){var l,a=arguments.length,u=a<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(r,e,t,n);else for(var s=r.length-1;s>=0;s--)(l=r[s])&&(u=(a<3?l(u):a>3?l(e,t,u):l(e,t))||u);return a>3&&u&&Object.defineProperty(e,t,u),u}function a(r,e,t,n){return new(t||(t=Promise))((function(l,a){function u(r){try{i(n.next(r))}catch(r){a(r)}}function s(r){try{i(n.throw(r))}catch(r){a(r)}}function i(r){var e;r.done?l(r.value):(e=r.value,e instanceof t?e:new t((function(r){r(e)}))).then(u,s)}i((n=n.apply(r,e||[])).next())}))}function u(r,e){var t,n,l,a,u={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(i){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(u=0)),u;)try{if(t=1,n&&(l=2&s[0]?n.return:s[0]?n.throw||((l=n.return)&&l.call(n),0):n.next)&&!(l=l.call(n,s[1])).done)return l;switch(n=0,l&&(s=[2&s[0],l.value]),s[0]){case 0:case 1:l=s;break;case 4:return u.label++,{value:s[1],done:!1};case 5:u.label++,n=s[1],s=[0];continue;case 7:s=u.ops.pop(),u.trys.pop();continue;default:if(!(l=u.trys,(l=l.length>0&&l[l.length-1])||6!==s[0]&&2!==s[0])){u=0;continue}if(3===s[0]&&(!l||s[1]>l[0]&&s[1]<l[3])){u.label=s[1];break}if(6===s[0]&&u.label<l[1]){u.label=l[1],l=s;break}if(l&&u.label<l[2]){u.label=l[2],u.ops.push(s);break}l[2]&&u.ops.pop(),u.trys.pop();continue}s=e.call(r,u)}catch(r){s=[6,r],n=0}finally{t=l=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,i])}}}var s=["正官","七殺","正財","偏財","食神","傷官","比肩","劫財","正印","梟神"],i={generating:["食神","傷官"],weakening:["梟神","正印"],sibling:["比肩","劫財"],overcoming:["偏財","正財"],counteracting:["七殺","正官"]},o=function(){function r(r,e){this._config={lang:"zh"},this.key=r,e&&(this._config=Object.assign({},this._config,e))}return Object.defineProperty(r.prototype,"name",{get:function(){return b("gods.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),r.prototype.toString=function(){return this.name},r}(),c=function(r){function e(t,n){if("日主"!==t&&!e.godkeysSet.has(t))throw new Error("錯誤的十神key:".concat(t));return r.call(this,t,n)||this}return n(e,r),e.create=function(r,t){var n=(null==t?void 0:t.lang)||"zh",l="".concat(r,":").concat(n);if(e.instances.has(l))return e.instances.get(l);var a=new e(r,t);return e.instances.set(l,a),a},Object.defineProperty(e.prototype,"name",{get:function(){return b("tenGod.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),e.godkeysSet=new Set(s),e.instances=new Map,e}(o);function y(r,e){return void 0===e&&(e=!1),function(t,n,l){var a=void 0===l.value?l.get:l.value;l[void 0===l.value?"get":"value"]=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];if(t.length>0&&e){var l=JSON.stringify(t);r+=l}if(this.cache.has(r))return this.cache.get(r);var u=a.call.apply(a,function(r,e,t){if(t||2===arguments.length)for(var n,l=0,a=e.length;l<a;l++)!n&&l in e||(n||(n=Array.prototype.slice.call(e,0,l)),n[l]=e[l]);return r.concat(n||Array.prototype.slice.call(e))}([this],t,!1));return this.cache.set(r,u),u}}}function h(r,e){return void 0===e&&(e=0),(r%5*2+e)%10}var f={locales:{}},b=function(r,e){void 0===e&&(e="zh");var t=f.locales[e];return t?function(r,e){for(var t=e.split("."),n=r,l=e,a=function(r){return("string"==typeof r||"number"==typeof r||"function"==typeof r)&&(l=r,!0)};t.length>=0&&!a(n)&&0!==t.length;){var u=t.shift();if(void 0===u)return"";if(Array.isArray(n)){var s=Number(u);if(isNaN(s)||s>=n.length)return"";n=n[s],l=n}else{if(!n.hasOwnProperty(u))return t[t.length-1]||u;n=n[u]}}return l}(t,"char8ex.".concat(r)):r},d=function(r,e,t){void 0===t&&(t="zh");var n,l=r.value%2==e.value%2?0:1,a=e.e5.value;return n=r.e5.generating().value===a?"generating":r.e5.weakening().value===a?"weakening":r.e5.overcoming().value===a?"overcoming":r.e5.counteracting().value===a?"counteracting":"sibling",c.create(i[n][l],{lang:t})},v=function(r){return(r+1)%12},g=function(r){return(12+r-1)%12},p={name:"zh",char8ex:{sex:["坤造","乾造"]}},m=function(){function r(r){this._lang="zh",this.gods=[],this.cache=new Map,this._sb=r.sb,this._cate=r.cate,this._me=r.me,r.lang&&(this._lang=r.lang)}return r.prototype._pushGods=function(r){var e;(e=this.gods).push.apply(e,r)},Object.defineProperty(r.prototype,"stem",{get:function(){return this._sb.stem},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"branch",{get:function(){return this._sb.branch},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"value",{get:function(){return this._sb.value},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"name",{get:function(){return this._sb.name},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"takeSound",{get:function(){return this._sb.takeSound},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"takeSoundE5",{get:function(){return this._sb.takeSoundE5},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stemTenGod",{get:function(){return"day"===this._cate?c.create("日主",{lang:this._lang}):d(this._me,this.stem,this._lang)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"branchTenGod",{get:function(){var r=this;return this.branch.hiddenStems.map((function(e){return d(r._me,e,r._lang)}))},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"missing",{get:function(){return this._sb.missing},enumerable:!1,configurable:!0}),r.prototype.valueOf=function(){return this._sb.valueOf()},r.prototype.toString=function(){return this._sb.toString()},l([y("pillar:stemTenGod")],r.prototype,"stemTenGod",null),l([y("pillar:branchTenGod")],r.prototype,"branchTenGod",null),r}(),B={"天乙貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["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:[6,5,8,9,8,9,10,11,2,3]}]},"天印貴人":{luckLevel:1,rules:[{startBy:"stem",startPillar:["year","day"],findBy:"branch",rule:[2,11,10,9,8,7,6,5,4,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:["day"],findBy:"branch",sbFormatter:function(r,e){return[r>>1,e]},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,4,6,7,6,7,9,10,0,1]}]},"天官":{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:["year","day"],findBy:"sb",rule:[26,27,41,54,53,6,8,9,59,58]}]},"墓煞":{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(r,e){return[r,e%3]},rule:[5,1,9]}]},"月煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["month"],findBy:"branch",rule:[0,11,10,9,8,7,6,5,4,3,2,1]}]},"隔角":{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(r,e){return(r.value+e)%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(r,e){return(r+e)%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(r,e){return(r.value+e)%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(r,e){return[r,e%4]},rule:[8,6,2,0]}]},"月德合":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(r,e){return[r,e%4]},rule:[3,1,7,5]}]},"德":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(r,e){return[r,e%4]},rule:[[4,5,8,9],[6,7],[2,3],[0,1]]}]},"秀":{luckLevel:1,rules:[{startBy:"branch",startPillar:["month"],findBy:"stem",sbFormatter:function(r,e){return[r,e%4]},rule:[[2,7,0,5],[1,6],[4,9],[3,8]]}]},"華蓋":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[4,1,10,7]}]},"將星":{luckLevel:1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[0,9,6,3]}]},"驛馬":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[2,11,8,5]}]},"桃花":{luckLevel:0,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[9,6,3,0]}]},"劫煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[5,2,11,8]}]},"亡神":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year","day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[11,8,5,2]}]},"災煞":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["year"],findBy:"branch",sbFormatter:function(r,e){return[r,e%4]},rule:[6,3,0,9]}]},"六厄":{luckLevel:-1,rules:[{startBy:"branch",startPillar:["day"],findBy:"branch",sbFormatter:function(r,e){return[r,e%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:"branch",rule:[10,1,4,7]}]},"四廢":{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]]}]}},k=Object.keys(B),P=new Set(k),L=function(r){function e(e,t){var n=this;if(!P.has(e))throw new Error("錯誤的八字神煞key:".concat(e));return(n=r.call(this,e,t)||this).luckLevel=0,n.luckLevel=A(e),n}return n(e,r),e.create=function(r,t){var n=(null==t?void 0:t.lang)||"zh",l="".concat(r,":").concat(n);if(e.instances.has(l))return e.instances.get(l);var a=new e(r,t);return e.instances.set(l,a),a},Object.defineProperty(e.prototype,"name",{get:function(){return b("gods.".concat(this.key),this._config.lang)},enumerable:!1,configurable:!0}),e.godkeysSet=P,e.instances=new Map,e}(o),w=["year","month","day","hour"],_=function(r,e){var t;if(!P.has(e))throw new Error("Error C8God key: ".concat(e));for(var n=B[e],l=n.luckLevel,a=n.rules,u=[[],[],[],[]],s=!1,i=0,o=a;i<o.length;i++){var c=o[i],y=S(r,c),h=y.res,f=y.isHasTrue;if(1===a.length)return{luckLevel:l,res:h,isHasTrue:f};for(var b=0;b<u.length;b++)(t=u[b]).push.apply(t,h[b]);s=s||f}return{luckLevel:l,res:u,isHasTrue:s}},S=function(r,e){for(var t=e.startPillar,n="and"===e.startAO,l=[[],[],[],[]],a=[],u=!0,s=!1,i=0,o=t;i<o.length;i++){var c=o[i],y=O(r,e,c),h=y[0],f=y[1],b=y[2];a.push([h,f]),u=u&&f,s=s||b}for(var d=0;d<a.length;d++){h=a[d][0];var v=(c=t[d]).split(":")[0];if(n&&!u)break;for(var g=0;g<4;g++){h[w[g]]&&l[g].push(v)}}return{res:l,isAllTrue:u,isHasTrue:s}},O=function(r,e,t){var n,l,a=e.startBy,u=e.startMapping,s=e.findBy,i=e.sbFormatter,o=e.ruleParams,c=e.rule,y=t.split(":"),h=y[0],f=y[1]?[y[1]]:w;if("function"==typeof c){var b=j(r,o);l=c.apply(void 0,b)}else l=c;if("null"===h){var d=new Set(l);return T(r,f,s,d,a,h)}var v=r[h],g=void 0;if("season"===a)g=r.lsr.getSeasonIndex();else if("takeSoundE5"===a)g=v.takeSoundE5.valueOf();else if("sb"===a)g=v.value;else{if("stem"!==a&&"branch"!==a)throw new Error("Error value RuleItem.startBy: ".concat(a));var p=[v.stem.value,v.branch.value],m=p[0],B=p[1];"function"==typeof i&&(m=(n=i(m,B))[0],B=n[1]),g="stem"===a?m:B}u&&(g=x(g,u));var k=l[g];if(null===k)return[{year:!1,month:!1,day:!1,hour:!1},!1,!1];d=Array.isArray(k)?new Set(k):new Set([k]);return T(r,f,s,d,a,h)},x=function(r,e){for(var t=0;t<e.length;t++){var n=e[t];if("number"==typeof n){if(r===n)return t}else if(Array.isArray(n)&&n.includes(r))return t}return r},j=function(r,e){return null==e?[]:e.map((function(e){return E(r,e)}))},E=function(r,e){for(var t=e.split("."),n=r;t.length>0;){var l=t.shift();if(void 0===l||void 0===n[l])return;n=n[l]}return n},F=function(r,e){var t;if("s,b"===e)t=["s".concat(r.stem.value),"b".concat(r.branch.value)];else if("sb"===e)t=r.value;else if("stem"===e)t=r.stem.value;else{if("branch"!==e)throw new Error("Error godDict prop: findBy ".concat(e));t=r.branch.value}return t},T=function(r,e,t,n,l,a){for(var u={year:!1,month:!1,day:!1,hour:!1},s=!0,i=!1,o=0,c=e;o<c.length;o++){var y=c[o];if(null===a||a!==y||l!==t){var h=r[y],f=F(h,t),b=!1;if(Array.isArray(f))for(var d=0,v=f;d<v.length;d++){var g=v[d];if(n.has(g)){u[y]=!0,b=!0;break}}else n.has(f)&&(b=!0,u[y]=!0);b?i=!0:s=!1}}return[u,s,i]},A=function(r){if(!P.has(r))throw new Error("Error C8God key: ".concat(r));return B[r].luckLevel},G=function(r){for(var e={year:[],month:[],day:[],hour:[]},t={year:new Set,month:new Set,day:new Set,hour:new Set},n=0,l=k;n<l.length;n++)for(var a=l[n],u=_(r,a).res,s=0;s<4;s++){var i=w[s];if(u[s].length>0&&!t[i].has(a)){var o=new L(a,{lang:r.lsr.getConfig().lang});t[i].add(a),e[i].push(o)}}return e},C={lunisolar:null},z=function(){if(!C.lunisolar)throw new Error("your must install lunisolar first");return C.lunisolar},M=function(){function r(r,e){var t=this;this._lang="zh",this.gods={year:[],month:[],day:[],hour:[]},this.cache=new Map,this.sexValue=e,this.lsr=r,this.me=r.char8.me,this.char8=r.char8,this._lang=r.getConfig().lang;var n=["year","month","day","hour"],l=function(e){return new m({sb:t.char8[e],me:t.me,cate:e,lang:r.char8.getConfig().lang})};this.year=l("year"),this.month=l("month"),this.day=l("day"),this.hour=l("hour"),this.gods=G(this);for(var a=0;a<4;a++){var u=n[a];this[u]._pushGods(this.gods[u])}}return Object.defineProperty(r.prototype,"list",{get:function(){return[this.year,this.month,this.day,this.hour]},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"sex",{get:function(){return b("sex.".concat(this.sexValue),this._lang)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"missing",{get:function(){return this.day.missing},enumerable:!1,configurable:!0}),r.prototype.embryo=function(){var r=(this.month.stem.value+1)%10,e=(this.month.branch.value+3)%12;return new(z().SB)(r,e,{lang:this.char8.getConfig().lang})},r.prototype.ownSign=function(){var r=g(this.month.branch.value)+g(this.hour.branch.value),e=v(r>14?26-r:14-r),t=h(this.year.stem.value,e)%10;return new(z().SB)(t,e,{lang:this.char8.getConfig().lang})},r.prototype.bodySign=function(){var r=g(this.month.branch.value),e=this.hour.branch.value+1,t=v((r+e)%12),n=h(this.year.stem.value,t)%10;return new(z().SB)(n,t,{lang:this.char8.getConfig().lang})},r.prototype.toString=function(){return"".concat(this.sex,": ").concat(this.year," ").concat(this.month," ").concat(this.day," ").concat(this.hour)},l([y("char8ex:embryo")],r.prototype,"embryo",null),l([y("char8ex:ownSign")],r.prototype,"ownSign",null),l([y("char8ex:bodySign")],r.prototype,"bodySign",null),r}();return r.C8God=L,r.Char8Ex=M,r.Pillar=m,r.TenGod=c,r.char8ex=function(r,t,n){return a(void 0,void 0,void 0,(function(){var r;return u(this,(function(l){var a;return n.locale(p,!0),a=n._globalConfig.locales,f.locales=a,C.lunisolar=n,n.extend(e.takeSound),r=t.prototype,Object.defineProperty(r,"char8ex",{value:function(r){var e="char8ex:sex_".concat(r);if(this.cache.has(e)){var t=this.cache.get(e);if(t instanceof M)return t}var n=new M(this,r);return this.cache.set(e,n),n}}),[2]}))}))},r}({},pluginTakesound);