diff --git a/backbone/backbone.d.ts b/backbone/backbone.d.ts
index 92ff102dc6..2a4a60819d 100644
--- a/backbone/backbone.d.ts
+++ b/backbone/backbone.d.ts
@@ -1,6 +1,7 @@
-// Type definitions for Backbone 0.9.10
+// Type definitions for Backbone 1.0.0
// Project: http://backbonejs.org/
// Definitions by: Boris Yankov
+// Definitions by: Natan Vivo
// Definitions: https://github.com/borisyankov/DefinitelyTyped
@@ -8,61 +9,61 @@
declare module Backbone {
- export interface AddOptions extends Silenceable {
+ interface AddOptions extends Silenceable {
at: number;
}
- export interface HistoryOptions extends Silenceable {
- pushState?: bool;
+ interface HistoryOptions extends Silenceable {
+ pushState?: boolean;
root?: string;
}
- export interface NavigateOptions {
- trigger: bool;
+ interface NavigateOptions {
+ trigger: boolean;
}
- export interface RouterOptions {
+ interface RouterOptions {
routes: any;
}
- export interface Silenceable {
- silent?: bool;
+ interface Silenceable {
+ silent?: boolean;
}
interface Validable {
- validate?: bool;
+ validate?: boolean;
}
interface Waitable {
- wait?: bool;
+ wait?: boolean;
}
interface Parseable {
parse?: any;
}
- export interface PersistenceOptions {
+ interface PersistenceOptions {
url?: string;
beforeSend?: (jqxhr: JQueryXHR) => void;
success?: (modelOrCollection?: any, response?: any, options?: any) => void;
error?: (modelOrCollection?: any, jqxhr?: JQueryXHR, options?: any) => void;
}
- export interface ModelSetOptions extends Silenceable extends Validable {
+ interface ModelSetOptions extends Silenceable, Validable {
}
- export interface ModelFetchOptions extends PersistenceOptions extends ModelSetOptions extends Parseable {
+ interface ModelFetchOptions extends PersistenceOptions, ModelSetOptions, Parseable {
}
- export interface ModelSaveOptions extends Silenceable extends Waitable extends Validable extends Parseable extends PersistenceOptions {
- patch?: bool;
+ interface ModelSaveOptions extends Silenceable, Waitable, Validable, Parseable, PersistenceOptions {
+ patch?: boolean;
}
- export interface ModelDestroyOptions extends Waitable extends PersistenceOptions {
+ interface ModelDestroyOptions extends Waitable, PersistenceOptions {
}
- export interface CollectionFetchOptions extends PersistenceOptions extends Parseable {
- reset?: bool;
+ interface CollectionFetchOptions extends PersistenceOptions, Parseable {
+ reset?: boolean;
}
interface on { (eventName: string, callback: (...args: any[]) => void, context?: any): any; }
@@ -71,7 +72,7 @@ declare module Backbone {
interface bind { (eventName: string, callback: (...args: any[]) => void, context?: any): any; }
interface unbind { (eventName?: string, callback?: (...args: any[]) => void, context?: any): any; }
- declare class Events {
+ class Events {
on(eventName: string, callback: (...args:any[]) => void, context?: any): any;
off(eventName?: string, callback?: (...args:any[]) => void, context?: any): any;
trigger(eventName: string, ...args: any[]): any;
@@ -84,7 +85,7 @@ declare module Backbone {
stopListening(object?: any, events?: string, callback?: (...args: any[]) => void ): any;
}
- export class ModelBase extends Events {
+ class ModelBase extends Events {
url: any;
parse(response, options?: any);
toJSON(options?: any): any;
@@ -92,7 +93,7 @@ declare module Backbone {
}
- export class Model extends ModelBase {
+ class Model extends ModelBase {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
@@ -120,10 +121,10 @@ declare module Backbone {
defaults(): any;
destroy(options?: ModelDestroyOptions);
escape(attribute: string);
- has(attribute: string): bool;
- hasChanged(attribute?: string): bool;
- isNew(): bool;
- isValid(): bool;
+ has(attribute: string): boolean;
+ hasChanged(attribute?: string): boolean;
+ isNew(): boolean;
+ isValid(): boolean;
previous(attribute: string): any;
previousAttributes(): any[];
save(attributes?: any, options?: ModelSaveOptions);
@@ -131,7 +132,7 @@ declare module Backbone {
validate(attributes: any, options?: any): any;
}
- export class Collection extends ModelBase {
+ class Collection extends ModelBase {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
@@ -164,34 +165,34 @@ declare module Backbone {
unshift(model: Model, options?: AddOptions);
where(properies: any): Model[];
- all(iterator: (element: Model, index: number) => bool, context?: any): bool;
- any(iterator: (element: Model, index: number) => bool, context?: any): bool;
+ all(iterator: (element: Model, index: number) => boolean, context?: any): boolean;
+ any(iterator: (element: Model, index: number) => boolean, context?: any): boolean;
collect(iterator: (element: Model, index: number, context?: any) => any[], context?: any): any[];
chain(): any;
compact(): Model[];
- contains(value: any): bool;
+ contains(value: any): boolean;
countBy(iterator: (element: Model, index: number) => any): any[];
countBy(attribute: string): any[];
- detect(iterator: (item: any) => bool, context?: any): any; // ???
+ detect(iterator: (item: any) => boolean, context?: any): any; // ???
difference(...model: Model[]): Model[];
drop(): Model;
drop(n: number): Model[];
each(iterator: (element: Model, index: number, list?: any) => void, context?: any);
- every(iterator: (element: Model, index: number) => bool, context?: any): bool;
- filter(iterator: (element: Model, index: number) => bool, context?: any): Model[];
- find(iterator: (element: Model, index: number) => bool, context?: any): Model;
+ every(iterator: (element: Model, index: number) => boolean, context?: any): boolean;
+ filter(iterator: (element: Model, index: number) => boolean, context?: any): Model[];
+ find(iterator: (element: Model, index: number) => boolean, context?: any): Model;
first(): Model;
first(n: number): Model[];
- flatten(shallow?: bool): Model[];
+ flatten(shallow?: boolean): Model[];
foldl(iterator: (memo: any, element: Model, index: number) => any, initialMemo: any, context?: any): any;
forEach(iterator: (element: Model, index: number, list?: any) => void, context?: any);
- include(value: any): bool;
- indexOf(element: Model, isSorted?: bool): number;
+ include(value: any): boolean;
+ indexOf(element: Model, isSorted?: boolean): number;
initial(): Model;
initial(n: number): Model[];
inject(iterator: (memo: any, element: Model, index: number) => any, initialMemo: any, context?: any): any;
intersection(...model: Model[]): Model[];
- isEmpty(object: any): bool;
+ isEmpty(object: any): boolean;
invoke(methodName: string, arguments?: any[]);
last(): Model;
last(n: number): Model[];
@@ -204,26 +205,26 @@ declare module Backbone {
select(iterator: any, context?: any): any[];
size(): number;
shuffle(): any[];
- some(iterator: (element: Model, index: number) => bool, context?: any): bool;
+ some(iterator: (element: Model, index: number) => boolean, context?: any): boolean;
sortBy(iterator: (element: Model, index: number) => number, context?: any): Model[];
sortBy(attribute: string, context?: any): Model[];
sortedIndex(element: Model, iterator?: (element: Model, index: number) => number): number;
range(stop: number, step?: number);
range(start: number, stop: number, step?: number);
reduceRight(iterator: (memo: any, element: Model, index: number) => any, initialMemo: any, context?: any): any[];
- reject(iterator: (element: Model, index: number) => bool, context?: any): Model[];
+ reject(iterator: (element: Model, index: number) => boolean, context?: any): Model[];
rest(): Model;
rest(n: number): Model[];
tail(): Model;
tail(n: number): Model[];
toArray(): any[];
union(...model: Model[]): Model[];
- uniq(isSorted?: bool, iterator?: (element: Model, index: number) => bool): Model[];
+ uniq(isSorted?: boolean, iterator?: (element: Model, index: number) => boolean): Model[];
without(...values: any[]): Model[];
zip(...model: Model[]): Model[];
}
- export class Router extends Events {
+ class Router extends Events {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
@@ -233,20 +234,20 @@ declare module Backbone {
initialize (options?: RouterOptions);
route(route: string, name: string, callback?: (...parameter: any[]) => void);
navigate(fragment: string, options?: NavigateOptions);
- navigate(fragment: string, trigger?: bool);
+ navigate(fragment: string, trigger?: boolean);
}
- export var history: History;
- export class History {
+ var history: History;
+ class History {
start(options?: HistoryOptions);
navigate(fragment: string, options: any);
pushSate();
- getFragment(fragment?: string, forcePushState?: bool): string;
+ getFragment(fragment?: string, forcePushState?: boolean): string;
getHash(window?: Window): string;
- started: bool;
+ started: boolean;
}
- export interface ViewOptions {
+ interface ViewOptions {
model?: Backbone.Model;
collection?: Backbone.Collection;
el?: any;
@@ -256,7 +257,7 @@ declare module Backbone {
attributes?: any[];
}
- export class View extends Events {
+ class View extends Events {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
@@ -267,7 +268,7 @@ declare module Backbone {
collection: Collection;
template: (data?: any) => string;
make(tagName: string, attrs?, opts?): View;
- setElement(element: HTMLElement, delegate?: bool);
+ setElement(element: HTMLElement, delegate?: boolean);
id: string;
className: string;
tagName: string;
@@ -288,10 +289,16 @@ declare module Backbone {
// SYNC
function sync(method, model, options?: JQueryAjaxSettings);
- var emulateHTTP: bool;
- var emulateJSONBackbone: bool;
+ var emulateHTTP: boolean;
+ var emulateJSONBackbone: boolean;
// Utility
- function noConflict(): Backbone;
+
+ // 0.9 cannot return modules anymore, and "typeof " is not compiling for some reason
+ // returning "any" until this is fixed
+
+ //function noConflict(): typeof Backbone;
+ function noConflict(): any;
+
function setDomLibrary(jQueryNew);
}