UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

28 lines (27 loc) 1.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertKeys = assertKeys; const picocolors_1 = __importDefault(require("@brillout/picocolors")); const assert_js_1 = require("./assert.js"); const joinEnglish_js_1 = require("./joinEnglish.js"); function assertKeys(obj, keysExpected, errPrefix) { const keysUnknown = []; const keys = Object.keys(obj); for (const key of keys) { if (!keysExpected.includes(key)) { keysUnknown.push(key); } } if (keysUnknown.length !== 0) { (0, assert_js_1.assertUsage)(false, [ errPrefix, `unknown key${keysUnknown.length === 1 ? '' : 's'}`, (0, joinEnglish_js_1.joinEnglish)(keysUnknown, 'and', picocolors_1.default.cyan) + '.', 'Only following keys are allowed:', (0, joinEnglish_js_1.joinEnglish)(keysExpected, 'and', picocolors_1.default.cyan) + '.', ].join(' ')); } }