diff --git a/eruda.d.ts b/eruda.d.ts index b63517521..1728c4ef8 100644 --- a/eruda.d.ts +++ b/eruda.d.ts @@ -50,7 +50,15 @@ declare module 'eruda' { y: number } - export interface Emitter {} + type AnyFn = (...args: any[]) => any + + export interface Emitter { + on(event: string, listener: AnyFn): Emitter + off(event: string, listener: AnyFn): Emitter + once(event: string, listener: AnyFn): Emitter + emit(event: string, ...args: any[]): Emitter + removeAllListeners(event?: string): Emitter + } /** * Eruda Plugin @@ -165,11 +173,16 @@ declare module 'eruda' { } export interface Elements extends Tool { - set(name: K, value: ElementsConfig[K]): void + config: { + set( + name: K, + value: ElementsConfig[K] + ): void + } /** * Element to display */ - html(el: HTMLElement): void + select(el: HTMLElement): void } export interface ElementsConstructor { @@ -205,10 +218,12 @@ declare module 'eruda' { } export interface Resources extends Tool { - set( - name: K, - value: ResourcesConfig[K] - ): void + config: { + set( + name: K, + value: ResourcesConfig[K] + ): void + } } export interface ResourcesConstructor { @@ -232,7 +247,9 @@ declare module 'eruda' { } export interface Sources extends Tool { - set(name: K, value: SourcesConfig[K]): void + config: { + set(name: K, value: SourcesConfig[K]): void + } } export interface SourcesConstructor { @@ -402,6 +419,18 @@ declare module 'eruda' { getTheme(): string } + interface IToolNameMap { + console: InstanceType + elements: InstanceType + info: InstanceType + network: InstanceType + resources: InstanceType + settings: InstanceType + snippets: InstanceType + sources: InstanceType + entryBtn: InstanceType + } + /** * Eruda APIs * @see https://eruda.liriliri.io/docs/api.html @@ -430,13 +459,9 @@ declare module 'eruda' { /** * Get tool, eg. console, elements panels. */ + get(name: K): IToolNameMap[K] get(name: string): InstanceType | undefined - get( - name: string - ): - | InstanceType - | InstanceType - | undefined + get(): InstanceType /** * Add tool. */ diff --git a/src/Elements/Elements.js b/src/Elements/Elements.js index 900e8e67e..05439b5fc 100644 --- a/src/Elements/Elements.js +++ b/src/Elements/Elements.js @@ -67,10 +67,6 @@ export default class Elements extends Tool { chobitsu.domain('Overlay').hideHighlight() } - // To be removed in 3.0.0 - set(node) { - return this.select(node) - } select(node) { this._domViewer.select(node) this._setNode(node)