From 7ff6577114c2c9e3354b302684dc87abc583c308 Mon Sep 17 00:00:00 2001 From: Bence Eros Date: Tue, 16 Jun 2015 19:38:51 +0200 Subject: [PATCH] created new Stream.Map interface, fixing build failures --- streamjs/streamjs-tests.ts | 10 +++++----- streamjs/streamjs.d.ts | 13 +++++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/streamjs/streamjs-tests.ts b/streamjs/streamjs-tests.ts index ba989f447..f911c8f52 100644 --- a/streamjs/streamjs-tests.ts +++ b/streamjs/streamjs-tests.ts @@ -1,4 +1,4 @@ -// +/// var numStream: Stream; 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 = 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"); diff --git a/streamjs/streamjs.d.ts b/streamjs/streamjs.d.ts index e36dcca23..59d8019f3 100644 --- a/streamjs/streamjs.d.ts +++ b/streamjs/streamjs.d.ts @@ -40,7 +40,7 @@ declare class Stream { groupBy(path: string): Stream.GroupingResult; groupingBy(mapper: Stream.Function): Stream.GroupingResult; groupingBy(path: string): Stream.GroupingResult; - indexBy(keyMapper: Stream.Function, mergeFunction?: Stream.Accumulator): T[]; + indexBy(keyMapper: Stream.Function, mergeFunction?: Stream.Accumulator): Stream.Map; map (mapper: Stream.Function): Stream; max(): Stream.Optional; max(comparator: Stream.Comparator): Stream.Optional; @@ -80,7 +80,7 @@ declare class Stream { sort(path: string): Stream; shuffle(): Stream; skip(n: number): Stream; - slice(begin, end): Stream; + slice(begin: number, end: number): Stream; sum(): number; sum(path: string): number; takeWhile(predicate: Stream.Predicate): Stream; @@ -88,12 +88,17 @@ declare class Stream { takeWhile(sample: Stream.Sample): Stream; toArray(): T[]; toList(): T[]; - toMap(keyMapper: Stream.Function, mergeFunction?: Stream.Accumulator): T[]; - toMap(path: string, mergeFunction?: Stream.Accumulator): T[]; + toMap(keyMapper: Stream.Function, mergeFunction?: Stream.Accumulator): Stream.Map; + toMap(path: string, mergeFunction?: Stream.Accumulator): Stream.Map; } declare module Stream { + export interface Map { + [index: string]: T + } + + export interface Sample { [index: string]: any }