diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/operators/dematerialize.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/operators/dematerialize.ts | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/node_modules/rxjs/src/internal/operators/dematerialize.ts b/node_modules/rxjs/src/internal/operators/dematerialize.ts deleted file mode 100644 index 3a4e17f..0000000 --- a/node_modules/rxjs/src/internal/operators/dematerialize.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { observeNotification } from '../Notification'; -import { OperatorFunction, ObservableNotification, ValueFromNotification } from '../types'; -import { operate } from '../util/lift'; -import { createOperatorSubscriber } from './OperatorSubscriber'; - -/** - * Converts an Observable of {@link ObservableNotification} objects into the emissions - * that they represent. - * - * <span class="informal">Unwraps {@link ObservableNotification} objects as actual `next`, - * `error` and `complete` emissions. The opposite of {@link materialize}.</span> - * - *  - * - * `dematerialize` is assumed to operate an Observable that only emits - * {@link ObservableNotification} objects as `next` emissions, and does not emit any - * `error`. Such Observable is the output of a `materialize` operation. Those - * notifications are then unwrapped using the metadata they contain, and emitted - * as `next`, `error`, and `complete` on the output Observable. - * - * Use this operator in conjunction with {@link materialize}. - * - * ## Example - * - * Convert an Observable of Notifications to an actual Observable - * - * ```ts - * import { NextNotification, ErrorNotification, of, dematerialize } from 'rxjs'; - * - * const notifA: NextNotification<string> = { kind: 'N', value: 'A' }; - * const notifB: NextNotification<string> = { kind: 'N', value: 'B' }; - * const notifE: ErrorNotification = { kind: 'E', error: new TypeError('x.toUpperCase is not a function') }; - * - * const materialized = of(notifA, notifB, notifE); - * - * const upperCase = materialized.pipe(dematerialize()); - * upperCase.subscribe({ - * next: x => console.log(x), - * error: e => console.error(e) - * }); - * - * // Results in: - * // A - * // B - * // TypeError: x.toUpperCase is not a function - * ``` - * - * @see {@link materialize} - * - * @return A function that returns an Observable that emits items and - * notifications embedded in Notification objects emitted by the source - * Observable. - */ -export function dematerialize<N extends ObservableNotification<any>>(): OperatorFunction<N, ValueFromNotification<N>> { - return operate((source, subscriber) => { - source.subscribe(createOperatorSubscriber(subscriber, (notification) => observeNotification(notification, subscriber))); - }); -} |
