diff --git a/Definitions/backbone-0.9.d.ts b/Definitions/backbone-0.9.d.ts index 4686dd3793..f7108d1127 100644 --- a/Definitions/backbone-0.9.d.ts +++ b/Definitions/backbone-0.9.d.ts @@ -11,11 +11,11 @@ declare module Backbone { export interface AddOptions extends Silenceable { at: number; } - + export interface CreateOptions extends Silenceable { wait: bool; } - + export interface HistoryOptions extends Silenceable { pushState: bool; root: string; @@ -33,16 +33,18 @@ declare module Backbone { silent: bool; } - interface EventCallback { - (event): void; - } + 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; } - export class Events { - on(eventName: string, callback: EventCallback, context?: any): any; - bind(eventName: string, callback: EventCallback, context?: any): any; - off(eventName?: string, callback?: EventCallback, context?: any): any; - unbind(eventName?: string, callback?: EventCallback, context?: any): any; + declare 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; + bind(eventName: string, callback: (...args:any[]) => void, context?: any): any; + unbind(eventName?: string, callback?: (...args:any[]) => void, context?: any): any; } export class ModelBase extends Events { @@ -75,7 +77,7 @@ declare module Backbone { changedAttributes(attributes?: any): any[]; clear(options?: Silenceable); clone(): Model; - destroy(options?: JQueryAjaxSettings): any; // jqXHR or false + destroy(options?: JQueryAjaxSettings); escape(attribute: string); has(attribute: string): bool; hasChanged(attribute?: string): bool; @@ -83,8 +85,8 @@ declare module Backbone { isValid(): string; previous(attribute: string): any; previousAttributes(): any[]; - save(attributes?: any, options?: JQueryAjaxSettings): any; // JQueryXHR or false - unset(attribute: string, options?: Silenceable): any; + save(attributes?: any, options?: JQueryAjaxSettings); + unset(attribute: string, options?: Silenceable); validate(attributes: any): any; } @@ -97,7 +99,7 @@ declare module Backbone { collection: Model; length: number; - constructor (models?: any, options? ); + constructor (models?: any, options?: any); add(model: Model, options?: AddOptions); add(models: Model[], options?: AddOptions); @@ -108,11 +110,11 @@ declare module Backbone { getByCid(cid): Model; create(attributes: any, options?: CreateOptions): Collection; pluck(attribute: string): any[]; - push(model: Model, options?: AddOptions): Model; + push(model: Model, options?: AddOptions); pop(options?: Silenceable); remove(model: Model, options?: Silenceable); remove(models: Model[], options?: Silenceable); - reset(models?: Model[], options? ); + reset(models?: Model[], options?: Silenceable); shift(options?: Silenceable); sort(options?: Silenceable); unshift(model: Model, options?: AddOptions); @@ -129,15 +131,15 @@ declare module Backbone { difference(...model: Model[]): Model[]; drop(): Model; drop(n: number): Model[]; - each(iterator: (element: Model, index: number, list? ) => void , context?: any); + each(iterator: (element: Model, index: number, list?: any) => void, context?: any); every(iterator: (element: Model, index: number) => bool, context?: any): bool; - filter(iterator: (elemebt: Model, index: number) => bool, context?: any): Model[]; + filter(iterator: (element: Model, index: number) => bool, context?: any): Model[]; find(iterator: (element: Model, index: number) => bool, context?: any): Model; first(): Model; first(n: number): Model[]; flatten(shallow?: bool): Model[]; foldl(iterator: (memo: any, element: Model, index: number) => any, initialMemo: any, context?: any): any; - forEach(iterator: (element: Model, index: number, list? ) => void , context?: any); + forEach(iterator: (element: Model, index: number, list?: any) => void, context?: any); groupBy(iterator: (element: Model, index: number) => any): any[]; groupBy(attribute: string): any[]; include(value: any): bool; @@ -185,8 +187,8 @@ declare module Backbone { routes: any; constructor (options?: RouterOptions); - initialize(options?: RouterOptions); - route(route: string, name: string, callback?: (...parameter: any[]) => void ); + initialize (options?: RouterOptions); + route(route: string, name: string, callback?: (...parameter: any[]) => void); navigate(fragment: string, options?: NavigateOptions); } @@ -197,15 +199,25 @@ declare module Backbone { pushSate(); } - export class View { + export interface ViewOptions { + model?: Backbone.Model; + collection?: Backbone.Collection; + el?: Element; + id?: string; + className?: string; + tagName?: string; + attributes?: any[]; + } + + export class View extends Events { static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality - constructor (options?: any); + constructor (options?: ViewOptions); $(selector: string): any; model: Model; - make(tagName: string, attrs? , opts? ): View; + make(tagName: string, attrs?, opts?): View; setElement(element: HTMLElement, delegate?: bool); tagName: string; events: any; @@ -217,7 +229,7 @@ declare module Backbone { $(selector); render(); remove(); - make(tagName, attributes? , content? ); + make(tagName, attributes?, content?); //delegateEvents: any; delegateEvents(events?: any): any; undelegateEvents(); @@ -225,10 +237,10 @@ declare module Backbone { // SYNC function sync(method, model, options?: JQueryAjaxSettings); - var emulateHTTP: bool; - var emulateJSONBackbone: bool; + var emulateHTTP: bool; + var emulateJSONBackbone: bool; // Utility function noConflict(): Backbone; function setDomLibrary(jQueryNew); -} \ No newline at end of file +} diff --git a/Definitions/knockback-0.16.d.ts b/Definitions/knockback-0.16.d.ts index f6d3c6b4bb..1d8e13a7d0 100644 --- a/Definitions/knockback-0.16.d.ts +++ b/Definitions/knockback-0.16.d.ts @@ -1,17 +1,11 @@ -// Type definitions for knockback.js 0.16 -// Project: http://backbonejs.org/ -// Definitions: https://github.com/borisyankov/DefinitelyTyped - - -/// +/// /// - declare module Knockback { export interface EventWatcherOptions { - emitter : (newEmitter) => void; - update : (newValue) => void; - event_selector : string; - key? : string; + emitter: (newEmitter) => void; + update: (newValue) => void; + event_selector: string; + key?: string; } export interface FactoryOptions { @@ -30,33 +24,36 @@ declare module Knockback { } export class ViewModel extends Destroyable { - constructor (model? : Backbone.Model , options? : ViewModelOptions, viewModel? : ViewModel ); - shareOptions() : ViewModelOptions; + constructor (model?: Backbone.Model, options?: ViewModelOptions, viewModel?: ViewModel); + shareOptions(): ViewModelOptions; extend(source: any); model(): Backbone.Model; } export class EventWatcher extends Destroyable { - useOptionsOrCreate(options, emitter : KnockoutObservableAny, obj : Backbone.Model, callback_options : any); + static useOptionsOrCreate(options, emitter: KnockoutObservableAny, obj: Backbone.Model, callback_options: any); + emitter(): Backbone.Model; - emitter(newEmitter : Backbone.Model); + emitter(newEmitter: Backbone.Model); registerCallbacks(obj: any, callback_info: any); releaseCallbacks(obj: any); } export class Factory { - constructor (parent_factory : any); - useOptionsOrCreate(options: FactoryOptions, obj: any, owner_path: string); + static useOptionsOrCreate(options: FactoryOptions, obj: any, owner_path: string); + + constructor (parent_factory: any); hasPath(path: string): bool; addPathMapping(path: string, create_info); addPathMappings(factories: any, owner_path: string); - hasPathMappings(factories: any, owner_path: string) : bool; + hasPathMappings(factories: any, owner_path: string): bool; creatorForPath(obj: any, path: string); } export class Store extends Destroyable { + static useOptionsOrCreate(options: StoreOptions, obj: any, observable: KnockoutObservableAny); + constructor (model:Backbone.Model, options: StoreOptions); - useOptionsOrCreate(options: StoreOptions, obj: any, observable: KnockoutObservableAny); clear(); register(obj: Backbone.Model, observable: KnockoutObservableAny, options: StoreOptions); findOrCreate(obj: Backbone.Model, options: StoreOptions); @@ -81,7 +78,7 @@ declare module Knockback { export class TriggeredObservable extends Destroyable { constructor (emitter: Backbone.ModelBase, event: string); - emitter() : Backbone.ModelBase; + emitter(): Backbone.ModelBase; emitter(newEmitter: Backbone.ModelBase); } @@ -92,8 +89,8 @@ declare module Knockback { modelEventsStatsString(); register(key: string, obj: any); unregister(key: string, obj: any); - registeredCount(type: any) : number; - registeredStatsString(success_message: string) : string; + registeredCount(type: any): number; + registeredStatsString(success_message: string): string; } export interface OptionsBase { @@ -123,31 +120,32 @@ declare module Knockback { } export interface CollectionObservable extends KnockoutObservableArray { - collection() : Backbone.Collection; + collection(colleciton: Backbone.Collection); + collection(): Backbone.Collection; destroy(); - shareOptions() : CollectionOptions; + shareOptions(): CollectionOptions; filters(filter: any); comparator(comparatorFunction: any); sortAttribute(attr: string); - viewModelByModel(model: Backbone.Model) : ViewModel; + viewModelByModel(model: Backbone.Model): ViewModel; hasViewModels(): bool; } export interface Utils { - wrappedObservable(obj: any) : any; + wrappedObservable(obj: any): any; wrappedObservable(obj: any, value: any); - wrappedObject(obj: any) : any; + wrappedObject(obj: any): any; wrappedObject(obj: any, value: any); - wrappedModel(obj: any) : any; + wrappedModel(obj: any): any; wrappedModel(obj: any, value: any); - wrappedStore(obj: any) : any; + wrappedStore(obj: any): any; wrappedStore(obj: any, value: any); - wrappedFactory(obj: any) : any; + wrappedFactory(obj: any): any; wrappedFactory(obj: any, value: any); - wrappedEventWatcher(obj: any) : any; + wrappedEventWatcher(obj: any): any; wrappedEventWatcher(obj: any, value: any); wrappedDestroy(obj: any); - valueType(observable: KnockoutObservableAny) : any; + valueType(observable: KnockoutObservableAny): any; pathJoin(path1: string, path2: string): string; optionsPathJoin(options: any, path: string): any; inferCreator(value: any, factory: Factory, path: string, owner: any, key: string); @@ -158,13 +156,13 @@ declare module Knockback { export interface Static extends Utils { collectionObservable(model?: Backbone.Collection, options?: CollectionOptions): CollectionObservable; - observable(model?: Backbone.Model, options?: any) : KnockoutObservableAny; - viewModel(model?: Backbone.Model, options?: any) : KnockoutObservableAny; - defaultObservable(targetObservable: KnockoutObservableAny, defaultValue: any) : KnockoutObservableAny; - formattedObservable(format: string, args: any[]) : KnockoutObservableAny; + observable(model?: Backbone.Model, options?: any): KnockoutObservableAny; + viewModel(model?: Backbone.Model, options?: any): KnockoutObservableAny; + defaultObservable(targetObservable: KnockoutObservableAny, defaultValue: any): KnockoutObservableAny; + formattedObservable(format: string, args: any[]): KnockoutObservableAny; formattedObservable(format: KnockoutObservableAny, args: any[]): KnockoutObservableAny; localizedObservable(data: any, options: any): KnockoutObservableAny; - release(object: any, pre_release?: () => void ); + release(object: any, pre_release?: () => void); releaseKeys(object: any); releaseOnNodeRemove(viewmodel: ViewModel, node: Element); renderTemplate(template: string, viewModel: ViewModel, options: any); diff --git a/Definitions/knockout-2.2.d.ts b/Definitions/knockout-2.2.d.ts index 372d01a206..78e0902c4b 100644 --- a/Definitions/knockout-2.2.d.ts +++ b/Definitions/knockout-2.2.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Knockout 2.2 +// Type definitions for Knockout 2.2 // Project: http://knockoutjs.com // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -267,6 +267,7 @@ interface KnockoutStatic { toJS(viewModel: any): any; isObservable(instance: any): bool; dataFor(node: any): any; + removeNode(node: Element); } declare var ko: KnockoutStatic; \ No newline at end of file