created new Stream.Map interface, fixing build failures

This commit is contained in:
Bence Eros
2015-06-16 19:38:51 +02:00
parent d307a6399b
commit 7ff6577114
2 changed files with 14 additions and 9 deletions
+5 -5
View File
@@ -1,4 +1,4 @@
// <reference file="streamjs.d.ts" />
/// <reference path="streamjs.d.ts" />
var numStream: Stream<number>;
numStream = Stream.of(1, 2, 3);
@@ -12,11 +12,11 @@ Stream.generate(() => 1);
numStream = Stream.iterate(1, (n) => n * 2);
var comparator = (s1, s2) => 0;
var comparator = (s1: string, s2: string) => 0;
numStream = numStream.filter(n => n % 2 == 0);
var strStream = numStream
.dropWhile((n) => n % 2 == 0)
.dropWhile((n: number) => n % 2 == 0)
.map(n => "number " + n)
.dropWhile(/^$/)
.limit(100)
@@ -77,7 +77,7 @@ class MyList {
var elems: any[];
var myStream = Stream.from([new MyList, new MyList]);
var myStream: Stream<MyList> = Stream.from([new MyList, new MyList]);
elems = myStream
.flatMap(list => list.elems)
.toArray();
@@ -102,7 +102,7 @@ groupingResult = myStream.groupingBy(lst => lst.name);
groupingResult = myStream.groupBy("name");
groupingResult = myStream.groupingBy("name");
var mappingResult = myStream.toMap(lst => lst.name, (e1, e2) => e2);
var mappingResult = myStream.toMap((lst) => lst.name, (e1: MyList, e2: MyList) => e2);
var aMappingResult: MyList = mappingResult["a"];
mappingResult = myStream.toMap("a");
+9 -4
View File
@@ -40,7 +40,7 @@ declare class Stream<T> {
groupBy(path: string): Stream.GroupingResult<T>;
groupingBy(mapper: Stream.Function<T, string>): Stream.GroupingResult<T>;
groupingBy(path: string): Stream.GroupingResult<T>;
indexBy(keyMapper: Stream.Function<T, string>, mergeFunction?: Stream.Accumulator<T>): T[];
indexBy(keyMapper: Stream.Function<T, string>, mergeFunction?: Stream.Accumulator<T>): Stream.Map<T>;
map <U> (mapper: Stream.Function<T, U>): Stream<U>;
max(): Stream.Optional<T>;
max(comparator: Stream.Comparator<T>): Stream.Optional<T>;
@@ -80,7 +80,7 @@ declare class Stream<T> {
sort(path: string): Stream<T>;
shuffle(): Stream<T>;
skip(n: number): Stream<T>;
slice(begin, end): Stream<T>;
slice(begin: number, end: number): Stream<T>;
sum(): number;
sum(path: string): number;
takeWhile(predicate: Stream.Predicate<T>): Stream<T>;
@@ -88,12 +88,17 @@ declare class Stream<T> {
takeWhile(sample: Stream.Sample): Stream<T>;
toArray(): T[];
toList(): T[];
toMap(keyMapper: Stream.Function<T, string>, mergeFunction?: Stream.Accumulator<T>): T[];
toMap(path: string, mergeFunction?: Stream.Accumulator<T>): T[];
toMap(keyMapper: Stream.Function<T, string>, mergeFunction?: Stream.Accumulator<T>): Stream.Map<T>;
toMap(path: string, mergeFunction?: Stream.Accumulator<T>): Stream.Map<T>;
}
declare module Stream {
export interface Map<T> {
[index: string]: T
}
export interface Sample {
[index: string]: any
}