moleculer-decorators
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -1,2 +0,47 @@ | ||
require('app-module-path').addPath(`${__dirname}/app`); | ||
require('./app'); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function Method(target, key, descriptor) { | ||
(target.methods || (target.methods = {}))[key] = descriptor.value; | ||
} | ||
exports.Method = Method; | ||
function Event(target, key, descriptor) { | ||
(target.events || (target.events = {}))[key] = descriptor.value; | ||
} | ||
exports.Event = Event; | ||
function Action(target, key, descriptor) { | ||
(target.actions || (target.actions = {}))[key] = descriptor.value; | ||
} | ||
exports.Action = Action; | ||
function Service(options) { | ||
return function (target) { | ||
if (options.mixins) { | ||
options.mixins.forEach((mixin, index) => { | ||
options.mixins[index].name = options.name || target.name; | ||
}); | ||
} | ||
if (options.mixins || options.name) { | ||
Object.defineProperty(target, 'name', { | ||
value: options.name || target.name, | ||
writable: false | ||
}); | ||
delete options.name; | ||
} | ||
Object.assign(target, options); | ||
const proto = target.prototype; | ||
Object.getOwnPropertyNames(proto).forEach(function (key) { | ||
if (key === 'constructor') { | ||
return; | ||
} | ||
const descriptor = Object.getOwnPropertyDescriptor(proto, key); | ||
if (key === 'created' || key === 'started' || key === 'stopped') { | ||
target[key] = descriptor.value; | ||
return; | ||
} | ||
if (key === 'events' || key === 'methods' || key === 'actions') { | ||
(target[key] ? Object.assign(target[key], descriptor.value) : target[key] = descriptor.value); | ||
return; | ||
} | ||
}); | ||
}; | ||
} | ||
exports.Service = Service; |
{ | ||
"name": "moleculer-decorators", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "decorators for moleculer", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -1,3 +0,61 @@ | ||
require('app-module-path').addPath(`${__dirname}/app`); | ||
require('./app'); | ||
import { ServiceSchema } from 'moleculer'; | ||
export interface Options extends Partial<ServiceSchema> { | ||
name?: string | ||
} | ||
export function Method(target, key, descriptor) { | ||
(target.methods || (target.methods = {}))[key] = descriptor.value | ||
} | ||
export function Event(target, key, descriptor) { | ||
(target.events || (target.events = {}))[key] = descriptor.value | ||
} | ||
export function Action(target, key, descriptor) { | ||
(target.actions || (target.actions = {}))[key] = descriptor.value | ||
} | ||
export function Service(options: Options) { | ||
return function(target) { | ||
if (options.mixins) { | ||
options.mixins.forEach((mixin, index) => { | ||
options.mixins[index].name = options.name || target.name; // must override mixins name | ||
}); | ||
} | ||
// hacky way to make naming work | ||
if (options.mixins || options.name) { | ||
Object.defineProperty(target, 'name', { | ||
value: options.name || target.name, | ||
writable: false | ||
}); | ||
delete options.name; // not needed | ||
} | ||
Object.assign(target, options); // Apply | ||
const proto = target.prototype; | ||
Object.getOwnPropertyNames(proto).forEach(function (key) { | ||
if (key === 'constructor') { // skip constructor | ||
return; | ||
} | ||
const descriptor = Object.getOwnPropertyDescriptor(proto, key)! | ||
if (key === 'created' || key === 'started' || key === 'stopped') { | ||
target[key] = descriptor.value; | ||
return; | ||
} | ||
if (key === 'events' || key === 'methods' || key === 'actions') { | ||
(target[key] ? Object.assign(target[key], descriptor.value) : target[key] = descriptor.value) | ||
return; | ||
} | ||
}); | ||
} | ||
} | ||
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
86840
10
279