UNPKG

findstate-cli

Version:

A CLI for querying data optimized for Real Estate

37 lines (31 loc) 1.06 kB
import fs from "fs"; import { queryData } from "../../core/query-engine.js"; import { loadData } from "../../core/data-loader.js"; import { validateFileName } from "../../utils/validation-helpers.js"; export function exportCommand( queries: string[], source: string = "mock", fileName: string = "results.json" ): void { try { validateFileName(fileName); } catch (error) { console.error((error as Error).message); process.exit(1); } const data = loadData(source); const parsedQueries = queries.map((query) => { const [field, operation, value] = query.split(":"); const parsedValue = isNaN(Number(value)) ? value : Number(value); return { field, operation, value: parsedValue }; }); const results = queryData(data, parsedQueries); try { fs.writeFileSync(fileName, JSON.stringify(results, null, 2)); console.info(`Results exported to ${fileName}`); } catch (error) { console.error("Error: Unable to write to the specified file."); console.error((error as Error).message); process.exit(1); } }