summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js')
-rw-r--r--includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js163
1 files changed, 0 insertions, 163 deletions
diff --git a/includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js b/includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js
deleted file mode 100644
index c2dc885..0000000
--- a/includes/external/addressbook/node_modules/open-graph-scraper/dist/lib/media.js
+++ /dev/null
@@ -1,163 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.mediaSetup = void 0;
-const fields_1 = require("./fields");
-const mediaMapperTwitterImage = (item) => ({
- alt: item[3],
- height: item[2],
- url: item[0],
- width: item[1],
-});
-const mediaMapperTwitterPlayer = (item) => ({
- height: item[2],
- stream: item[3],
- url: item[0],
- width: item[1],
-});
-const mediaMapperMusicSong = (item) => ({
- disc: item[2],
- track: item[1],
- url: item[0],
-});
-const mediaMapper = (item) => ({
- height: item[2],
- type: item[3],
- url: item[0],
- width: item[1],
-});
-const mediaSorter = (a, b) => {
- if (!(a.url && b.url)) {
- return 0;
- }
- const aRes = a.url.match(/\.(\w{2,5})$/);
- const aExt = (aRes && aRes[1].toLowerCase()) || null;
- const bRes = b.url.match(/\.(\w{2,5})$/);
- const bExt = (bRes && bRes[1].toLowerCase()) || null;
- if (aExt === 'gif' && bExt !== 'gif') {
- return -1;
- }
- if (aExt !== 'gif' && bExt === 'gif') {
- return 1;
- }
- return Math.max(b.width, b.height) - Math.max(a.width, a.height);
-};
-const mediaSorterMusicSong = (a, b) => {
- if (!(a.track && b.track)) {
- return 0;
- }
- if (a.disc > b.disc) {
- return 1;
- }
- if (a.disc < b.disc) {
- return -1;
- }
- return a.track - b.track;
-};
-// lodash zip replacement
-const zip = (array, ...args) => {
- if (array === undefined)
- return [];
- return array
- .map((value, idx) => [value, ...args.map((arr) => arr[idx])]);
-};
-/**
- * formats the multiple media values
- *
- * @param {object} ogObject - the current ogObject
- * @param {object} options - options for ogs
- * @return {object} object with ogs results with updated media values
- *
- */
-function mediaSetup(ogObject, options) {
- // sets ogImage image/width/height/type to null if one these exists
- if (ogObject.ogImage || ogObject.ogImageWidth || ogObject.ogImageHeight || ogObject.ogImageType) {
- ogObject.ogImage = ogObject.ogImage ? ogObject.ogImage : [null];
- ogObject.ogImageWidth = ogObject.ogImageWidth ? ogObject.ogImageWidth : [null];
- ogObject.ogImageHeight = ogObject.ogImageHeight ? ogObject.ogImageHeight : [null];
- ogObject.ogImageType = ogObject.ogImageType ? ogObject.ogImageType : [null];
- }
- // format images
- const ogImages = zip(ogObject.ogImage, ogObject.ogImageWidth, ogObject.ogImageHeight, ogObject.ogImageType)
- .map(mediaMapper)
- .sort(mediaSorter);
- // sets ogVideo video/width/height/type to null if one these exists
- if (ogObject.ogVideo || ogObject.ogVideoWidth || ogObject.ogVideoHeight || ogObject.ogVideoType) {
- ogObject.ogVideo = ogObject.ogVideo ? ogObject.ogVideo : [null];
- ogObject.ogVideoWidth = ogObject.ogVideoWidth ? ogObject.ogVideoWidth : [null];
- ogObject.ogVideoHeight = ogObject.ogVideoHeight ? ogObject.ogVideoHeight : [null];
- ogObject.ogVideoType = ogObject.ogVideoType ? ogObject.ogVideoType : [null];
- }
- // format videos
- const ogVideos = zip(ogObject.ogVideo, ogObject.ogVideoWidth, ogObject.ogVideoHeight, ogObject.ogVideoType)
- .map(mediaMapper)
- .sort(mediaSorter);
- // sets twitter image image/width/height/type to null if one these exists
- if (ogObject.twitterImageSrc
- || ogObject.twitterImage
- || ogObject.twitterImageWidth
- || ogObject.twitterImageHeight
- || ogObject.twitterImageAlt) {
- ogObject.twitterImageSrc = ogObject.twitterImageSrc ? ogObject.twitterImageSrc : [null];
- ogObject.twitterImage = ogObject.twitterImage ? ogObject.twitterImage : ogObject.twitterImageSrc; // deafult to twitterImageSrc
- ogObject.twitterImageWidth = ogObject.twitterImageWidth ? ogObject.twitterImageWidth : [null];
- ogObject.twitterImageHeight = ogObject.twitterImageHeight ? ogObject.twitterImageHeight : [null];
- ogObject.twitterImageAlt = ogObject.twitterImageAlt ? ogObject.twitterImageAlt : [null];
- }
- // format twitter images
- const twitterImages = zip(ogObject.twitterImage, ogObject.twitterImageWidth, ogObject.twitterImageHeight, ogObject.twitterImageAlt).map(mediaMapperTwitterImage).sort(mediaSorter);
- // sets twitter player/width/height/stream to null if one these exists
- if (ogObject.twitterPlayer
- || ogObject.twitterPlayerWidth
- || ogObject.twitterPlayerHeight
- || ogObject.twitterPlayerStream) {
- ogObject.twitterPlayer = ogObject.twitterPlayer ? ogObject.twitterPlayer : [null];
- ogObject.twitterPlayerWidth = ogObject.twitterPlayerWidth ? ogObject.twitterPlayerWidth : [null];
- ogObject.twitterPlayerHeight = ogObject.twitterPlayerHeight ? ogObject.twitterPlayerHeight : [null];
- ogObject.twitterPlayerStream = ogObject.twitterPlayerStream ? ogObject.twitterPlayerStream : [null];
- }
- // format twitter player
- const twitterPlayers = zip(ogObject.twitterPlayer, ogObject.twitterPlayerWidth, ogObject.twitterPlayerHeight, ogObject.twitterPlayerStream).map(mediaMapperTwitterPlayer)
- .sort(mediaSorter);
- // sets music song/songTrack/songDisc to null if one these exists
- if (ogObject.musicSong || ogObject.musicSongTrack || ogObject.musicSongDisc) {
- ogObject.musicSong = ogObject.musicSong ? ogObject.musicSong : [null];
- ogObject.musicSongTrack = ogObject.musicSongTrack ? ogObject.musicSongTrack : [null];
- ogObject.musicSongDisc = ogObject.musicSongDisc ? ogObject.musicSongDisc : [null];
- }
- // format music songs
- const musicSongs = zip(ogObject.musicSong, ogObject.musicSongTrack, ogObject.musicSongDisc)
- .map(mediaMapperMusicSong)
- .sort(mediaSorterMusicSong);
- // remove old values since everything will live under the main property
- fields_1.default.filter((item) => (item.multiple && item.fieldName && item.fieldName.match('(ogImage|ogVideo|twitter|musicSong).*')))
- .forEach((item) => {
- delete ogObject[item.fieldName];
- });
- if (options.allMedia) {
- if (ogImages.length)
- ogObject.ogImage = ogImages;
- if (ogVideos.length)
- ogObject.ogVideo = ogVideos;
- if (twitterImages.length)
- ogObject.twitterImage = twitterImages;
- if (twitterPlayers.length)
- ogObject.twitterPlayer = twitterPlayers;
- if (musicSongs.length)
- ogObject.musicSong = musicSongs;
- }
- else {
- if (ogImages.length)
- [ogObject.ogImage] = ogImages;
- if (ogVideos.length)
- [ogObject.ogVideo] = ogVideos;
- if (twitterImages.length)
- [ogObject.twitterImage] = twitterImages;
- if (twitterPlayers.length)
- [ogObject.twitterPlayer] = twitterPlayers;
- if (musicSongs.length)
- [ogObject.musicSong] = musicSongs;
- }
- return ogObject;
-}
-exports.mediaSetup = mediaSetup;
-exports.default = mediaSetup;