forked from jchomaz/Vulture
Tracking de l'application VApp (IHM du jeu)
This commit is contained in:
75
VApp/node_modules/rxjs/src/internal/operators/finalize.ts
generated
vendored
Normal file
75
VApp/node_modules/rxjs/src/internal/operators/finalize.ts
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
import { MonoTypeOperatorFunction } from '../types';
|
||||
import { operate } from '../util/lift';
|
||||
|
||||
/**
|
||||
* Returns an Observable that mirrors the source Observable, but will call a specified function when
|
||||
* the source terminates on complete or error.
|
||||
* The specified function will also be called when the subscriber explicitly unsubscribes.
|
||||
*
|
||||
* ## Examples
|
||||
*
|
||||
* Execute callback function when the observable completes
|
||||
*
|
||||
* ```ts
|
||||
* import { interval, take, finalize } from 'rxjs';
|
||||
*
|
||||
* // emit value in sequence every 1 second
|
||||
* const source = interval(1000);
|
||||
* const example = source.pipe(
|
||||
* take(5), //take only the first 5 values
|
||||
* finalize(() => console.log('Sequence complete')) // Execute when the observable completes
|
||||
* );
|
||||
* const subscribe = example.subscribe(val => console.log(val));
|
||||
*
|
||||
* // results:
|
||||
* // 0
|
||||
* // 1
|
||||
* // 2
|
||||
* // 3
|
||||
* // 4
|
||||
* // 'Sequence complete'
|
||||
* ```
|
||||
*
|
||||
* Execute callback function when the subscriber explicitly unsubscribes
|
||||
*
|
||||
* ```ts
|
||||
* import { interval, finalize, tap, noop, timer } from 'rxjs';
|
||||
*
|
||||
* const source = interval(100).pipe(
|
||||
* finalize(() => console.log('[finalize] Called')),
|
||||
* tap({
|
||||
* next: () => console.log('[next] Called'),
|
||||
* error: () => console.log('[error] Not called'),
|
||||
* complete: () => console.log('[tap complete] Not called')
|
||||
* })
|
||||
* );
|
||||
*
|
||||
* const sub = source.subscribe({
|
||||
* next: x => console.log(x),
|
||||
* error: noop,
|
||||
* complete: () => console.log('[complete] Not called')
|
||||
* });
|
||||
*
|
||||
* timer(150).subscribe(() => sub.unsubscribe());
|
||||
*
|
||||
* // results:
|
||||
* // '[next] Called'
|
||||
* // 0
|
||||
* // '[finalize] Called'
|
||||
* ```
|
||||
*
|
||||
* @param {function} callback Function to be called when source terminates.
|
||||
* @return A function that returns an Observable that mirrors the source, but
|
||||
* will call the specified function on termination.
|
||||
*/
|
||||
export function finalize<T>(callback: () => void): MonoTypeOperatorFunction<T> {
|
||||
return operate((source, subscriber) => {
|
||||
// TODO: This try/finally was only added for `useDeprecatedSynchronousErrorHandling`.
|
||||
// REMOVE THIS WHEN THAT HOT GARBAGE IS REMOVED IN V8.
|
||||
try {
|
||||
source.subscribe(subscriber);
|
||||
} finally {
|
||||
subscriber.add(callback);
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user