diff --git a/backbone/backbone-tests.ts b/backbone/backbone-tests.ts
index 2a2bf3b41..c1292c1c2 100644
--- a/backbone/backbone-tests.ts
+++ b/backbone/backbone-tests.ts
@@ -1,8 +1,6 @@
///
///
-declare var _, $;
-
function test_events() {
var object = new Backbone.Events();
diff --git a/backbone/backbone.d.ts b/backbone/backbone.d.ts
index 2a4a60819..cfc3c3d2f 100644
--- a/backbone/backbone.d.ts
+++ b/backbone/backbone.d.ts
@@ -66,18 +66,12 @@ declare module Backbone {
reset?: boolean;
}
- interface on { (eventName: string, callback: (...args: any[]) => void, context?: any): any; }
- interface off { (eventName?: string, callback?: (...args: any[]) => void, context?: any): any; }
- interface trigger { (eventName: string, ...args: any[]): any; }
- interface bind { (eventName: string, callback: (...args: any[]) => void, context?: any): any; }
- interface unbind { (eventName?: string, callback?: (...args: any[]) => void, context?: any): any; }
-
class Events {
- on(eventName: string, callback: (...args:any[]) => void, context?: any): any;
- off(eventName?: string, callback?: (...args:any[]) => void, context?: any): any;
+ 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;
- bind(eventName: string, callback: (...args:any[]) => void, context?: any): any;
- unbind(eventName?: string, callback?: (...args:any[]) => void, context?: any): any;
+ bind(eventName: string, callback: (...args: any[]) => void , context?: any): any;
+ unbind(eventName?: string, callback?: (...args: any[]) => void , context?: any): any;
once(events: string, callback: (...args: any[]) => void , context?: any): any;
listenTo(object: any, events: string, callback: (...args: any[]) => void ): any;
@@ -92,7 +86,6 @@ declare module Backbone {
sync(...arg: any[]): JQueryXHR;
}
-
class Model extends ModelBase {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
@@ -103,9 +96,9 @@ declare module Backbone {
id: any;
idAttribute: string;
validationError: any;
- urlRoot(): string;
+ urlRoot: any;
- constructor (attributes?: any, options?: any);
+ constructor(attributes?: any, options?: any);
initialize(attributes?: any);
fetch(options?: ModelFetchOptions): JQueryXHR;
@@ -130,6 +123,19 @@ declare module Backbone {
save(attributes?: any, options?: ModelSaveOptions);
unset(attribute: string, options?: Silenceable);
validate(attributes: any, options?: any): any;
+
+ _validate(attrs: any, options: any): boolean;
+
+ // mixins from underscore
+
+ keys(): string[];
+ values(): any[];
+ pairs(): any[];
+ invert(): any;
+ pick(keys: string[]): any;
+ pick(...keys: string[]): any;
+ omit(keys: string[]): any;
+ omit(...keys: string[]): any;
}
class Collection extends ModelBase {
@@ -141,7 +147,7 @@ declare module Backbone {
collection: Model;
length: number;
- constructor (models?: any, options?: any);
+ constructor(models?: any, options?: any);
fetch(options?: CollectionFetchOptions): JQueryXHR;
@@ -165,6 +171,12 @@ declare module Backbone {
unshift(model: Model, options?: AddOptions);
where(properies: any): Model[];
+ _prepareModel(attrs?: any, options?: any): any;
+ _removeReference(model: Model): void;
+ _onModelEvent(event: string, model: Model, collection: Collection, options: any): void;
+
+ // mixins from underscore
+
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[];
@@ -177,7 +189,7 @@ declare module Backbone {
difference(...model: Model[]): Model[];
drop(): Model;
drop(n: number): Model[];
- each(iterator: (element: Model, index: number, list?: any) => void, context?: any);
+ each(iterator: (element: Model, index: number, list?: any) => void , context?: any);
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;
@@ -185,7 +197,7 @@ declare module Backbone {
first(n: number): 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);
+ forEach(iterator: (element: Model, index: number, list?: any) => void , context?: any);
include(value: any): boolean;
indexOf(element: Model, isSorted?: boolean): number;
initial(): Model;
@@ -230,21 +242,36 @@ declare module Backbone {
routes: any;
- constructor (options?: RouterOptions);
- initialize (options?: RouterOptions);
- route(route: string, name: string, callback?: (...parameter: any[]) => void);
+ constructor(options?: RouterOptions);
+ initialize(options?: RouterOptions);
+ route(route: string, name: string, callback?: (...parameter: any[]) => void );
navigate(fragment: string, options?: NavigateOptions);
navigate(fragment: string, trigger?: boolean);
+
+ _bindRoutes(): void;
+ _routeToRegExp(route: string): RegExp;
+ _extractParameters(route: RegExp, fragment: string): string[];
}
var history: History;
- class History {
+
+ class History extends Events {
+
+ handlers: any[];
+ interval: number;
+
start(options?: HistoryOptions);
- navigate(fragment: string, options: any);
- pushSate();
- getFragment(fragment?: string, forcePushState?: boolean): string;
+
getHash(window?: Window): string;
+ getFragment(fragment?: string, forcePushState?: boolean): string;
+ stop(): void;
+ route(route: string, callback: (...args: any[]) => void );
+ checkUrl(e?: any): void;
+ loadUrl(fragmentOverride: string): boolean;
+ navigate(fragment: string, options?: any);
started: boolean;
+
+ _updateHash(location: Location, fragment: string, replace: bool);
}
interface ViewOptions {
@@ -261,15 +288,15 @@ declare module Backbone {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
- constructor (options?: ViewOptions);
+ constructor(options?: ViewOptions);
$(selector: string): JQuery;
model: Model;
collection: Collection;
- template: (data?: any) => string;
make(tagName: string, attrs?, opts?): View;
setElement(element: HTMLElement, delegate?: boolean);
id: string;
+ cid: string;
className: string;
tagName: string;
events: any;
@@ -282,23 +309,25 @@ declare module Backbone {
render(): View;
remove(): View;
make(tagName, attributes?, content?);
- //delegateEvents: any;
delegateEvents(events?: any): any;
undelegateEvents();
+
+ _ensureElement(): void;
}
// SYNC
function sync(method, model, options?: JQueryAjaxSettings);
- var emulateHTTP: boolean;
- var emulateJSONBackbone: boolean;
+ var emulateHTTP: boolean;
+ var emulateJSONBackbone: boolean;
// Utility
// 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);
}
+