{"version":3,"sources":["../src/index.ts"],"names":["api","FlatfileClient","fileBuffer","matchFile","callback","listener","event","file","getFileBuffer","buffer","chunks","chunk"],"mappings":";;;;AAIA,IAAMA,EAAM,IAAIC,kBAAAA,CAEHC,EAAa,CACxBC,CAAAA,CACAC,IAMQC,CAA+B,EAAA,CACrCA,EAAS,EAAG,CAAA,cAAA,CAAgB,MAAOC,CAAU,EAAA,CAC3C,GAAM,CAAE,IAAA,CAAMC,CAAK,CAAI,CAAA,MAAMP,EAAI,KAAM,CAAA,GAAA,CAAIM,EAAM,OAAQ,CAAA,MAAM,EAC3DC,CAAK,CAAA,IAAA,GAAS,WAId,OAAOJ,CAAAA,EAAc,UAAY,CAACI,CAAAA,CAAK,KAAK,QAASJ,CAAAA,CAAS,CAI9DA,EAAAA,CAAAA,YAAqB,MAAU,EAAA,CAACA,EAAU,IAAKI,CAAAA,CAAAA,CAAK,IAAI,CAI5DC,EAAAA,CAAAA,CAAcF,CAAK,CAAE,CAAA,IAAA,CAAMG,GAAWL,CAASG,CAAAA,CAAAA,CAAME,EAAQH,CAAK,CAAC,GACrE,CAAC,EACH,EAGF,eAAsBE,CAAAA,CAAcF,EAAuC,CACzE,IAAMC,EAAO,MAAMP,CAAAA,CAAI,MAAM,QAASM,CAAAA,CAAAA,CAAM,QAAQ,MAAM,CAAA,CAEpDI,EAAmB,EAAC,CAE1B,cAAiBC,CAASJ,IAAAA,CAAAA,CACxBG,EAAO,IAAKC,CAAAA,CAAK,EAGnB,OAAO,MAAA,CAAO,MAAOD,CAAAA,CAAM,CAC7B","file":"index.cjs","sourcesContent":["import type { Flatfile } from '@flatfile/api'\nimport { FlatfileClient } from '@flatfile/api'\nimport type { FlatfileEvent, FlatfileListener } from '@flatfile/listener'\n\nconst api = new FlatfileClient()\n\nexport const fileBuffer = (\n  matchFile: string | RegExp,\n  callback: (\n    file: Flatfile.File_,\n    buffer: Buffer,\n    event: FlatfileEvent\n  ) => Promise<void> | void\n) => {\n  return (listener: FlatfileListener) => {\n    listener.on('file:created', async (event) => {\n      const { data: file } = await api.files.get(event.context.fileId)\n      if (file.mode === 'export') {\n        return\n      }\n\n      if (typeof matchFile === 'string' && !file.name.endsWith(matchFile)) {\n        return\n      }\n\n      if (matchFile instanceof RegExp && !matchFile.test(file.name)) {\n        return\n      }\n\n      getFileBuffer(event).then((buffer) => callback(file, buffer, event))\n    })\n  }\n}\n\nexport async function getFileBuffer(event: FlatfileEvent): Promise<Buffer> {\n  const file = await api.files.download(event.context.fileId)\n\n  const chunks: Buffer[] = []\n  // node.js readable streams implement the async iterator protocol\n  for await (const chunk of file) {\n    chunks.push(chunk)\n  }\n\n  return Buffer.concat(chunks)\n}\n"]}