updated 亲家关系合并

This commit is contained in:
mumuy committed 2022-03-16 08:36:57 +08:00
1 parent 18e3e82a88
commit 858737774a
3 files changed
+6 -3642

No files matched your search

+1 -2
View File
@@ -6,5 +6,4 @@
* Released under the MIT License. * Released under the MIT License.
* https://github.com/mumuy/relationship/blob/master/LICENSE * https://github.com/mumuy/relationship/blob/master/LICENSE
*/ */
!function(s,f){"object"==typeof module&&module.exports?module.exports=f():s.relationship=f()}("undefined"!=typeof window?window:this,function(){function s(s){for(var f,x=[],m={},d=0;null!=(f=s[d]);d++){var b=f.replace(/[ol](?=s|b)/,"x").replace(/&[ol]/,"");b!=f||m[b]||(m[f]=!0)}for(var d=0;null!=(f=s[d]);d++){var b=f.replace(/[ol](?=s|b)/,"x").replace(/&[ol]/,"");b!=f?m[b]||x.indexOf(f)==-1&&x.push(f):x.indexOf(f)==-1&&x.push(f)}return x}function f(s){s=s.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g,"x"),s=s.replace(/之/,"的").replace(/我的?(.+)/,"$1"),s.match(/[^娘婆亲]家的?/)&&(s=s.replace(/家的?/,"的"));for(var f=s.split("的"),x=[],m=!0,d={"哥":"兄","姐":"姊","侄":"姪","祖父":"王父","祖母":"王母","孙女婿":"孙婿","甥女婿":"甥婿","侄女婿":"侄婿","弟媳":"弟妇","孙媳妇":"孙妇","甥媳妇":"甥妇","侄媳妇":"侄妇"},b={"^表":["姑表","舅表"],"^姻":["姑姻","姨姻","姊妹姻","女姻"],"^眷":["叔眷","舅眷","兄弟眷","男眷"],"^外甥":["甥"],"^外表伯":["姑表伯外","舅表伯外"],"^外表叔":["姑表叔外","舅表叔外"],"^外表姑":["姑表姑外","舅表姑外"],"^外表舅":["姑表舅外","舅表舅外"],"^外表姨":["姑表姨外","舅表姨外"],"祖$":["祖父","祖母"],"孙$":["孙男","孙女"],"甥$":["甥男","甥女"],"侄$":["侄男","侄女"],"外甥$":["甥"],"嫂$":["兄妇"]};f.length;){var h=f.shift(),o=[],w=[h];for(var M in d){var l=h.replace(M,d[M]),r=h.replace(d[M],M);l!=h&&w.push(l),r!=h&&w.push(r)}var e=function(s){for(var f in b){var x=b[f];x.forEach(function(x){var m=s.replace(new RegExp(f),x);m!=s&&(w.push(m),e(m))})}};if(e(h),w.forEach(function(s){for(var f in G)G[f].indexOf(s)>-1&&o.push(f)}),!o.length)for(var t in G){var n=G[t];w.forEach(function(s){n.indexOf(s)>-1&&o.push(t)})}o.length||(m=!1);var a=[];x.length||(x=[""]),x.forEach(function(s){o.forEach(function(f){a.push(s+(f?","+f:""))})}),x=a}return m?x:[]}function x(f,x){var m=[],d={};x<0&&(f.match(/^,w/)?x=1:f.match(/^,h/)&&(x=0));var b=function(s,f){if(s.indexOf(",1")==-1&&s.indexOf(",0")==-1&&(s=","+f+s),s.match(/,[w0],w|,[h1],h/))return!1;var x="";if(!d[s]){d[s]=!0;var h=!0;do{x=s;for(var w in o){var M=o[w];if(s=s.replace(M.exp,M.str),s.indexOf("#")>-1){for(var l=s.split("#"),r=0;r<l.length;r++)b(l[r]);h=!1;break}}}while(x!=s);if(h){if(s.match(/,[w0],w|,[h1],h/))return!1;s=s.replace(/,[01]/,"").substr(1),m.push(s)}}};return x<0?(b(f,1),b(f,0)):b(f,x),s(m)}function m(s){var f=[],x=function(s){var f=[];if(G[s])f.push(G[s][0]);else for(var x in G)if(x.replace(/&[ol]/g,"")==s)f.push(G[x][0]);else for(var m=s;m.match(/[ol](b|s)/);)if(m=m.replace(/[ol](b|s)/,"x$1"),m==x){f.push(G[x][0]);break}return f};if(G[s])f.push(G[s][0]);else if(f=x(s),f.length||(s=s.replace(/&[ol]/g,""),f=x(s)),f.length||(s=s.replace(/[ol](b|s)/g,"x$1"),f=x(s)),!f.length){var m=s.replace(/x/g,"l");f=x(m);var d=s.replace(/x/g,"o");f=f.concat(x(d))}return f}function d(s,f){var x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},m="";if(s.match(/&o$/)?m="&l":s.match(/&l$/)&&(m="&o"),s){s=s.replace(/&[ol]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));var d=[],b=function(f){var d=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");d=d.substring(0,d.lastIndexOf(","));for(var b=s.split(",").reverse(),h=d.split(",").reverse(),o=[],w=0;w<b.length;w++)o.push(x[b[w]][h[w]]);var M=0,l={f:1,m:1,s:-1,d:-1};return o.forEach(function(s){M+=l[s]||0}),o.join(",")+(M?"":m)};return f<0?(d.push(b(1)),d.push(b(0))):d.push(b(f)),d}return[""]}function b(s){var f=s.split(",");return f.map(function(s){var f=s.replace(/&[ol]/,"");return G[f][0]}).join("的")}function h(f,m,b){if(b<0){var h=-1,o=-1;if(f.match(/^,w/)||f.match(/^,1/)?o=1:(f.match(/^,h/)||f.match(/^,0/))&&(o=0),m.match(/^,w/)||m.match(/^,1/)?h=1:(m.match(/^,h/)||m.match(/^,0/))&&(h=0),o==-1&&h>-1)b=h;else if(o>-1&&h==-1)b=o;else{if(o!=h)return!1;b=o}}var w=b,M=x(f,b),l=x(m,b),r=[];if(m){var e=!1,G=!1;l.forEach(function(s){s.match(/([fhs1](&[ol])?|[olx]b)$/)&&(e=!0),s.match(/([mwd0](&[ol])?|[olx]s)$/)&&(G=!0),r=r.concat(d(s,b))}),r=s(r),e&&G?w=-1:e?w=1:G&&(w=0)}else r=[""];var t=M.length>1?"["+M.join("|")+"]":M[0],n=r.length>1?"["+r.join("|")+"]":r[0];return{selector:(m?","+n:"")+(f?","+t:""),sex:w}}var o=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb])([^#]+)&l/g,str:"$1,x$2$3"},{exp:/^(.+)?,l([sb])([^#]+)&o/g,str:"$1,x$2$3"},{exp:/(,[ds],(.+),[ds])&[ol]/g,str:"$1"},{exp:/(,o[sb])+(,o[sb])/,str:"$2"},{exp:/(,l[sb])+(,l[sb])/,str:"$2"},{exp:/^(.*)(,[fh1])(,[olx][sb])+,[olx]b(.*)$/,str:"$1$2,xb$4#$1$2$4"},{exp:/^(.*)(,[mw0])(,[olx][sb])+,[olx]s(.*)$/,str:"$1$2,xs$4#$1$2$4"},{exp:/(,[fh1])(,[olx][sb])+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb])+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb],[olx]b(.+)?$/,str:"$1#,xb$1"},{exp:/^,[olx][sb],[olx]sLine truncated !function(s,f){"object"==typeof module&&module.exports?module.exports=f():s.relationship=f()}("undefined"!=typeof window?window:this,function(){var l=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb])([^#]+)&l/g,str:"$1,x$2$3"},{exp:/^(.+)?,l([sb])([^#]+)&o/g,str:"$1,x$2$3"},{exp:/(,[ds],(.+),[ds])&[ol]/g,str:"$1"},{exp:/(,o[sb])+(,o[sb])/,str:"$2"},{exp:/(,l[sb])+(,l[sb])/,str:"$2"},{exp:/^(.*)(,[fh1])(,[olx][sb])+,[olx]b(.*)$/,str:"$1$2,xb$4#$1$2$4"},{exp:/^(.*)(,[mw0])(,[olx][sb])+,[olx]s(.*)$/,str:"$1$2,xs$4#$1$2$4"},{exp:/(,[fh1])(,[olx][sb])+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb])+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb],[olx]b(.+)?$/,str:"$1#,xb$1"},{exp:/^,[olx][sb],[olx]s(.+)?$/,str:"$1#,xs$1"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](,[mf])/g,str:"$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*)(,[fh1]|[xol]b),[mf],s(.*)$/,str:"$1$2,xb$3#$1$2$3"},{exp:/^(.*)(,[mw0]|[xol]s),[mf],d(.*)$/,str:"$1$2,xs$3#$1$2$3"},{exp:/(,[mw0]|[xol]s),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",1$1#,xb$1"},{exp:/^,[mf],d(.+)?$/,str:",0$1#,xs$1"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol])?,[olx]s/g,str:",d"},{exp:/,[ds](&[ol])?,[olx]b/g,str:",s"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,m/g,str:"$1"},{exp:/(,[mwd0](&[ol])?|[olx]s),[ds](&[ol])?,f/g,str:"$1,h"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,f/g,str:"$1"},{exp:/(,[fhs1](&[ol])?|[olx]b),[ds](&[ol])?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:"$1#,w$1"},{exp:/^,[ds],f(.+)?$/,str:"$1#,h$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],s={"":["自己","我","俺","本人","在下"],"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f,m][f,m]":["祖辈"],"f,[f|m]":["祖父母","爷爷奶奶"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"f,[f,xs|m,xb],s&o":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"f,[f,xs|m,xb],s&l":["舅姑爸","姑舅爸"],"f,[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,[xs|xs,h]":["姑父母"],"m,[xb|xb,w]":["舅父母"],"m,[xs|xs,h]":["姨父母"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"h,[f|m]":["公婆","翁姑","大家官","公公婆婆","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表"],"[f,xb|m,xs],s":["从兄弟"],"[f,xb|m,xs],d":["从姐妹"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄Line truncated
"{M-1},f,m,m":["外祖母"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄妇"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟妇"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊婿"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹婿"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄妇"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟妇"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊婿"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹婿"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["妇"],"{M-1},xb,s":["孙男"],"{M-1},xb,s,w":["孙妇"],"{M-1},xb,d":["孙女"],"{M-1},xb,d,h":["孙婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孙男"],"{M-1},xs,s,w":["外孙妇"],"{M-1},xs,d":["外孙女"],"{M-1},xs,d,h":["外孙婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孙男"],"{M-2},xb,w":["孙妇"],"{M-2},xs":["孙女"],"{M-2},xs,h":["孙婿"]},r={},e={},G={};for(var t in l){var n=t.match(/\{.+?\}/)[0],a=l[t];for(var c in M[n]){var p=M[n][c],i=t.replace(n,c),$=!1;["h,h","w,w","w,h","h,w"].forEach(function(s){i.indexOf(s)>-1&&($=!0)});var u=[];$||(p.forEach(function(s){a.forEach(function(f){f.indexOf("?")>-1?u.push(f.replace("?",s)):u.push(s+f)})}),r[i]=[].concat(r[i]||[],u))}}for(var t in w)r[t]=[].concat(w[t],r[t]||[]);var v={w:["内","岳","妻","丈人"],h:["外","夫"]};for(var t in r)if(0==t.indexOf("f")||0==t.indexOf("m"))for(var c in v){var i=c+","+t;r[i]||(r[i]=[]);var p=v[c],a=r[t];p.forEach(function(s){a.forEach(function(f){r[i].push(s+f)})})}G=Object.assign({},r);var W=function(o){var w=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default"},o);G=Object.assign({},r);for(var M in e)if(w.mode==M)for(var l in e[M])G[l]=[].concat(e[M][l],r[l]||[]);var t=f(w.text),n=f(w.target);n.length||(n=[""]);var a=[];return t.forEach(function(s){n.forEach(function(f){var o=h(s,f,w.sex),M=o?x(o.selector,o.sex):null;M&&M.forEach(function(s){var f=[s];"chain"==w.type?(w.reverse&&(f=d(s,o.sex)),f.forEach(function(s){var f=b(s);f&&a.push(f)})):(w.reverse&&(f=d(s,o.sex)),f.forEach(function(s){var f=m(o.sex+","+s);f.length||(f=m(s)),f.length&&(a=a.concat(f))}))})})}),s(a)};W.dataCount=0;for(var g in G)W.dataCount++;return W.setMode=function(s,f){"undefined"==typeof e[s]&&(e[s]={}),e[s]=Object.assign(e[s],f)},W});
-3634
View File
File diff suppressed because it is too large. Load diff
+5 -6
View File
@@ -276,7 +276,11 @@
's,[s|d]':['孙子女'], 's,[s|d]':['孙子女'],
'd,[s|d]':['外孙子女'], 'd,[s|d]':['外孙子女'],
'[s|d]#[s|d],[s|d]':['儿孙','子孙','孙息'], '[s|d]#[s|d],[s|d]':['儿孙','子孙','孙息'],
'[s,w|d,h][f|m]':['亲家','儿女亲家'], '[s,w|d,h],[f|m]':['亲家','儿女亲家'],
'[s,w|d,h],f':['亲家公','亲家父','亲家翁','亲家世翁','姻翁'],
'[s,w|d,h],m':['亲家母','亲家婆','亲家姆','姻姆'],
'[s,w|d,h],[f|m],f':['姻太翁'],
'[s,w|d,h],[f|m],m':['姻太姆'],
// 主线 // 主线
'f,f,f,f,f,f,f,f,f':['鼻祖父','鼻祖','始祖','九世祖'], 'f,f,f,f,f,f,f,f,f':['鼻祖父','鼻祖','始祖','九世祖'],
'f,f,f,f,f,f,f,f,m':['鼻祖母'], 'f,f,f,f,f,f,f,f,m':['鼻祖母'],
@@ -603,11 +607,6 @@
'd,d,d,s,w':['外曾外曾外孙媳妇'], 'd,d,d,s,w':['外曾外曾外孙媳妇'],
'd,d,d,d':['外曾外曾外孙女'], 'd,d,d,d':['外曾外曾外孙女'],
'd,d,d,d,h':['外曾外曾外孙女婿'], 'd,d,d,d,h':['外曾外曾外孙女婿'],
//亲家
's,w,f':['亲家公','亲家父','亲家翁','姻翁'],
's,w,m':['亲家母','亲家姆','姻姆'],
'd,h,f':['亲家公','亲家父','亲家翁','姻翁'],
'd,h,m':['亲家母','亲家姆','姻姆'],
}; };
/* /*
* 【分支标签】 - 仅内部使用 * 【分支标签】 - 仅内部使用