MCPcopy
hub / github.com/vitejs/vite / wrapHookObject

Function wrapHookObject

packages/vite/src/node/build.ts:1331–1366  ·  view source on GitHub ↗
(hook: Hook, handler: Handler)

Source from the content-addressed store, hash-verified

1329 Array<AbstractHook<Function>>
1330>()
1331function wrapHookObject<
1332 Handler extends Function,
1333 Hook extends AbstractHook<Handler>,
1334>(hook: Hook, handler: Handler): Hook {
1335 const newHook = {
1336 ...hook,
1337 handler,
1338 }
1339
1340 if (!wrappedHookMap.has(hook)) {
1341 wrappedHookMap.set(hook, [])
1342 Object.defineProperty(hook, 'filter', {
1343 get() {
1344 return wrappedHookMap.get(hook)![0].filter
1345 },
1346 set(v) {
1347 for (const h of wrappedHookMap.get(hook)!) {
1348 h.filter = v
1349 }
1350 },
1351 })
1352 Object.defineProperty(hook, 'order', {
1353 get() {
1354 return wrappedHookMap.get(hook)![0].order
1355 },
1356 set(v) {
1357 for (const h of wrappedHookMap.get(hook)!) {
1358 h.order = v
1359 }
1360 },
1361 })
1362 }
1363 wrappedHookMap.get(hook)!.push(newHook)
1364
1365 return newHook
1366}
1367
1368function wrapEnvironmentResolveId(
1369 environment: Environment,

Callers 4

wrapEnvironmentResolveIdFunction · 0.85
wrapEnvironmentLoadFunction · 0.85
wrapEnvironmentTransformFunction · 0.85
wrapEnvironmentHookFunction · 0.85

Calls 3

hasMethod · 0.80
setMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected