From a8966457d38dcbf9787dc64eca8236d3a13af4a1 Mon Sep 17 00:00:00 2001 From: underfin <2218301630@qq.com> Date: Fri, 17 Jul 2020 23:25:33 +0800 Subject: [PATCH] refactor(devtools): extract same logic into `createDevtoolsHook` (#1608) --- packages/runtime-core/src/devtools.ts | 44 +++++++++++---------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/packages/runtime-core/src/devtools.ts b/packages/runtime-core/src/devtools.ts index cd1e6fec..6e62ee76 100644 --- a/packages/runtime-core/src/devtools.ts +++ b/packages/runtime-core/src/devtools.ts @@ -47,32 +47,24 @@ export function appUnmounted(app: App) { devtools.emit(DevtoolsHooks.APP_UNMOUNT, app) } -export function componentAdded(component: ComponentInternalInstance) { - if (!devtools || !component.appContext.__app) return - devtools.emit( - DevtoolsHooks.COMPONENT_ADDED, - component.appContext.__app, - component.uid, - component.parent ? component.parent.uid : undefined - ) -} +export const componentAdded = createDevtoolsHook(DevtoolsHooks.COMPONENT_ADDED) -export function componentUpdated(component: ComponentInternalInstance) { - if (!devtools || !component.appContext.__app) return - devtools.emit( - DevtoolsHooks.COMPONENT_UPDATED, - component.appContext.__app, - component.uid, - component.parent ? component.parent.uid : undefined - ) -} +export const componentUpdated = createDevtoolsHook( + DevtoolsHooks.COMPONENT_UPDATED +) -export function componentRemoved(component: ComponentInternalInstance) { - if (!devtools || !component.appContext.__app) return - devtools.emit( - DevtoolsHooks.COMPONENT_REMOVED, - component.appContext.__app, - component.uid, - component.parent ? component.parent.uid : undefined - ) +export const componentRemoved = createDevtoolsHook( + DevtoolsHooks.COMPONENT_REMOVED +) + +function createDevtoolsHook(hook: DevtoolsHooks) { + return (component: ComponentInternalInstance) => { + if (!devtools || !component.appContext.__app) return + devtools.emit( + hook, + component.appContext.__app, + component.uid, + component.parent ? component.parent.uid : undefined + ) + } }