Files
test-repo/tests/flow/iterable/iterator_result.js
T
Christopher Chedeau 3375cfe605 Move tests around (#454)
* new_tests

* move_all_clobbered_tests

* remove all the tests that no longer exist

* re-run flow tests

* Move all the flow tests to tests/flow and prettier to tests/

* Move prettier tests to their own folders

* Add jsfmt files

* run prettier snapshot tests
2017-01-24 14:35:37 -08:00

30 lines
789 B
JavaScript

/* @flow */
function makeIterator(coin_flip: () => boolean ): Iterator<string> {
return {
"@@iterator"() { return makeIterator(coin_flip); },
next(): IteratorResult<string, void> {
var done = coin_flip();
if (!done) {
return { done, value: "still going..." };
} else {
return { done };
}
}
}
}
function makeIterator(coin_flip: () => boolean ): Iterator<string> {
return {
"@@iterator"() { return makeIterator(coin_flip); },
next(): IteratorResult<string, void> {
var done = coin_flip();
if (done) { // Whoops, made a mistake and forgot to negate done
return { done, value: "still going..." }; // Error string ~> void
} else {
return { done }; // Error void ~> string
}
}
}
}