Merge branch 'knockout.rx'

This commit is contained in:
Igor Oleinikov
2013-10-30 12:22:32 +04:00
3 changed files with 45 additions and 3 deletions

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");

26
knockout.rx/knockout.rx.d.ts vendored Normal file
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>;
}
}

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;
@@ -92,6 +93,9 @@ interface KnockoutObservableStatic {
}
interface KnockoutObservable<T> extends KnockoutSubscribable<T>, KnockoutObservableFunctions<T> {
(): T;
(value: T): void;
peek(): T;
valueHasMutated(): void;
valueWillMutate(): void;