{"version":3,"file":"collectParquetFilesOrExit-DVS9_OSv.mjs","names":[],"sources":["../src/lib/helpers/collectParquetFilesOrExit.ts"],"sourcesContent":["import { readdirSync, statSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../context.js';\nimport { logger } from '../../logger.js';\n\n/**\n * Validate flags and collect Parquet file paths from a directory.\n * On validation error, the provided `exit` function is called.\n *\n * @param directory - the directory containing Parquet files\n * @param localContext - the context of the command, used for logging and exit\n * @returns an array of valid Parquet file paths\n */\nexport function collectParquetFilesOrExit(\n  directory: string | undefined,\n  localContext: LocalContext,\n): string[] {\n  if (!directory) {\n    logger.error(colors.red('A --directory must be provided.'));\n    localContext.process.exit(1);\n  }\n\n  let files: string[] = [];\n  try {\n    const entries = readdirSync(directory);\n    files = entries\n      .filter((f) => f.endsWith('.parquet'))\n      .map((f) => join(directory, f))\n      .filter((p) => {\n        try {\n          return statSync(p).isFile();\n        } catch {\n          return false;\n        }\n      });\n  } catch (err) {\n    logger.error(colors.red(`Failed to read directory: ${directory}`));\n    logger.error(colors.red((err as Error).message));\n    localContext.process.exit(1);\n  }\n\n  if (files.length === 0) {\n    logger.error(colors.red(`No Parquet files found in directory: ${directory}`));\n    localContext.process.exit(1);\n  }\n  logger.info(colors.green(`Found: ${files.join(', ')} parquet files`));\n  return files;\n}\n"],"mappings":"qJAgBA,SAAgB,EACd,EACA,EACU,CACL,IACH,EAAO,MAAM,EAAO,IAAI,kCAAkC,CAAC,CAC3D,EAAa,QAAQ,KAAK,EAAE,EAG9B,IAAI,EAAkB,EAAE,CACxB,GAAI,CAEF,EADgB,EAAY,EACb,CACZ,OAAQ,GAAM,EAAE,SAAS,WAAW,CAAC,CACrC,IAAK,GAAM,EAAK,EAAW,EAAE,CAAC,CAC9B,OAAQ,GAAM,CACb,GAAI,CACF,OAAO,EAAS,EAAE,CAAC,QAAQ,MACrB,CACN,MAAO,KAET,OACG,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,6BAA6B,IAAY,CAAC,CAClE,EAAO,MAAM,EAAO,IAAK,EAAc,QAAQ,CAAC,CAChD,EAAa,QAAQ,KAAK,EAAE,CAQ9B,OALI,EAAM,SAAW,IACnB,EAAO,MAAM,EAAO,IAAI,wCAAwC,IAAY,CAAC,CAC7E,EAAa,QAAQ,KAAK,EAAE,EAE9B,EAAO,KAAK,EAAO,MAAM,UAAU,EAAM,KAAK,KAAK,CAAC,gBAAgB,CAAC,CAC9D"}