import { sum } from 'valor-app-utils'; import * as R from 'rambda'; import { isNumberStr } from '../utils'; export function SUM(args: any[]) { const flatted = R.flatten(args).map(arg => R.is(Number, arg) || isNumberStr(arg) ? parseFloat(arg) : arg, ); if (process.env.NODE_ENV === 'development') { if (flatted.some(it => !R.is(Number, it))) { throw new Error(`sum方法仅接受dataType为number的参数:${JSON.stringify(args)}`); } } return sum(flatted); } export function ROUND(args: any[]) { const [target, digit] = args; if (!digit) { throw new Error(`round方法需要提供两个参数`); } return Math.round(target * Math.pow(10, digit)) / Math.pow(10, digit); }