28 lines
		
	
	
		
			1021 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1021 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';
 | 
						|
import { HOOK_SETUP } from './const.js';
 | 
						|
import { ApiProxy } from './proxy.js';
 | 
						|
export * from './api/index.js';
 | 
						|
export * from './plugin.js';
 | 
						|
export * from './time.js';
 | 
						|
export function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
 | 
						|
    const descriptor = pluginDescriptor;
 | 
						|
    const target = getTarget();
 | 
						|
    const hook = getDevtoolsGlobalHook();
 | 
						|
    const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
 | 
						|
    if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
 | 
						|
        hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
 | 
						|
        const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
 | 
						|
        list.push({
 | 
						|
            pluginDescriptor: descriptor,
 | 
						|
            setupFn,
 | 
						|
            proxy,
 | 
						|
        });
 | 
						|
        if (proxy) {
 | 
						|
            setupFn(proxy.proxiedTarget);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |