@beenotung/tslib
Version:
utils library in Typescript
36 lines (35 loc) • 993 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ensureDefined = ensureDefined;
exports.ensureNumberInRange = ensureNumberInRange;
exports.ensureString = ensureString;
exports.ensureNumber = ensureNumber;
const lang_1 = require("./lang");
function ensureDefined(a) {
if ((0, lang_1.notDefined)(a)) {
throw new TypeError('data is not defined');
}
return a;
}
/**
* inclusively
* */
function ensureNumberInRange(a, lower, higher) {
const res = (0, lang_1.toNumber)(a);
if (lower <= res && res <= higher) {
return res;
}
throw new TypeError(`number not in range, value: ${a}, lower: ${lower}, higher: ${higher}`);
}
function ensureString(s) {
if (typeof s !== 'string') {
throw new TypeError('expect string, but got ' + typeof s);
}
return s;
}
function ensureNumber(x) {
if (typeof x !== 'number') {
throw new TypeError('expect number, but got ' + typeof x);
}
return x;
}