UNPKG

@sprucelabs/schema

Version:

Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓

27 lines (26 loc) • 928 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = assertOptions; const just_safe_get_1 = __importDefault(require("just-safe-get")); const SpruceError_1 = __importDefault(require("../errors/SpruceError")); function assertOptions(options, toCheck, friendlyMessage) { const missing = []; for (const check of toCheck) { const value = (0, just_safe_get_1.default)(options ?? {}, check); //@ts-ignore if (value === null || typeof value === 'undefined') { missing.push(check); } } if (missing.length > 0) { throw new SpruceError_1.default({ code: 'MISSING_PARAMETERS', parameters: missing, friendlyMessage, }); } return options; }