UNPKG

assertthat

Version:
136 lines (135 loc) 5.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertAnyIsOfType = void 0; const dispel_1 = require("../../dispel/dispel"); const prettyPrint_1 = require("../../prettyPrint/typeAware/prettyPrint"); const errors_1 = require("../../errors"); const defekt_1 = require("defekt"); const typedescriptor_1 = require("typedescriptor"); const assertAnyIsOfType = function (actual, expected) { const dispelledActual = (0, dispel_1.dispel)(actual); switch (expected) { case 'array': { if (!(0, typedescriptor_1.isArray)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type array.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'boolean': { if (!(0, typedescriptor_1.isBoolean)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type boolean.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'error': { if (!(0, typedescriptor_1.isError)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type error.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'function': { if (!(0, typedescriptor_1.isFunction)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type function.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'map': { if (!(0, typedescriptor_1.isMap)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type map.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'null': { if (!(0, typedescriptor_1.isNull)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type null.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'number': { if (!(0, typedescriptor_1.isNumber)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type number.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'result': { if (!(0, defekt_1.isResult)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type result.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'set': { if (!(0, typedescriptor_1.isSet)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type set.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'string': { if (!(0, typedescriptor_1.isString)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type string.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'symbol': { if (!(0, typedescriptor_1.isSymbol)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type symbol.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'undefined': { if (!(0, typedescriptor_1.isUndefined)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type undefined.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } case 'object': { if (!(0, typedescriptor_1.isObject)(actual)) { return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The value is not of type object.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual) })); } break; } default: { throw new errors_1.InvalidOperation(); } } return (0, defekt_1.value)(); }; exports.assertAnyIsOfType = assertAnyIsOfType;