mirror of
https://github.com/toss/es-toolkit.git
synced 2024-11-27 14:57:44 +03:00
docs(before): Update docs (#682)
* docs(before): Correct JSDoc example * docs(before): Add lodash compatibility section --------- Co-authored-by: Sojin Park <raon0211@toss.im>
This commit is contained in:
parent
8593c6742a
commit
3d7ba7d691
@ -47,3 +47,26 @@ afterFn();
|
|||||||
// '実行されました' がログに出力されます
|
// '実行されました' がログに出力されます
|
||||||
afterFn();
|
afterFn();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Lodash 互換性
|
||||||
|
|
||||||
|
`es-toolkit/compat` から `before` をインポートすると、Lodash と互換になります。
|
||||||
|
|
||||||
|
- `n` が負の場合でもエラーをスローしません。
|
||||||
|
- `func` が関数でない場合はエラーをスローします。
|
||||||
|
- 呼び出し回数が `n` に達するか、それ以上になると、`func` の最後の結果を返します。
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { before } from 'es-toolkit/compat';
|
||||||
|
|
||||||
|
let count = 0;
|
||||||
|
|
||||||
|
const before3 = before(3, () => {
|
||||||
|
console.log('カウントを増やします...');
|
||||||
|
return ++count;
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(before3()); // カウントを増やします... => 1
|
||||||
|
console.log(before3()); // カウントを増やします... => 2
|
||||||
|
console.log(before3()); // => 2
|
||||||
|
```
|
@ -47,3 +47,25 @@ afterFn();
|
|||||||
// '실행됨'을 로깅해요.
|
// '실행됨'을 로깅해요.
|
||||||
afterFn();
|
afterFn();
|
||||||
```
|
```
|
||||||
|
## Lodash와의 호환성
|
||||||
|
|
||||||
|
`es-toolkit/compat`에서 `before`를 가져오면 lodash와 호환돼요.
|
||||||
|
|
||||||
|
- `n`이 음수여도 에러를 던지지 않아요.
|
||||||
|
- `func`가 함수가 아니면 에러를 던져요.
|
||||||
|
- 호출 횟수가 `n`에 도달하거나 초과하면 `func`의 마지막 결과를 반환해요.
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { before } from 'es-toolkit/compat';
|
||||||
|
|
||||||
|
let count = 0;
|
||||||
|
|
||||||
|
const before3 = before(3, () => {
|
||||||
|
console.log('카운트를 증가시켜요...');
|
||||||
|
return ++count;
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(before3()); // 카운트를 증가시켜요... => 1
|
||||||
|
console.log(before3()); // 카운트를 증가시켜요... => 2
|
||||||
|
console.log(before3()); // => 2
|
||||||
|
```
|
@ -48,3 +48,26 @@ beforeFn();
|
|||||||
// Will not log anything.
|
// Will not log anything.
|
||||||
beforeFn();
|
beforeFn();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Lodash Compatibility
|
||||||
|
|
||||||
|
Import `before` from `es-toolkit/compat` for full compatibility with lodash.
|
||||||
|
|
||||||
|
- `before` does not throw an error when `n` is negative.
|
||||||
|
- `before` throws an error if `func` is not a function.
|
||||||
|
- `before` returns the last result of `func` when the number of calls reaches or exceeds `n`.
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { before } from 'es-toolkit/compat';
|
||||||
|
|
||||||
|
let count = 0;
|
||||||
|
|
||||||
|
const before3 = before(3, () => {
|
||||||
|
console.log('Incrementing count...');
|
||||||
|
return ++count;
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(before3()); // Incrementing count... => 1
|
||||||
|
console.log(before3()); // Incrementing count... => 2
|
||||||
|
console.log(before3()); // => 2
|
||||||
|
```
|
@ -48,3 +48,26 @@ beforeFn();
|
|||||||
// 不会打印 anything.
|
// 不会打印 anything.
|
||||||
beforeFn();
|
beforeFn();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Lodash 兼容性
|
||||||
|
|
||||||
|
从 `es-toolkit/compat` 中导入 `before` 以实现与 lodash 的完全兼容。
|
||||||
|
|
||||||
|
- `n` 为负数时不会抛出错误。
|
||||||
|
- 如果 `func` 不是一个函数,会抛出错误。
|
||||||
|
- 当调用次数达到或超过 `n` 时,`before` 返回 `func` 的最后结果。
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { before } from 'es-toolkit/compat';
|
||||||
|
|
||||||
|
let count = 0;
|
||||||
|
|
||||||
|
const before3 = before(3, () => {
|
||||||
|
console.log('正在增加计数...');
|
||||||
|
return ++count;
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(before3()); // 正在增加计数... => 1
|
||||||
|
console.log(before3()); // 正在增加计数... => 2
|
||||||
|
console.log(before3()); // => 2
|
||||||
|
```
|
@ -21,8 +21,7 @@ import { toInteger } from '../util/toInteger.ts';
|
|||||||
*
|
*
|
||||||
* before3(); // => 1
|
* before3(); // => 1
|
||||||
* before3(); // => 2
|
* before3(); // => 2
|
||||||
* before3(); // => 3
|
* before3(); // => 2
|
||||||
* before3(); // => 3
|
|
||||||
*/
|
*/
|
||||||
export function before<F extends (...args: any[]) => any>(
|
export function before<F extends (...args: any[]) => any>(
|
||||||
n: number,
|
n: number,
|
||||||
|
Loading…
Reference in New Issue
Block a user