This package provides Typescript wrappers for core Meteor functionalities. This lets develop Meteor projects with the full type safety of Typescript.
Check out sample Meteor project: https://github.com/dataflows/meteor-typescript-utils-example
- Typescript typings for Meteor, Iron:Router, Lodash and this package (meteorts).
- Typed wrappers for Meteor methods
- Typed wrappers for Meteor Templates
- Typed wrappers for Iron:Router routes
- Add Meteor package:
meteor add dataflows:typescript-utils
. - Copy typings from
typings
directory into your project so that you can reference them.
# Define method:
interface ISaveClickArgs {
name: string;
}
var SaveClick = new MeteorMethod<ISaveClickArgs, void>("SaveClick");
# Call method:
SaveClick.call({ name: name });
class MainTemplateContext extends MainTemplateData {
@MeteorTemplate.event("click #heybutton")
buttonClick(event: Meteor.Event, template: Blaze.Template): void {
// ...
}
@MeteorTemplate.helper
clicksCount(): number {
// ...
}
}
class MainTemplate extends MeteorTemplate.Base<MainTemplateData> {
constructor() {
super("MainTemplate", new MainTemplateContext());
}
rendered(): void {
// ...
}
}
MeteorTemplate.register(new MainTemplate());
export class SingleClickController extends RouteControllerBase<router.ISingleClickRouteParams> {
public template: string = ...;
public waitOn(): any {
// ...
}
public data(): any {
// ... this.params holds typed route params
}
}
Compilation:
tsc src/**/*.ts --out dist/meteor-typescript-utils.js --module commonjs
This project is provided on the MIT license.