public function emit($value = null): \Generator
    {
        if (null === $this->emit) {
            $this->emit = (yield $this->started);
        }

        $emit = $this->emit;
        return yield from $emit($value);
    }
public function emit($value = null): \Generator
    {
        if (null === $this->emit) {
            $this->emit = (yield $this->started);
        }

        $emit = $this->emit;
        return yield from $emit($value);
    }
public function emit ( $ value = null ) : \ Generator { if ( null === $ this -> emit ) { $ this -> emit = ( yield $ this -> started ) ; } $ emit = $ this -> emit ; return yield from $ emit ( $ value ) ; }
Emits a value from the contained Emitter object.

@coroutine

@param mixed $value If $value is an instance of \Icicle\Awaitable\Awaitable, the fulfillment value is used
as the value to emit or the rejection reason is thrown from this coroutine. If $value is an instance of
\Generator, it is used to create a coroutine which is then used as an awaitable.

@return \Generator

@resolve mixed The emitted value (the resolution value of $value)

@throws \Icicle\Observable\Exception\CompletedError If the observable has been completed.
@throws \Icicle\Observable\Exception\DisposedException If no listeners remain on the observable.
Emits a value from the contained Emitter object .