diff --git a/src/LinkedList.ts b/src/LinkedList.ts index 6de7f92..b6d41e4 100644 --- a/src/LinkedList.ts +++ b/src/LinkedList.ts @@ -48,8 +48,10 @@ export class LinkedListStatic { /** * Create a LinkedList with the elements you give. */ - of(elt:T,...elts:T[]): ConsLinkedList { - return new ConsLinkedList(elt, LinkedList.ofIterable(elts)); + of(elt: T, ...elts:T[]): ConsLinkedList; + of(...elts:T[]): LinkedList; + of(...elts:T[]): LinkedList { + return LinkedList.ofIterable(elts); } /** diff --git a/src/Stream.ts b/src/Stream.ts index 756f962..a90eb7f 100644 --- a/src/Stream.ts +++ b/src/Stream.ts @@ -54,8 +54,10 @@ export class StreamStatic { /** * Create a Stream with the elements you give. */ - of(elt: T, ...elts:T[]): ConsStream { - return new ConsStream(elt, Lazy.of(()=>Stream.ofIterable(elts))); + of(elt:T, ...elts:T[]): ConsStream; + of(...elts:T[]): Stream; + of(...elts:T[]): Stream { + return Stream.ofIterable(elts); } /** diff --git a/tests/Seq.ts b/tests/Seq.ts index 0f49b42..ce232ea 100644 --- a/tests/Seq.ts +++ b/tests/Seq.ts @@ -24,6 +24,8 @@ export function runTests(seqName: string, const nonEmptySeqName = nonEmptySeqName_ || seqName; CollectionTest.runTests(seqName, of, empty); describe(seqName + " creation", () => { + it("handles of() without parameters ok", () => assert.deepEqual( + [], of().toArray())); it("creates from a JS array", () => assert.deepEqual( ["a","b", "c"], ofIterable(["a","b","c"]).toArray()));