Considere el siguiente código donde creo una "copia" de x con una de las propiedades eliminadas, usando la desestructuración:
const x = { a: 1, b: 2, c: 3}; const { a, ...x2} = x; console.log(x); console.log(x2); Si lo hago así, @typescript-eslint/no-unused-vars lo considerará a error que no se usa.
¿Cómo puedo cambiar el código para corregir el error, sin pedirle explícitamente a eslint que ignore la línea ofensiva, preferiblemente usando la sintaxis de desestructuración? Es decir, realmente no quiero usar delete , ni quiero enumerar explícitamente todas las demás propiedades como const x2 = {b: xb, c: xc } .
¿Hay una sintaxis elegante o una regla extraña de eslint para tener mi pastel y comérmelo también?
Hay una opción recién agregada llamada ignoreRestSiblings para esa regla.
Puede establecerlo en verdadero para ignorar su caso:
{ "ignoreRestSiblings": true }Por lo general, elimino algunos accesorios con esta utilidad:
const removeProperty = <Obj, Prop extends keyof Obj>(obj: Obj, prop: Prop) => { const { [prop]: _, ...rest } = obj; return rest }Por favor, compruebe si funciona para su caso.
El truco es que usa el guión bajo _ para las variables no utilizadas.
Puede permitir el uso explícito de _ en las reglas de eslint.