{"version":3,"file":"read-file.mjs","names":["readFile","fsReadFile"],"sources":["../../src/helpers/read-file.ts"],"sourcesContent":["import { readdir, readFile as fsReadFile } from 'node:fs/promises';\nimport { join, resolve } from 'node:path';\n\nexport function escapeRegex(str: string) {\n  return str.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport async function readFile(\n  folder: string,\n  filename: string,\n): Promise<Buffer> {\n  try {\n    const files = await readdir(folder);\n    const regex = new RegExp(`^${escapeRegex(filename)}$`, 'i');\n    const foundFile = files.find((fn) => regex.test(fn));\n    if (foundFile === undefined) throw new Error('not found');\n    return fsReadFile(join(folder, foundFile));\n  } catch (_) {\n    throw new Error(`${join(resolve(folder), filename)} not found!`);\n  }\n}\n"],"mappings":";;;AAGA,SAAgB,YAAY,KAAa;CACvC,OAAO,IAAI,QAAQ,0BAA0B,MAAM;AACrD;AAEA,eAAsBA,WACpB,QACA,UACiB;CACjB,IAAI;EACF,MAAM,QAAQ,MAAM,QAAQ,MAAM;EAClC,MAAM,QAAQ,IAAI,OAAO,IAAI,YAAY,QAAQ,EAAE,IAAI,GAAG;EAC1D,MAAM,YAAY,MAAM,MAAM,OAAO,MAAM,KAAK,EAAE,CAAC;EACnD,IAAI,cAAc,KAAA,GAAW,MAAM,IAAI,MAAM,WAAW;EACxD,OAAOC,SAAW,KAAK,QAAQ,SAAS,CAAC;CAC3C,SAAS,GAAG;EACV,MAAM,IAAI,MAAM,GAAG,KAAK,QAAQ,MAAM,GAAG,QAAQ,EAAE,YAAY;CACjE;AACF"}