@aliceplex/core
Version:
[![License][license_badge]][license] [![Pipelines][pipelines_badge]][pipelines] [![Coverage][coverage_badge]][pipelines] [![NPM][npm_badge]][npm] [![semantic-release][semantic_release_badge]][semantic_release]
48 lines • 2.72 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/camelcase */
const format_1 = require("../format");
const actor_1 = require("./actor");
const model_1 = require("./model");
exports.isMovie = (model) => "sortTitle" in model && !("seasonSummary" in model);
exports.isSerializedMovie = (model) => "sort_title" in model && !("season_summary" in model);
const sort = ({ title, sort_title, original_title, content_rating, tagline, studio, aired, summary, rating, genres, collections, actors, directors, writers }) => ({
title,
sort_title,
original_title,
content_rating,
tagline,
studio,
aired,
summary,
rating,
genres,
collections,
actors,
directors,
writers
});
exports.serializeMovie = (data) => {
const { actors } = data, others = __rest(data, ["actors"]);
return sort(model_1.mapSerializedTitle(model_1.mapSerializedContentRating(Object.assign(Object.assign({}, others), { actors: actors.map(actor_1.serializeActor) }))));
};
exports.deserializeMovie = (data) => {
const { actors } = data, others = __rest(data, ["actors"]);
return model_1.mapTitle(model_1.mapContentRating(Object.assign(Object.assign({}, others), { actors: actors.map(actor_1.deserializeActor) })));
};
exports.normalizeMovie = (data) => {
const { title, sortTitle, originalTitle, tagline, summary, studio, genres, collections, actors, directors, writers } = data, others = __rest(data, ["title", "sortTitle", "originalTitle", "tagline", "summary", "studio", "genres", "collections", "actors", "directors", "writers"]);
return Object.assign(Object.assign({}, others), { title: format_1.normalizeTitle(title), sortTitle: format_1.normalizeTitle(sortTitle), originalTitle: originalTitle.map(format_1.normalize), tagline: tagline.map(format_1.normalize), studio: studio.map(format_1.normalize), summary: summary ? format_1.normalize(summary) : summary, genres: genres.map(format_1.normalize), collections: collections.map(format_1.normalizeTitle), actors: actors.map(actor_1.normalizeActor), directors: directors.map(format_1.normalize), writers: writers.map(format_1.normalize) });
};
//# sourceMappingURL=movie.js.map