1.0.16 • Published 6 years ago

meteor-decorators v1.0.16

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

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

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago