traxxx/assets/js/curate.js

46 lines
1.1 KiB
JavaScript

function curateActor(actor) {
const curatedActor = {
...actor,
origin: actor.originCountry && {
country: actor.originCountry,
},
};
if (actor.avatar) curatedActor.avatar = actor.avatar.media;
return curatedActor;
}
function curateRelease(release) {
const curatedRelease = {
...release,
actors: release.actors.map(({ actor }) => curateActor(actor)),
poster: release.poster && release.poster.media,
tags: release.tags.map(({ tag }) => tag),
network: release.site.network,
};
if (release.photos) curatedRelease.photos = release.photos.map(({ media }) => media);
if (release.trailer) [curatedRelease.trailer] = release.trailer.media;
return curatedRelease;
}
function curateTag(tag) {
const curatedTag = {
...tag,
};
if (tag.releases) curatedTag.releases = tag.releases.map(({ release }) => curateRelease(release));
if (tag.photos) curatedTag.photos = tag.photos.map(({ media }) => media);
if (tag.poster) curatedTag.poster = tag.poster.media;
return curatedTag;
}
export {
curateActor,
curateRelease,
curateTag,
};