updated 模块引用命名统一化

This commit is contained in:
PASSER-BY 2023-03-16 22:44:07 +08:00
parent 6306a953d5
commit be8eec8973
8 changed files with 37 additions and 38 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,19 +1,20 @@
/*
* 缓存数据
*/
import inputData from './data/input';
import _input from './data/input';
import {modeData} from './mode';
let _data = Object.assign({},modeData,inputData);
let _hash = Object.assign({},modeData,_input);
let cacheData = {};
let _cache = {};
for(let key in _data){
_data[key].forEach(function(name){
if(typeof _cache[name]=='undefined'){
_cache[name] = [];
for(let key in _hash){
_hash[key].forEach(function(name){
if(typeof cacheData[name]=='undefined'){
cacheData[name] = [];
}
_cache[name].push(key);
cacheData[name].push(key);
});
}
export default _cache;
export {cacheData};

View File

@ -5,7 +5,7 @@ import _pair from './data/pair';
import {number2zh} from './unit';
import {selector2id} from './selector';
import {modeData as _data} from './mode';
import {modeData} from './mode';
// 逆转ID
export function reverseId(id,sex){
@ -87,17 +87,17 @@ export function getItemsById(id){
let items = [];
let getData = function(key){
let ids = [];
if(_data[key]){
if(modeData[key]){
let k1 = key.replace(/(,[sd])(,[wh])?$/,'$1&o$2');
let k2 = key.replace(/(,[sd])(,[wh])?$/,'$1&l$2');
if(_data[k1]&&_data[k2]){
if(modeData[k1]&&modeData[k2]){
ids = [k1,k2];
}else{
ids = [key];
}
}
return filterId(ids).map(function(id){
return _data[id][0];
return modeData[id][0];
});
};
// 对排序进行处理
@ -105,20 +105,20 @@ export function getItemsById(id){
let num = id.match(/&([\d]+)(,[hw])?$/)[1];
let zh = number2zh(num);
id = id.replace(/&\d+/g,'');
if(_data[id]){
if(modeData[id]){
let item = '';
let gen = getGenById(id);
if(gen<3&&!id.match(/[hw],/)){
_data[id].forEach(function(name){
modeData[id].forEach(function(name){
if(!item&&name.includes('几')){
item = name.replace('几',zh);
}
});
if(!item){
item = _data[id][0].match(/^[大小]/)?_data[id][0].replace(/^[大小]/,zh):zh+_data[id][0];
item = modeData[id][0].match(/^[大小]/)?modeData[id][0].replace(/^[大小]/,zh):zh+modeData[id][0];
}
}else{
item = _data[id][0]
item = modeData[id][0]
}
items.push(item);
}
@ -149,7 +149,7 @@ export function getItemsById(id){
};
// 通过ID获取关系链
let data = Object.assign({},_data,{
let data = Object.assign({},modeData,{
'xb':['兄弟'],
'xs':['姐妹']
});

View File

@ -6,9 +6,7 @@ import _branch from './data/branch';
import _main from './data/main';
import _multipie from './data/multiple';
import {
expandSelector
} from './selector';
import {expandSelector} from './selector';
let _map = Object.assign({},_multipie);
let getMap = function(prefixMap,branch){

View File

@ -4,7 +4,7 @@
import _map from './map';
let _mode = {}; // 模式缓存
let _data = Object.assign({},_map); // 最终数据
let modeData = Object.assign({},_map); // 最终数据
// 设置模式数据
export function setModeData(sign,data){
@ -13,13 +13,13 @@ export function setModeData(sign,data){
// 获取模式数据
export function getModeData(sign){
_data = Object.assign({},_map);
modeData = Object.assign({},_map);
if(sign&&_mode[sign]){
for(let key in _mode[sign]){
_data[key] = [].concat(_mode[sign][key],_map[key]||[]);
modeData[key] = [].concat(_mode[sign][key],_map[key]||[]);
}
}
return _data;
return modeData;
};
export {_data as modeData};
export {modeData};

View File

@ -7,7 +7,7 @@ import _similar from './rule/similar';
import {zh2number} from './unit';
import {reverseId,filterId,getGenById} from './id';
import _cache from './cache';
import {cacheData} from './cache';
// 获得最简
let getOptimal = function(options){
@ -128,7 +128,7 @@ export function getSelectors(str){
let r_name = name.replace(match[0],'');
let num = zh2number(match[0]);
[x_name,r_name,name].forEach(function(name,index){
let ids = _cache[name];
let ids = cacheData[name];
if(ids&&ids.length){
ids.forEach(function(i){
let id = i.replace(/(,[hw])$/,'&'+num+'$1').replace(/([^hw]+)$/,'$1&'+num);
@ -139,7 +139,7 @@ export function getSelectors(str){
}
});
}
items = items.concat(_cache[name]||[]);
items = items.concat(cacheData[name]||[]);
});
// console.log('[keywords]',keywords);
// 如找不到结果,再是否存在称呼的排行问题(不直接判断,因存在"大舅""三从父兄""三世祖"这样特俗含义的情况)

View File

@ -3,8 +3,6 @@ import {getSelectors,mergeSelector,selector2id} from './module/selector';
import {reverseId,getItemsById,getChainById,getPairsById} from './module/id';
import {setModeData,getModeData,modeData} from './module/mode';
let _data = modeData;
// 对外方法
let relationship = function (parameter){
if(typeof parameter =='string'){
@ -19,7 +17,9 @@ let relationship = function (parameter){
mode:'default', // 模式选择使用setMode方法定制不同地区模式在此选择自定义模式
optimal:false // 最短关系:计算两者之间的最短关系
},parameter);
_data = getModeData(options.mode);
// 切换模式
getModeData(options.mode);
let from_selectors = getSelectors(options.text);
let to_selectors = getSelectors(options.target);
if(!to_selectors.length){
@ -80,9 +80,9 @@ let relationship = function (parameter){
};
// 获取数据表
relationship.data = _data;
relationship.data = modeData;
// 获取数据量
relationship.dataCount = Object.keys(_data).length;
relationship.dataCount = Object.keys(modeData).length;
// 设置语言模式
relationship.setMode = setModeData;