{"version":3,"sources":["jsdelivr-header.js","/npm/justwatch-api-client@1.0.4/dist/index.js"],"names":[],"mappings":"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","file":"/npm/justwatch-api-client@1.0.4/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/justwatch-api-client@1.0.4/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import FetchWithProxyFallback from \"super-fetch-proxy\";\nimport timedFunction from \"timed-function\";\nimport getProxyList from \"getactiveproxies\";\n// Main class implementation\nclass JustWatchAPI {\n    constructor(timeout) {\n        this.timeout = timeout || 1400; // Default timeout is 1.4 seconds\n        this.fetchWithProxy = new FetchWithProxyFallback(getProxyList, timeout);\n    }\n    async searchByQuery(searchQuery, country = \"IN\") {\n        const response = await this.fetchWithProxy.fetch(`https://apis.justwatch.com/graphql`, {\n            method: \"POST\",\n            headers: {\n                accept: \"*/*\",\n                \"accept-language\": \"en-US,en;q=0.7\",\n                \"app-version\": \"3.9.3-web-web\",\n                \"content-type\": \"application/json\",\n                \"device-id\": \"w74RDcKnCcKDQRzCC1bDiM\",\n                priority: \"u=1, i\",\n                \"sec-ch-ua\": '\"Brave\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"',\n                \"sec-ch-ua-mobile\": \"?0\",\n                \"sec-ch-ua-platform\": '\"macOS\"',\n                \"sec-fetch-dest\": \"empty\",\n                \"sec-fetch-mode\": \"cors\",\n                \"sec-fetch-site\": \"same-site\",\n                \"sec-gpc\": \"1\",\n                Referer: \"https://www.justwatch.com/\",\n                \"Referrer-Policy\": \"strict-origin-when-cross-origin\",\n            },\n            body: JSON.stringify({\n                operationName: \"GetSuggestedTitles\",\n                variables: {\n                    country: country,\n                    language: \"en\",\n                    first: 4,\n                    filter: {\n                        searchQuery: searchQuery,\n                        includeTitlesWithoutUrl: true,\n                    },\n                },\n                query: `\r\n                  query GetSuggestedTitles($country: Country!, $language: Language!, $first: Int!, $filter: TitleFilter) {\r\n                    popularTitles(country: $country, first: $first, filter: $filter) {\r\n                      edges {\r\n                        node {\r\n                          ...SuggestedTitle\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment SuggestedTitle on MovieOrShow {\r\n                    __typename\r\n                    id\r\n                    objectType\r\n                    objectId\r\n                    content(country: $country, language: $language) {\r\n                      fullPath\r\n                      title\r\n                      originalReleaseYear\r\n                      posterUrl\r\n                      fullPath\r\n                      __typename\r\n                    }\r\n                    watchNowOffer(country: $country, platform: WEB) {\r\n                      id\r\n                      standardWebURL\r\n                      preAffiliatedStandardWebURL\r\n                      package {\r\n                        id\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    offers(country: $country, platform: WEB, filter: {preAffiliate: true}) {\r\n                      monetizationType\r\n                      presentationType\r\n                      standardWebURL\r\n                      preAffiliatedStandardWebURL\r\n                      package {\r\n                        id\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      id\r\n                      __typename\r\n                    }\r\n                  }\r\n                `,\n            }),\n        });\n        const data = await response.json();\n        const searchResults = data?.data?.popularTitles?.edges || [];\n        const searchResult = searchResults.map((result) => {\n            return {\n                title: result?.node?.content?.title || null,\n                originalReleaseYear: result?.node?.content?.originalReleaseYear || null,\n                posterUrl: result?.node?.content?.posterUrl\n                    ? `https://images.justwatch.com${result?.node?.content?.posterUrl\n                        .replace(\"{profile}\", \"s332\")\n                        .replace(\"{format}\", \"webp\")}`\n                    : \"\",\n                fullPath: result?.node?.content?.fullPath || null,\n            };\n        });\n        return searchResult;\n    }\n    async search(query, country = \"IN\") {\n        return timedFunction(this.searchByQuery.bind(this), this.timeout, [], query, country);\n    }\n    async getDataByPath(itemFullPath, country = \"IN\") {\n        const requestBody = {\n            operationName: \"GetUrlTitleDetails\",\n            variables: {\n                platform: \"WEB\",\n                excludeTextRecommendationTitle: true,\n                first: 10,\n                fullPath: itemFullPath,\n                language: \"en\",\n                country: country,\n                episodeMaxLimit: 20,\n                allowSponsoredRecommendations: {\n                    pageType: \"VIEW_TITLE_DETAIL\",\n                    placement: \"DETAIL_PAGE\",\n                    language: \"en\",\n                    country: country,\n                    applicationContext: {\n                        appID: \"3.9.3-webapp#e443a12\",\n                        platform: \"webapp\",\n                        version: \"3.9.3\",\n                        build: \"e443a12\",\n                        isTestBuild: false,\n                    },\n                    appId: \"3.9.3-webapp#e443a12\",\n                    platform: \"WEB\",\n                    supportedFormats: [\"IMAGE\", \"VIDEO\"],\n                    supportedObjectTypes: [\n                        \"MOVIE\",\n                        \"SHOW\",\n                        \"GENERIC_TITLE_LIST\",\n                        \"SHOW_SEASON\",\n                    ],\n                    alwaysReturnBidID: true,\n                    testingModeForceHoldoutGroup: false,\n                    testingMode: false,\n                },\n            },\n            query: `\r\n                  query GetUrlTitleDetails($fullPath: String!, $country: Country!, $language: Language!, $episodeMaxLimit: Int, $platform: Platform! = WEB, $allowSponsoredRecommendations: SponsoredRecommendationsInput, $format: ImageFormat, $backdropProfile: BackdropProfile, $excludeTextRecommendationTitle: Boolean = true, $streamingChartsFilter: StreamingChartsFilter, $first: Int! = 10) {\r\n                    urlV2(fullPath: $fullPath) {\r\n                      id\r\n                      metaDescription\r\n                      metaKeywords\r\n                      metaRobots\r\n                      metaTitle\r\n                      heading1\r\n                      heading2\r\n                      htmlContent\r\n                      node {\r\n                        ...TitleDetails\r\n                        ...BuyBoxOffers\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment TitleDetails on MovieOrShowOrSeason {\r\n                    id\r\n                    objectType\r\n                    objectId\r\n                    __typename\r\n                    plexPlayerOffers: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {packages: [\"pxp\"], preAffiliate: true}\r\n                    ) {\r\n                      ...WatchNowOffer\r\n                      __typename\r\n                    }\r\n                    justwatchTVOffers: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {packages: [\"jwt\"], preAffiliate: true}\r\n                    ) {\r\n                      ...WatchNowOffer\r\n                      __typename\r\n                    }\r\n                    disneyOffersCount: offerCount(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {packages: [\"dnp\"]}\r\n                    )\r\n                    starOffersCount: offerCount(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {packages: [\"srp\"]}\r\n                    )\r\n                    uniqueOfferCount: offerCount(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {bestOnly: true}\r\n                    )\r\n                    offers(country: $country, platform: $platform, filter: {preAffiliate: true}) {\r\n                      ...TitleOffer\r\n                      __typename\r\n                    }\r\n                    watchNowOffer(country: $country, platform: $platform) {\r\n                      ...WatchNowOffer\r\n                      __typename\r\n                    }\r\n                    availableTo(country: $country, platform: $platform) {\r\n                      availableCountDown(country: $country)\r\n                      availableToDate\r\n                      package {\r\n                        id\r\n                        shortName\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    fallBackClips: content(country: $country, language: \"en\") {\r\n                      clips {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      videobusterClips: clips(providers: [VIDEOBUSTER]) {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      dailymotionClips: clips(providers: [DAILYMOTION]) {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    content(country: $country, language: $language) {\r\n                      backdrops {\r\n                        backdropUrl\r\n                        __typename\r\n                      }\r\n                      fullBackdrops: backdrops(profile: S1920, format: JPG) {\r\n                        backdropUrl\r\n                        __typename\r\n                      }\r\n                      clips {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      videobusterClips: clips(providers: [VIDEOBUSTER]) {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      dailymotionClips: clips(providers: [DAILYMOTION]) {\r\n                        ...TrailerClips\r\n                        __typename\r\n                      }\r\n                      externalIds {\r\n                        imdbId\r\n                        wikidataId\r\n                        __typename\r\n                      }\r\n                      fullPath\r\n                      posterUrl\r\n                      fullPosterUrl: posterUrl(profile: S718, format: JPG)\r\n                      runtime\r\n                      isReleased\r\n                      scoring {\r\n                        imdbScore\r\n                        imdbVotes\r\n                        tmdbPopularity\r\n                        tmdbScore\r\n                        jwRating\r\n                        tomatoMeter\r\n                        certifiedFresh\r\n                        __typename\r\n                      }\r\n                      shortDescription\r\n                      title\r\n                      originalReleaseYear\r\n                      originalReleaseDate\r\n                      upcomingReleases {\r\n                        releaseCountDown(country: $country)\r\n                        releaseDate\r\n                        releaseType\r\n                        label\r\n                        package {\r\n                          id\r\n                          packageId\r\n                          shortName\r\n                          clearName\r\n                          monetizationTypes\r\n                          icon(profile: S100)\r\n                          iconWide(profile: S160)\r\n                          hasRectangularIcon(country: $country, platform: WEB)\r\n                          planOffers(country: $country, platform: $platform) {\r\n                            retailPrice(language: $language)\r\n                            durationDays\r\n                            presentationType\r\n                            isTrial\r\n                            retailPriceValue\r\n                            currency\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      genres {\r\n                        shortName\r\n                        translation(language: $language)\r\n                        __typename\r\n                      }\r\n                      subgenres {\r\n                        content(country: $country, language: $language) {\r\n                          shortName\r\n                          name\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      textRecommendations(first: $first) {\r\n                        ...TextRecommendation\r\n                        __typename\r\n                      }\r\n                      ... on MovieOrShowOrSeasonContent {\r\n                        subgenres {\r\n                          content(country: $country, language: $language) {\r\n                            url: moviesUrl {\r\n                              fullPath\r\n                              __typename\r\n                            }\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      ... on MovieOrShowContent {\r\n                        originalTitle\r\n                        ageCertification\r\n                        credits {\r\n                          role\r\n                          name\r\n                          characterName\r\n                          personId\r\n                          portraitUrl(profile: S332)\r\n                          __typename\r\n                        }\r\n                        interactions {\r\n                          dislikelistAdditions\r\n                          likelistAdditions\r\n                          votesNumber\r\n                          __typename\r\n                        }\r\n                        productionCountries\r\n                        __typename\r\n                      }\r\n                      ... on MovieContent {\r\n                        tags {\r\n                          technicalName\r\n                          translatedName\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      ... on ShowContent {\r\n                        tags {\r\n                          technicalName\r\n                          translatedName\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      ... on SeasonContent {\r\n                        seasonNumber\r\n                        interactions {\r\n                          dislikelistAdditions\r\n                          likelistAdditions\r\n                          votesNumber\r\n                          __typename\r\n                        }\r\n                        tags {\r\n                          technicalName\r\n                          translatedName\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    recommendedByCount\r\n                    watchedByCount\r\n                    popularityRank(country: $country) {\r\n                      rank\r\n                      trend\r\n                      trendDifference\r\n                      __typename\r\n                    }\r\n                    streamingCharts(country: $country, filter: $streamingChartsFilter) {\r\n                      edges {\r\n                        streamingChartInfo {\r\n                          rank\r\n                          trend\r\n                          trendDifference\r\n                          updatedAt\r\n                          daysInTop10\r\n                          daysInTop100\r\n                          daysInTop1000\r\n                          daysInTop3\r\n                          topRank\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    likelistEntry {\r\n                      createdAt\r\n                      __typename\r\n                    }\r\n                    dislikelistEntry {\r\n                      createdAt\r\n                      __typename\r\n                    }\r\n                    ... on MovieOrShow {\r\n                      watchlistEntryV2 {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      customlistEntries {\r\n                        createdAt\r\n                        genericTitleList {\r\n                          id\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      similarTitlesV2(\r\n                        country: $country\r\n                        allowSponsoredRecommendations: $allowSponsoredRecommendations\r\n                      ) {\r\n                        sponsoredAd {\r\n                          ...SponsoredAd\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on Movie {\r\n                      permanentAudiences\r\n                      seenlistEntry {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on Show {\r\n                      permanentAudiences\r\n                      totalSeasonCount\r\n                      seenState(country: $country) {\r\n                        progress\r\n                        seenEpisodeCount\r\n                        __typename\r\n                      }\r\n                      tvShowTrackingEntry {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      offers(country: $country, platform: $platform, filter: {preAffiliate: true}) {\r\n                        ...TitleOffer\r\n                        __typename\r\n                      }\r\n                      seasons(sortDirection: DESC) {\r\n                        id\r\n                        objectId\r\n                        objectType\r\n                        totalEpisodeCount\r\n                        availableTo(country: $country, platform: $platform) {\r\n                          availableToDate\r\n                          availableCountDown(country: $country)\r\n                          package {\r\n                            id\r\n                            shortName\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        offers(\r\n                          country: $country\r\n                          platform: $platform\r\n                          filter: {monetizationTypes: [BUY, RENT], preAffiliate: true}\r\n                        ) {\r\n                          package {\r\n                            clearName\r\n                            shortName\r\n                            __typename\r\n                          }\r\n                          monetizationType\r\n                          retailPrice(language: $language)\r\n                          retailPriceValue\r\n                          __typename\r\n                        }\r\n                        content(country: $country, language: $language) {\r\n                          posterUrl\r\n                          seasonNumber\r\n                          fullPath\r\n                          title\r\n                          upcomingReleases {\r\n                            releaseDate\r\n                            releaseCountDown(country: $country)\r\n                            __typename\r\n                          }\r\n                          isReleased\r\n                          originalReleaseYear\r\n                          __typename\r\n                        }\r\n                        show {\r\n                          __typename\r\n                          id\r\n                          objectId\r\n                          objectType\r\n                          watchlistEntryV2 {\r\n                            createdAt\r\n                            __typename\r\n                          }\r\n                          content(country: $country, language: $language) {\r\n                            title\r\n                            __typename\r\n                          }\r\n                        }\r\n                        fallBackClips: content(country: $country, language: \"en\") {\r\n                          clips {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          videobusterClips: clips(providers: [VIDEOBUSTER]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          dailymotionClips: clips(providers: [DAILYMOTION]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      recentEpisodes: episodes(\r\n                        sortDirection: DESC\r\n                        limit: 3\r\n                        releasedInCountry: $country\r\n                      ) {\r\n                        ...Episode\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on Season {\r\n                      totalEpisodeCount\r\n                      episodes(limit: $episodeMaxLimit) {\r\n                        ...Episode\r\n                        __typename\r\n                      }\r\n                      show {\r\n                        __typename\r\n                        id\r\n                        objectId\r\n                        objectType\r\n                        totalSeasonCount\r\n                        customlistEntries {\r\n                          createdAt\r\n                          genericTitleList {\r\n                            id\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        tvShowTrackingEntry {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        fallBackClips: content(country: $country, language: \"en\") {\r\n                          clips {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          videobusterClips: clips(providers: [VIDEOBUSTER]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          dailymotionClips: clips(providers: [DAILYMOTION]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        content(country: $country, language: $language) {\r\n                          title\r\n                          ageCertification\r\n                          fullPath\r\n                          genres {\r\n                            shortName\r\n                            __typename\r\n                          }\r\n                          credits {\r\n                            role\r\n                            name\r\n                            characterName\r\n                            personId\r\n                            __typename\r\n                          }\r\n                          productionCountries\r\n                          externalIds {\r\n                            imdbId\r\n                            __typename\r\n                          }\r\n                          upcomingReleases {\r\n                            releaseDate\r\n                            releaseType\r\n                            package {\r\n                              id\r\n                              shortName\r\n                              planOffers(country: $country, platform: $platform) {\r\n                                retailPrice(language: $language)\r\n                                durationDays\r\n                                presentationType\r\n                                isTrial\r\n                                retailPriceValue\r\n                                currency\r\n                                __typename\r\n                              }\r\n                              __typename\r\n                            }\r\n                            __typename\r\n                          }\r\n                          backdrops {\r\n                            backdropUrl\r\n                            __typename\r\n                          }\r\n                          posterUrl\r\n                          isReleased\r\n                          videobusterClips: clips(providers: [VIDEOBUSTER]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          dailymotionClips: clips(providers: [DAILYMOTION]) {\r\n                            ...TrailerClips\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        seenState(country: $country) {\r\n                          progress\r\n                          __typename\r\n                        }\r\n                        watchlistEntryV2 {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        dislikelistEntry {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        likelistEntry {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        similarTitlesV2(\r\n                          country: $country\r\n                          allowSponsoredRecommendations: $allowSponsoredRecommendations\r\n                        ) {\r\n                          sponsoredAd {\r\n                            ...SponsoredAd\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                      }\r\n                      seenState(country: $country) {\r\n                        progress\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment WatchNowOffer on Offer {\r\n                    __typename\r\n                    id\r\n                    standardWebURL\r\n                    preAffiliatedStandardWebURL\r\n                    streamUrl\r\n                    package {\r\n                      id\r\n                      icon\r\n                      packageId\r\n                      clearName\r\n                      shortName\r\n                      technicalName\r\n                      iconWide(profile: S160)\r\n                      hasRectangularIcon(country: $country, platform: WEB)\r\n                      __typename\r\n                    }\r\n                    retailPrice(language: $language)\r\n                    retailPriceValue\r\n                    lastChangeRetailPriceValue\r\n                    currency\r\n                    presentationType\r\n                    monetizationType\r\n                    availableTo\r\n                    dateCreated\r\n                    newElementCount\r\n                  }\r\n                  \r\n                  fragment TitleOffer on Offer {\r\n                    id\r\n                    presentationType\r\n                    monetizationType\r\n                    newElementCount\r\n                    retailPrice(language: $language)\r\n                    retailPriceValue\r\n                    currency\r\n                    lastChangeRetailPriceValue\r\n                    type\r\n                    package {\r\n                      id\r\n                      packageId\r\n                      clearName\r\n                      shortName\r\n                      technicalName\r\n                      icon(profile: S100)\r\n                      iconWide(profile: S160)\r\n                      planOffers(country: $country, platform: WEB) {\r\n                        title\r\n                        retailPrice(language: $language)\r\n                        isTrial\r\n                        durationDays\r\n                        retailPriceValue\r\n                        children {\r\n                          title\r\n                          retailPrice(language: $language)\r\n                          isTrial\r\n                          durationDays\r\n                          retailPriceValue\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    standardWebURL\r\n                    preAffiliatedStandardWebURL\r\n                    streamUrl\r\n                    elementCount\r\n                    availableTo\r\n                    subtitleLanguages\r\n                    videoTechnology\r\n                    audioTechnology\r\n                    audioLanguages(language: $language)\r\n                    __typename\r\n                  }\r\n                  \r\n                  fragment TrailerClips on Clip {\r\n                    sourceUrl\r\n                    externalId\r\n                    provider\r\n                    name\r\n                    __typename\r\n                  }\r\n                  \r\n                  fragment TextRecommendation on TextRecommendation {\r\n                    __typename\r\n                    id\r\n                    headline\r\n                    body\r\n                    originalHeadline\r\n                    originalBody\r\n                    customProfileType\r\n                    tags {\r\n                      technicalName\r\n                      translatedName\r\n                      __typename\r\n                    }\r\n                    watchedAt\r\n                    watchedOn {\r\n                      ...Package\r\n                      __typename\r\n                    }\r\n                    likeCount\r\n                    likedByUser\r\n                    ownedByUser\r\n                    profile {\r\n                      ...ProfileInfo\r\n                      __typename\r\n                    }\r\n                    updatedAt\r\n                    title @skip(if: $excludeTextRecommendationTitle) {\r\n                      ...PosterTitle\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment Package on Package {\r\n                    clearName\r\n                    id\r\n                    shortName\r\n                    technicalName\r\n                    packageId\r\n                    selected\r\n                    monetizationTypes\r\n                    icon\r\n                    addonParent(country: $country, platform: WEB) {\r\n                      id\r\n                      __typename\r\n                    }\r\n                    __typename\r\n                  }\r\n                  \r\n                  fragment ProfileInfo on Profile {\r\n                    __typename\r\n                    id: uuid\r\n                    displayName\r\n                    firstName\r\n                    lastName\r\n                    location\r\n                    country\r\n                    bio\r\n                    avatarUrl\r\n                    isComplete\r\n                    externalUrls {\r\n                      type\r\n                      name\r\n                      url\r\n                      __typename\r\n                    }\r\n                    ownedByUser\r\n                    profileUrl\r\n                    profileType\r\n                  }\r\n                  \r\n                  fragment PosterTitle on MovieOrShowOrSeason {\r\n                    __typename\r\n                    id\r\n                    objectId\r\n                    objectType\r\n                    content(country: $country, language: $language) {\r\n                      title\r\n                      posterUrl\r\n                      fullPath\r\n                      upcomingReleases {\r\n                        releaseDate\r\n                        releaseCountDown(country: $country)\r\n                        __typename\r\n                      }\r\n                      scoring {\r\n                        imdbScore\r\n                        imdbVotes\r\n                        tmdbPopularity\r\n                        tmdbScore\r\n                        jwRating\r\n                        tomatoMeter\r\n                        certifiedFresh\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    watchNowOffer(country: $country, platform: $platform) {\r\n                      ...WatchNowOffer\r\n                      __typename\r\n                    }\r\n                    availableTo(country: $country, platform: $platform) {\r\n                      availableToDate\r\n                      availableCountDown(country: $country)\r\n                      __typename\r\n                    }\r\n                    ... on Season {\r\n                      content(country: $country, language: $language) {\r\n                        seasonNumber\r\n                        __typename\r\n                      }\r\n                      show {\r\n                        __typename\r\n                        id\r\n                        objectId\r\n                        objectType\r\n                        content(country: $country, language: $language) {\r\n                          title\r\n                          fullPath\r\n                          __typename\r\n                        }\r\n                        watchNowOffer(country: $country, platform: $platform) {\r\n                          ...WatchNowOffer\r\n                          __typename\r\n                        }\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ...TitleListData\r\n                  }\r\n                  \r\n                  fragment TitleListData on MovieOrShowOrSeason {\r\n                    __typename\r\n                    id\r\n                    objectId\r\n                    objectType\r\n                    dislikelistEntry {\r\n                      createdAt\r\n                      __typename\r\n                    }\r\n                    likelistEntry {\r\n                      createdAt\r\n                      __typename\r\n                    }\r\n                    ... on MovieOrShow {\r\n                      watchlistEntryV2 {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      customlistEntries {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on Show {\r\n                      seenState(country: $country) {\r\n                        progress\r\n                        __typename\r\n                      }\r\n                      tvShowTrackingEntry {\r\n                        createdAt\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on Season {\r\n                      seenState(country: $country) {\r\n                        progress\r\n                        __typename\r\n                      }\r\n                      show {\r\n                        __typename\r\n                        id\r\n                        objectId\r\n                        objectType\r\n                        watchlistEntryV2 {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        seenState(country: $country) {\r\n                          progress\r\n                          __typename\r\n                        }\r\n                        tvShowTrackingEntry {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                        customlistEntries {\r\n                          createdAt\r\n                          __typename\r\n                        }\r\n                      }\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment SponsoredAd on SponsoredRecommendationAd {\r\n                    bidId\r\n                    holdoutGroup\r\n                    campaign {\r\n                      name\r\n                      backgroundImages {\r\n                        imageURL\r\n                        size\r\n                        __typename\r\n                      }\r\n                      countdownTimer\r\n                      creativeType\r\n                      disclaimerText\r\n                      externalTrackers {\r\n                        type\r\n                        data\r\n                        __typename\r\n                      }\r\n                      hideDetailPageButton\r\n                      hideImdbScore\r\n                      hideJwScore\r\n                      hideRatings\r\n                      hideContent\r\n                      posterOverride\r\n                      promotionalImageUrl\r\n                      promotionalVideo {\r\n                        url\r\n                        __typename\r\n                      }\r\n                      promotionalTitle\r\n                      promotionalText\r\n                      promotionalProviderLogo\r\n                      promotionalProviderWideLogo\r\n                      watchNowLabel\r\n                      watchNowOffer {\r\n                        ...WatchNowOffer\r\n                        __typename\r\n                      }\r\n                      nodeOverrides {\r\n                        nodeId\r\n                        promotionalImageUrl\r\n                        watchNowOffer {\r\n                          standardWebURL\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      node {\r\n                        nodeId: id\r\n                        __typename\r\n                        ... on MovieOrShowOrSeason {\r\n                          content(country: $country, language: $language) {\r\n                            fullPath\r\n                            posterUrl\r\n                            title\r\n                            originalReleaseYear\r\n                            scoring {\r\n                              imdbScore\r\n                              jwRating\r\n                              __typename\r\n                            }\r\n                            genres {\r\n                              shortName\r\n                              translation(language: $language)\r\n                              __typename\r\n                            }\r\n                            externalIds {\r\n                              imdbId\r\n                              __typename\r\n                            }\r\n                            backdrops(format: $format, profile: $backdropProfile) {\r\n                              backdropUrl\r\n                              __typename\r\n                            }\r\n                            isReleased\r\n                            __typename\r\n                          }\r\n                          objectId\r\n                          objectType\r\n                          offers(country: $country, platform: $platform, filter: {preAffiliate: true}) {\r\n                            monetizationType\r\n                            presentationType\r\n                            package {\r\n                              id\r\n                              packageId\r\n                              __typename\r\n                            }\r\n                            id\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        ... on MovieOrShow {\r\n                          watchlistEntryV2 {\r\n                            createdAt\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        ... on Show {\r\n                          seenState(country: $country) {\r\n                            seenEpisodeCount\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        ... on Season {\r\n                          content(country: $country, language: $language) {\r\n                            seasonNumber\r\n                            __typename\r\n                          }\r\n                          show {\r\n                            __typename\r\n                            id\r\n                            objectId\r\n                            objectType\r\n                            content(country: $country, language: $language) {\r\n                              originalTitle\r\n                              __typename\r\n                            }\r\n                            watchlistEntryV2 {\r\n                              createdAt\r\n                              __typename\r\n                            }\r\n                          }\r\n                          __typename\r\n                        }\r\n                        ... on GenericTitleList {\r\n                          followedlistEntry {\r\n                            createdAt\r\n                            name\r\n                            __typename\r\n                          }\r\n                          id\r\n                          type\r\n                          content(country: $country, language: $language) {\r\n                            name\r\n                            visibility\r\n                            __typename\r\n                          }\r\n                          titles(country: $country, first: 40) {\r\n                            totalCount\r\n                            edges {\r\n                              cursor\r\n                              node: nodeV2 {\r\n                                content(country: $country, language: $language) {\r\n                                  fullPath\r\n                                  posterUrl\r\n                                  title\r\n                                  originalReleaseYear\r\n                                  scoring {\r\n                                    imdbVotes\r\n                                    imdbScore\r\n                                    tomatoMeter\r\n                                    certifiedFresh\r\n                                    jwRating\r\n                                    __typename\r\n                                  }\r\n                                  isReleased\r\n                                  __typename\r\n                                }\r\n                                id\r\n                                objectId\r\n                                objectType\r\n                                __typename\r\n                              }\r\n                              __typename\r\n                            }\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                      }\r\n                      __typename\r\n                    }\r\n                    __typename\r\n                  }\r\n                  \r\n                  fragment Episode on Episode {\r\n                    id\r\n                    objectId\r\n                    objectType\r\n                    seenlistEntry {\r\n                      createdAt\r\n                      __typename\r\n                    }\r\n                    uniqueOfferCount: offerCount(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {bestOnly: true}\r\n                    )\r\n                    flatrate: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [FLATRATE_AND_BUY, FLATRATE, ADS, CINEMA, FREE], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      id\r\n                      package {\r\n                        id\r\n                        clearName\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    buy: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [BUY], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      id\r\n                      package {\r\n                        id\r\n                        clearName\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    rent: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [RENT], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      id\r\n                      package {\r\n                        id\r\n                        clearName\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    free: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [ADS, FREE], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      id\r\n                      package {\r\n                        id\r\n                        clearName\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    fast: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [FAST], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      id\r\n                      package {\r\n                        id\r\n                        clearName\r\n                        packageId\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    content(country: $country, language: $language) {\r\n                      title\r\n                      shortDescription\r\n                      episodeNumber\r\n                      seasonNumber\r\n                      isReleased\r\n                      runtime\r\n                      upcomingReleases {\r\n                        releaseDate\r\n                        label\r\n                        package {\r\n                          id\r\n                          packageId\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    __typename\r\n                  }\r\n                  \r\n                  fragment BuyBoxOffers on MovieOrShowOrSeasonOrEpisode {\r\n                    __typename\r\n                    offerCount(country: $country, platform: $platform)\r\n                    maxOfferUpdatedAt(country: $country, platform: $platform)\r\n                    flatrate: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [FLATRATE, FLATRATE_AND_BUY, CINEMA], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      ...TitleOffer\r\n                      __typename\r\n                    }\r\n                    buy: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [BUY], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      ...TitleOffer\r\n                      offerSeasons\r\n                      minRetailPrice(country: $country, platform: $platform, language: $language)\r\n                      __typename\r\n                    }\r\n                    rent: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [RENT], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      ...TitleOffer\r\n                      offerSeasons\r\n                      minRetailPrice(country: $country, platform: $platform, language: $language)\r\n                      __typename\r\n                    }\r\n                    free: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [FREE, ADS], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      ...TitleOffer\r\n                      __typename\r\n                    }\r\n                    fast: offers(\r\n                      country: $country\r\n                      platform: $platform\r\n                      filter: {monetizationTypes: [FAST], bestOnly: true, preAffiliate: true}\r\n                    ) {\r\n                      ...FastOffer\r\n                      __typename\r\n                    }\r\n                    bundles(country: $country, platform: WEB) {\r\n                      node {\r\n                        id\r\n                        clearName\r\n                        icon(profile: S100)\r\n                        technicalName\r\n                        bundleId\r\n                        packages(country: $country, platform: $platform) {\r\n                          icon\r\n                          id\r\n                          iconWide(profile: S160)\r\n                          clearName\r\n                          packageId\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      promotionUrl\r\n                      offer {\r\n                        ...TitleOffer\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                    ... on MovieOrShowOrSeason {\r\n                      promotedBundles(country: $country, platform: WEB) {\r\n                        node {\r\n                          id\r\n                          clearName\r\n                          icon(profile: S100)\r\n                          technicalName\r\n                          bundleId\r\n                          packages(country: $country, platform: $platform) {\r\n                            icon\r\n                            id\r\n                            clearName\r\n                            packageId\r\n                            __typename\r\n                          }\r\n                          __typename\r\n                        }\r\n                        promotionUrl\r\n                        offer {\r\n                          ...TitleOffer\r\n                          __typename\r\n                        }\r\n                        __typename\r\n                      }\r\n                      promotedOffers(\r\n                        country: $country\r\n                        platform: WEB\r\n                        filter: {bestOnly: true, preAffiliate: true}\r\n                      ) {\r\n                        ...TitleOffer\r\n                        minRetailPrice(country: $country, platform: $platform, language: $language)\r\n                        __typename\r\n                      }\r\n                      __typename\r\n                    }\r\n                  }\r\n                  \r\n                  fragment FastOffer on Offer {\r\n                    ...TitleOffer\r\n                    availableTo\r\n                    availableFromTime\r\n                    availableToTime\r\n                    __typename\r\n                  }\r\n                `,\n        };\n        const response = await this.fetchWithProxy.fetch(\"https://apis.justwatch.com/graphql\", {\n            method: \"POST\",\n            headers: {\n                accept: \"*/*\",\n                \"accept-language\": \"en-US,en;q=0.7\",\n                \"app-version\": \"3.9.3-web-web\",\n                \"content-type\": \"application/json\",\n                \"device-id\": \"w74RDcKnCcKDQRzCC1bDiM\",\n                priority: \"u=1, i\",\n                \"sec-ch-ua\": '\"Brave\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"',\n                \"sec-ch-ua-mobile\": \"?0\",\n                \"sec-ch-ua-platform\": '\"macOS\"',\n                \"sec-fetch-dest\": \"empty\",\n                \"sec-fetch-mode\": \"cors\",\n                \"sec-fetch-site\": \"same-site\",\n                \"sec-gpc\": \"1\",\n                Referer: \"https://www.justwatch.com/\",\n                \"Referrer-Policy\": \"strict-origin-when-cross-origin\",\n            },\n            body: JSON.stringify(requestBody),\n        });\n        const fullResponseDetails = await response.json();\n        const nodeData = fullResponseDetails?.data?.urlV2?.node || {};\n        if (!nodeData) {\n            return { ID: \"\", Streams: [] };\n        }\n        return {\n            ID: nodeData?.id || \"\",\n            originalTitle: nodeData?.content.originalTitle,\n            releastyear: nodeData?.content.originalReleaseYear || \"\",\n            isReleased: nodeData?.content.isReleased || false,\n            genres: nodeData?.content?.genres?.map((genre) => genre?.translation) ||\n                [],\n            productionCountries: nodeData?.content?.productionCountries || [],\n            shortDescription: nodeData?.content?.shortDescription || \"\",\n            imdbScore: nodeData?.content?.scoring?.imdbScore || \"\",\n            imdbCount: nodeData?.content?.scoring?.imdbVotes || \"\",\n            tmdbRating: nodeData?.content?.scoring?.tmdbScore || \"\",\n            tomatoMeter: nodeData?.content?.scoring?.tomatoMeter || \"\",\n            Streams: nodeData?.offers?.map((listItem) => ({\n                Resolution: listItem?.presentationType || \"\",\n                Type: listItem?.monetizationType || \"\",\n                Price: listItem?.retailPrice || \"\",\n                Provider: listItem?.package?.clearName || \"\",\n                Link: listItem?.standardWebURL || \"\",\n                Name: listItem?.package?.clearName || \"\",\n                Audio: listItem?.audioLanguages || [],\n                Subtitle: listItem?.subtitleLanguages || [],\n                Icon: listItem?.package?.iconWide\n                    ? `https://images.justwatch.com${listItem?.package?.iconWide.replace(\"{format}\", \"webp\")}`\n                    : \"\",\n            })) || [],\n        };\n    }\n    async getData(itemFullPath, country = \"IN\") {\n        return timedFunction(this.getDataByPath.bind(this), this.timeout, { ID: \"\", Streams: [] }, itemFullPath, country);\n    }\n    async getSimiliarTitlesByShowID(showid, country) {\n        const response = await this.fetchWithProxy.fetch(\"https://apis.justwatch.com/graphql\", {\n            headers: {\n                accept: \"*/*\",\n                \"accept-language\": \"en-US,en;q=0.7\",\n                \"app-version\": \"3.9.3-web-web\",\n                \"content-type\": \"application/json\",\n                \"device-id\": \"w74RDcKnCcKDQRzCC1bDiM\",\n                priority: \"u=1, i\",\n                \"sec-ch-ua\": '\"Brave\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"',\n                \"sec-ch-ua-mobile\": \"?0\",\n                \"sec-ch-ua-platform\": '\"macOS\"',\n                \"sec-fetch-dest\": \"empty\",\n                \"sec-fetch-mode\": \"cors\",\n                \"sec-fetch-site\": \"same-site\",\n                \"sec-gpc\": \"1\",\n                Referer: \"https://www.justwatch.com/\",\n                \"Referrer-Policy\": \"strict-origin-when-cross-origin\",\n            },\n            body: `{\"operationName\":\"GetSimilarTitles\",\"variables\":{\"includeOffers\":false,\"first\":8,\"offerFilters\":{\"preAffiliate\":true},\"language\":\"en\",\"country\":\"${country}\",\"filters\":{\"excludeIrrelevantTitles\":false},\"titleId\":\"${showid}\"},\"query\":\"query GetSimilarTitles($country: Country!, $titleId: ID!, $language: Language!, $filters: TitleFilter, $includeOffers: Boolean! = false, $first: Int! = 12, $offerFilters: OfferFilter! = {packages: [\\\\\"atp\\\\\"]}) {\\\\n  node(id: $titleId) {\\\\n    id\\\\n    ... on MovieOrShow {\\\\n      similarTitlesV2(country: $country, filter: $filters, first: $first) {\\\\n        edges {\\\\n          node {\\\\n            ...SimilarTitle\\\\n            offers(country: $country, platform: WEB, filter: $offerFilters) @include(if: $includeOffers) {\\\\n              ...TitleOffer\\\\n              __typename\\\\n            }\\\\n            __typename\\\\n          }\\\\n          __typename\\\\n        }\\\\n        __typename\\\\n      }\\\\n      __typename\\\\n    }\\\\n    __typename\\\\n  }\\\\n}\\\\n\\\\nfragment SimilarTitle on MovieOrShow {\\\\n  id\\\\n  objectId\\\\n  objectType\\\\n  content(country: $country, language: $language) {\\\\n    title\\\\n    posterUrl\\\\n    fullPath\\\\n    genres {\\\\n      translation(language: $language)\\\\n      __typename\\\\n    }\\\\n    backdrops {\\\\n      backdropUrl\\\\n      __typename\\\\n    }\\\\n    scoring {\\\\n      imdbVotes\\\\n      imdbScore\\\\n      tomatoMeter\\\\n      certifiedFresh\\\\n      jwRating\\\\n      __typename\\\\n    }\\\\n    interactions {\\\\n      votesNumber\\\\n      __typename\\\\n    }\\\\n    __typename\\\\n  }\\\\n  watchlistEntryV2 {\\\\n    createdAt\\\\n    __typename\\\\n  }\\\\n  likelistEntry {\\\\n    createdAt\\\\n    __typename\\\\n  }\\\\n  dislikelistEntry {\\\\n    createdAt\\\\n    __typename\\\\n  }\\\\n  ... on Movie {\\\\n    seenlistEntry {\\\\n      createdAt\\\\n      __typename\\\\n    }\\\\n    __typename\\\\n  }\\\\n  ... on Show {\\\\n    seenState(country: $country) {\\\\n      progress\\\\n      seenEpisodeCount\\\\n      __typename\\\\n    }\\\\n    __typename\\\\n  }\\\\n  __typename\\\\n}\\\\n\\\\nfragment TitleOffer on Offer {\\\\n  id\\\\n  presentationType\\\\n  monetizationType\\\\n  newElementCount\\\\n  retailPrice(language: $language)\\\\n  retailPriceValue\\\\n  currency\\\\n  lastChangeRetailPriceValue\\\\n  type\\\\n  package {\\\\n    id\\\\n    packageId\\\\n    clearName\\\\n    shortName\\\\n    technicalName\\\\n    icon(profile: S100)\\\\n    iconWide(profile: S160)\\\\n    planOffers(country: $country, platform: WEB) {\\\\n      title\\\\n      retailPrice(language: $language)\\\\n      isTrial\\\\n      durationDays\\\\n      retailPriceValue\\\\n      children {\\\\n        title\\\\n        retailPrice(language: $language)\\\\n        isTrial\\\\n        durationDays\\\\n        retailPriceValue\\\\n        __typename\\\\n      }\\\\n      __typename\\\\n    }\\\\n    __typename\\\\n  }\\\\n  standardWebURL\\\\n  preAffiliatedStandardWebURL\\\\n  streamUrl\\\\n  elementCount\\\\n  availableTo\\\\n  subtitleLanguages\\\\n  videoTechnology\\\\n  audioTechnology\\\\n  audioLanguages(language: $language)\\\\n  __typename\\\\n}\\\\n\"}`,\n            method: \"POST\",\n        });\n        const data = await response.json();\n        const ListOfShows = data?.data?.node?.similarTitlesV2?.edges || [];\n        const finalList = ListOfShows.map((show) => {\n            const rawPosterUrl = show?.node?.content?.posterUrl;\n            return {\n                type: show?.node?.objectType || \"\",\n                title: show?.node?.content?.title || \"\",\n                poster: rawPosterUrl\n                    ? `https://images.justwatch.com${rawPosterUrl\n                        .replace(\"{profile}\", \"s332\")\n                        .replace(\"{format}\", \"webp\")}`\n                    : null,\n                fullPath: show?.node?.content?.fullPath || \"\",\n                genres: show?.node?.content?.genres?.map((genre) => genre?.translation || \"\") || [],\n                scoring: {\n                    imdbVotes: show?.node?.content?.scoring?.imdbVotes,\n                    imdbScore: show?.node?.content?.scoring?.imdbScore,\n                    tomatoMeter: show?.node?.content?.scoring?.tomatoMeter,\n                },\n            };\n        });\n        return finalList;\n    }\n    async getSimiliarTitles(showid, country = \"IN\") {\n        return timedFunction(this.getSimiliarTitlesByShowID.bind(this), this.timeout, [], showid, country);\n    }\n}\nexport default JustWatchAPI;\n"]}