Socket
Socket
Sign inDemoInstall

moleculer-decorators

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moleculer-decorators - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

49

dist/index.js

@@ -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;

2

package.json
{
"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;
}
});
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc