mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Update Backbone collection.comparator definition to accpet string and Function types. Closes #6394.
This commit is contained in:
Vendored
+4
-2
@@ -192,8 +192,10 @@ declare module Backbone {
|
||||
|
||||
fetch(options?: CollectionFetchOptions): JQueryXHR;
|
||||
|
||||
comparator(element: TModel): number;
|
||||
comparator(compare: TModel, to?: TModel): number;
|
||||
/**
|
||||
* Specify a model attribute name (string) or function that will be used to sort the collection.
|
||||
*/
|
||||
comparator: string | ((element: TModel) => number | string) | ((compare: TModel, to?: TModel) => number);
|
||||
|
||||
add(model: {}|TModel, options?: AddOptions): TModel;
|
||||
add(models: ({}|TModel)[], options?: AddOptions): TModel[];
|
||||
|
||||
@@ -120,6 +120,16 @@ class Library extends Backbone.Collection<Book> {
|
||||
// This model definition is here only to test type compatibility of the model, but it
|
||||
// is not necessary in working code as it is automatically inferred through generics.
|
||||
model: typeof Book;
|
||||
|
||||
constructor(models?: Book[] | Object[], options?: any) {
|
||||
super(models, options);
|
||||
|
||||
// Test comparator allowed types.
|
||||
this.comparator = "title";
|
||||
this.comparator = (model: Book) => { return 1; };
|
||||
this.comparator = (model: Book) => { return "Title"; };
|
||||
this.comparator = (model1: Book, model2: Book) => { return 1; };
|
||||
}
|
||||
}
|
||||
|
||||
class Books extends Backbone.Collection<Book> { }
|
||||
|
||||
Reference in New Issue
Block a user