UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

49 lines (36 loc) 1.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = validateType; exports.validateUserInputType = validateUserInputType; function _validationError() { const data = _interopRequireDefault(require("../error/validation-error")); _validationError = function () { return data; }; return data; } function _generalError() { const data = _interopRequireDefault(require("../error/general-error")); _generalError = function () { return data; }; return data; } function validateType(message, value, fieldName, expectedType) { validate(message, value, fieldName, expectedType, false); } function validateUserInputType(message, value, fieldName, expectedType) { validate(message, value, fieldName, expectedType, true); } function validate(message, value, fieldName, expectedType, isUserInput) { let type = typeof value; // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! if ((expectedType === 'array' || expectedType === 'object') && Array.isArray(value)) type = 'array'; if (type !== expectedType) { const errorMessage = `${message}, expected ${fieldName} to be ${expectedType}, got ${type}`; if (isUserInput) throw new (_generalError().default)(errorMessage); throw new (_validationError().default)(`${message}, expected ${fieldName} to be ${expectedType}, got ${type}`); } }