UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

39 lines (38 loc) 1.29 kB
"use strict"; 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;