updated 添加表达式语法特性
This commit is contained in:
parent
6c1e03ff66
commit
7c4ada9667
2
dist/relationship-mode.min.js
vendored
2
dist/relationship-mode.min.js
vendored
@ -1 +1 @@
|
||||
!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"广东",data:{f:["阿爸"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["大伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑妈"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["阿妈","老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["阿哥"],"ob,w":["阿嫂"],lb:["阿弟","细佬"],"lb,w":["弟妇"],"xb,s":["侄"],"xb,d":["侄女"],os:["阿姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新妇"],"s,s":["孙"],"s,s,w":["孙新妇"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孙女"],"s,d,h":["孙女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孙"],"d,s,w":["外孙新妇"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孙女"],"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}};return d=d.default})()));
|
||||
!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"广东",data:{f:["老窦"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑妈"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["细佬"],"lb,w":["弟妇"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新妇"],"s,s":["孙"],"s,s,w":["孙新妇"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孙女"],"s,d,h":["孙女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孙"],"d,s,w":["外孙新妇"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孙女"],"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}};return d=d.default})()));
|
2
dist/relationship-mode.zh-HK.min.js
vendored
2
dist/relationship-mode.zh-HK.min.js
vendored
@ -1 +1 @@
|
||||
!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"廣東",data:{f:["阿爸"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["大伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑媽"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["阿媽","老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["阿哥"],"ob,w":["阿嫂"],lb:["阿弟","細佬"],"lb,w":["弟婦"],"xb,s":["侄"],"xb,d":["侄女"],os:["阿姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新婦"],"s,s":["孫"],"s,s,w":["孫新婦"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孫女"],"s,d,h":["孫女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孫"],"d,s,w":["外孫新婦"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孫女"],"d,d,h":["外孫女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}};return d=d.default})()));
|
||||
!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"廣東",data:{f:["老竇"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑媽"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["細佬"],"lb,w":["弟婦"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新婦"],"s,s":["孫"],"s,s,w":["孫新婦"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孫女"],"s,d,h":["孫女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孫"],"d,s,w":["外孫新婦"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孫女"],"d,d,h":["外孫女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}};return d=d.default})()));
|
4
dist/relationship.min.js
vendored
4
dist/relationship.min.js
vendored
File diff suppressed because one or more lines are too long
4
dist/relationship.zh-HK.min.js
vendored
4
dist/relationship.zh-HK.min.js
vendored
File diff suppressed because one or more lines are too long
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "relationship.js",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "relationship.js",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"gulp": "^4.0.2",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "relationship.js",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"summary": "relationship.js is a javascript library for chinese family relationship. 中国家庭亲戚称谓计算器,家庭关系、亲戚关系算法。",
|
||||
"description": "Chinese kinship library",
|
||||
"author": "HaoLe Zheng",
|
||||
|
12
readme.md
12
readme.md
@ -26,7 +26,9 @@ var relationship = require("relationship.js");
|
||||
|
||||
|
||||
## 二、使用
|
||||
1. 通用方法: 唯一的计算方法 `relationship(options)`.
|
||||
1. 通用方法: 唯一的计算方法 `relationship`.
|
||||
|
||||
(1) 参数模式`relationship(options)`
|
||||
|
||||
参数`options`结构为:
|
||||
|
||||
@ -53,7 +55,7 @@ relationship({text:'妈妈的妈妈的哥哥'});
|
||||
relationship({text:'七舅姥爷',reverse:true,sex:1});
|
||||
// => ['甥外孙']
|
||||
|
||||
// 如:舅公和我具体是什么关系?
|
||||
// 如:舅公是什么亲戚
|
||||
relationship({text:'舅公',type:'chain'});
|
||||
// => ['爸爸的妈妈的兄弟', '妈妈的妈妈的兄弟', '老公的妈妈的兄弟']
|
||||
|
||||
@ -66,6 +68,12 @@ relationship({text:'外婆',target:'奶奶',type:'pair'});
|
||||
// => ['儿女亲家']
|
||||
|
||||
```
|
||||
|
||||
(2) 语句模式`relationship(exptession)`
|
||||
|
||||
参数`exptession`句式可以为:`xxx是xxx的什么人`、`xxx叫xxx什么`、`xxx如何称呼xxx`等.
|
||||
|
||||
|
||||
2. 内部属性:获取当前数据表 `relationship.data`.
|
||||
|
||||
3. 内部属性:获取当前数据量 `relationship.dataCount`.
|
||||
|
@ -1,14 +1,14 @@
|
||||
export default {
|
||||
'name':'广东',
|
||||
'data':{
|
||||
'f':['阿爸'],
|
||||
'f':['老窦'],
|
||||
'f,f':['阿爷'],
|
||||
'f,f,f':['太公'],
|
||||
'f,f,m':['太婆'],
|
||||
'f,m':['阿嫲'],
|
||||
'f,m,f':['太外公'],
|
||||
'f,m,m':['太外婆'],
|
||||
'f,ob':['大伯'],
|
||||
'f,ob':['伯伯'],
|
||||
'f,ob,w':['伯娘'],
|
||||
'f,lb':['阿叔'],
|
||||
'f,lb,w':['阿婶'],
|
||||
@ -23,7 +23,7 @@ export default {
|
||||
'1,f,xs,d,s':['姑表外甥'],
|
||||
'0,f,xs,d,d':['姑表姨甥女'],
|
||||
'1,f,xs,d,d':['姑表外甥女'],
|
||||
'm':['阿妈','老母'],
|
||||
'm':['老母'],
|
||||
'm,f':['阿公'],
|
||||
'm,f,f':['外太公'],
|
||||
'm,f,m':['外太婆'],
|
||||
@ -44,13 +44,13 @@ export default {
|
||||
'1,m,xb,d,s':['姨外甥'],
|
||||
'0,m,xb,d,d':['姨姨甥女'],
|
||||
'1,m,xb,d,d':['姨外甥女'],
|
||||
'ob':['阿哥'],
|
||||
'ob':['大佬'],
|
||||
'ob,w':['阿嫂'],
|
||||
'lb':['阿弟','细佬'],
|
||||
'lb':['细佬'],
|
||||
'lb,w':['弟妇'],
|
||||
'xb,s':['侄'],
|
||||
'xb,d':['侄女'],
|
||||
'os':['阿姐'],
|
||||
'os':['家姐'],
|
||||
'os,h':['姐夫'],
|
||||
'ls':['阿妹'],
|
||||
'ls,h':['妹夫'],
|
||||
|
72
src/module/expression.js
Normal file
72
src/module/expression.js
Normal file
@ -0,0 +1,72 @@
|
||||
// 自然语言表达
|
||||
export default [
|
||||
{
|
||||
exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,
|
||||
opt:match=>({
|
||||
text:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,
|
||||
opt:match=>({
|
||||
text:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)是(谁|什么亲戚|啥亲戚)??$/,
|
||||
opt:match=>({
|
||||
text:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,
|
||||
opt:match=>({
|
||||
text:match[4],
|
||||
target:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,
|
||||
opt:match=>({
|
||||
text:match[5],
|
||||
target:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,
|
||||
opt:match=>({
|
||||
text:match[1],
|
||||
target:match[2]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,
|
||||
opt:match=>({
|
||||
text:match[2],
|
||||
target:match[1]
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,
|
||||
opt:match=>({
|
||||
text:match[1],
|
||||
target:match[3],
|
||||
type:'pair'
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)是(什么|啥)(关系|人)??$/,
|
||||
opt:match=>({
|
||||
text:match[1],
|
||||
type:'chain'
|
||||
})
|
||||
},
|
||||
{
|
||||
exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,
|
||||
opt:match=>({
|
||||
text:match[1],
|
||||
target:match[2],
|
||||
type:'chain'
|
||||
})
|
||||
},
|
||||
];
|
@ -2,6 +2,7 @@
|
||||
import _filter from './filter';
|
||||
import _map from './map';
|
||||
import _pair from './pair';
|
||||
import _expression from './expression';
|
||||
|
||||
var _mode = {}; // 模式数据
|
||||
var _data = Object.assign({},_map); // 最终数据
|
||||
@ -379,8 +380,7 @@ export function selector2id(selector,sex){
|
||||
hash[selector] = true;
|
||||
do{
|
||||
s = selector;
|
||||
for(var i in _filter){
|
||||
var item = _filter[i];
|
||||
for(var item of _filter){
|
||||
// console.log('[filter]',item['exp'],selector);
|
||||
selector = selector.replace(item['exp'],item['str']);
|
||||
if(selector.includes('#')){
|
||||
@ -597,3 +597,14 @@ export function getDataByMode(sign){
|
||||
}
|
||||
return _data;
|
||||
};
|
||||
|
||||
// 获取配置
|
||||
export function getOptions(text){
|
||||
for(var item of _expression){
|
||||
var match = text.match(item['exp']);
|
||||
if(match){
|
||||
return item['opt'](match);
|
||||
}
|
||||
}
|
||||
return {};
|
||||
};
|
||||
|
@ -1,5 +1,6 @@
|
||||
import {
|
||||
unique,
|
||||
getOptions,
|
||||
getSelectors,
|
||||
mergeSelector,
|
||||
selector2id,
|
||||
@ -14,6 +15,9 @@ var _data = getDataByMode(); // 最终数据
|
||||
|
||||
// 对外方法
|
||||
var relationship = function (parameter){
|
||||
if(typeof parameter =='string'){
|
||||
parameter = getOptions(parameter);
|
||||
}
|
||||
var options = Object.assign({
|
||||
text:'', // 目标对象:目标对象的称谓汉字表达,称谓间用‘的’字分隔
|
||||
target:'', // 相对对象:相对对象的称谓汉字表达,称谓间用‘的’字分隔,空表示自己
|
||||
|
@ -3,8 +3,8 @@ var test = require('tape');
|
||||
var relationship = require('..');
|
||||
|
||||
test('relationship.js show to be tested', function (t) {
|
||||
// console.log('[test]',relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}));
|
||||
|
||||
// console.log('[test]',relationship('妈妈应该如何称呼姑姑'));
|
||||
|
||||
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
|
||||
t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']);
|
||||
t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']);
|
||||
@ -39,5 +39,13 @@ test('relationship.js show to be tested', function (t) {
|
||||
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['伯父']);
|
||||
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']);
|
||||
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair',optimal:true}),['父子']);
|
||||
t.deepEqual(relationship('妈妈应该如何称呼姑姑'),['姑子']);
|
||||
t.deepEqual(relationship('姑奶奶是什么关系'),['爸爸的爸爸的姐妹']);
|
||||
t.deepEqual(relationship('姑奶奶和爸爸是什么关系'),['姑侄']);
|
||||
t.deepEqual(relationship('我应该叫外婆的哥哥什么?'),['舅外公']);
|
||||
t.deepEqual(relationship('七舅姥爷应该叫我什么?'),['甥外孙','甥外孙女']);
|
||||
t.deepEqual(relationship('舅公是什么关系?'),['爸爸的妈妈的兄弟', '妈妈的妈妈的兄弟', '老公的妈妈的兄弟']);
|
||||
t.deepEqual(relationship('舅妈如何称呼外婆?'),['婆婆']);
|
||||
t.deepEqual(relationship('外婆和奶奶之间是什么关系?'),['儿女亲家']);
|
||||
t.end();
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user