@zougui/common.furaffinity
Version:
46 lines • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertSubmission = void 0;
const furaffinity_api_1 = require("furaffinity-api");
const luxon_1 = require("luxon");
const common_url_utils_1 = require("@zougui/common.url-utils");
const enums_1 = require("./enums");
const description_1 = require("./description");
const convertSubmission = (submission) => {
const rating = enums_1.Rating[furaffinity_api_1.Rating[submission.rating]];
const category = enums_1.Category[furaffinity_api_1.Category[submission.content.category]];
const species = enums_1.Species[furaffinity_api_1.Species[submission.content.species]];
const gender = enums_1.Gender[furaffinity_api_1.Gender[submission.content.gender]];
return {
id: Number(submission.id),
url: (0, common_url_utils_1.secureHttpProtocol)(submission.url),
downloadUrl: (0, common_url_utils_1.secureHttpProtocol)(submission.downloadUrl),
previewUrl: submission.previewUrl && (0, common_url_utils_1.secureHttpProtocol)(submission.previewUrl),
title: submission.title,
postedDate: luxon_1.DateTime.fromMillis(submission.posted),
rating: rating || enums_1.Rating.Any,
keywords: submission.keywords,
author: {
id: submission.author.id,
name: submission.author.name,
url: (0, common_url_utils_1.secureHttpProtocol)(submission.author.url),
avatar: submission.author.avatar && (0, common_url_utils_1.secureHttpProtocol)(submission.author.avatar),
shinies: submission.author.shinies,
},
description: (0, description_1.parseDescription)(submission.description),
content: {
category: category || enums_1.Category.Other,
species: species || enums_1.Species['Unspecified / Any'],
gender: gender || enums_1.Gender['Other / Not Specified'],
},
stats: {
// `Number` is required because those properties have the type
// 'Number' instead of 'number'
favoriteCount: Number(submission.stats.favorites),
commentCount: Number(submission.stats.comments),
viewCount: Number(submission.stats.views),
},
};
};
exports.convertSubmission = convertSubmission;
//# sourceMappingURL=SubmissionData.js.map