Revert "[medusa-interfaces] : Adds decorator functionality to BaseService (#39)" (#41)

This reverts commit 9c76754e79.
This commit is contained in:
Sebastian Rindom
2020-04-30 21:16:09 +02:00
committed by GitHub
parent 9c76754e79
commit 2273cc519a
15 changed files with 654 additions and 112 deletions
+1 -31
View File
@@ -2,35 +2,5 @@
* Common functionality for Services
* @interface
*/
class BaseService {
constructor() {
this.decorators_ = []
}
/**
* Adds a decorator to a service. The decorator must be a function and should
* return a decorated object.
* @param {function} fn - the decorator to add to the service
*/
addDecorator(fn) {
if (typeof fn !== "function") {
throw Error("Decorators must be of type function")
}
this.decorators_.push(fn)
}
/**
* Runs the decorators registered on the service. The decorators are run in
* the order they have been registered in. Failing decorators will be skipped
* in order to ensure deliverability in spite of breaking code.
* @param {object} obj - the object to decorate.
* @return {object} the decorated object.
*/
runDecorators_(obj) {
return this.decorators_.reduce(async (acc, next) => {
return acc.then(res => next(res)).catch(() => acc)
}, Promise.resolve(obj))
}
}
class BaseService {}
export default BaseService