securityos/node_modules/next/dist/lib/metadata/generate/opengraph.js

474 lines
16 KiB
JavaScript
Raw Normal View History

2024-09-06 15:32:35 +00:00
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
OpenGraphMetadata: null,
TwitterMetadata: null,
AppLinksMeta: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
OpenGraphMetadata: function() {
return OpenGraphMetadata;
},
TwitterMetadata: function() {
return TwitterMetadata;
},
AppLinksMeta: function() {
return AppLinksMeta;
}
});
const _meta = require("./meta");
function OpenGraphMetadata({ openGraph }) {
var _openGraph_title, _openGraph_url, _openGraph_ttl;
if (!openGraph) {
return null;
}
let typedOpenGraph;
if ("type" in openGraph) {
const openGraphType = openGraph.type;
switch(openGraphType){
case "website":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "website"
})
];
break;
case "article":
var _openGraph_publishedTime, _openGraph_modifiedTime, _openGraph_expirationTime;
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "article"
}),
(0, _meta.Meta)({
property: "article:published_time",
content: (_openGraph_publishedTime = openGraph.publishedTime) == null ? void 0 : _openGraph_publishedTime.toString()
}),
(0, _meta.Meta)({
property: "article:modified_time",
content: (_openGraph_modifiedTime = openGraph.modifiedTime) == null ? void 0 : _openGraph_modifiedTime.toString()
}),
(0, _meta.Meta)({
property: "article:expiration_time",
content: (_openGraph_expirationTime = openGraph.expirationTime) == null ? void 0 : _openGraph_expirationTime.toString()
}),
(0, _meta.MultiMeta)({
propertyPrefix: "article:author",
contents: openGraph.authors
}),
(0, _meta.Meta)({
property: "article:section",
content: openGraph.section
}),
(0, _meta.MultiMeta)({
propertyPrefix: "article:tag",
contents: openGraph.tags
})
];
break;
case "book":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "book"
}),
(0, _meta.Meta)({
property: "book:isbn",
content: openGraph.isbn
}),
(0, _meta.Meta)({
property: "book:release_date",
content: openGraph.releaseDate
}),
(0, _meta.MultiMeta)({
propertyPrefix: "book:author",
contents: openGraph.authors
}),
(0, _meta.MultiMeta)({
propertyPrefix: "book:tag",
contents: openGraph.tags
})
];
break;
case "profile":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "profile"
}),
(0, _meta.Meta)({
property: "profile:first_name",
content: openGraph.firstName
}),
(0, _meta.Meta)({
property: "profile:last_name",
content: openGraph.lastName
}),
(0, _meta.Meta)({
property: "profile:username",
content: openGraph.username
}),
(0, _meta.Meta)({
property: "profile:gender",
content: openGraph.gender
})
];
break;
case "music.song":
var _openGraph_duration;
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "music.song"
}),
(0, _meta.Meta)({
property: "music:duration",
content: (_openGraph_duration = openGraph.duration) == null ? void 0 : _openGraph_duration.toString()
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:album",
contents: openGraph.albums
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:musician",
contents: openGraph.musicians
})
];
break;
case "music.album":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "music.album"
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:song",
contents: openGraph.songs
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:musician",
contents: openGraph.musicians
}),
(0, _meta.Meta)({
property: "music:release_date",
content: openGraph.releaseDate
})
];
break;
case "music.playlist":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "music.playlist"
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:song",
contents: openGraph.songs
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:creator",
contents: openGraph.creators
})
];
break;
case "music.radio_station":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "music.radio_station"
}),
(0, _meta.MultiMeta)({
propertyPrefix: "music:creator",
contents: openGraph.creators
})
];
break;
case "video.movie":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "video.movie"
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:actor",
contents: openGraph.actors
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:director",
contents: openGraph.directors
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:writer",
contents: openGraph.writers
}),
(0, _meta.Meta)({
property: "video:duration",
content: openGraph.duration
}),
(0, _meta.Meta)({
property: "video:release_date",
content: openGraph.releaseDate
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:tag",
contents: openGraph.tags
})
];
break;
case "video.episode":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "video.episode"
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:actor",
contents: openGraph.actors
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:director",
contents: openGraph.directors
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:writer",
contents: openGraph.writers
}),
(0, _meta.Meta)({
property: "video:duration",
content: openGraph.duration
}),
(0, _meta.Meta)({
property: "video:release_date",
content: openGraph.releaseDate
}),
(0, _meta.MultiMeta)({
propertyPrefix: "video:tag",
contents: openGraph.tags
}),
(0, _meta.Meta)({
property: "video:series",
content: openGraph.series
})
];
break;
case "video.tv_show":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "video.tv_show"
})
];
break;
case "video.other":
typedOpenGraph = [
(0, _meta.Meta)({
property: "og:type",
content: "video.other"
})
];
break;
default:
const _exhaustiveCheck = openGraphType;
throw new Error(`Invalid OpenGraph type: ${_exhaustiveCheck}`);
}
}
return (0, _meta.MetaFilter)([
(0, _meta.Meta)({
property: "og:determiner",
content: openGraph.determiner
}),
(0, _meta.Meta)({
property: "og:title",
content: (_openGraph_title = openGraph.title) == null ? void 0 : _openGraph_title.absolute
}),
(0, _meta.Meta)({
property: "og:description",
content: openGraph.description
}),
(0, _meta.Meta)({
property: "og:url",
content: (_openGraph_url = openGraph.url) == null ? void 0 : _openGraph_url.toString()
}),
(0, _meta.Meta)({
property: "og:site_name",
content: openGraph.siteName
}),
(0, _meta.Meta)({
property: "og:locale",
content: openGraph.locale
}),
(0, _meta.Meta)({
property: "og:country_name",
content: openGraph.countryName
}),
(0, _meta.Meta)({
property: "og:ttl",
content: (_openGraph_ttl = openGraph.ttl) == null ? void 0 : _openGraph_ttl.toString()
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:image",
contents: openGraph.images
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:video",
contents: openGraph.videos
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:audio",
contents: openGraph.audio
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:email",
contents: openGraph.emails
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:phone_number",
contents: openGraph.phoneNumbers
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:fax_number",
contents: openGraph.faxNumbers
}),
(0, _meta.MultiMeta)({
propertyPrefix: "og:locale:alternate",
contents: openGraph.alternateLocale
}),
...typedOpenGraph ? typedOpenGraph : []
]);
}
function TwitterAppItem({ app, type }) {
var _app_url_type, _app_url;
return [
(0, _meta.Meta)({
name: `twitter:app:name:${type}`,
content: app.name
}),
(0, _meta.Meta)({
name: `twitter:app:id:${type}`,
content: app.id[type]
}),
(0, _meta.Meta)({
name: `twitter:app:url:${type}`,
content: (_app_url = app.url) == null ? void 0 : (_app_url_type = _app_url[type]) == null ? void 0 : _app_url_type.toString()
})
];
}
function TwitterMetadata({ twitter }) {
var _twitter_title;
if (!twitter) return null;
const { card } = twitter;
return (0, _meta.MetaFilter)([
(0, _meta.Meta)({
name: "twitter:card",
content: card
}),
(0, _meta.Meta)({
name: "twitter:site",
content: twitter.site
}),
(0, _meta.Meta)({
name: "twitter:site:id",
content: twitter.siteId
}),
(0, _meta.Meta)({
name: "twitter:creator",
content: twitter.creator
}),
(0, _meta.Meta)({
name: "twitter:creator:id",
content: twitter.creatorId
}),
(0, _meta.Meta)({
name: "twitter:title",
content: (_twitter_title = twitter.title) == null ? void 0 : _twitter_title.absolute
}),
(0, _meta.Meta)({
name: "twitter:description",
content: twitter.description
}),
(0, _meta.MultiMeta)({
namePrefix: "twitter:image",
contents: twitter.images
}),
...card === "player" ? twitter.players.flatMap((player)=>[
(0, _meta.Meta)({
name: "twitter:player",
content: player.playerUrl.toString()
}),
(0, _meta.Meta)({
name: "twitter:player:stream",
content: player.streamUrl.toString()
}),
(0, _meta.Meta)({
name: "twitter:player:width",
content: player.width
}),
(0, _meta.Meta)({
name: "twitter:player:height",
content: player.height
})
]) : [],
...card === "app" ? [
TwitterAppItem({
app: twitter.app,
type: "iphone"
}),
TwitterAppItem({
app: twitter.app,
type: "ipad"
}),
TwitterAppItem({
app: twitter.app,
type: "googleplay"
})
] : []
]);
}
function AppLinksMeta({ appLinks }) {
if (!appLinks) return null;
return (0, _meta.MetaFilter)([
(0, _meta.MultiMeta)({
propertyPrefix: "al:ios",
contents: appLinks.ios
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:iphone",
contents: appLinks.iphone
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:ipad",
contents: appLinks.ipad
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:android",
contents: appLinks.android
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:windows_phone",
contents: appLinks.windows_phone
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:windows",
contents: appLinks.windows
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:windows_universal",
contents: appLinks.windows_universal
}),
(0, _meta.MultiMeta)({
propertyPrefix: "al:web",
contents: appLinks.web
})
]);
}
//# sourceMappingURL=opengraph.js.map