mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Add more overloads of knockout-transformations map
Not yet documented (see One-com/knockout-transformations#5), derived by studying the code (https://github.com/One-com/knockout-transformations/blob/master/lib/map.js)
This commit is contained in:
parent
fe39944e4d
commit
ea43bdc3d3
@ -161,3 +161,46 @@ var indexedTexts: KnockoutObservable<{ [suffixOrPrefix: string]: string[] }> = t
|
||||
// z: ['baz'],
|
||||
// x: ['qux', 'quux']
|
||||
// }
|
||||
|
||||
|
||||
(() => {
|
||||
var sourceItems: KnockoutObservableArray<number> = ko.observableArray([1, 2, 3, 4, 5]);
|
||||
var asString: KnockoutObservableArray<string>;
|
||||
|
||||
asString = sourceItems.map((x: number) => x.toString());
|
||||
|
||||
asString = sourceItems.map<string>({
|
||||
mapping: (x: number) => x.toString(),
|
||||
});
|
||||
|
||||
asString = sourceItems.map<string>({
|
||||
mapping: (x: number) => x.toString(),
|
||||
disposeItem: (x: string) => console.log('disposing map to', x),
|
||||
});
|
||||
|
||||
asString = sourceItems.map<string>({
|
||||
mappingWithDisposeCallback: (x: number) => ({
|
||||
mappedValue: x.toString(),
|
||||
dispose: () => console.log('disposing map from', x),
|
||||
}),
|
||||
});
|
||||
|
||||
asString = sourceItems.map(x => x.toString());
|
||||
|
||||
asString = sourceItems.map({
|
||||
mapping: x => x.toString(),
|
||||
});
|
||||
|
||||
asString = sourceItems.map<string>({
|
||||
mapping: x => x.toString(),
|
||||
disposeItem: x => console.log('disposing map to', x),
|
||||
});
|
||||
|
||||
asString = sourceItems.map({
|
||||
mappingWithDisposeCallback: x => ({
|
||||
mappedValue: x.toString(),
|
||||
dispose: () => console.log('disposing map from', x),
|
||||
}),
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@ -5,8 +5,27 @@
|
||||
|
||||
/// <reference path="../knockout/knockout.d.ts" />
|
||||
|
||||
declare module KnockoutTransformations {
|
||||
interface Mapping<T, TResult> {
|
||||
(value: T): TResult;
|
||||
}
|
||||
interface MappingOption<T, TResult> {
|
||||
mapping: Mapping<T, TResult>;
|
||||
disposeItem?: (item: TResult) => void;
|
||||
}
|
||||
interface MappingWithDisposeCallbackOption<T, TResult> {
|
||||
mappingWithDisposeCallback: (value: T) => {
|
||||
mappedValue: TResult;
|
||||
dispose: () => void;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
interface KnockoutObservableArrayFunctions<T> {
|
||||
map<TResult>(mapping: (value: T) => TResult): KnockoutObservableArray<TResult>;
|
||||
map<TResult>(mapping: KnockoutTransformations.Mapping<T, TResult>): KnockoutObservableArray<TResult>;
|
||||
map<TResult>(mapping: KnockoutTransformations.MappingOption<T, TResult>): KnockoutObservableArray<TResult>;
|
||||
map<TResult>(mapping: KnockoutTransformations.MappingWithDisposeCallbackOption<T, TResult>): KnockoutObservableArray<TResult>;
|
||||
|
||||
filter(predicate: (value: T) => boolean): KnockoutObservableArray<T>;
|
||||
sortBy(sorter: (value: T, descending: (sorter: any) => any) => any): KnockoutObservableArray<T>;
|
||||
indexBy(indexer: (value: T) => string): KnockoutObservable<{ [index: string]: T[] }>;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user