Giter Site home page Giter Site logo

mumuy / relationship Goto Github PK

View Code? Open in Web Editor NEW
3.0K 32.0 336.0 17.8 MB

**亲戚关系计算器 - 家庭称谓/亲戚称呼/称呼计算/辈分计算/亲戚关系算法/親戚稱呼計算機_Chinese kinship system.

Home Page: https://passer-by.com/relationship/

License: MIT License

HTML 41.42% JavaScript 51.38% CSS 7.20%
kinship relationship chinese family-tree

relationship's Introduction

relationship's People

Contributors

dependabot[bot] avatar mumuy avatar superray3 avatar whinc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

relationship's Issues

爸爸的五兄妹叫什么

1 女 (大姑)
2 男 (YOU are here)
3 女 (三姑 or 二姑?)
4 男 (四叔 or 二叔?)
5 女 (五姑 or 三姑)?

追加关系

川渝地区有“孃孃”的说法,希望追加

引入此包后 webpack 构建失败 Module not found: Error: Default condition should be last one

问题见 Module not found: Error: Default condition should be last one

当前版本的 relationship.js 的 package.json 导出模块配置如下:

{
    "exports": {
        "default": "./dist/relationship.min.js",
        "import": "./dist/relationship.min.mjs"
    }
}

从 node 12 后模块系统的变化,需要将 default 导出移到最后面,详情见 node 文档 https://nodejs.org/dist/latest-v20.x/docs/api/packages.html#conditional-exports

image

全新版本

感谢作者,我二次开发了一个版本,基本上把relationship.js提供的特性用到了极致:

做了以下改进:

  1. 修复了官方demo的一些bug,比如计算器“夫”“妻”disable规则问题(自动判断最后输入项的性别,官方demo只判断了首次输入的性别)
  2. 新增根据语言描述找关系
  3. 重构UI交互,尽可能做到交互自然

image
image
image

体验地址:https://sinqi.tools/calc/relationship

中文数字

str = str.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g, 'x');
开始分词解析的时候都是中文的称呼,把数字替换为x,比如二哥的。。就为x哥的。。
然后x哥就在data中找不到对应的代号,就会忽略掉这一匹配?

请求增加 typescript 类型声明

我最近在做一个计算器品类的小程序,其中的亲戚关系计算器使用这个库实现,节省了我大量的时间,并获得了可靠的质量,感谢 @mumuy 的辛勤付出和杰出的工作成果,等我发布更新后会在开源致谢页面附上 relationship 项目的地址和作者信息,再次感谢。

当前 relationship 使用纯 js 实现,缺少对 ts 的有效支持,导致在 js/ts 项目中通过 npm 包引入使用时无类型补全和检查,期望能补充 ts 的类型声明。

北方叫法

在北方 作者可以了解一下北方的朋友
爸爸的哥哥 我们称作大爷 二大爷 三大爷 不叫伯父 希望可以增加南北叫法提示

计算结果能不能返回所有结果

计算结果能不能返回所有称谓?比如"爷爷的父亲",返回的是"曾祖父",这里返回一个数组,把所有叫法都返回岂不更好

bug

老婆的老公 错啦~
明明是自己的说

建议加入方言

比如到某些县城或农村,不太可能喊舅外公。
方言可进行收集,汇总,展示
和普通话一起展示

node.js 12+ 版本无法导入 relationship-mode 以及 zh-KH 等模块

问题描述:从 node.js 12 开始,package.json 引入了入口概念,包的导出入口通过exports 关键字定义,并且优先级高于main关键字。当前 relationship.js 中虽然定义了 exports 关键字,但只包含了 relationship ,未包含 relationship-mode 以及 lang 目录下 zh-KH,导致使用 node 12+ 版本无法导入relationship-mode 以及 zh-KH

package.json

    "exports": {
        "import": "./dist/relationship.min.mjs",
        "default": "./dist/relationship.min.js"
    }

下面导入会报错

