mathball
Version:
A JavaScript library for Competitive Programming
63 lines (56 loc) • 1.8 kB
JavaScript
;
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
/* Function: pipe() */
var validate = require('../validation/pipe'),
_add = require('../add'),
_sub = require('../subtract'),
_mul = require('../multiply'),
_div = require('../divide'),
_abs = require('../absolute'),
_sum = require('../sum');
module.exports = function (arg) {
validate(arg, 'pipe');
var cache = arg;
var pipe = {
add: function add() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
cache = _add.apply(undefined, [cache].concat(_toConsumableArray(args)));
return this;
},
sub: function sub() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
cache = _sub.apply(undefined, [cache].concat(_toConsumableArray(args)));
return this;
},
mul: function mul() {
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
cache = _mul.apply(undefined, [cache].concat(_toConsumableArray(args)));
return this;
},
div: function div() {
for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}
cache = _div.apply(undefined, [cache].concat(_toConsumableArray(args)));
return this;
},
abs: function abs() {
cache = _abs(cache);
return this;
},
sum: function sum() {
cache = _sum(cache);
return this;
},
done: function done() {
return cache;
}
};
return pipe;
};