{"version":3,"file":"load.cjs","names":[],"sources":["../../src/util/load.ts"],"sourcesContent":["// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nexport type FileLoader<T> = (\n  text: string,\n  filePath: string,\n  values: LoadValues\n) => Promise<T>;\n\nexport const loadFromFile = async <T>(\n  uri: string,\n  loader: FileLoader<T>,\n  values: LoadValues = {}\n): Promise<T> => {\n  try {\n    const fs = await import(\"node:fs/promises\");\n    return loader(await fs.readFile(uri, { encoding: \"utf-8\" }), uri, values);\n  } catch (e) {\n    console.error(e);\n    throw new Error(`Could not load file at ${uri}`);\n  }\n};\n"],"mappings":";AASA,MAAa,eAAe,OAC1B,KACA,QACA,SAAqB,EAAE,KACR;AACf,KAAI;AAEF,SAAO,OAAO,OADH,MAAM,OAAO,qBACD,SAAS,KAAK,EAAE,UAAU,SAAS,CAAC,EAAE,KAAK,OAAO;UAClE,GAAG;AACV,UAAQ,MAAM,EAAE;AAChB,QAAM,IAAI,MAAM,0BAA0B,MAAM"}