codeceptjs / codeceptjs/CodeceptJS

[Types] Unable to extend ILocator, and addFilter is missing from Locator

Abierto
#2,565 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
757
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Descripción

#### What are you trying to achieve?

I would like to extend the `ILocator` type in order to add a custom Locator to it (e.g. {da: string}) for selecting elements with a custom `data-automation` attribute.

I would also like to call `locator.addFillter()` without getting a TS error.

#### What do you get instead?

##### ILocator

I am unable to extend ILocator type as it isn't exported on the types:

![image](https://user-images.githubusercontent.com/7611706/91538748-323f9e00-e910-11ea-8cf6-3f5798280d8f.png)

##### Locator

I have to extend `Locator` to declare `addFilter`, as this property is missing from the generated types.

``` ts

interface Locator {
addFilter: (
callback: (
providedLocator: Record,
locatorObj: { type: string; value: string },
) => void,
) => void;
}

```

otherwise, I'll get this:
![image](https://user-images.githubusercontent.com/7611706/91539368-1b4d7b80-e911-11ea-8fac-5110d3f4b2c3.png)

### Details

* CodeceptJS version: 2.6.8
* NodeJS Version: 12
* Operating System: OSX
* playwright: 1.3.0

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.