@howto/browser-modules
Version:
A sample repo demonstrating package.json config for a browser module published to NPM
44 lines (42 loc) • 1.37 kB
JavaScript
/**
* Returns the sum of an unbounded array of integers
*/
function sum() {
var numbers = [];
for (var _i = 0; _i < arguments.length; _i++) {
numbers[_i] = arguments[_i];
}
var parsed = numbers.map(function (num) { return parseInt(num, 10); });
if (parsed.some(function (num) { return isNaN(num); })) {
throw new Error("Invalid numbers passed to `sum`");
}
return parsed.reduce(function (a, b) { return a + b; });
}
/**
* Returns the difference of 2 integers
*/
function difference() {
var numbers = [];
for (var _i = 0; _i < arguments.length; _i++) {
numbers[_i] = arguments[_i];
}
if (numbers.length !== 2) {
throw new Error("Incorrect number of parameters passed to `difference`");
}
var start = numbers[0], end = numbers[1];
if (start === undefined ||
start === null ||
end === undefined ||
end === null) {
throw new Error("`start` and `end` values not properly passed");
}
start = parseInt(start, 10);
end = parseInt(end, 10);
if (isNaN(start))
throw new Error("`start` is not a valid integer");
if (isNaN(end))
throw new Error("`end` is not a valid integer");
return Math.abs(end - start);
}
export { difference, sum };
//# sourceMappingURL=index.esm.js.map