| 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
- }
- }
|