when() function
最初の引数の条件に基づいて元の値、または 2 番目の引数として渡された関数の実行結果を返します。
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