UNPKG

oral-ts

Version:

a testing framework for typescript

42 lines 1.55 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Instanceof = void 0; var chalk_1 = __importDefault(require("chalk")); function resolver(given, found, key) { if (found instanceof given) { this.emit("pass", key, "InstanceOf"); } else { this.emit("fail", key, "InstanceOf"); console.log(chalk_1.default.green("given instance :- " + given + " \n") + chalk_1.default.redBright("found instace :- " + found)); } } function Instanceof(given) { return function (target, key, descriptor) { var original = descriptor.value; Reflect.defineMetadata("role", "assertion", target, key); descriptor.value = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var found = original.apply(this, args); if (found !== undefined) { if (found.constructor.name === "Promise") { found.then(function (found) { return resolver.apply(_this, [given, found, key]); }); } else resolver.apply(this, [given, found, key]); } return found; }; return descriptor; }; } exports.Instanceof = Instanceof; //# sourceMappingURL=instanceof.js.map