UNPKG

5.26 kBTypeScriptView Raw
1import type { TriggerOptions } from './createDomEvent';
2import { ComponentInternalInstance, ComponentOptions, ComponentPublicInstance, ComputedOptions, CreateComponentPublicInstance, FunctionalComponent, MethodOptions } from 'vue';
3import { DomEventNameWithModifier } from './constants/dom-events';
4import type { VueWrapper } from './vueWrapper';
5import { DefinedComponent, FindAllComponentsSelector, FindComponentSelector, NameSelector, RefSelector, VueNode } from './types';
6import WrapperLike from './interfaces/wrapperLike';
7import type { DOMWrapper } from './domWrapper';
8export default abstract class BaseWrapper<ElementType extends Node> implements WrapperLike {
9 protected readonly wrapperElement: VueNode<ElementType>;
10 protected abstract getRootNodes(): VueNode[];
11 get element(): VueNode<ElementType>;
12 protected constructor(element: ElementType);
13 protected findAllDOMElements(selector: string): Element[];
14 find<K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper<HTMLElementTagNameMap[K]>;
15 find<K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper<SVGElementTagNameMap[K]>;
16 find<T extends Element = Element>(selector: string): DOMWrapper<T>;
17 find<T extends Node = Node>(selector: string | RefSelector): DOMWrapper<T>;
18 abstract findAll<K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper<HTMLElementTagNameMap[K]>[];
19 abstract findAll<K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper<SVGElementTagNameMap[K]>[];
20 abstract findAll<T extends Element>(selector: string): DOMWrapper<T>[];
21 abstract findAll(selector: string): DOMWrapper<Element>[];
22 findComponent<T extends never>(selector: string): WrapperLike;
23 findComponent<Props, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions>(selector: ComponentOptions<Props, RawBindings, D, C, M>): VueWrapper<CreateComponentPublicInstance<Props, RawBindings, D, C, M>>;
24 findComponent<T extends ComponentOptions>(selector: string): VueWrapper<T extends ComponentOptions<infer Props, infer RawBindings, infer D, infer C, infer M> ? CreateComponentPublicInstance<Props, RawBindings, D, C, M> : VueWrapper<CreateComponentPublicInstance>>;
25 findComponent<T extends DefinedComponent>(selector: T | Exclude<FindComponentSelector, FunctionalComponent>): VueWrapper<InstanceType<T>>;
26 findComponent<T extends FunctionalComponent>(selector: T): DOMWrapper<Node>;
27 findComponent<T extends FunctionalComponent>(selector: string): DOMWrapper<Element>;
28 findComponent<T extends never>(selector: NameSelector | RefSelector): VueWrapper;
29 findComponent<T extends ComponentPublicInstance>(selector: T | FindComponentSelector): VueWrapper<T>;
30 findComponent<T extends never>(selector: FindComponentSelector): WrapperLike;
31 findAllComponents<T extends never>(selector: string): WrapperLike[];
32 findAllComponents<T extends DefinedComponent>(selector: T | Exclude<FindAllComponentsSelector, FunctionalComponent>): VueWrapper<InstanceType<T>>[];
33 findAllComponents<T extends FunctionalComponent>(selector: T): DOMWrapper<Node>[];
34 findAllComponents<T extends FunctionalComponent>(selector: string): DOMWrapper<Element>[];
35 findAllComponents<T extends never>(selector: NameSelector): VueWrapper[];
36 findAllComponents<T extends ComponentPublicInstance>(selector: T | FindAllComponentsSelector): VueWrapper<T>[];
37 findAllComponents<T extends never>(selector: FindAllComponentsSelector): WrapperLike[];
38 abstract setValue(value?: any): Promise<void>;
39 html(options?: {
40 raw?: boolean;
41 }): string;
42 classes(): string[];
43 classes(className: string): boolean;
44 attributes(): {
45 [key: string]: string;
46 };
47 attributes(key: string): string | undefined;
48 text(): string;
49 exists(): boolean;
50 get<K extends keyof HTMLElementTagNameMap>(selector: K): Omit<DOMWrapper<HTMLElementTagNameMap[K]>, 'exists'>;
51 get<K extends keyof SVGElementTagNameMap>(selector: K): Omit<DOMWrapper<SVGElementTagNameMap[K]>, 'exists'>;
52 get<T extends Element = Element>(selector: string): Omit<DOMWrapper<T>, 'exists'>;
53 get<T extends Node = Node>(selector: string | RefSelector): Omit<DOMWrapper<T>, 'exists'>;
54 getComponent<T extends never>(selector: string): Omit<WrapperLike, 'exists'>;
55 getComponent<T extends DefinedComponent>(selector: T | Exclude<FindComponentSelector, FunctionalComponent>): Omit<VueWrapper<InstanceType<T>>, 'exists'>;
56 getComponent<T extends FunctionalComponent>(selector: T | string): Omit<DOMWrapper<Element>, 'exists'>;
57 getComponent<T extends never>(selector: NameSelector | RefSelector): Omit<VueWrapper, 'exists'>;
58 getComponent<T extends ComponentPublicInstance>(selector: T | FindComponentSelector): Omit<VueWrapper<T>, 'exists'>;
59 getComponent<T extends never>(selector: FindComponentSelector): Omit<WrapperLike, 'exists'>;
60 protected isDisabled: () => boolean;
61 isVisible(): boolean;
62 protected abstract getCurrentComponent(): ComponentInternalInstance | void;
63 trigger(eventString: DomEventNameWithModifier, options?: TriggerOptions): Promise<void>;
64 trigger(eventString: string, options?: TriggerOptions): Promise<void>;
65}