UNPKG

@beenotung/tslib

Version:
36 lines (35 loc) 993 B
"use strict"; 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; }