rxjs / 7.5.5 / api / index / function / identity.html /

identity

function stable

This function takes one parameter and just returns it. Simply put, this is like <T>(x: T): T => x.

identity<T>(x: T): T

Parameters

x T

Any value that is returned by this function

Returns

T: The value passed as the first parameter to this function

Description

Examples

This is useful in some cases when using things like mergeMap

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

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
});

© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/index/function/identity