UNPKG

1.42 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.createApplyTransform = void 0;
7
8var _errorTransform = require("./utils/errorTransform");
9
10var _factory = require("../../utils/factory");
11
12var _apply = require("../../function/matrix/apply");
13
14var _is = require("../../utils/is");
15
16var name = 'apply';
17var 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
26var createApplyTransform =
27/* #__PURE__ */
28(0, _factory.factory)(name, dependencies, function (_ref) {
29 var typed = _ref.typed,
30 isInteger = _ref.isInteger;
31 var apply = (0, _apply.createApply)({
32 typed: typed,
33 isInteger: isInteger
34 }); // @see: comment of concat itself
35
36 return typed('apply', {
37 '...any': function any(args) {
38 // change dim from one-based to zero-based
39 var dim = args[1];
40
41 if ((0, _is.isNumber)(dim)) {
42 args[1] = dim - 1;
43 } else if ((0, _is.isBigNumber)(dim)) {
44 args[1] = dim.minus(1);
45 }
46
47 try {
48 return apply.apply(null, args);
49 } catch (err) {
50 throw (0, _errorTransform.errorTransform)(err);
51 }
52 }
53 });
54}, {
55 isTransformFunction: true
56});
57exports.createApplyTransform = createApplyTransform;
\No newline at end of file