@fractorysolutions/safe-units
Version:
Type-safe TypeScript units of measure
32 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGenericMeasureStaticMethods = void 0;
var getGenericMeasureStaticMethods = function () { return ({
sum: reduce(function (prev, curr) { return prev.plus(curr); }),
min: reduce(function (min, curr) { return (curr.lt(min) ? curr : min); }),
max: reduce(function (max, curr) { return (curr.gt(max) ? curr : max); }),
add: function (left, right) { return left.plus(right); },
subtract: function (left, right) { return left.minus(right); },
multiply: function (left, right) { return left.times(right); },
divide: function (left, right) { return left.over(right); },
pow: function (value, exp) { return value.toThe(exp); },
prefix: function (prefix, multiplier) {
return function (measure) {
var symbol = measure.symbol;
return measure
.scale(multiplier)
.withSymbol(symbol && "".concat(prefix).concat(symbol));
};
},
}); };
exports.getGenericMeasureStaticMethods = getGenericMeasureStaticMethods;
function reduce(fn) {
return function (first) {
var rest = [];
for (var _i = 1; _i < arguments.length; _i++) {
rest[_i - 1] = arguments[_i];
}
return rest.reduce(fn, first);
};
}
//# sourceMappingURL=genericMeasureStatic.js.map