UNPKG

runtypes

Version:

Runtime validation for static types

21 lines (20 loc) 908 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Runtype_js_1 = __importDefault(require("./Runtype.js")); const FAILURE_js_1 = __importDefault(require("./utils-internal/FAILURE.js")); const SUCCESS_js_1 = __importDefault(require("./utils-internal/SUCCESS.js")); const InstanceOf = (ctor) => Runtype_js_1.default.create(({ received, expected }) => { try { if (received instanceof ctor) return (0, SUCCESS_js_1.default)(received); else return FAILURE_js_1.default.TYPE_INCORRECT({ expected, received }); } catch (error) { return FAILURE_js_1.default.INSTANCEOF_FAILED({ expected, received, thrown: error }); } }, { tag: "instanceof", ctor }); exports.default = InstanceOf;