nsn-util
Version:
NSN工具辅助组件
82 lines (56 loc) • 2 kB
JavaScript
import { isDate, isEmpty as _isEmpty, isEqual, split } from 'lodash';
import { NConst } from 'nsn-const';
import * as NRegex from './NRegex';
/** 值为空,取默认值 */
var blankToDefault = function blankToDefault(value, defaultValue) {
return value || defaultValue;
};
/** 值为空,取空字符串 */
var blankToEmpty = function blankToEmpty(value) {
return value || NConst.EMPTY;
};
/** 判定是否node环境 */
var isNode = function isNode() {
var flag = typeof process !== 'undefined' && process.versions != null && process.versions.node != null; // 若为 false ,返回 undefined,方便双问号 ?? 运算符
return flag || undefined;
};
/** 判定是否浏览器环境 */
var isBrowser = function isBrowser() {
var flag = typeof window !== 'undefined' && typeof window.document !== 'undefined' && !isNode(); // 若为 false ,返回 undefined,方便双问号 ?? 运算符
return flag || undefined;
};
/** 判定是否url */
var isUrl = function isUrl(path) {
return NRegex.RE_URL.test(path);
};
/** 随机值 */
var guid = function guid() {
return 'xxxxxxxx'.replace(/[xy]/g, function (c) {
// 暂时关闭 按位操作符 检查
// eslint-disable-next-line no-bitwise
var r = Math.random() * 16 | 0; // eslint-disable-next-line no-bitwise
var v = c === 'x' ? r : r & 0x3 | 0x8;
return v.toString(16);
});
};
/** 是否空值 */
var isEmpty = function isEmpty(str) {
var flag = _isEmpty(str); // 若为 false ,返回 undefined,方便双问号 ?? 运算符
return flag || undefined;
};
/** 去掉首尾空格 */
var trim = function trim(str) {
if (str) {
return str.trim();
}
return str;
};
/** 去掉前后空格后,是否为空 */
var isTrimEmpty = function isTrimEmpty(str) {
var flag = isEmpty(str);
if (!flag) {
flag = isEmpty(trim(str));
}
return flag;
};
export { blankToDefault, blankToEmpty, isEqual, split, isNode, isBrowser, isUrl, guid, isEmpty, isTrimEmpty, isDate, trim };