@argdown/node
Version:
Async Argdown application for node.js
27 lines • 836 B
JavaScript
import defaultsDeep from "lodash.defaultsdeep";
export class StdOutPlugin {
name = "StdOutPlugin";
defaults;
constructor(config) {
this.defaults = defaultsDeep({}, config, {});
}
prepare = (request) => {
defaultsDeep(this.getSettings(request), this.defaults);
};
getSettings(request) {
request.stdout = request.stdout || {};
return request.stdout;
}
run = (request, response) => {
const settings = this.getSettings(request);
if (settings.dataKey) {
const content = !settings.isRequestData
? response[settings.dataKey]
: request[settings.dataKey];
if (content !== undefined) {
process.stdout.write(content);
}
}
};
}
//# sourceMappingURL=StdOutPlugin.js.map