vite-plugin-vue-inspector
Version:
Jump to local IDE source code when clicking Vue elements in the browser.
34 lines (33 loc) • 1.4 kB
text/typescript
import { VNode } from "vue";
//#region packages/core/src/client/record.d.ts
type PositionInfo = [source: string, line: number, column: number];
interface Store {
hasData: boolean;
vnodeToPos: WeakMap<object, PositionInfo>;
fileToVNode: Map<string, WeakSet<object>>;
posToVNode: Map<string, Map<number, Map<number, WeakSet<object>>>>;
events?: unknown;
}
declare function getInternalStore(): Store;
declare function recordPosition(source: string, line: number, column: number, node: VNode): VNode;
declare class ElementTraceInfo {
pos: PositionInfo;
vnode: VNode | undefined;
el: Element | undefined;
constructor(pos: PositionInfo, el?: Element, vnode?: VNode);
get filepath(): string;
get fullpath(): string;
get rect(): DOMRect | undefined;
getElementsSameFile(): Element[] | undefined;
getParent(): ElementTraceInfo | undefined;
getElementsSamePosition(): Element[] | undefined;
}
declare function findTraceFromElement(el?: Element | null): ElementTraceInfo | undefined;
declare function findTraceFromVNode(vnode?: VNode, el?: Element): ElementTraceInfo | undefined;
declare function findTraceAtPointer(e: {
x: number;
y: number;
}): ElementTraceInfo | undefined;
declare function hasData(): boolean;
//#endregion
export { ElementTraceInfo, PositionInfo, findTraceAtPointer, findTraceFromElement, findTraceFromVNode, getInternalStore, hasData, recordPosition };