UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

442 lines (367 loc) 10.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _bignumber = _interopRequireDefault(require("bignumber.js")); /** * 当 BigNumber 能转换为普通数字则返回普通数字 * @param n1 BigNumber * @return BigNumber | number */ function fix(number) { return number.toString().length > 15 ? number : number.toNumber(); } /** * 大数字加 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function plus(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).plus(n2); return options.strict ? result : fix(result); } /** * 大数字减 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function minus(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).minus(n2); return options.strict ? result : fix(result); } /** * 大数字乘以 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function multipliedBy(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).multipliedBy(n2); return options.strict ? result : fix(result); } /** * 大数字除以 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function div(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).div(n2); return options.strict ? result : fix(result); } /** * 大数字模 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function mod(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).mod(n2); return options.strict ? result : fix(result); } /** * 大数字幂 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @param options Options * @return BigNumber | number */ function pow(n1, n2) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).pow(n2); return options.strict ? result : fix(result); } /** * 大数字平方根 * @param n1 string | number | BigNumber * @param options Options * @return BigNumber | number */ function sqrt(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).sqrt(); return options.strict ? result : fix(result); } /** * 格式化小数精度 * @param n1 string | number | BigNumber * @param decimalPlaces number * @return string */ function toFixed(n1, decimalPlaces) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).toFixed(decimalPlaces); } /** * 大数字小于 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @return boolean */ function lt(n1, n2) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).lt(n2); } /** * 大数字小于等于 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @return BigNumber */ function lte(n1, n2) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).lte(n2); } /** * 大数字大于 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @return boolean */ function gt(n1, n2) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).gt(n2); } /** * 大数字大于等于 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @return boolean */ function gte(n1, n2) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).gte(n2); } /** * 大数字等于 * @param n1 string | number | BigNumber * @param n2 string | number | BigNumber * @return boolean */ function eq(n1, n2) { return n1 === n2 || (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).eq(n2); } /** * 最大值 * @param n1 A numeric value. * @return BigNumber | number */ function max() { return fix(_bignumber["default"].max.apply(_bignumber["default"], arguments)); } /** * 最小值 * @param n1 A numeric value. * @return BigNumber | number */ function min() { return fix(_bignumber["default"].min.apply(_bignumber["default"], arguments)); } /** * 总和 * @param n1 A numeric value. * @return BigNumber | number */ function sum() { return fix(_bignumber["default"].sum.apply(_bignumber["default"], arguments)); } /** * 随机数 * @param decimalPlaces A numeric value. * @param options Options * @return BigNumber | number */ function random(decimalPlaces) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = _bignumber["default"].random(decimalPlaces); return options.strict ? result : fix(result); } /** * 类似 Math.round * @param n1 string | number | BigNumber * @param options Options * @return BigNumber | number */ function round(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).dp(0); return options.strict ? result : fix(result); } /** * 类似 Math.floor * @param n1 string | number | BigNumber * @param options Options * @return BigNumber | number */ function floor(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).dp(0, _bignumber["default"].ROUND_FLOOR); return options.strict ? result : fix(result); } /** * 类似 Math.ceil * @param n1 string | number | BigNumber * @param options Options * @return BigNumber | number */ function ceil(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).dp(0, _bignumber["default"].ROUND_CEIL); return options.strict ? result : fix(result); } /** * 取负 * @param n1 string | number | BigNumber * @param options Options * @return BigNumber | number */ function negated(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).negated(); return options.strict ? result : fix(result); } /** * 大数字小数位 * @param n1 * @return number */ function dp(n1) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).dp(); } /** * 绝对值 * @param n1 * @param options Options * @return BigNumber | number */ function abs(n1) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var result = (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).abs(); return options.strict ? result : fix(result); } /** * 判断是不是 BigNumber * @param n1 any * @return boolean */ function isBigNumber(v1) { return _bignumber["default"].isBigNumber(v1); } /** * 判断 BigNumber 是不是有限可用数 * @param n1 BigNumber * @return boolean */ function isValidBigNumber(n1) { return !n1.isNaN() && n1.isFinite(); } /** * 判断数字是不是有限可用数 * @param n1 BigNumber.Value * @return boolean */ function isValidNumber(n1) { return !isNaN(n1) && isFinite(n1); } /** * 判断是不是有限数 * @param n1 string | number | BigNumber * @return boolean */ function isFinite(n1) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).isFinite(); } /** * 判断是不是 NaN * @param n1 string | number | BigNumber * @return boolean */ function isNaN(n1) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).isNaN(); } /** * 判断是不是负数 * @param n1 string | number | BigNumber * @return boolean */ function isNegative(n1) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).isNegative(); } /** * 判断是不是0 * @param n1 string | number | BigNumber * @return boolean */ function isZero(n1) { return (_bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1)).isZero(); } /** * 判断是不是-0 * @param n1 string | number | BigNumber * @return boolean */ function isNegativeZero(n1) { var value = _bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1); return value.isZero() && value.isNegative(); } /** * 转换成字符串, 永远不会转换成科学计数法 * @param n1 string | number | BigNumber * @return string */ function toString(n1) { _bignumber["default"].config({ EXPONENTIAL_AT: 1e+9 }); var value = _bignumber["default"].isBigNumber(n1) ? n1 : new _bignumber["default"](n1); if (isNaN(value)) { return ''; } return value.toString(); } var _default = { fix: fix, plus: plus, minus: minus, multipliedBy: multipliedBy, div: div, mod: mod, pow: pow, sqrt: sqrt, lt: lt, lte: lte, gt: gt, gte: gte, eq: eq, round: round, floor: floor, ceil: ceil, dp: dp, max: max, min: min, abs: abs, negated: negated, random: random, sum: sum, isFinite: isFinite, isNaN: isNaN, isNegative: isNegative, isZero: isZero, isNegativeZero: isNegativeZero, isBigNumber: isBigNumber, isValidNumber: isValidNumber, isValidBigNumber: isValidBigNumber, toFixed: toFixed, toString: toString }; exports["default"] = _default; //# sourceMappingURL=index.js.map