Skip to content

Commit 7a2c8cc

Browse files
authored
fix: typescript typings being rewritten on return (#83)
1 parent eb98e4c commit 7a2c8cc

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

__tests__/index.test.ts

+10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import removeUndefinedObjects from '../src';
22

3+
describe('typings', () => {
4+
it('should not blow away typings from supplied objects', () => {
5+
const obj: { key: string } = removeUndefinedObjects({
6+
key: 'buster',
7+
});
8+
9+
expect(obj).toBeDefined();
10+
});
11+
});
12+
313
test('should leave primitives alone', () => {
414
expect(removeUndefinedObjects(1234)).toBe(1234);
515
expect(removeUndefinedObjects('1234')).toBe('1234');

src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function stripEmptyObjects(obj: any) {
5757
return cleanObj.filter(el => el !== undefined);
5858
}
5959

60-
export default function removeUndefinedObjects(obj?: unknown) {
60+
export default function removeUndefinedObjects<T>(obj?: T): T {
6161
if (obj === undefined) {
6262
return undefined;
6363
}

0 commit comments

Comments
 (0)