@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]
51 lines • 2.92 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;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/camelcase */
const lodash_1 = __importDefault(require("lodash"));
const format_1 = require("../format");
const actor_1 = require("./actor");
const model_1 = require("./model");
exports.isShow = (model) => "seasonSummary" in model;
exports.isSerializedShow = (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, season_summary }) => ({
title,
sort_title,
original_title,
content_rating,
tagline,
studio,
aired,
summary,
rating,
genres,
collections,
actors,
season_summary
});
exports.serializeShow = (data) => {
const { actors } = data, others = __rest(data, ["actors"]);
return sort(model_1.mapSerializedSeasonSummary(model_1.mapSerializedTitle(model_1.mapSerializedContentRating(Object.assign(Object.assign({}, others), { actors: actors.map(actor_1.serializeActor) })))));
};
exports.deserializeShow = (data) => {
const { actors } = data, others = __rest(data, ["actors"]);
return model_1.mapSeasonSummary(model_1.mapTitle(model_1.mapContentRating(Object.assign(Object.assign({}, others), { actors: actors.map(actor_1.deserializeActor) }))));
};
exports.normalizeShow = (data) => {
const { title, sortTitle, originalTitle, tagline, summary, studio, genres, collections, actors, seasonSummary } = data, others = __rest(data, ["title", "sortTitle", "originalTitle", "tagline", "summary", "studio", "genres", "collections", "actors", "seasonSummary"]);
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), seasonSummary: lodash_1.default.mapValues(seasonSummary, value => format_1.normalize(value)) });
};
//# sourceMappingURL=show.js.map