@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]
34 lines • 1.66 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 model_1 = require("./model");
exports.isEpisode = (model) => "directors" in model && !("sortTitle" in model);
exports.isSerializedEpisode = (model) => "directors" in model && !("sort_title" in model);
const sort = ({ title, aired, content_rating, summary, directors, writers, rating }) => ({
title,
aired,
content_rating,
summary,
directors,
writers,
rating
});
exports.serializeEpisode = (data) => sort(model_1.mapSerializedContentRating(data));
exports.deserializeEpisode = (data) => model_1.mapContentRating(data);
exports.normalizeEpisode = (data) => {
const { title, directors, writers, summary } = data, others = __rest(data, ["title", "directors", "writers", "summary"]);
return Object.assign(Object.assign({}, others), { title: title.map(format_1.normalizeTitle), summary: summary ? format_1.normalize(summary) : summary, directors: directors.map(format_1.normalize), writers: writers.map(format_1.normalize) });
};
//# sourceMappingURL=episode.js.map