/*! * relationship.js v1.2.7 * Chinese kinship library * https://passer-by.com/relationship/ * * Copyright (c) 2016-present, HaoLe Zheng * * Released under the MIT License * https://github.com/mumuy/relationship * * Created on: 2025-04-12 */ function s(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=Array(f);x=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var e,o=!0,b=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return o=s.done,s},e:function(s){b=!0,e=s},f:function(){try{o||null==x.return||x.return()}finally{if(b)throw e}}}}function m(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=Array(f);x1&&void 0!==arguments[1]?arguments[1]:-1,x=s.split(",").map((function(s){var f=s.replace(/&[ol\d]+/,"");return K[f][0]})).join("的");return f>-1&&K[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}function Q(s,f){var x=Object.keys(s);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(s);f&&(d=d.filter((function(f){return Object.getOwnPropertyDescriptor(s,f).enumerable}))),x.push.apply(x,d)}return x}function R(s,f){return Object.entries(f).forEach((function(f){var x=t(f,2),d=x[0],r=x[1];s[d]=(s[d]||[]).concat(r)})),s}var V=R(function(s){for(var f=1;f=s.length?{done:!0}:{done:!1,value:s[d++]}},e:function(s){throw s},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var m,e=!0,o=!1;return{s:function(){x=x.call(s)},n:function(){var s=x.next();return e=s.done,s},e:function(s){o=!0,m=s},f:function(){try{e||null==x.return||x.return()}finally{if(o)throw m}}}}function Z(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=Array(f);x-1)d=m;else if(r>-1&&-1===m)d=r;else{if(r!==m)return[];d=r}}var e=xs(s.from,d),o=xs(s.to,d);if(!e.length||!o.length)return[];var b=[];return e.forEach((function(f){o.forEach((function(x){var r=d,m=","+x;if(m.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(r=1),m.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(r=0),f&&x){var e=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(e=!0),e){var o=function(s){for(var f=s.from,x=s.to,d=s.sex,r=f.split(","),m=x.split(","),e=0;e+h?r[e]=r[e].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+n<+h&&(r[e]=r[e].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=r.slice(e).join(","),x=m.slice(e+1).join(","),d=m[e].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal){var w,M;if(n=(null===(w=r[e].match(/([xol])[bs]/))||void 0===w?void 0:w[1])||"",h=(null===(M=m[e].match(/([xol])[bs]/))||void 0===M?void 0:M[1])||"","x"==n||"x"==h){f=r.slice(e+1).join(","),x=m.slice(e+1).join(","),d=r[e].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}}break}f=r.slice(e+1).join(","),x=m.slice(e+1).join(","),d=r[e].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}}({from:f,to:x,sex:d,optimal:s.optimal});f=o.from,x=o.to,d=o.sex}}(x?B(x,d):[""]).forEach((function(s){var x=(s?","+s:"")+(f?","+f:"");b.push({selector:x,sex:r})}))}))})),b}function fs(s){var f=[],x={},d=function(s){if(!x[s]){x[s]=!0;var r="";do{r=s;var m,o=Y(e);try{for(o.s();!(m=o.n()).done;){var b=m.value;if((s=s.replace(b.exp,b.str)).includes("#"))return s.split("#").forEach(d),!1}}catch(s){o.e(s)}finally{o.f()}}while(r!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;f.push(s)}};return d(s),f}function xs(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];var x=fs(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return F(x)}var ds=function(s){"string"==typeof s&&(s=function(s){var f,x=r(d);try{for(x.s();!(f=x.n()).done;){var m=f.value,e=s.match(m.exp);if(e)return m.opt(e)}}catch(s){x.e(s)}finally{x.f()}return{}}(s));var f=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},s);!function(s){if(U=T({},I),s&&C[s])for(var f in C[s])U[f]=[].concat(C[s][f],I[f]||[])}(f.mode);var m=_(f.text),e=_(f.target);e.length||(e=[""]);var o=m.flatMap((function(s){return e.flatMap((function(x){return ss({from:s,to:x,sex:f.sex,optimal:f.optimal}).flatMap((function(s){return(s?xs(s.selector,s.sex):[]).flatMap((function(x){var d=[x],r=s.sex;return f.reverse&&(d=B(x,r),r=x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"===f.type?d.map((function(s){return L(s,r)})).filter((function(s){return s})):"pair"===f.type?B(x,s.sex).flatMap((function(s){return function(s,f){s=s.replace(/&\d+/g,""),f=f.replace(/&\d+/g,"");var x=s.replace(/([ol])([bs])/g,"x$2"),d=f.replace(/([ol])([bs])/g,"x$2"),r=s.replace(/&[ol]/g,""),m=f.replace(/&[ol]/g,""),e=[],o=[],b=[];for(var t in M){var l=t.split("#");if(l.length>1){var n=xs(l[0]),h=xs(l[1]),w=n.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),a=h.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(n.includes(s)&&h.includes(f)||n.includes(f)&&h.includes(s))&&e.push(M[t][0]),(w.includes(x)&&a.includes(d)||w.includes(d)&&a.includes(x))&&o.push(M[t][0]),(w.includes(r)&&a.includes(m)||w.includes(m)&&a.includes(r))&&b.push(M[t][0])}}return e.length||(e=o),e.length||(e=b),e}(x,s)})):d.flatMap((function(s){var f=J(s);return f.length||(f=J(r+","+s)),f}))}))}))}))}));return x(new Set(o))};ds.data=U,ds.dataCount=Object.keys(U).length,ds.setMode=function(s,f){C[s]=T(T({},C[s]||{}),f)};export{ds as default};