| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * This function takes one parameter and just returns it. Simply put,
- * this is like `<T>(x: T): T => x`.
- *
- * ## Examples
- *
- * This is useful in some cases when using things like `mergeMap`
- *
- * ```ts
- * import { interval, take, map, range, mergeMap, identity } from 'rxjs';
- *
- * const source$ = interval(1000).pipe(take(5));
- *
- * const result$ = source$.pipe(
- * map(i => range(i)),
- * mergeMap(identity) // same as mergeMap(x => x)
- * );
- *
- * result$.subscribe({
- * next: console.log
- * });
- * ```
- *
- * Or when you want to selectively apply an operator
- *
- * ```ts
- * import { interval, take, identity } from 'rxjs';
- *
- * const shouldLimit = () => Math.random() < 0.5;
- *
- * const source$ = interval(1000);
- *
- * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);
- *
- * result$.subscribe({
- * next: console.log
- * });
- * ```
- *
- * @param x Any value that is returned by this function
- * @returns The value passed as the first parameter to this function
- */
- export function identity<T>(x: T): T {
- return x;
- }
|