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