feat: init
This commit is contained in:
44
node_modules/@nuxt/devtools-kit/dist/runtime/iframe-client.mjs
generated
vendored
Normal file
44
node_modules/@nuxt/devtools-kit/dist/runtime/iframe-client.mjs
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import { shallowRef, triggerRef } from "vue";
|
||||
let clientRef;
|
||||
const hasSetup = false;
|
||||
const fns = [];
|
||||
export function onDevtoolsClientConnected(fn) {
|
||||
fns.push(fn);
|
||||
if (hasSetup)
|
||||
return;
|
||||
if (typeof window === "undefined")
|
||||
return;
|
||||
if (window.__NUXT_DEVTOOLS__) {
|
||||
fns.forEach((fn2) => fn2(window.__NUXT_DEVTOOLS__));
|
||||
}
|
||||
Object.defineProperty(window, "__NUXT_DEVTOOLS__", {
|
||||
set(value) {
|
||||
if (value)
|
||||
fns.forEach((fn2) => fn2(value));
|
||||
},
|
||||
get() {
|
||||
return clientRef.value;
|
||||
},
|
||||
configurable: true
|
||||
});
|
||||
return () => {
|
||||
fns.splice(fns.indexOf(fn), 1);
|
||||
};
|
||||
}
|
||||
export function useDevtoolsClient() {
|
||||
if (!clientRef) {
|
||||
clientRef = shallowRef();
|
||||
onDevtoolsClientConnected(setup);
|
||||
}
|
||||
function onUpdateReactivity() {
|
||||
if (clientRef) {
|
||||
triggerRef(clientRef);
|
||||
}
|
||||
}
|
||||
function setup(client) {
|
||||
clientRef.value = client;
|
||||
if (client.host)
|
||||
client.host.hooks.hook("host:update:reactivity", onUpdateReactivity);
|
||||
}
|
||||
return clientRef;
|
||||
}
|
||||
Reference in New Issue
Block a user