UNPKG

@dapore/files

Version:

Optimize the retrieval of files from a file storage system like S3

18 lines (16 loc) 489 B
import { GetObjectCommand } from '@aws-sdk/client-s3' import { isNilOrEmpty, omitBy } from '@meltwater/phi' import streamToString from '../../util/stream-to-string' export default s3Client => async ({ bucket, key }) => { const input = omitBy(isNilOrEmpty, { Bucket: bucket, Key: key }) const command = new GetObjectCommand(input) const { Body: stream } = await s3Client.send(command) if (isNilOrEmpty(stream)) return stream // null return streamToString(stream) }