Merge pull request #1203 from Igorbek/master

Minor changes in knockout; Added knockout.rx definitions
This commit is contained in:
basarat
2013-11-05 16:03:03 -08:00
5 changed files with 47 additions and 3 deletions
+12
View File
@@ -0,0 +1,12 @@
/// <reference path="knockout.rx.d.ts"/>
var ax: Rx.IObservable<number>;
var ao = ax.toKoObservable();
ao(100);
ao.getSubscriptionsCount();
ao.toObservable();
ao.toObservable("change");
ao.toObservable<Error>("error");
@@ -0,0 +1 @@
""
+26
View File
@@ -0,0 +1,26 @@
// Type definitions for knockout.rx 0.1
// Project: https://github.com/Igorbek/knockout.rx
// Definitions by: Igor Oleinikov <https://github.com/Igorbek>
/// <reference path="../knockout/knockout.d.ts"/>
/// <reference path="../rx.js/rx.js.d.ts"/>
interface KnockoutSubscribableFunctions<T> {
toObservable(event?: string): Rx.IObservable<T>;
toObservable<TEvent>(event: string): Rx.IObservable<TEvent>;
}
interface KnockoutObservableFunctions<T> {
toObservableWithReplyLatest(): Rx.IObservable<T>;
}
interface KnockoutComputedFunctions<T> {
toObservableWithReplyLatest(): Rx.IObservable<T>;
}
declare module Rx {
interface IObservable<T> {
toKoSubscribable(): KnockoutSubscribable<T>;
toKoObservable(initialValue?: T): KnockoutObservable<T>;
}
}
+1
View File
@@ -0,0 +1 @@
""
+7 -3
View File
@@ -52,10 +52,8 @@ interface KnockoutSubscription {
}
interface KnockoutSubscribable<T> extends KnockoutSubscribableFunctions<T> {
(): T;
(value: T): void;
subscribe(callback: (newValue: T) => void, target?: any, event?: string): KnockoutSubscription;
subscribe<TEvent>(callback: (newValue: TEvent) => void, target: any, event: string): KnockoutSubscription;
extend(requestedExtenders: { [key: string]: any; }): KnockoutSubscribable<T>;
getSubscriptionsCount(): number;
}
@@ -70,6 +68,9 @@ interface KnockoutComputedStatic {
}
interface KnockoutComputed<T> extends KnockoutSubscribable<T>, KnockoutComputedFunctions<T> {
(): T;
(value: T): void;
peek(): T;
dispose(): void;
isActive(): boolean;
@@ -94,6 +95,9 @@ interface KnockoutObservableStatic {
}
interface KnockoutObservable<T> extends KnockoutSubscribable<T>, KnockoutObservableFunctions<T> {
(): T;
(value: T): void;
peek(): T;
valueHasMutated(): void;
valueWillMutate(): void;