mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
UnderscoreKO generics and mutators
Add support for generics to UnderscoreKO; Add support for mutating versions (same type signature but end with underscore)
This commit is contained in:
Vendored
+81
-55
@@ -6,91 +6,117 @@
|
||||
/// <reference path="../knockout/knockout.d.ts" />
|
||||
/// <reference path="../underscore/underscore.d.ts" />
|
||||
|
||||
interface KnockoutObservableArrayFunctions {
|
||||
interface KnockoutObservableArrayFunctions<T> {
|
||||
|
||||
/****
|
||||
Collections
|
||||
*****/
|
||||
each(iterator: _.ListIterator<any, any>, context?: any): any[];
|
||||
each(iterator: _.ObjectIterator<any, any>, context?: any): any[];
|
||||
forEach(iterator: _.ObjectIterator<any, any>, context?: any): any[];
|
||||
forEach(iterator: _.ListIterator<any, any>, context?: any): any[];
|
||||
each<TResult>(iterator: _.ListIterator<T, TResult>, context?: any): TResult[];
|
||||
each<TResult>(iterator: _.ObjectIterator<T, TResult>, context?: any): TResult[];
|
||||
forEach<TResult>(iterator: _.ObjectIterator<T, TResult>, context?: any): TResult[];
|
||||
forEach<TResult>(iterator: _.ListIterator<T, TResult>, context?: any): TResult[];
|
||||
|
||||
map(iterator: _.ListIterator<any, any>, context?: any): any[];
|
||||
map(iterator: _.ObjectIterator<any, any>, context?: any): any[];
|
||||
collect(iterator: _.ListIterator<any, any>, context?: any): any[];
|
||||
collect(iterator: _.ObjectIterator<any, any>, context?: any): any[];
|
||||
map<TResult>(iterator: _.ListIterator<T, TResult>, context?: any): TResult[];
|
||||
map<TResult>(iterator: _.ObjectIterator<T, TResult>, context?: any): TResult[];
|
||||
collect<TResult>(iterator: _.ListIterator<T, TResult>, context?: any): TResult[];
|
||||
collect<TResult>(iterator: _.ObjectIterator<T, TResult>, context?: any): TResult[];
|
||||
|
||||
reduce(iterator: any, memo: any, context?: any): any;
|
||||
inject(iterator: any, memo: any, context?: any): any;
|
||||
foldl(iterator: any, memo: any, context?: any): any;
|
||||
reduce<TResult>(iterator: _.MemoIterator<T, TResult>, memo: TResult, context?: any): TResult;
|
||||
inject<TResult>(iterator: _.MemoIterator<T, TResult>, memo: TResult, context?: any): TResult;
|
||||
foldl<TResult>(iterator: _.MemoIterator<T, TResult>, memo: TResult, context?: any): TResult;
|
||||
|
||||
reduceRight(iterator: any, memo: any, context?: any): any[];
|
||||
foldr(iterator: any, memo: any, context?: any): any[];
|
||||
reduceRight<TResult>(iterator: _.MemoIterator<T, TResult>, memo: TResult, context?: any): TResult;
|
||||
foldr<TResult>(iterator: _.MemoIterator<T, TResult>, memo: TResult, context?: any): TResult;
|
||||
|
||||
find(iterator: any, context?: any): any;
|
||||
detect(iterator: any, context?: any): any;
|
||||
find(iterator: _.ListIterator<T, boolean>, context?: any): T;
|
||||
detect(iterator: _.ListIterator<T, boolean>, context?: any): T;
|
||||
|
||||
filter(iterator: any, context?: any): any[];
|
||||
select(iterator: any, context?: any): any[];
|
||||
filter(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
filter_(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
select(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
select_(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
|
||||
where(properties: any): any[];
|
||||
where<U extends {}>(properties: U): T[];
|
||||
|
||||
reject(iterator: any, context?: any): any[];
|
||||
reject(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
reject_(iterator: _.ListIterator<T, boolean>, context?: any): T[];
|
||||
|
||||
all(iterator: any, context?: any): bool;
|
||||
every(iterator: any, context?: any): bool;
|
||||
all(iterator: _.ListIterator<T, boolean>, context?: any): bool;
|
||||
every(iterator: _.ListIterator<T, boolean>, context?: any): bool;
|
||||
|
||||
any(iterator?: any, context?: any): bool;
|
||||
some(iterator?: any, context?: any): bool;
|
||||
any(iterator?: _.ListIterator<T, boolean>, context?: any): bool;
|
||||
some(iterator?: _.ListIterator<T, boolean>, context?: any): bool;
|
||||
|
||||
contains(list: any, value: any): bool;
|
||||
contains(value: any): bool;
|
||||
include(list: any, value: any): bool;
|
||||
include(value: any): bool;
|
||||
contains(value: T): bool;
|
||||
include(value: T): bool;
|
||||
|
||||
invoke(methodName: string, arguments: any[]): any;
|
||||
invoke(methodName: string, ...arguments: any[]): any;
|
||||
invoke_(methodName: string, ...arguments: any[]): any;
|
||||
|
||||
pluck(propertyName: string): string[];
|
||||
max(iterator?: any, context?: any): any;
|
||||
min(iterator?: any, context?: any): any;
|
||||
sortBy(iterator?: any, context?: any): any;
|
||||
groupBy(iterator: any): any;
|
||||
countBy(iterator: any): any;
|
||||
shuffle(): any[];
|
||||
pluck(propertyName: string): T[];
|
||||
max(iterator: _.ListIterator<T, any>, context?: any): any;
|
||||
min(iterator: _.ListIterator<T, any>, context?: any): any;
|
||||
sortBy<TSort>(iterator: _.ListIterator<T, TSort>, context?: any): T[];
|
||||
sortBy(iterator: string, context?: any): T[];
|
||||
sortBy_<TSort>(iterator: _.ListIterator<T, TSort>, context?: any): T[];
|
||||
sortBy_(iterator: string, context?: any): T[];
|
||||
groupBy<TSort>(iterator: _.ListIterator<T, TSort>): _.Dictionary<T[]>;
|
||||
groupBy(iterator: string): _.Dictionary<T[]>;
|
||||
groupBy_<TSort>(iterator: _.ListIterator<T, TSort>): _.Dictionary<T[]>;
|
||||
groupBy_(iterator: string): _.Dictionary<T[]>;
|
||||
countBy(iterator: _.ListIterator<T, any>): _.Dictionary<number[]>;
|
||||
countBy(iterator: string): _.Dictionary<number[]>;
|
||||
shuffle(): T[];
|
||||
shuffle_(): T[];
|
||||
size(): number;
|
||||
|
||||
/****
|
||||
Arrays
|
||||
*****/
|
||||
first(n?: number): any;
|
||||
head(n?: number): any;
|
||||
take(n?: number): any;
|
||||
first(): T;
|
||||
first(n: number): T[];
|
||||
head(): T;
|
||||
head(n: number): T[];
|
||||
take(): T;
|
||||
take(n: number): T[];
|
||||
|
||||
initial(n?: number): any[];
|
||||
initial(n?: number): T[];
|
||||
|
||||
last(n?: number): any;
|
||||
last(): T;
|
||||
last(n: number): T[];
|
||||
|
||||
rest(n?: number): any[];
|
||||
tail(n?: number): any[];
|
||||
drop(n?: number): any[];
|
||||
rest(n?: number): T[];
|
||||
rest_(n?: number): T[];
|
||||
tail(n?: number): T[];
|
||||
tail_(n?: number): T[];
|
||||
drop(n?: number): T[];
|
||||
drop_(n?: number): T[];
|
||||
|
||||
compact(): any[];
|
||||
compact(): T[];
|
||||
compact_(): T[];
|
||||
flatten(shallow?: bool): any[];
|
||||
without(...values: any[]): any[];
|
||||
union(...arrays: any[][]): any[];
|
||||
intersection(...arrays: any[][]): any[];
|
||||
difference(...others: any[][]): any[];
|
||||
flatten_(shallow?: bool): any[];
|
||||
without(...values: T[]): T[];
|
||||
without_(...values: T[]): T[];
|
||||
union(...arrays: T[][]): T[];
|
||||
union_(...arrays: T[][]): T[];
|
||||
intersection(...arrays: T[][]): T[];
|
||||
intersection_(...arrays: T[][]): T[];
|
||||
difference(...others: T[][]): T[];
|
||||
difference_(...others: T[][]): T[];
|
||||
|
||||
uniq(isSorted?: bool, iterator?: any): any[];
|
||||
unique(isSorted?: bool, iterator?: any): any[];
|
||||
uniq<TSort>(isSorted?: bool, iterator?: _.ListIterator<T, TSort>): T[];
|
||||
uniq_<TSort>(isSorted?: bool, iterator?: _.ListIterator<T, TSort>): T[];
|
||||
unique<TSort>(isSorted?: bool, iterator?: _.ListIterator<T, TSort>): T[];
|
||||
unique_<TSort>(isSorted?: bool, iterator?: _.ListIterator<T, TSort>): T[];
|
||||
|
||||
zip(...arrays: any[]): any[];
|
||||
object(values?: any[]): any;
|
||||
indexOf(value: any, isSorted?: bool): number;
|
||||
lastIndexOf(value: any, fromIndex?: number): number;
|
||||
sortedIndex(valueL: any, iterator?: any): number;
|
||||
zip_(...arrays: any[]): any[];
|
||||
object(): any;
|
||||
indexOf(value: T, isSorted?: bool): number;
|
||||
lastIndexOf(value: T, fromIndex?: number): number;
|
||||
lastIndexOf(value: T, isSorted?: boolean): number;
|
||||
sortedIndex<TSort>(value: T, iterator?: _.ListIterator<T, TSort>): number;
|
||||
range(stop: number): any[];
|
||||
range(start: number, stop: number, step?: number): any[];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user