UNPKG

@howto/browser-modules

Version:

A sample repo demonstrating package.json config for a browser module published to NPM

49 lines (45 loc) 1.47 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * 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); } exports.difference = difference; exports.sum = sum; //# sourceMappingURL=index.cjs.js.map