UNPKG

nsn-util

Version:

NSN工具辅助组件

82 lines (56 loc) 2 kB
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 };