Add Message.createAttachmentLoader

This commit is contained in:
Daniel Gasienica 2018-04-03 21:17:48 -04:00
parent 43ab320d31
commit 94c75762b5
2 changed files with 11 additions and 0 deletions

View file

@ -177,6 +177,16 @@ exports.upgradeSchema = async (message, { writeNewAttachmentData } = {}) => {
);
};
exports.createAttachmentLoader = (loadAttachmentData) => {
if (!isFunction(loadAttachmentData)) {
throw new TypeError('`loadAttachmentData` is required');
}
return async message => (Object.assign({}, message, {
attachments: await Promise.all(message.attachments.map(loadAttachmentData)),
}));
};
// createImporter :: (RelativePath -> IO Unit)
// Message ->
// IO (Promise Message)