diff --git a/streamjs/README.md b/streamjs/README.md new file mode 100644 index 000000000..ae3fcfc97 --- /dev/null +++ b/streamjs/README.md @@ -0,0 +1,22 @@ +# StreamJS Type Definitions + +Unsupported StreamJS function / method signatures: + * Stream(collection) + * Stream(string) + * Stream.empty() + * filter(sample) + * map(path) + * flatMap(path) + * sorted(path) + * takeWhile(sample) + * dropWhile(sample) + * min(path) + * max(path) + * sum(path) + * average(path) + * allMatch(sample) + * anyMatch(sample) + * groupingBy(path) + * toMap(path, mergeFunction) + * partitioningBy(sample); + * Optional.empty() diff --git a/streamjs/streamjs-tests.ts b/streamjs/streamjs-tests.ts index 083940311..c5f1ea862 100644 --- a/streamjs/streamjs-tests.ts +++ b/streamjs/streamjs-tests.ts @@ -1,11 +1,9 @@ // var numStream: Stream; -// numStream = Stream.make(10, 20); -numStream = Stream.make([10, 20]); +numStream = Stream.of(1, 2, 3); numStream = Stream.range(1, 5); numStream = Stream.rangeClosed(1, 5); -// numStream = Stream.empty(); Stream.generate(function() { return 1; @@ -37,7 +35,9 @@ var strStream = numStream ; var strArray = strStream.toArray(); - +strArray = strStream.toList(); +strStream.each(s => console.log(s)); +strStream.filter(/^$/); strStream.forEach(s => console.log(s)); var opt: Stream.Optional = strStream.findFirst(); opt = strStream.findAny(); diff --git a/streamjs/streamjs.d.ts b/streamjs/streamjs.d.ts index 3b82680df..17889ff2f 100644 --- a/streamjs/streamjs.d.ts +++ b/streamjs/streamjs.d.ts @@ -6,6 +6,7 @@ declare class Stream { // static make (...elems: T[]): Stream; static make (elems: T[]): Stream; + static of(...elems: T[]): Stream; static range (startInclusive: number, endExclusive: number): Stream; static rangeClosed (startInclusive: number, endInclusive: number): Stream; static generate (supplier: Stream.Supplier): Stream; @@ -23,7 +24,9 @@ declare class Stream { distinct(): Stream; dropWhile(predicate: Stream.Predicate): Stream; dropWhile(regexp: RegExp): Stream; + each(consumer: Stream.Consumer): void; filter(predicate: Stream.Predicate): Stream; + filter(regexp: RegExp): Stream; findAny(): Stream.Optional; findFirst(): Stream.Optional; forEach(consumer: Stream.Consumer): void; @@ -69,6 +72,7 @@ declare class Stream { takeWhile(predicate: Stream.Predicate): Stream; takeWhile(regexp: RegExp): Stream; toArray(): T[]; + toList(): T[]; toMap(keyMapper: Stream.Function, mergeFunction?: Stream.Accumulator): T[]; }