Skip to content

Commit

Permalink
Merge 5b072bf into 78383fd
Browse files Browse the repository at this point in the history
  • Loading branch information
Psychopoulet committed Jul 30, 2019
2 parents 78383fd + 5b072bf commit 083edd1
Show file tree
Hide file tree
Showing 23 changed files with 1,689 additions and 684 deletions.
40 changes: 31 additions & 9 deletions lib/components/Bootable.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,42 @@

module.exports = class Bootable extends Events {

init () {
return Promise.resolve();
}
// protected

release () {
// must be inherited
_initWorkSpace () {

return Promise.resolve().then(() => {
return Promise.reject(new Error("\"_initWorkSpace\" method must be inherited"));

this.removeAllListeners();
}

return Promise.resolve();
// must be inherited
_releaseWorkSpace () {

});
return Promise.reject(new Error("\"_releaseWorkSpace\" method must be inherited"));

}
}

// public

// init / release

init (...data) {

return this._initWorkSpace(...data);

}

release (...data) {

return this._releaseWorkSpace(...data).then(() => {

this.removeAllListeners();

return Promise.resolve(...data);

});

}

};
42 changes: 19 additions & 23 deletions lib/components/Mediator.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,44 +20,40 @@ module.exports = class Mediator extends Bootable {

}

_fireInitialized () {
// public

this.initialized = true;
this.emit("initialized");
// init / release

}
init (...data) {

checkConf () {
return Promise.resolve();
}
return this._initWorkSpace(...data).then((...result) => {

init () {
this.initialized = true;
this.emit("initialized", ...data);

return Promise.resolve().then(() => {
return this.checkConf();
}).then(() => {
return Promise.resolve(...result);

this._fireInitialized();
});

return Promise.resolve();
}

});
release (...data) {

}
return this._releaseWorkSpace(...data).then((...result) => {

release () {
this.initialized = false;
this.emit("released", ...data);

return Promise.resolve().then(() => {
return Promise.resolve(...result);

this.initialized = false;
return Promise.resolve();
}).then((...result) => {

}).then(() => {
this.removeAllListeners();

return super.release();
return Promise.resolve(...result);

});
});

}
}

};
65 changes: 36 additions & 29 deletions lib/components/MediatorUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,50 +26,57 @@ module.exports = class MediatorUser extends Bootable {

}

checkMediator () {
// public

if ("undefined" === typeof this._Mediator || null === this._Mediator) {
return Promise.reject(new ReferenceError("Mediator not registered"));
}
else if ("object" !== typeof this._Mediator || !(this._Mediator instanceof Mediator)) {
checkMediator () {

return Promise.reject(new TypeError(
"The plugin has an invalid Mediator which is not an instance (or a child) of the official Mediator class"
));
if ("undefined" === typeof this._Mediator || null === this._Mediator) {

return Promise.reject(new ReferenceError("Mediator not registered"));

}
else if ("object" !== typeof this._Mediator || !(this._Mediator instanceof Mediator)) {

return Promise.reject(new TypeError(
"The plugin has an invalid Mediator which is not an instance (or a child) of the official Mediator class"
));

}
else {

return Promise.resolve();

}

}
else if (!this._Mediator.initialized) {
return Promise.reject(new Error("Registered Mediator is not initialized"));
}
else {
return Promise.resolve();
}

}
// init / release

checkMediatorSync () {
release (...data) {

return "object" === typeof this._Mediator && this._Mediator instanceof Mediator &&
this._Mediator.initialized;
return Promise.resolve().then(() => {

}
// can only be released by Orchestrator
if (this._Mediator) {

release () {
this._Mediator = null;

return Promise.resolve().then(() => {
}

if (this._Mediator) {
this._Mediator = null;
}
return Promise.resolve();

return Promise.resolve();
}).then(() => {

}).then(() => {
return this._releaseWorkSpace(...data);

return super.release();
}).then((...result) => {

});
this.removeAllListeners();

}
return Promise.resolve(...result);

});

}

};

0 comments on commit 083edd1

Please sign in to comment.