const mode1 = require('relationship.js/dist/relationship-mode.min.mjs')  // Error: './dist/relationship-mode.min.mjs' is not defined

解决该问题的办法是,将 relationship-mode 以及 zh-KH 在 exports 中明确定义,同时增加require明确支持 cjs 格式更加规范,代码如下:

    "exports": {
        ".": {
            "import": "./dist/relationship.min.mjs",
            "require": "./dist/relationship.min.js",
            "default": "./dist/relationship.min.js"
        },
        "./mode": {
            "import": "./dist/relationship-mode.min.mjs",
            "require": "./dist/relationship-mode.min.js",
            "default": "./dist/relationship-mode.min.js"
        },
        "./zh-HK": {
            "import": "./dist/lang/relationship.zh-HK.min.mjs",
            "require": "./dist/lang/relationship.zh-HK.min.js",
            "default": "./dist/lang/relationship.zh-HK.min.js"
        },
        "./zh-HK/mode": {
            "import": "./dist/lang/relationship-mode.zh-HK.min.mjs",
            "require": "./dist/lang/relationship-mode.zh-HK.min.js",
            "default": "./dist/lang/relationship-mode.zh-HK.min.js"
        }
    },

调整后可以这样导入

const mode = require('relationship.js/mode')
const relationshipHK = require('relationship.js/zh-HK')

关于 model

请问方法 relationship.setMode(mode_name,mode_data) 中的 model_name 参数有哪些值呢?

周瑜管夏侯惇叫什么

周瑜管夏侯惇叫什么?
经常在德云社的相声里听到这个梗,今天用计算器算了一下,结果是“--”
非抬杠,纯好奇

人物关系如下:
周瑜与孙策万千佳丽中寻得大乔小乔,周瑜娶了小乔,而孙策娶了大乔,成为姻亲。
孙策的妹妹孙尚香又嫁给了刘备做夫人,孙尚香强势断然不会为刘备生子,但刘备其他的儿子无疑也是孙尚香的子嗣,即刘禅。
刘禅所娶张皇后便是夏侯渊的侄女的女儿,即夏侯氏之女。
那么周瑜叫夏侯渊的哥哥夏侯惇什么呢?

建议把 relationship 改为 relation

虽然 relationship 在字典上确实可以和 relation 通用但是在实际生活中的语言习惯上还是有区别。

blood relations 血缘关系
relations by marriage 婚姻关系

relationship 偏指感情而 relation 偏指联系。

例如:
The relationship between me and my father is good.
我和我的父亲关系很好。

The relation between me and this man is son and father.
这个人与我是父子关系

关系不存在

爸爸妈妈的姐姐的儿子 这个关系不存在,但是爸爸妈妈的姐姐的女儿可以计算出是姨姑母

祖辈姻眷亲显示不出来

输入“母亲的母亲的哥哥的老婆的哥哥”之类的祖辈姻眷亲,结果是不可查询,“貌似他/她跟你不是很熟哦!”
输入“哥哥的老婆的哥哥的老婆的哥哥”之类的超过两度的姻眷亲,也一样是不可查询
此外建议把正式用语(书面语)和非正式用语(口语)分两个模式显示

添加上“父”、“母”是否会更完整一些?

relationship.js第186行:
'f':['爸爸','父亲','阿爸','老爸','老窦','爸','爹','爹爹','爹地','爹啲','老爹','大大','老爷子','老头子'],
加上“父”

relationship.js第413行:
'm':['妈妈','母亲','老妈','阿妈','老母','老妈子','娘','妈','娘亲','妈咪'],
加上“母”

是不是会更完善一些?

错误提示:relationship is not a function

使用 import
import relationship from 'relationship.js';
或require
var relationship = require("relationship.js");
两个方式都不行,错误提示:
(0 , _relationship.default) is not a function

relationship is not a function

调用:relationship({text:'妈妈的妈妈的哥哥'});
语言:微信小程序+TS ,是TS,TS,不是JS

代号

'$1$2'$3
,xb
“#”
等符号代表什么意思

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.