refactor cli

This commit is contained in:
Michael Hohn
2025-03-15 18:12:04 -07:00
parent 012e597d4a
commit 390dfeb087

View File

@@ -15,28 +15,28 @@ export async function extractRawResults(
const bqrsInfo = await cliServer.bqrsInfo(filePath);
const resultSets = bqrsInfo["result-sets"];
if (resultSets.length < 1) {
if (resultSets.length === 0) {
throw new Error("No result sets found in results file.");
}
if (resultSets.length > 1) {
void logger.log(
"Multiple result sets found in results file. Only one will be used.",
"Multiple result sets found in results file. Using the first one.",
);
}
// Always prefer #select over any other result set. #select is usually the result the user
// wants to see since it contains the outer #select.
// Prefer `#select` result set; otherwise, use the first available set.
const schema =
resultSets.find((resultSet) => resultSet.name === SELECT_TABLE_NAME) ??
resultSets[0];
resultSets.find((r) => r.name === SELECT_TABLE_NAME) ?? resultSets[0];
const chunk = await cliServer.bqrsDecode(filePath, schema.name, {
pageSize: MAX_RAW_RESULTS,
});
const resultSet = bqrsToResultSet(schema, chunk);
const capped = !!chunk.next;
return { resultSet, fileLinkPrefix, sourceLocationPrefix, capped };
return {
resultSet,
fileLinkPrefix,
sourceLocationPrefix,
capped: !!chunk.next,
};
}