File manager - Edit - /usr/local/lib/node_modules/ghost-cli/node_modules/rxjs/src/internal/operators/throwIfEmpty.ts
Back
import { EmptyError } from '../util/EmptyError'; import { MonoTypeOperatorFunction } from '../types'; import { operate } from '../util/lift'; import { OperatorSubscriber } from './OperatorSubscriber'; /** * If the source observable completes without emitting a value, it will emit * an error. The error will be created at that time by the optional * `errorFactory` argument, otherwise, the error will be {@link EmptyError}. * *  * * ## Example * ```ts * import { fromEvent, timer } from 'rxjs'; * import { throwIfEmpty, takeUntil } from 'rxjs/operators'; * * const click$ = fromEvent(document, 'click'); * * click$.pipe( * takeUntil(timer(1000)), * throwIfEmpty( * () => new Error('the document was not clicked within 1 second') * ), * ) * .subscribe({ * next() { console.log('The button was clicked'); }, * error(err) { console.error(err); } * }); * ``` * * @param errorFactory A factory function called to produce the * error to be thrown when the source observable completes without emitting a * value. * @return A function that returns an Observable that throws an error if the * source Observable completed without emitting. */ export function throwIfEmpty<T>(errorFactory: () => any = defaultErrorFactory): MonoTypeOperatorFunction<T> { return operate((source, subscriber) => { let hasValue = false; source.subscribe( new OperatorSubscriber( subscriber, (value) => { hasValue = true; subscriber.next(value); }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory())) ) ); }); } function defaultErrorFactory() { return new EmptyError(); }
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings