mean.transform.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createMeanTransform = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _errorTransform = require("./utils/errorTransform.js");
  8. var _mean = require("../../function/statistics/mean.js");
  9. var _lastDimToZeroBase = require("./utils/lastDimToZeroBase.js");
  10. var name = 'mean';
  11. var dependencies = ['typed', 'add', 'divide'];
  12. var createMeanTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  13. var typed = _ref.typed,
  14. add = _ref.add,
  15. divide = _ref.divide;
  16. var mean = (0, _mean.createMean)({
  17. typed: typed,
  18. add: add,
  19. divide: divide
  20. });
  21. /**
  22. * Attach a transform function to math.mean
  23. * Adds a property transform containing the transform function.
  24. *
  25. * This transform changed the last `dim` parameter of function mean
  26. * from one-based to zero based
  27. */
  28. return typed('mean', {
  29. '...any': function any(args) {
  30. args = (0, _lastDimToZeroBase.lastDimToZeroBase)(args);
  31. try {
  32. return mean.apply(null, args);
  33. } catch (err) {
  34. throw (0, _errorTransform.errorTransform)(err);
  35. }
  36. }
  37. });
  38. }, {
  39. isTransformFunction: true
  40. });
  41. exports.createMeanTransform = createMeanTransform;