njs
njs copied to clipboard
core: generators
> function *g(x) { return x; }
undefined
> var result = g(42);
undefined
> result
Object [Generator] {}
> result.next()
{ value: 42, done: true }
> result.next()
{ value: undefined, done: true }
> function *g(x) { throw new Error(x); }
undefined
> var result = g(42);
undefined
> result
Object [Generator] {}
> result.next()
Uncaught Error: 42
at g (repl:1:24)
at g.next (<anonymous>)
> function *g(x) { while(true) { yield 42; } return undefined; }
undefined
> var result = g(42);
undefined
> result.next()
{ value: 42, done: false }
> result.next()
{ value: 42, done: false }
> function *g(x) { return x + (yield x); }
undefined
> var result = g(42);
undefined
> result.next('whatever')
{ value: 42, done: false }
> result.next(100500)
{ value: 100542, done: true }
> result.next(123)
{ value: undefined, done: true }
Right now this is preventing me from using some graphql client npm packages and few other packages.
For advanced ES6 syntax and above use js_engine qjs.