@newdash/newdash
Version:
javascript/typescript utility library
39 lines (38 loc) • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mustProvideN = exports.mustProvide = void 0;
const isAsyncFunction_1 = __importDefault(require("../isAsyncFunction"));
const isDate_1 = __importDefault(require("../isDate"));
/**
* must provide value with type
*
* @param value
* @param fieldName
* @param type
*/
function mustProvide(value, fieldName, type) {
if (value === undefined || value === null || typeof value !== type) {
throw new TypeError(`must provide '${fieldName}' value with type '${type}', given: '${value}'/'${type}'`);
}
}
exports.mustProvide = mustProvide;
/**
* must provide some value
*
* @param value
* @param fieldName
* @param type
* @returns
*/
function mustProvideN(value, fieldName, type) {
if (value === undefined ||
value === null ||
(type === "async_function" && !(0, isAsyncFunction_1.default)(value)) ||
(type === "date" && !(0, isDate_1.default)(value))) {
throw new TypeError(`must provide '${fieldName}' value with type '${type}', given: '${value}'/'${typeof value}'`);
}
}
exports.mustProvideN = mustProvideN;