Transform arrays in native tags into transformed

This commit is contained in:
Lynn Smeria 2018-08-30 16:48:15 +02:00
parent e466b92b3a
commit 062f7f8386
3 changed files with 23 additions and 4 deletions

View file

@ -6,3 +6,5 @@ env:
extends:
- airbnb-base
- prettier
rules:
no-param-reassign: off

View file

@ -1,6 +1,6 @@
{
"name": "publikator",
"version": "0.17.0",
"version": "0.17.1",
"main": "index.js",
"repository": "https://github.com/aengl/publikator.git",
"author": "Lynn Smeria <ae@cephea.de>",

View file

@ -6,12 +6,29 @@ module.exports = {
/**
* Reads tags from a track.
*/
readTags: file =>
mm.parseFile(file, {
readTags: async file => {
const metaData = await mm.parseFile(file, {
duration: true,
native: true,
skipCovers: true,
}),
});
// Transform arrays to objects, so we can access them easily in Jekyll
metaData.transformed = _.transform(
metaData.native,
(result, value, key) => {
result[key] = value.reduce((all, item) => {
if (item.value && item.value.text && item.value.description) {
all[item.value.description] = item.value.text;
} else {
all[item.id] = item.value;
}
return all;
}, {});
},
{}
);
return metaData;
},
/**
* Extracts the cover art into a file stream.