-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathknockout.d.ts
More file actions
66 lines (52 loc) · 1.4 KB
/
knockout.d.ts
File metadata and controls
66 lines (52 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//TypeScript definitions for Knockout.js
interface Knockout
{
applyBindings(model: any);
applyBindings(model: any,element:HTMLElement);
// observables
observable(any): Observable;
// computed observables
computed(computeFunction: () => any): ComputedObservable;
computed(computeFunctions: {
read: () => any;
write?: (any) => void;
owner?: any;
deferEvaluation?: bool;
disposeWhen?: () => bool;
disposeWhenNodeIsRemoved?: bool;
});
// observable array
observableArray(): ObservableArray;
observableArray(intialArray: Array) : ObservableArray;
// test functions
isObservable(test: Observable): bool;
isWritableObservable(test: Observable): bool;
toJSON(item: Observable): string;
toJS(item: Observable): any;
mapping: KnockoutMapping;
}
interface KnockoutMapping {
toJS(model:Observable):any;
fromJS(data: any, model: Observable);
fromJS(data: any):any;
}
interface Observable
{
(any) : void;
() : any;
subscribe(eventHandler: (e: any) => void) : Subscription;
}
interface ComputedObservable extends Observable {
}
interface ObservableArray extends Observable, Array {
(): Array;
// additional functions
remove(item: any): Array;
remove(itemTest: (item: any) => bool): Array;
removeAll(): Array;
removeAll(items: Array): Array;
}
interface Subscription{
dispose();
}
declare var ko : Knockout;