oral-ts
Version:
a testing framework for typescript
37 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Extend = void 0;
function resolver(found, func, key, name) {
var res = func(found);
if (res)
this.emit("pass", key, name);
else
this.emit("fail", key, name);
}
function Extend(name, func) {
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, [found, func, found, key, name]);
});
}
else
resolver.apply(this, [found, func, found, key, name]);
}
return found;
};
return descriptor;
};
}
exports.Extend = Extend;
//# sourceMappingURL=extend.js.map