aboutsummaryrefslogtreecommitdiff
path: root/utils/combineImages.ts
diff options
context:
space:
mode:
authorFactiven <[email protected]>2023-12-24 13:03:54 +0700
committerFactiven <[email protected]>2023-12-24 13:03:54 +0700
commit50a0f0240d7fef133eb5acc1bea2b1168b08e9db (patch)
tree307e09e505580415a58d64b5fc3580e9235869f1 /utils/combineImages.ts
parentUpdate README.md (#104) (diff)
downloadmoopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.tar.xz
moopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.zip
migrate to typescript
Diffstat (limited to 'utils/combineImages.ts')
-rw-r--r--utils/combineImages.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/utils/combineImages.ts b/utils/combineImages.ts
new file mode 100644
index 0000000..01b7ef3
--- /dev/null
+++ b/utils/combineImages.ts
@@ -0,0 +1,43 @@
+interface Image {
+ episode: number;
+ img: string;
+}
+
+interface Episode {
+ number: number;
+ img?: string;
+}
+
+interface ProviderEpisodes {
+ episodes: Episode[];
+}
+
+async function appendImagesToEpisodes(
+ episodesData: ProviderEpisodes[],
+ images: Image[]
+) {
+ // Create a dictionary for faster lookup of images based on episode number
+ const episodeImages: { [key: number]: string } = {};
+ images.forEach((image) => {
+ episodeImages[image.episode] = image.img;
+ });
+
+ // Iterate through each provider's episodes data
+ for (const providerEpisodes of episodesData) {
+ // Iterate through each episode in the provider's episodes data
+ for (const episode of providerEpisodes.episodes) {
+ // Get the episode number
+ const episodeNumber = episode.number;
+
+ // Check if there is an image available for this episode number
+ if (episodeImages[episodeNumber]) {
+ // Append the image URL to the episode data
+ episode.img = episodeImages[episodeNumber];
+ }
+ }
+ }
+
+ return episodesData;
+}
+
+export default appendImagesToEpisodes;