| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { _filter_const_map } from './constant.js';
- export const constFilter = (value, key) => {
- _validateDefined(key);
- for (let k in _filter_const_map[key]) {
- if (_filter_const_map[key][k].value == value) return _filter_const_map[key][k].label;
- }
- };
- /**
- * 验证配置项是否存在
- * @param key 配置项键名
- * @private
- */
- const _validateDefined = key => {
- if (!_filter_const_map.hasOwnProperty(key)) {
- throw new Error(`constant dosen't find ${key}`);
- }
- return _filter_const_map[key];
- };
- /**
- * 获取配置项
- * @param key 配置项键名
- */
- export const getDefined = key => {
- return _validateDefined(key);
- };
- /**
- * 获取配置项深拷贝(在实例修改不影响原常量值)
- * @param key 配置项键名
- */
- export const getDefinedCopy = key => {
- return JSON.parse(JSON.stringify(_validateDefined(key)));
- };
- /**
- * 获取配置项中的某个值 (只对数组或对象有效)
- * @param key 配置项键名
- * @param value 值
- * @param by 值对应的匹配方式
- * @returns {{}} 某个值
- */
- export const getDefinedValue = (key, value, by = 'value') => {
- let obj = _validateDefined(key);
- let val = {};
- if (typeof obj != 'object') {
- return val;
- }
- for (var _key of Object.keys(obj)) {
- if (obj[_key][by] == value) {
- return obj[_key];
- }
- }
- return val;
- };
- /**
- * 输入key 值,将CONSTMAP中的key对应的Object按照value大小从小到达排序
- * @param {*} key
- */
- export const constMapToArray = key => {
- _validateDefined(key);
- let value = _filter_const_map[key];
- if (!_.isPlainObject(value)) {
- if (_.isArray(value)) return value;
- else throw new Error(`${value} must be Object or Array`);
- } else {
- let arr = [];
- for (let k in value) {
- arr.push(value[k]);
- }
- arr.sort((pre, next) => {
- return pre.value - next.vaue;
- });
- return arr;
- }
- };
|