-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
Hi
I don't know what I'm doing wrong. I cannot properly type results when the option rowsAsArray is enabled.
My SQL returns an array of arrays that contains only one string eg:
// connection.promise().query("SHOW TABLES LIKE 'table_%';");
[
[ 'table_1'], [ 'table_2'],
[ 'table_3'], [ 'table_4'],
]I want to flat this result in my helper function but TS complaints about types mismatch.
See example below
const listTablesSql = "SHOW TABLES LIKE 'table_%';"
async strictTypeInQuery(): Promise<string[]> {
// error: `Type 'string' is not assignable to type 'RowDataPacket'`
const [rows] = await connection.promise().query<string[]>({sql: listTablesSql, rowsAsArray: true});
return rows.flat(1);
}
async inferType(): Promise<string[]> {
// error: `Type 'string' is not assignable to type 'RowDataPacket'`
const [rows] = await connection.promise().query({sql: listTablesSql, rowsAsArray: true});
return rows.flat(1); // TS:error `Type 'RowDataPacket' is not assignable to type 'string'.`
}Can you help me and point what I'm doing wrong?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels