// npm package
relationship.js
Chinese kinship library
versions
12
maintainers
2
license
MIT
first publish
2016-09-26
publisher
mumuy
tarball
344,535 B
AUTO-PUBLISHED·1 version indexed·latest published 2026-04-29
// offending code· @1.2.9· 1 file flagged
llm: benign · 0.85→ No suspicious destination, no remote-exec shape — 4 known-vendor host(s), 1 other host(s).
- @1.2.9··AUTO-PUBLISHED·publisher: mumuyheuristic 75/100static flags 1llm benign (0.85) via ollamanew-publisher:20dmature-packageosv-flagged:MAL-2026-4151public-github-push
→ No suspicious destination, no remote-exec shape — 4 known-vendor host(s), 1 other host(s).
// offending code· 1 file flaggedpatterns: 1
--- package/package.json (excerpt) --- { "name": "relationship.js", "version": "1.2.9", "description": "Chinese kinship library", "author": "HaoLe Zheng", "license": "MIT", "keywords": [ "relationship", "relationship.js", "chinese", "family", "kinship", "家庭亲戚称谓", "亲戚关系算法" ], "main": "./dist/relationship.min.js", "module": "./dist/relationship.min.mjs", "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" } }, "repository": { "type": "git", "url": "git+https://github.com/mumuy/relationship.git" }, "bugs": { "url": "https://github.com/mumuy/rel --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- dist/relationship-mode.min.js (bundled) --- !function(f,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):(f="undefined"!=typeof globalThis?globalThis:f||self).relationshipMode=s()}(this,(function(){"use strict";function f(s){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},f(s)}function s(s){var m=function(s,m){if("object"!=f(s)||!s)return s;var o=s[Symbol.toPrimitive];if(void 0!==o){var d=o.call(s,m||"default");if("object"!=f(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===m?String:Number)(s)}(s,"string");return"symbol"==f(m)?m:m+""}function m(f,m,o){return(m=s(m))in f?Object.defineProperty(f,m,{value:o,enumerable:!0,configurable:!0,writable:!0}):f[m]=o,f}var o;return{guangdong:{name:"广东",data:(o={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":["姨丈"]},m(m(m(m(m(m(m(m(m(m(o,"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",["侄女"]),m(m(m(m(m(m(m(m(m(m(o,"os",["家姐"]),"os,h",["姐夫"]),"ls",["阿妹"]),"ls,h",["妹夫"]),"0,xs,s",["姨甥"]),"1,xs,s",["外甥"]),"0,xs,d",["姨甥女"]),"1,xs,d",["外甥女"]),"s",["仔"]),"s,w",["新妇"]),m(m(m(m(m(m(m(m(m(m(o," --- dist/relationship-mode.min.mjs (bundled) --- function m(s){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(m){return typeof m}:function(m){return m&&"function"==typeof Symbol&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},m(s)}function s(s){var f=function(s,f){if("object"!=m(s)||!s)return s;var d=s[Symbol.toPrimitive];if(void 0!==d){var o=d.call(s,f||"default");if("object"!=m(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===f?String:Number)(s)}(s,"string");return"symbol"==m(f)?f:f+""}function f(m,f,d){return(f=s(f))in m?Object.defineProperty(m,f,{value:d,enumerable:!0,configurable:!0,writable:!0}):m[f]=d,m}var d,o={guangdong:{name:"广东",data:(d={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":["姨丈"]},f(f(f(f(f(f(f(f(f(f(d,"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",["侄女"]),f(f(f(f(f(f(f(f(f(f(d,"os",["家姐"]),"os,h",["姐夫"]),"ls",["阿妹"]),"ls,h",["妹夫"]),"0,xs,s",["姨甥"]),"1,xs,s",["外甥"]),"0,xs,d",["姨甥女"]),"1,xs,d",["外甥女"]),"s",["仔"]),"s,w",["新妇"]),f(f(f(f(f(f(f(f(f(f(d,"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",["外孙"]),f(f(f(f(f(f(f(d,"d,s,w",["外孙新妇"]),"d,s,s",["外息仔"]),"d,s,d",["外息女"]),"d,d",["外孙女"]),"d,d,h",["外 --- dist/relationship.min.js (bundled) --- /*! * relationship.js v1.2.9 * 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: 2026-04-29 */ !function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";function s(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=Array(f);x<f;x++)d[x]=s[x];return d}function f(f,x){if(f){if("string"==typeof f)return s(f,x);var d={}.toString.call(f).slice(8,-1);return"Object"===d&&f.constructor&&(d=f.constructor.name),"Map"===d||"Set"===d?Array.from(f):"Arguments"===d||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?s(f,x):void 0}}function x(x){return function(f){if(Array.isArray(f))return s(f)}(x)||function(s){if("undefined"!=typeof Symbol&&null!=s[Symbol.iterator]||null!=s["@@iterator"])return Array.from(s)}(x)||f(x)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var d=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:function(s){return{text:s[4],target:s[1]}}},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:function(s){return{text:s[5],target:s[1]}}},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:function(s){return{text:s[1],target:s[2],type:s[1].includes("的")?"default":"chain"}}},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:function(s){return{text:s[3],target:s[1]}}},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[3],type:"pair"}}},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[2],type:"chain"}}},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:function(s){return{text:s[1],type:"chain"}}},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:function(s){return{ --- dist/relationship.min.mjs (bundled) --- /*! * relationship.js v1.2.9 * 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: 2026-04-29 */ function s(s,f){(null==f||f>s.length)&&(f=s.length);for(var x=0,d=Array(f);x<f;x++)d[x]=s[x];return d}function f(f,x){if(f){if("string"==typeof f)return s(f,x);var d={}.toString.call(f).slice(8,-1);return"Object"===d&&f.constructor&&(d=f.constructor.name),"Map"===d||"Set"===d?Array.from(f):"Arguments"===d||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?s(f,x):void 0}}function x(x){return function(f){if(Array.isArray(f))return s(f)}(x)||function(s){if("undefined"!=typeof Symbol&&null!=s[Symbol.iterator]||null!=s["@@iterator"])return Array.from(s)}(x)||f(x)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var d=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:function(s){return{text:s[4],target:s[1]}}},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:function(s){return{text:s[5],target:s[1]}}},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:function(s){return{text:s[1],target:s[2],type:s[1].includes("的")?"default":"chain"}}},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:function(s){return{text:s[3],target:s[1]}}},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[3],type:"pair"}}},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:function(s){return{text:s[1],target:s[2],type:"chain"}}},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:function(s){return{text:s[1],type:"chain"}}},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:function(s){return{text:s[1]}}},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,
