Skip to content

Commit e23814e

Browse files
simonepizzamiglioSimone Pizzamiglio
andauthored
fix(types): export function definition types (#65)
* export function definition types * add more tests --------- Co-authored-by: Simone Pizzamiglio <[email protected]>
1 parent 9404b13 commit e23814e

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

types/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ interface Options {
7272
type DeepmergeConstructor = typeof deepmerge
7373

7474
declare namespace deepmerge {
75-
export { Options }
75+
export { Options, DeepMergeFn, DeepMergeAllFn }
7676
export const deepmerge: DeepmergeConstructor
7777
export { deepmerge as default }
7878
}

types/index.test-d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import { expectAssignable, expectError, expectType } from 'tsd'
2-
import { deepmerge } from '.'
2+
import { deepmerge, type DeepMergeFn, type DeepMergeAllFn } from '.'
3+
4+
expectAssignable<Function>(deepmerge())
5+
expectType<DeepMergeFn>(deepmerge())
36

47
expectType<string>(deepmerge()({ a: 'a' }, { b: 'b' }).a)
58
expectType<string>(deepmerge()({ a: 'a' }, { b: 'b' }).b)
@@ -12,6 +15,7 @@ expectError(deepmerge({ symbols: 2 }))
1215
expectError(deepmerge({ symbol: 2 }))
1316

1417
expectAssignable<Function>(deepmerge({ symbols: true }))
18+
expectType<DeepMergeFn>(deepmerge({ symbols: true }))
1519

1620
expectType<string>(deepmerge()('string', { a: 'string' }).a)
1721
expectType<string>(deepmerge()(1, { a: 'string' }).a)
@@ -44,7 +48,9 @@ expectType<Date>(deepmerge()({ a: { b: {} } }, new Date()))
4448
expectType<Map<any, any>>(deepmerge()({ a: { b: {} } }, new Map()))
4549

4650
expectAssignable<Function>(deepmerge({ all: true }))
51+
expectType<DeepMergeAllFn>(deepmerge({ all: true }))
4752
expectAssignable<Function>(deepmerge({ all: true, symbols: true }))
53+
expectType<DeepMergeAllFn>(deepmerge({ all: true, symbols: true }))
4854
expectType<string>(deepmerge({ all: true, symbols: true })({ a: 'a' }).a)
4955
expectType<string>(deepmerge({ all: true, symbols: true })({ a: 'a' }, { b: 'a' }).a)
5056
expectType<string>(deepmerge({ all: true, symbols: true })({ a: 'a' }, { b: 'a' }).b)

0 commit comments

Comments
 (0)