putObject = async (bucket, path, value, options) => {
const s3Options = { ...options };
delete s3Options["tags"];
return s3
.putObject({
Bucket: bucket,
Key: path,
Body: value,
...(options?.tags && {
Tagging: Object.entries(options.tags)
.map((e) => `${e[0]}=${e[1]}`)
.join("&")
}),
...s3Options
})
.promise();
}