1.0.16 • Published 7 years ago

meteor-decorators v1.0.16

Weekly downloads
2
License
MIT
Repository
github
Last release
7 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

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago