UNPKG

uom-ts

Version:

Units of measure type safety, with no runtime overhead, supporting multiplication and division!

145 lines (144 loc) 3.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sum = exports.min = exports.max = exports.isArrayNonEmpty = exports.lte = exports.lt = exports.gte = exports.gt = exports.eq = exports.round = exports.ceil = exports.floor = exports.abs = exports.negate = exports.sqrt2 = exports.pow2 = exports.mod = exports.div = exports.mul = exports.sub = exports.add = void 0; function add() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return (args[0] + args[1]); } ; return function (v) { return (args[0] + v); }; } exports.add = add; ; function sub() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return (args[0] - args[1]); } ; return function (v) { return (v - args[0]); }; } exports.sub = sub; ; function mul() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return (args[0] * args[1]); } ; return function (v) { return (args[0] * v); }; } exports.mul = mul; ; function div() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return (args[0] / args[1]); } ; return function (v) { return (v / args[0]); }; } exports.div = div; ; function mod() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return (args[0] % args[1]); } ; return function (v) { return (v % args[0]); }; } exports.mod = mod; ; exports.pow2 = function (a) { return mul(a, a); }; exports.sqrt2 = function (a) { return Math.sqrt(a); }; exports.negate = function (a) { return -a; }; exports.abs = function (a) { return Math.abs(a); }; exports.floor = function (a) { return Math.floor(a); }; exports.ceil = function (a) { return Math.ceil(a); }; exports.round = function (a) { return Math.round(a); }; function eq() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return args[0] === args[1]; } ; return function (v) { return args[0] === v; }; } exports.eq = eq; ; function gt() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return args[0] > args[1]; } ; return function (v) { return v > args[0]; }; } exports.gt = gt; ; function gte() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return args[0] >= args[1]; } ; return function (v) { return v >= args[0]; }; } exports.gte = gte; ; function lt() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return args[0] < args[1]; } ; return function (v) { return v < args[0]; }; } exports.lt = lt; ; function lte() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length === 2) { return args[0] <= args[1]; } ; return function (v) { return v <= args[0]; }; } exports.lte = lte; ; exports.isArrayNonEmpty = function (a) { return a.length > 0; }; exports.max = function (a) { return Math.max.apply(Math, a); }; exports.min = function (a) { return Math.min.apply(Math, a); }; exports.sum = function (a) { return a.reduce(add); };