Skip to content

Commit e5a48d3

Browse files
committedJan 5, 2024
chore: update deps and lint
1 parent b24a213 commit e5a48d3

File tree

3 files changed

+1258
-790
lines changed

3 files changed

+1258
-790
lines changed
 

Diff for: ‎package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@
2929
"test:types": "tsc --noEmit"
3030
},
3131
"devDependencies": {
32-
"@types/node": "^20.8.10",
33-
"@vitest/coverage-v8": "^0.34.6",
32+
"@types/node": "^20.10.6",
33+
"@vitest/coverage-v8": "^1.1.3",
3434
"changelogen": "^0.5.5",
35-
"eslint": "^8.53.0",
35+
"eslint": "^8.56.0",
3636
"eslint-config-unjs": "^0.2.1",
3737
"expect-type": "^0.17.3",
38-
"prettier": "^3.0.3",
39-
"typescript": "^5.2.2",
38+
"prettier": "^3.1.1",
39+
"typescript": "^5.3.3",
4040
"unbuild": "^2.0.0",
41-
"vitest": "^0.34.6"
41+
"vitest": "^1.1.3"
4242
},
4343
"packageManager": "pnpm@8.10.2"
44-
}
44+
}

Diff for: ‎pnpm-lock.yaml

+1,218-750
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: ‎src/types.ts

+33-33
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ export type MergeObjects<
2929
? nullish
3030
: Defaults[Key]
3131
: Defaults[Key] extends nullish
32-
? Destination[Key]
33-
: Merge<Destination[Key], Defaults[Key]>; // eslint-disable-line no-use-before-define
32+
? Destination[Key]
33+
: Merge<Destination[Key], Defaults[Key]>; // eslint-disable-line no-use-before-define
3434
};
3535

3636
export type Defu<
@@ -42,10 +42,10 @@ export type Defu<
4242
? Defu<MergeObjects<S, F>, Rest>
4343
: MergeObjects<S, F>
4444
: F extends IgnoredInput
45-
? Rest extends Array<Input | IgnoredInput>
46-
? Defu<S, Rest>
45+
? Rest extends Array<Input | IgnoredInput>
46+
? Defu<S, Rest>
47+
: S
4748
: S
48-
: S
4949
: S;
5050

5151
export type DefuFn = <
@@ -81,31 +81,31 @@ export type Merge<Destination extends Input, Defaults extends Input> =
8181
? nullish
8282
: Defaults
8383
: Defaults extends nullish
84-
? Destination
85-
: // Handle arrays
86-
Destination extends Array<any>
87-
? Defaults extends Array<any>
88-
? MergeArrays<Destination, Defaults>
89-
: Destination | Defaults
90-
: // Don't attempt to merge Functions, RegExps, Promises
91-
// eslint-disable-next-line @typescript-eslint/ban-types
92-
Destination extends Function
93-
? Destination | Defaults
94-
: Destination extends RegExp
95-
? Destination | Defaults
96-
: Destination extends Promise<any>
97-
? Destination | Defaults
98-
: // Don't attempt to merge Functions, RegExps, Promises
99-
// eslint-disable-next-line @typescript-eslint/ban-types
100-
Defaults extends Function
101-
? Destination | Defaults
102-
: Defaults extends RegExp
103-
? Destination | Defaults
104-
: Defaults extends Promise<any>
105-
? Destination | Defaults
106-
: // Ensure we only merge Records
107-
Destination extends Input
108-
? Defaults extends Input
109-
? MergeObjects<Destination, Defaults>
110-
: Destination | Defaults
111-
: Destination | Defaults;
84+
? Destination
85+
: // Handle arrays
86+
Destination extends Array<any>
87+
? Defaults extends Array<any>
88+
? MergeArrays<Destination, Defaults>
89+
: Destination | Defaults
90+
: // Don't attempt to merge Functions, RegExps, Promises
91+
// eslint-disable-next-line @typescript-eslint/ban-types
92+
Destination extends Function
93+
? Destination | Defaults
94+
: Destination extends RegExp
95+
? Destination | Defaults
96+
: Destination extends Promise<any>
97+
? Destination | Defaults
98+
: // Don't attempt to merge Functions, RegExps, Promises
99+
// eslint-disable-next-line @typescript-eslint/ban-types
100+
Defaults extends Function
101+
? Destination | Defaults
102+
: Defaults extends RegExp
103+
? Destination | Defaults
104+
: Defaults extends Promise<any>
105+
? Destination | Defaults
106+
: // Ensure we only merge Records
107+
Destination extends Input
108+
? Defaults extends Input
109+
? MergeObjects<Destination, Defaults>
110+
: Destination | Defaults
111+
: Destination | Defaults;

0 commit comments

Comments
 (0)
Please sign in to comment.