@fractorysolutions/safe-units
Version:
Type-safe TypeScript units of measure
42 lines • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Units = require("..");
var numberMeasure_1 = require("../../measure/numberMeasure");
describe("Predefined units", function () {
var UnitNames = Object.keys(Units);
var lowercaseFirstRegex = /^[a-z]/;
function forEachUnit(fn) {
var wrappedCallback = function (value, name) {
// Quantities start with a capital letter, exclude them
if (numberMeasure_1.Measure.isMeasure(value) && lowercaseFirstRegex.test(name)) {
fn(value, name);
}
};
UnitNames.forEach(function (name) {
var value = Units[name];
if (numberMeasure_1.Measure.isMeasure(value)) {
wrappedCallback(value, name);
}
else {
for (var subName in value) {
if (value.hasOwnProperty(subName)) {
var unit = value[subName];
wrappedCallback(unit, subName);
}
}
}
});
}
it("all units should have a symbol", function () {
forEachUnit(function (unit, name) {
try {
expect(unit.symbol).not.toBeUndefined();
}
catch (e) {
console.log("Unit ".concat(name, " has no symbol defined."));
throw e;
}
});
});
});
//# sourceMappingURL=predefinedUnitTests.js.map