UNPKG

@aliretail/react-materials-components

Version:
56 lines (44 loc) 1.19 kB
import uniqueId from 'lodash/uniqueId'; /** 返回一个独一无二字符串,用作条件的key */ export var uniqueConditionKey = function uniqueConditionKey() { return uniqueId('condition'); }; /** 返回一个独一无二字符串,用作关系组的key */ export var uniqueGroupKey = function uniqueGroupKey() { return uniqueId('group'); }; /** 从组件值 => 后端想要的值 */ export var encodeValue = function encodeValue(v) { var value = v; if (typeof v === 'object') { // 数组和对象 value = JSON.stringify(v); } else if (typeof v === 'number') { // 数字 value = v + ''; } return value; }; /** 从后端想要的值 => 组件值 */ export var decodeValue = function decodeValue(v) { if (validateJSONString(v)) { return JSON.parse(v); } return v; }; /** 校验一个字符串是不是json 字符串 */ function validateJSONString(str) { // number、undefined if (!(typeof str === 'string')) { return false; } // json string、normal string try { var result = JSON.parse(str); if (typeof result === 'object') { return true; } return false; } catch (err) { return false; } }