@nodeswork/applet
Version:
Nodeswork Applet Framework
30 lines (28 loc) • 995 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const _ = require("underscore");
const kiws = require("@nodeswork/kiws");
const WORKER_PROVIDER_TAGS = ['worker', 'provider'];
const WORKER_METADATA_KEY = kiws.ENDPOINT_METADATA_KEY;
function WorkerProvider(options = {}) {
const tags = _.union(WORKER_PROVIDER_TAGS, options.tags);
const handler = kiws.Handler(_.extend({}, options, { tags }));
return (constructor) => {
handler(constructor);
};
}
exports.WorkerProvider = WorkerProvider;
function Worker(options) {
return (target, propertyKey, descriptor) => {
const endpointOptions = {
method: 'POST',
path: `/workers/${target.constructor.name}/${propertyKey}`,
meta: options,
};
const endpoint = kiws.Endpoint(endpointOptions);
endpoint(target, propertyKey, descriptor);
};
}
exports.Worker = Worker;
//# sourceMappingURL=worker.js.map