Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress unused variable error for destructured arrays

I'm destructuring the result of a regex match

function getStuffIWant(str: string): string {
    const [
        fullMatch,   // [ts] 'fullMatch' is declared but its value is never read.
        stuffIWant,
    ] = str.match(/1(.*)2/);

    return stuffIWant;
}

getStuffIWant("abc1def2ghi");

As the comment points out, fullMatch is never used and TSC wants me to know. Is there any way to suppress this error without turning off unused checks across the board?

I've also tried unpacking the array as an object:

const {
    1: stuffIWant, // Unexpected SyntaxError: Unexpected token :
} = str.match(/1(.*)2/);
like image 927
Sandy Gifford Avatar asked Nov 21 '18 21:11

Sandy Gifford


1 Answers

Found an answer almost immediately (ain't it always the way) - when destructuring arrays you can ignore select values by adding an extra comma in:

function getStuffIWant(str: string): string {
    const [
        , // full match
        stuffIWant,
    ] = str.match(/1(.*)2/);

    return stuffIWant;
}

getStuffIWant("abc1def2ghi");

No variable declared, nothing for TypeScript to get all up in arms about.

like image 107
Sandy Gifford Avatar answered Sep 22 '22 08:09

Sandy Gifford