@betit/orion
Version:
Pluggable microservice framework
44 lines (43 loc) • 1.1 kB
JavaScript
;
/**
* Reply.
*/
class Reply {
constructor(callback) {
this.callback = callback;
this.data = {};
}
fn() {
const self = this;
let reply = function (err, res) {
const isErr = err instanceof Error;
if (arguments.length === 1) {
if (isErr) {
self.data.err = err.message;
}
else {
self.data.res = err;
}
}
else {
self.data.err = isErr ? err.message : err;
self.data.res = res;
}
process.nextTick(() => {
self.callback(self.data);
});
};
reply.resolve = (res) => {
reply(null, res);
};
reply.reject = (err) => {
if (!(err instanceof Error)) {
err = new Error(err);
}
reply(err, null);
};
return reply;
}
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = Reply;