when() function
첫 번째 인자의 조건에 따라 원래 값을 반환하거나 두 번째 인자로 전달된 함수를 실행한 결과를 반환합니다.
Signature:
typescript
declare function when<T, S extends T, R>(
predicate: (input: T) => input is S,
callback: (input: S) => R,
): (a: T) => R | Exclude<T, S>;Example
typescript
when(
isNumber,
() => `This is number`
100,
); // This is numberwith pipe
typescript
pipe(
100,
when(isNumber, () => `This is number`),
); // This is number
pipe(
100,
when(isNumber, (value) => value * 2),
); // 200
pipe(
100,
when(
isString,
() => `This is number`, // not work
),
); // 100