{"version":3,"file":"list.mjs","names":[],"sources":["../../../../../../@warlock.js/fs/src/list.ts"],"sourcesContent":["import { readdir, stat } from \"node:fs/promises\";\nimport { readdirSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\n\n/**\n * List immediate children of a directory (files + subdirs), returning\n * full paths.\n */\nexport async function listAsync(directoryPath: string): Promise<string[]> {\n  const entries = await readdir(directoryPath);\n  return entries.map(entry => path.join(directoryPath, entry));\n}\n\nexport function list(directoryPath: string): string[] {\n  return readdirSync(directoryPath).map(entry => path.join(directoryPath, entry));\n}\n\n/**\n * List only files (not subdirectories) directly inside a directory.\n */\nexport async function listFilesAsync(directoryPath: string): Promise<string[]> {\n  const entries = await listAsync(directoryPath);\n  const checks = await Promise.all(\n    entries.map(async entry => ((await stat(entry)).isFile() ? entry : null)),\n  );\n  return checks.filter((entry): entry is string => entry !== null);\n}\n\nexport function listFiles(directoryPath: string): string[] {\n  return list(directoryPath).filter(entry => statSync(entry).isFile());\n}\n\n/**\n * List only subdirectories directly inside a directory.\n */\nexport async function listDirectoriesAsync(directoryPath: string): Promise<string[]> {\n  const entries = await listAsync(directoryPath);\n  const checks = await Promise.all(\n    entries.map(async entry => ((await stat(entry)).isDirectory() ? entry : null)),\n  );\n  return checks.filter((entry): entry is string => entry !== null);\n}\n\nexport function listDirectories(directoryPath: string): string[] {\n  return list(directoryPath).filter(entry => statSync(entry).isDirectory());\n}\n"],"mappings":";;;;;;;;;AAQA,eAAsB,UAAU,eAA0C;CAExE,QAAO,MADe,QAAQ,aAAa,EAC7B,CAAC,KAAI,UAAS,KAAK,KAAK,eAAe,KAAK,CAAC;AAC7D;AAEA,SAAgB,KAAK,eAAiC;CACpD,OAAO,YAAY,aAAa,CAAC,CAAC,KAAI,UAAS,KAAK,KAAK,eAAe,KAAK,CAAC;AAChF;;;;AAKA,eAAsB,eAAe,eAA0C;CAC7E,MAAM,UAAU,MAAM,UAAU,aAAa;CAI7C,QAAO,MAHc,QAAQ,IAC3B,QAAQ,IAAI,OAAM,WAAW,MAAM,KAAK,KAAK,EAAC,CAAE,OAAO,IAAI,QAAQ,IAAK,CAC1E,EACa,CAAC,QAAQ,UAA2B,UAAU,IAAI;AACjE;AAEA,SAAgB,UAAU,eAAiC;CACzD,OAAO,KAAK,aAAa,CAAC,CAAC,QAAO,UAAS,SAAS,KAAK,CAAC,CAAC,OAAO,CAAC;AACrE;;;;AAKA,eAAsB,qBAAqB,eAA0C;CACnF,MAAM,UAAU,MAAM,UAAU,aAAa;CAI7C,QAAO,MAHc,QAAQ,IAC3B,QAAQ,IAAI,OAAM,WAAW,MAAM,KAAK,KAAK,EAAC,CAAE,YAAY,IAAI,QAAQ,IAAK,CAC/E,EACa,CAAC,QAAQ,UAA2B,UAAU,IAAI;AACjE;AAEA,SAAgB,gBAAgB,eAAiC;CAC/D,OAAO,KAAK,aAAa,CAAC,CAAC,QAAO,UAAS,SAAS,KAAK,CAAC,CAAC,YAAY,CAAC;AAC1E"}