This package has been deprecated

Author message:

this package has been deprecated

meteor-decorators
TypeScript icon, indicating that this package has built-in type declarations

1.0.16 • Public • Published

npm version Known Vulnerabilities codecov Build Status

meteor-decorators

Helper decorators for meteor

Install

$ npm install meteor-decorators

Usage

import { MeteorClass, MeteorPublish, MeteorMethod } from 'meteor-decorators';

@MeteorClass
export class SomeClass {
  /*
  *
  * 'dataList' will be published as 'data.list'
  * e.g. 'dataListPublic' will be published as 'data.list.public'
  * any arguments to Meteor.subscribe will be passed directly into this method
  */
  @MeteorPublish()
  public dataList(arg1: string, arg2: string): ObservableCursor<T> {
    return Collection.find(
      // do query
    );
  }

  /*
  *
  * 'someMeteorMethod' can be called by Meteor.call with the same name
  * any arguments to Meteor.call will be passed directly into this method
  */
  @MeteorMethod()
  public someMeteorMethod(arg1: string, arg2: string): void {
    // do something
  }
}

Publication & method scope

The class decorator will add Meteor publication & method scope properties to decorated class directly. You can access those properties & method from this.scope.

Type Issue

Currently there is no way to mutate class by decorators. In order to suppress type warnings, the following is one of possible workaround.

// when calling unblock of meteor method
// cast 'this' to any type
(this as any).scope.unblock();

Related issue: https://github.com/Microsoft/TypeScript/issues/4881

Readme

Keywords

Package Sidebar

Install

npm i meteor-decorators

Weekly Downloads

0

Version

1.0.16

License

MIT

Unpacked Size

17.6 kB

Total Files

16

Last publish

Collaborators

  • ymchun