Typed observe() and observeChanges() to the type of documents observed (#39125)

(cherry picked from commit 8bcb41f7379422301e0a43a600195c3d52846b0e)
This commit is contained in:
alesn
2019-10-17 14:21:27 -07:00
committed by Andrew Branch
parent 3817461fd8
commit fb23b1ef93
2 changed files with 30 additions and 30 deletions
+15 -15
View File
@@ -186,20 +186,20 @@ declare module Mongo {
interface CursorStatic {
new <T>(): Cursor<T>;
}
interface ObserveCallbacks {
added?(document: Object): void;
addedAt?(document: Object, atIndex: number, before: Object): void;
changed?(newDocument: Object, oldDocument: Object): void;
changedAt?(newDocument: Object, oldDocument: Object, indexAt: number): void;
removed?(oldDocument: Object): void;
removedAt?(oldDocument: Object, atIndex: number): void;
movedTo?(document: Object, fromIndex: number, toIndex: number, before: Object): void;
interface ObserveCallbacks<T> {
added?(document: T): void;
addedAt?(document: T, atIndex: number, before: T | null): void;
changed?(newDocument: T, oldDocument: T): void;
changedAt?(newDocument: T, oldDocument: T, indexAt: number): void;
removed?(oldDocument: T): void;
removedAt?(oldDocument: T, atIndex: number): void;
movedTo?(document: T, fromIndex: number, toIndex: number, before: T | null): void;
}
interface ObserveChangesCallbacks {
added?(id: string, fields: Object): void;
addedBefore?(id: string, fields: Object, before: Object): void;
changed?(id: string, fields: Object): void;
movedBefore?(id: string, before: Object): void;
interface ObserveChangesCallbacks<T> {
added?(id: string, fields: Partial<T>): void;
addedBefore?(id: string, fields: Partial<T>, before: T | null): void;
changed?(id: string, fields: Partial<T>): void;
movedBefore?(id: string, before: T | null): void;
removed?(id: string): void;
}
interface Cursor<T> {
@@ -207,8 +207,8 @@ declare module Mongo {
fetch(): Array<T>;
forEach(callback: (doc: T, index: number, cursor: Cursor<T>) => void, thisArg?: any): void;
map<U>(callback: (doc: T, index: number, cursor: Cursor<T>) => U, thisArg?: any): Array<U>;
observe(callbacks: ObserveCallbacks): Meteor.LiveQueryHandle;
observeChanges(callbacks: ObserveChangesCallbacks): Meteor.LiveQueryHandle;
observe(callbacks: ObserveCallbacks<T>): Meteor.LiveQueryHandle;
observeChanges(callbacks: ObserveChangesCallbacks<T>): Meteor.LiveQueryHandle;
}
var ObjectID: ObjectIDStatic;
+15 -15
View File
@@ -188,20 +188,20 @@ declare module "meteor/mongo" {
interface CursorStatic {
new <T>(): Cursor<T>;
}
interface ObserveCallbacks {
added?(document: Object): void;
addedAt?(document: Object, atIndex: number, before: Object): void;
changed?(newDocument: Object, oldDocument: Object): void;
changedAt?(newDocument: Object, oldDocument: Object, indexAt: number): void;
removed?(oldDocument: Object): void;
removedAt?(oldDocument: Object, atIndex: number): void;
movedTo?(document: Object, fromIndex: number, toIndex: number, before: Object): void;
interface ObserveCallbacks<T> {
added?(document: T): void;
addedAt?(document: T, atIndex: number, before: T | null): void;
changed?(newDocument: T, oldDocument: T): void;
changedAt?(newDocument: T, oldDocument: T, indexAt: number): void;
removed?(oldDocument: T): void;
removedAt?(oldDocument: T, atIndex: number): void;
movedTo?(document: T, fromIndex: number, toIndex: number, before: T | null): void;
}
interface ObserveChangesCallbacks {
added?(id: string, fields: Object): void;
addedBefore?(id: string, fields: Object, before: Object): void;
changed?(id: string, fields: Object): void;
movedBefore?(id: string, before: Object): void;
interface ObserveChangesCallbacks<T> {
added?(id: string, fields: Partial<T>): void;
addedBefore?(id: string, fields: Partial<T>, before: T | null): void;
changed?(id: string, fields: Partial<T>): void;
movedBefore?(id: string, before: T | null): void;
removed?(id: string): void;
}
interface Cursor<T> {
@@ -209,8 +209,8 @@ declare module "meteor/mongo" {
fetch(): Array<T>;
forEach(callback: (doc: T, index: number, cursor: Cursor<T>) => void, thisArg?: any): void;
map<U>(callback: (doc: T, index: number, cursor: Cursor<T>) => U, thisArg?: any): Array<U>;
observe(callbacks: ObserveCallbacks): Meteor.LiveQueryHandle;
observeChanges(callbacks: ObserveChangesCallbacks): Meteor.LiveQueryHandle;
observe(callbacks: ObserveCallbacks<T>): Meteor.LiveQueryHandle;
observeChanges(callbacks: ObserveChangesCallbacks<T>): Meteor.LiveQueryHandle;
}
var ObjectID: ObjectIDStatic;