Fixed class definitions.

This commit is contained in:
Dave Allen
2015-02-05 14:49:46 -08:00
parent 42c8a3b74c
commit a8c07f3288
2 changed files with 107 additions and 84 deletions
+11 -4
View File
@@ -1,4 +1,4 @@
/// <reference path='meteor.d.ts'/>
/// <reference path='../definitions/meteor.d.ts'/>
/**
* All code below was copied from the examples at http://docs.meteor.com/.
@@ -98,7 +98,7 @@ Tracker.autorun(function () {
});
console.log("Current room has " +
Counts.findOne(Session.get("roomId")).count +
Counts.find(Session.get("roomId")).count +
" messages.");
/**
@@ -144,8 +144,15 @@ var result = Meteor.call('foo', 1, 2);
* From Collections, Mongo.Collection section
*/
// DA: I added the "var" keyword in there
var Chatrooms = new Mongo.Collection("chatrooms");
Messages = new Mongo.Collection("messages");
interface ChatroomsDAO {
_id?: string;
}
interface MessagesDAO {
_id?: string;
}
var Chatrooms = new Mongo.Collection<ChatroomsDAO>("chatrooms");
Messages = new Mongo.Collection<MessagesDAO>("messages");
var myMessages = Messages.find({userId: Session.get('myUserId')}).fetch();
+96 -80
View File
@@ -1,15 +1,23 @@
// Type definitions for Meteor 1.0.3.1
// Project: http://www.meteor.com/
// Definitions by: Dave Allen <https://github.com/fullflavedave>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/**
*
* Meteor definitions for TypeScript
* author - Olivier Refalo - orefalo@yahoo.com
* author - David Allen - dave@fullflavedave.com
*
* Thanks to Sam Hatoum for the base code for auto-generating this file.
*
* supports Meteor 1.0.2.1
*
*/
/**
* These are the modules and interfaces that can't be automatically generated from the Meteor data.js file
*/
interface EJSON extends JSON {}
interface Template {
[templateName: string]: Meteor.Template;
interface TemplateStatic {
new(): Template;
[templateName: string]: Meteor.TemplatePage;
}
declare module Match {
@@ -61,12 +69,7 @@ declare module Meteor {
[id:string]:Meteor.EventHandlerFunction;
}
// Same definition as top-level Template Interface
interface TemplateBase {
[templateName: string]: Meteor.Template;
}
interface Template {
interface TemplatePage {
rendered: Function;
created: Function;
destroyed: Function;
@@ -326,12 +329,15 @@ declare module Blaze {
function getData(elementOrView?: HTMLElement | Blaze.View): Object;
function getView(element?: HTMLElement): Blaze.View;
function Template(viewName?: string, renderFunction?: Function): void;
interface Template{
}
function TemplateInstance(view: Blaze.View): void;
interface TemplateInstance {
data(): Object;
view(): Object;
firstNode(): Object;
lastNode(): Object;
interface TemplateInstance{
data: Object;
view: Object;
firstNode: Object;
lastNode: Object;
$(selector: string): Node[];
findAll(selector: string): HTMLElement[];
find(selector?: string): HTMLElement;
@@ -339,6 +345,9 @@ declare module Blaze {
}
function View(name?: string, renderFunction?: Function): void;
interface View{
}
}
declare module Match {
@@ -365,8 +374,8 @@ declare module EJSON {
}): boolean;
function clone<T>(val:T): T;
function CustomType(): void;
interface CustomType {
typeName(): string;
interface CustomType{
typeName(): string;
toJSONValue(): JSON;
clone(): EJSON.CustomType;
equals(other: Object): boolean;
@@ -418,6 +427,9 @@ declare module Meteor {
rootUrl?: string;
}): string;
function Error(error: string, reason?: string, details?: string): void;
interface Error{
}
}
declare module Mongo {
@@ -426,8 +438,8 @@ declare module Mongo {
idGeneration?: string;
transform?: Function;
}): void;
interface Collection<T> {
insert(doc: Object, callback?: Function): string;
interface Collection<T>{
insert(doc: Object, callback?: Function): string;
update(selector: Mongo.Selector, modifier: Mongo.Modifier, options?: {
multi?: boolean;
upsert?: Boolean;
@@ -468,9 +480,12 @@ declare module Mongo {
}
function ObjectID(hexString: string): void;
interface ObjectID{
}
function Cursor<T>(): void;
interface Cursor<T> {
forEach(callback: Function, thisArg?: any): void;
interface Cursor<T>{
forEach(callback: Function, thisArg?: any): void;
map(callback: Function, thisArg?: any): void;
fetch(): Array<T>;
count(): number;
@@ -484,10 +499,10 @@ declare module Tracker {
var active: boolean;
var currentComputation: Tracker.Computation;
function Computation(): void;
interface Computation {
stopped(): boolean;
invalidated(): boolean;
firstRun(): boolean;
interface Computation{
stopped: boolean;
invalidated: boolean;
firstRun: boolean;
onInvalidate(callback: Function): void;
invalidate(): void;
stop(): void;
@@ -499,8 +514,8 @@ declare module Tracker {
function onInvalidate(callback: Function): void;
function afterFlush(callback: Function): void;
function Dependency(): void;
interface Dependency {
depend(fromComputation?: Tracker.Computation): boolean
interface Dependency{
depend(fromComputation?: Tracker.Computation): boolean
changed(): void;
hasDependents(): boolean
}
@@ -594,79 +609,80 @@ declare module Email {
}
declare function Subscription(): void;
declare module Subscription {
var connection: Meteor.Connection;
var userId: string;
function error(error: Error): void;
function stop(): void;
function onStop(func: Function): void;
function added(collection: string, id: string, fields: Object): void;
function changed(collection: string, id: string, fields: Object): void;
function removed(collection: string, id: string): void;
function ready(): void;
interface Subscription{
connection: Meteor.Connection;
userId: string;
error(error: Error): void;
stop(): void;
onStop(func: Function): void;
added(collection: string, id: string, fields: Object): void;
changed(collection: string, id: string, fields: Object): void;
removed(collection: string, id: string): void;
ready(): void;
}
declare function ReactiveVar(initialValue: any, equalsFunc?: (oldVal:any, newVal:any)=>boolean): void;
declare module ReactiveVar {
function get(): any;
function set(newValue: any): void;
declare function ReactiveVar<T>(initialValue: T, equalsFunc?: Function): void;
interface ReactiveVar<T>{
get(): T;
set(newValue: T): void;
}
declare function Template(): void;
declare module Template {
var onCreated; /** TODO: add return value **/
var onRendered; /** TODO: add return value **/
var onDestroyed; /** TODO: add return value **/
var created: Function;
var rendered: Function;
var destroyed: Function;
var body: Meteor.TemplateBase;
function helpers(helpers:{[id:string]: any}): void;
function events(eventMap: {[actions: string]: Function}): void;
function instance(): Blaze.TemplateInstance;
function currentData(): {};
function parentData(numLevels?: number): {};
function registerHelper(name: string, helperFunction: Function): void;
declare var Template: TemplateStatic;
// TemplateStatic interface should be defined separately at top with static methods
interface Template{
onCreated: Function;
onRendered: Function;
onDestroyed: Function;
created: Function;
rendered: Function;
destroyed: Function;
body: TemplateStatic;
helpers(helpers:{[id:string]: any}): void;
events(eventMap: {[actions: string]: Function}): void;
instance(): Blaze.TemplateInstance;
currentData(): {};
parentData(numLevels?: number): {};
registerHelper(name: string, helperFunction: Function): void;
}
declare function CompileStep(): void;
declare module CompileStep {
var inputSize; /** TODO: add return value **/
var inputPath; /** TODO: add return value **/
var fullInputPath; /** TODO: add return value **/
var pathForSourceMap; /** TODO: add return value **/
var packageName; /** TODO: add return value **/
var rootOutputPath; /** TODO: add return value **/
var arch; /** TODO: add return value **/
var fileOptions; /** TODO: add return value **/
var declaredExports; /** TODO: add return value **/
function read(n?: number); /** TODO: add return value **/
function addHtml(options: {
interface CompileStep{
inputSize; /** TODO: add return value **/
inputPath; /** TODO: add return value **/
fullInputPath; /** TODO: add return value **/
pathForSourceMap; /** TODO: add return value **/
packageName; /** TODO: add return value **/
rootOutputPath; /** TODO: add return value **/
arch; /** TODO: add return value **/
fileOptions; /** TODO: add return value **/
declaredExports; /** TODO: add return value **/
read(n?: number); /** TODO: add return value **/
addHtml(options: {
section?: string;
data?: string;
}); /** TODO: add return value **/
function addStylesheet(options: {
addStylesheet(options: {
}, path: string, data: string, sourceMap: string); /** TODO: add return value **/
function addJavaScript(options: {
addJavaScript(options: {
path?: string;
data?: string;
sourcePath?: string;
}); /** TODO: add return value **/
function addAsset(options: {
addAsset(options: {
}, path: string, data: any /** Buffer **/ | string); /** TODO: add return value **/
function error(options: {
error(options: {
}, message: string, sourcePath?: string, line?: number, func?: string); /** TODO: add return value **/
}
declare function PackageAPI(): void;
declare module PackageAPI {
function use(packageNames: string | string[], architecture?: string, options?: {
interface PackageAPI{
use(packageNames: string | string[], architecture?: string, options?: {
weak?: boolean;
unordered?: Boolean;
}): void;
function imply(packageSpecs: string | string[]): void;
function addFiles(filename: string | string[], architecture?: string): void;
function versionsFrom(meteorRelease: string | string[]): void;
// function export(exportedObject: string, architecture?: string): void;
imply(packageSpecs: string | string[]): void;
addFiles(filename: string | string[], architecture?: string): void;
versionsFrom(meteorRelease: string | string[]): void;
export(exportedObject: string, architecture?: string): void;
}