Skip to content

Commit ef35a81

Browse files
committed
refactor: create extractFilter function
1 parent ea63b8b commit ef35a81

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

packages/vite/src/node/plugins/index.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -187,26 +187,19 @@ export function getCachedFilterForPlugin<
187187
let filter: PluginFilter | TransformHookFilter | undefined
188188
switch (hookName) {
189189
case 'resolveId': {
190-
const rawFilter =
191-
typeof plugin.resolveId === 'object'
192-
? plugin.resolveId.filter?.id
193-
: undefined
190+
const rawFilter = extractFilter(plugin.resolveId)?.id
194191
filters.resolveId = createIdFilter(rawFilter)
195192
filter = filters.resolveId
196193
break
197194
}
198195
case 'load': {
199-
const rawFilter =
200-
typeof plugin.load === 'object' ? plugin.load.filter?.id : undefined
196+
const rawFilter = extractFilter(plugin.load)?.id
201197
filters.load = createIdFilter(rawFilter)
202198
filter = filters.load
203199
break
204200
}
205201
case 'transform': {
206-
const rawFilters =
207-
typeof plugin.transform === 'object'
208-
? plugin.transform.filter
209-
: undefined
202+
const rawFilters = extractFilter(plugin.transform)
210203
filters.transform = createFilterForTransform(
211204
rawFilters?.id,
212205
rawFilters?.code,
@@ -218,6 +211,12 @@ export function getCachedFilterForPlugin<
218211
return filter as FilterForPluginValue[H] | undefined
219212
}
220213

214+
function extractFilter<T extends Function, F>(
215+
hook: ObjectHook<T, { filter?: F }> | undefined,
216+
) {
217+
return hook && 'filter' in hook && hook.filter ? hook.filter : undefined
218+
}
219+
221220
// Same as `@rollup/plugin-alias` default resolver, but we attach additional meta
222221
// if we can't resolve to something, which will error in `importAnalysis`
223222
export const viteAliasCustomResolver: ResolverFunction = async function (

0 commit comments

Comments
 (0)