Files
himanshu8443 2a4aa2a680 renaming
2025-06-16 22:26:38 +05:30

84 lines
2.1 KiB
TypeScript

import { Info, Link, ProviderContext } from "../types";
export const getMeta = async function ({
link,
providerContext,
}: {
link: string;
providerContext: ProviderContext;
}): Promise<Info> {
try {
const { getBaseUrl, axios } = providerContext;
const baseUrl = await getBaseUrl("consumet");
const url = `${baseUrl}/anime/zoro/info?id=` + link;
const res = await axios.get(url);
const data = res.data;
const meta = {
title: data.title,
synopsis: data.description,
image: data.image,
tags: [
data?.type,
data?.subOrDub === "both" ? "Sub And Dub" : data?.subOrDub,
],
imdbId: "",
type: data.episodes.length > 0 ? "series" : "movie",
};
const linkList: Link[] = [];
const subLinks: Link["directLinks"] = [];
data.episodes.forEach((episode: any) => {
if (!episode?.isSubbed) {
return;
}
const title =
"Episode " + episode.number + (episode?.isFiller ? " (Filler)" : "");
const link = episode.id + "$sub";
if (link && title) {
subLinks.push({
title,
link,
});
}
});
linkList.push({
title: meta.title + " (Sub)",
directLinks: subLinks,
});
if (data?.subOrDub === "both") {
const dubLinks: Link["directLinks"] = [];
data.episodes.forEach((episode: any) => {
if (!episode?.isDubbed) {
return;
}
const title =
"Episode " + episode.number + (episode?.isFiller ? " (Filler)" : "");
const link = episode.id + "$dub";
if (link && title) {
dubLinks.push({
title,
link,
});
}
});
linkList.push({
title: meta.title + " (Dub)",
directLinks: dubLinks,
});
}
return {
...meta,
linkList: linkList,
};
} catch (err) {
console.error(err);
return {
title: "",
synopsis: "",
image: "",
imdbId: "",
type: "movie",
linkList: [],
};
}
};