Skip to content

Commit

Permalink
fix(pick, omit): Restrict the type of arguments in object utils (#35)
Browse files Browse the repository at this point in the history
* feat: change object utils type def

Co-authored-by: 김관식 <39869096+gwansikk@users.noreply.github.com>

* docs: modify object utils docs

---------

Co-authored-by: 김관식 <39869096+gwansikk@users.noreply.github.com>
  • Loading branch information
juno7803 and gwansikk authored Jun 12, 2024
1 parent 6ec3093 commit 79ce446
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion docs/ko/reference/object/omit.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
## 인터페이스

```typescript
function omit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
```

### 파라미터
Expand Down
2 changes: 1 addition & 1 deletion docs/ko/reference/object/pick.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
## 인터페이스

```typescript
function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
```

### 파라미터
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/object/omit.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ excludes the properties corresponding to the specified keys.
## Signature

```typescript
function omit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
```

### Parameters
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/object/pick.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ includes only the properties corresponding to the specified keys.
## Signature

```typescript
function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
```

### Parameters
Expand Down
2 changes: 1 addition & 1 deletion src/object/omit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* const result = omit(obj, ['b', 'c']);
* // result will be { a: 1 }
*/
export function omit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> {
export function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> {
const result = { ...obj };

for (const key of keys) {
Expand Down
2 changes: 1 addition & 1 deletion src/object/pick.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* const result = pick(obj, ['a', 'c']);
* // result will be { a: 1, c: 3 }
*/
export function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {
export function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {
const result = {} as Pick<T, K>;

for (const key of keys) {
Expand Down

0 comments on commit 79ce446

Please sign in to comment.