cumsum.transform.js (1540B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.createCumSumTransform = void 0; 7 8 var _is = require("../../utils/is.js"); 9 10 var _factory = require("../../utils/factory.js"); 11 12 var _errorTransform = require("./utils/errorTransform.js"); 13 14 var _cumsum = require("../../function/statistics/cumsum.js"); 15 16 /** 17 * Attach a transform function to math.sum 18 * Adds a property transform containing the transform function. 19 * 20 * This transform changed the last `dim` parameter of function sum 21 * from one-based to zero based 22 */ 23 var name = 'cumsum'; 24 var dependencies = ['typed', 'add', 'unaryPlus']; 25 var createCumSumTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) { 26 var typed = _ref.typed, 27 add = _ref.add, 28 unaryPlus = _ref.unaryPlus; 29 var cumsum = (0, _cumsum.createCumSum)({ 30 typed: typed, 31 add: add, 32 unaryPlus: unaryPlus 33 }); 34 return typed(name, { 35 '...any': function any(args) { 36 // change last argument dim from one-based to zero-based 37 if (args.length === 2 && (0, _is.isCollection)(args[0])) { 38 var dim = args[1]; 39 40 if ((0, _is.isNumber)(dim)) { 41 args[1] = dim - 1; 42 } else if ((0, _is.isBigNumber)(dim)) { 43 args[1] = dim.minus(1); 44 } 45 } 46 47 try { 48 return cumsum.apply(null, args); 49 } catch (err) { 50 throw (0, _errorTransform.errorTransform)(err); 51 } 52 } 53 }); 54 }, { 55 isTransformFunction: true 56 }); 57 exports.createCumSumTransform = createCumSumTransform;