Skip to content

when

Cria uma função que executa uma ação somente se o predicado for verdadeiro.

Sintaxe

typescript
when<T extends (...args: any) => any>(
  predicate: (...args: any) => boolean,
  action: T
): (...args: Parameters<T>) => ReturnType<T> | undefined

Parâmetros

NomeTipoDescrição
predicate(...args: any) => booleanFunção que determina se a ação será executada.
actionTFunção a ser executada se o predicado retornar verdadeiro.

Retorno

TipoDescrição
(...args: Parameters<T>) => ReturnType<T> | undefinedFunção que executa a ação apenas se o predicado for verdadeiro, caso contrário retorna undefined.

Exemplo

typescript
const isPositive = (x: number) => x > 0;
const logIfPositive = when(isPositive, x => console.log(x));
logIfPositive(5); // imprime 5
logIfPositive(-2); // não faz nada

Notas

  • Lança um TypeError se predicate ou action não forem funções.
  • Útil para controle condicional de execução de funções.

Referências

Released under the MIT License.