@ima/plugin-testing-integration
Version:
IMA.js plugin for integration testing
49 lines (48 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
aop: function() {
return aop;
},
createHook: function() {
return _toaop.createHook;
},
hookName: function() {
return _toaop.hookName;
},
unAopAll: function() {
return unAopAll;
}
});
const _toaop = require("to-aop");
let aopTargetsContainer = [];
/**
* Extends default aop (from to-aop) behavior by saving the targets,
* which can be cleared later with unAopAll function.
*
* @param {object | Function} target
* @param {...any} args
* @returns {*} native aop value
*/ function aop(target, ...args) {
if (!aopTargetsContainer.includes(target)) {
aopTargetsContainer.push(target);
}
return (0, _toaop.aop)(target, ...args);
}
/**
* Clears aop hooks from all targets.
*/ function unAopAll() {
for (const target of aopTargetsContainer){
(0, _toaop.unAop)(target);
}
aopTargetsContainer = [];
}
//# sourceMappingURL=aop.js.map