@tmdb-graphql-api/resolvers 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("lodash-es"),a=require("@tmdb-graphql-api/schema"),r=require("graphql"),t=require("node:crypto"),s=require("@cachemap/core"),n=require("@cachemap/map"),o=require("@cachemap/reaper"),d=require("@graphql-box/connection-resolver"),i=require("js-base64");require("core-js/modules/es.array.push.js");var l=require("@graphql-box/helpers"),c=require("@tmdb-graphql-api/schema/types");const u=a.schema.getTypeMap(),p=Object.keys(u).reduce(((e,a)=>{const t=u[a];return t?.astNode?.kind===r.Kind.OBJECT_TYPE_DEFINITION&&(e[a]=Object.keys(t.getFields())),e}),{}),h=(e,a)=>p[e].reduce(((e,r)=>(e[r]=a,e)),{}),_="alternativeNames",m="alternativeTitles",C="backdrops",y="cast",g="collection",N="combinedCredits",v="company",w="configuration",f="contentRatings",T="credits",R="crew",P="episode",k="episodeGroups",D="externalIds",E="images",O="keywords",I="logos",b="movie",S="movieCredits",$="network",L="person",A="posters",M="recommendations",q="releaseDates",G="reviews",V="season",U="similar",Q="translations",j="tv",H="tvCredits",x="videos",J="watchProviders",F="watch/providers";let W=function(e){return e.Args="ARGS",e.Obj="OBJ",e.ObjAndArgs="OBJ_AND_ARGS",e.OptsObjAndArgs="OPTS_OBJ_AND_ARGS",e}({}),z=function(e){return e.Api="api",e.Cache="cache",e.ParentNode="parentNode",e}({});const B=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldNodes:c}=d,u={...o,data:{...o.data,args:n,fieldPath:e,resolverRequestId:t.randomUUID(),resolverType:W.Args}},p=i.child(u.data);p.info(`Resolving ${e} ${JSON.stringify(n)}`,{logEntryName:"RESOLVER_START"});const{data:h,errors:_,headers:m}=await a(n,u,d);if(_?.length){const a=`Failed to resolve ${e}`;throw p.error(a,{errors:JSON.stringify(_),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(a,{nodes:c,originalError:_[0]})}return l(e,m),h},Y=B("certifications",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:n,errors:o}=await s.certifications({pathTemplateData:{type:r.toLowerCase()}},t);return{data:n?.certifications,errors:o,headers:new Headers({cacheControl:"public, max-age=28800"})}})),K=(a,s)=>async(n,o,d,i)=>{const{logger:l,setCacheMetadata:c}=d,{fieldName:u,fieldNodes:p}=i,h=n?`${a}.${u}`:a,_={...d,data:{...d.data,args:o,fieldPath:a,resolverRequestId:t.randomUUID(),resolverType:W.ObjAndArgs}},m=l.child(_.data),C=n&&"id"in n&&n.id?n.id:"id"in o?o.id:void 0,y=e=>{const r=`${e} ${a}`;return C?`${r} ${String(C)}`:r},g=e.snakeCase(u),N=!(n&&!e.isUndefined(n[g]));N&&m.info(y("Resolving"),{logEntryName:"RESOLVER_START"});const{data:v,errors:w,headers:f}=await s(n,o,_,i);if(w?.length){const e=y("Failed to resolve");throw N&&m.error(e,{errors:JSON.stringify(w),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:p,originalError:w[0]})}return f&&c(h,f),v},X=K(g,(async(a,r,t,s)=>{const n=a?.id??r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.collection({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),Z=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldName:c,fieldNodes:u}=d,p=`${e}.${c}`,h={...o,data:{...o.data,fieldPath:p,parentFieldId:s?.id,resolverRequestId:t.randomUUID(),resolverType:W.Obj}},_=i.child(h.data);if(!s){const a=`Required ${e} node missing`;throw _.error(a),new r.GraphQLError(a,{nodes:u})}_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:C,headers:y}=await a(s,h,d);if(C?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(C),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:u,originalError:C[0]})}return y&&l(p,y),m},ee=Z(g,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,{data:o,errors:d,headers:i}=await s.collection({pathTemplateData:{id:e.id,type:E}},t),l=n;return{data:o?.[l],errors:d,headers:i}})),ae=Z(g,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.collection({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),re=K(v,(async(a,r,t,s)=>{const n=a?.id??r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.company({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),te=Z(v,(async(a,r)=>{const{data:t,restClient:s}=r,{data:n,errors:o,headers:d}=await s.company({pathTemplateData:{id:a.id,type:e.snakeCase(_)}},t);return{data:n?.results,errors:o,headers:d}})),se=Z(v,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.company({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.logos,errors:n,headers:o}})),ne=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldName:c,fieldNodes:u}=d,p=s?`${e}.${c}`:e,h={...o,data:{...o.data,fieldPath:p,resolverRequestId:t.randomUUID(),resolverType:W.OptsObjAndArgs}},_=i.child(h.data);_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:C,headers:y}=await a(h,d);if(C?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(C),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:u,originalError:C[0]})}return l(p,y),m},oe=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration(void 0,a);return{data:t,errors:s,headers:n}})),de=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"countries"}},a);return{data:t,errors:s,headers:n}})),ie=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"jobs"}},a);return{data:t,errors:s,headers:n}})),le=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"languages"}},a);return{data:t,errors:s,headers:n}})),ce=ne(w,(async a=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.configuration({pathTemplateData:{type:e.snakeCase("primaryTranslations")}},r);return{data:s,errors:n,headers:o}})),ue=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"timezones"}},a);return{data:t,errors:s,headers:n}})),pe=B("credit",(async(e,a)=>{const{id:r}=e,{data:t,restClient:s}=a,{data:n,errors:o,headers:d}=await s.credit({pathTemplateData:{id:r}},t);return{data:n,errors:o,headers:d}})),he=e=>Object.keys(e).reduce(((a,r)=>(null===e[r]||(a[r]=e[r]),a)),{}),_e=a=>Object.keys(a).reduce(((r,t)=>(r[e.snakeCase(t)]=a[t],r)),{}),me=e=>{return a=_e(he(d.removeConnectionInputOptions(e))),Object.keys(a).reduce(((e,r)=>("sort_by"===r?e[r]=a[r].toLowerCase().replace(/_([a-z]+)$/,".$1"):r.endsWith("_gte")||r.endsWith("_lte")?e[r.replace(/_([a-z]+)$/,".$1")]=a[r]:e[r]=a[r],e)),{});var a},Ce=new s.Core({name:"DISCOVER_MOVIES_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),ye=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(he(d.removeConnectionInputOptions(a)))}::discoverMovies`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:b},queryParams:{...me(a),page:e}},r),cursorCache:Ce,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ge=new s.Core({name:"DISCOVER_TV_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Ne=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(he(d.removeConnectionInputOptions(a)))}::discoverTv`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:j},queryParams:{...me(a),page:e}},r),cursorCache:ge,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ve=e=>encodeURIComponent(i.encode(JSON.stringify(e))),we=(e,a,r)=>(l.getChildFields(e,{fragmentDefinitions:r})??[]).reduce(((e,{fieldNode:r})=>{const t=l.getName(r);if(!t)return e;const s=a[t];return s?(e.includes(s)||e.push(s),e):e}),[]),fe=(e,a)=>{let r,t,s;if(e)r=e.tv_show_id,t=e.season_number??0,s="episode_number"in e?e.episode_number:void 0;else{const e=(e=>JSON.parse(i.decode(decodeURIComponent(e))))(a.id);r=e.id,t=e.seasonNumber,s=e.episodeNumber}return{episodeNumber:s,id:r,seasonNumber:t}},Te=(e,a)=>({append_to_response:e.join(","),...a&&e.includes(E)?{include_image_language:`${a},null`}:{}}),Re={[D]:e.snakeCase(D),[Q]:Q,[x]:x,cast:T,crew:T,guestStars:T,stills:E},Pe=K(P,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l),{episodeNumber:p,id:h,seasonNumber:_}=fe(a,r);if(a&&!e.isUndefined(a[u]))return{data:"id"===u?ve({id:h,seasonNumber:_,...p?{episodeNumber:p}:{}}):a[u],source:z.ParentNode};const m=we(c[0],Re,o),{data:C,errors:y,headers:g}=await i.episode({pathTemplateData:{episodeNumber:p,id:h,seasonNumber:_},...m.length>0?{queryParams:{...Te(m,d)}}:{}},n),N={...C,id:ve({id:h,seasonNumber:_,...p?{episodeNumber:p}:{}}),tv_show_id:Number(h)};return{data:a?N[u]:m.length>0?{...N,__headers:g}:N,errors:y,headers:g}})),ke=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>T in e&&"__headers"in e)(a))return{data:a.credits?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:T}},s);return{data:i?.[d],errors:l,headers:c}})),De=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:d}},s),{id:u,...p}=i??{};return{data:p,errors:l,headers:c}})),Ee=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>E in e&&"__headers"in e)(a))return{data:a.images?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:E}},s);return{data:i?.[d],errors:l,headers:c}})),Oe=Z(P,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Ie=Z(P,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:x}},r);return{data:s?.results,errors:n,headers:o}})),be=B("find",(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.find({pathTemplateData:{id:e.id},queryParams:{..._e({externalSource:e.source})}},r);return{data:{episodes:s?.tv_episode_results,movies:s?.movie_results,people:s?.person_results,seasons:s?.tv_season_results,tv:s?.tv_results},errors:n,headers:o}})),Se=B("genres",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:n,errors:o,headers:d}=await s.genres({pathTemplateData:{type:r.toLowerCase()}},t);return{data:n?.genres,errors:o,headers:d}})),$e=B("keyword",(async(e,a)=>{const{id:r,includeAdult:t}=e,{data:s,restClient:n}=a,{data:o,errors:d,headers:i}=await n.keyword({pathTemplateData:{id:r},queryParams:{..._e({includeAdult:t})}},s);return{data:o,errors:d,headers:i}})),Le={[m]:e.snakeCase(m),[C]:E,[y]:T,[R]:T,[D]:e.snakeCase(D),[O]:O,[I]:E,[A]:E,[M]:M,[q]:e.snakeCase(q),[G]:G,similarMovies:U,[Q]:Q,[x]:x,[J]:"watch/providers"},Ae=K(b,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],Le,o),{data:_,errors:m,headers:C}=await i.movie({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n);return{data:a?_?.[u]:h.length>0?{..._,__headers:C}:_,errors:m,headers:C}})),Me=K(b,(async(a,t,s,n)=>{const{country:o}=t,{data:d,logger:i,restClient:l}=s,{fieldNodes:c}=n;if(!a){const e=`Required ${m} node missing`;throw i.error(e),new r.GraphQLError(e,{nodes:c})}if((a=>e.snakeCase(m)in a&&"__headers"in a)(a))return{data:a.alternative_titles?.titles,headers:a.__headers,source:z.ParentNode};const{data:u,errors:p,headers:h}=await l.movie({pathTemplateData:{id:a.id,type:e.snakeCase(m)},queryParams:{country:o}},d);return{data:u?.titles,errors:p,headers:h}})),qe=Z(b,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>T in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:T}},t);return{data:d?.[o],errors:i,headers:l}})),Ge=Z(b,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.movie({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n;return{data:l,errors:o,headers:d}})),Ve=Z(b,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:E}},t);return{data:d?.[o],errors:i,headers:l}})),Ue=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>O in e&&"__headers"in e)(e))return{data:e.keywords?.keywords,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:O}},r);return{data:s?.keywords,errors:n,headers:o}})),Qe=new s.Core({name:"MOVIE_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),je=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${M}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>M in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:M},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Qe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),He=Z(b,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(q)in a&&"__headers"in a)(a))return{data:a.release_dates?.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.movie({pathTemplateData:{id:a.id,type:e.snakeCase(q)}},t);return{data:n?.results,errors:o,headers:d}})),xe=new s.Core({name:"MOVIE_REVIEWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Je=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${G}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>G in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:G},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:xe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Fe=new s.Core({name:"MOVIE_SIMILAR_MOVIES_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),We=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${U}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>U in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:U},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Fe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ze=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Be=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:x}},r);return{data:s?.results,errors:n,headers:o}})),Ye=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>F in e&&"__headers"in e)(e))return{data:e["watch/providers"]?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:b}},r);return{data:s?.results,errors:n,headers:o}})),Ke=K($,(async(a,r,t,s)=>{const n=a?a.id:r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.network({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),Xe=Z($,(async(a,r)=>{const{data:t,restClient:s}=r,{data:n,errors:o,headers:d}=await s.network({pathTemplateData:{id:a.id,type:e.snakeCase(_)}},t);return{data:n?.results,errors:o,headers:d}})),Ze=Z($,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.network({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.logos,errors:n,headers:o}})),ea={[N]:e.snakeCase(N),[D]:e.snakeCase(D),[S]:e.snakeCase(S),profiles:E,[Q]:Q,[H]:e.snakeCase(H)},aa=K(L,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],ea,o),{data:_,errors:m,headers:C}=await i.person({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n);return{data:a?_?.[u]:h.length>0?{..._,__headers:C}:_,errors:m,headers:C}})),ra=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(N)in a&&"__headers"in a)(a))return{data:a.combined_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(N)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ta=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),sa=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(S)in a&&"__headers"in a)(a))return{data:a.movie_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(S)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),na=Z(L,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.profiles,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.person({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.profiles,errors:n,headers:o}})),oa=Z(L,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.person({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),da=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(H)in a&&"__headers"in a)(a))return{data:a.tv_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(H)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ia=new s.Core({name:"RATED_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),la=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::rated`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,{screenType:r},{data:t,restClient:s})=>async({page:a})=>{const{data:n,errors:o,headers:d}=await s.rated({pathTemplateData:{id:t.tmdbGuestSessionId,type:r.toLowerCase()},queryParams:{page:a}},t);return n?(n.results=n.results?.map((a=>(a.media_type=e.capitalize(a.media_type??r.toLowerCase()),a))),{data:n,errors:o,headers:d}):{errors:o,headers:d}},cursorCache:ia,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ca=K("review",(async(a,r,t,s)=>{const n=a?a.id:r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.review({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),ua=new s.Core({name:"SEARCH_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),pa=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::search`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,r,{data:t,restClient:s})=>{const{searchType:n,...o}=d.removeConnectionInputOptions(r);return async({page:a})=>{const{data:r,errors:d,headers:i}=await s.search({pathTemplateData:{type:(n??c.SearchType.Multi).toLowerCase()},queryParams:{..._e(o),page:a}},t);return r?(r.results=r.results?.map((a=>{let r=a.media_type;return!r&&n&&n!==c.SearchType.Multi&&(r=n.toLowerCase()),r&&(a.media_type=e.capitalize(r)),a})),{data:r,errors:d,headers:i}):{errors:d,headers:i}}},cursorCache:ua,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ha={[y]:T,[R]:T,[D]:e.snakeCase(D),[A]:E,[Q]:Q,[x]:x},_a=K(V,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l),{id:p,seasonNumber:h}=fe(a,r);if(a&&!e.isUndefined(a[u]))return{data:"id"===u?ve({id:p,seasonNumber:h}):a[u],source:z.ParentNode};const _=we(c[0],ha,o),{data:m,errors:C,headers:y}=await i.season({pathTemplateData:{id:p,number:h},..._.length>0?{queryParams:{...Te(_,d)}}:{}},n),g={...m,episodes:(m?.episodes??[]).map((e=>({...e,tv_show_id:Number(p)}))),id:ve({id:p,seasonNumber:h}),tv_show_id:Number(p)};return{data:a?g[u]:_.length>0?{...g,__headers:y}:g,errors:C,headers:y}})),ma=Z(V,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>T in e&&"__headers"in e)(a))return{data:a.credits?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:T}},s);return{data:i?.[d],errors:l,headers:c}})),Ca=Z(V,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ya=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.posters,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:E}},r);return{data:s?.posters,errors:n,headers:o}})),ga=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Na=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:x}},r);return{data:s?.results,errors:n,headers:o}})),va=new s.Core({name:"TRENDING_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),wa=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::trending`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,r,t)=>async({page:a})=>{const{mediaType:s,timeWindow:n}=r,{data:o,restClient:d}=t,{data:i,errors:l,headers:u}=await d.trending({pathTemplateData:{subType:n.toLowerCase(),type:s.toLowerCase()},queryParams:{page:a}},o);return i?(i.results=i.results?.map((a=>{let r=a.media_type;return r||s===c.TrendingMediaType.All||(r=s.toLowerCase()),r&&(a.media_type=e.capitalize(r)),a})),{data:i,errors:l,headers:u}):{errors:l,headers:u}},cursorCache:va,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),fa={[m]:e.snakeCase(m),[C]:E,[y]:T,[f]:e.snakeCase(f),[R]:T,[k]:e.snakeCase(k),[D]:e.snakeCase(D),[O]:O,[I]:E,[A]:E,[M]:M,[G]:G,similarTvShows:U,[Q]:Q,[x]:x,[J]:"watch/providers"},Ta=K(j,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],fa,o),{data:_,errors:m,headers:C}=await i.tv({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n),y={..._,seasons:(_?.seasons??[]).map((e=>({...e,tv_show_id:Number(p)})))};return{data:a?y[u]:h.length>0?{...y,__headers:C}:y,errors:m,headers:C}})),Ra=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(m)in a&&"__headers"in a)(a))return{data:a.alternative_titles.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(m)}},t);return{data:n?.results,errors:o,headers:d}})),Pa=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(f)in a&&"__headers"in a)(a))return{data:a.content_ratings.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(f)}},t);return{data:n?.results,errors:o,headers:d}})),ka=Z(j,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>T in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:T}},t);return{data:d?.[o],errors:i,headers:l}})),Da=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(k)in a&&"__headers"in a)(a))return{data:a.episode_groups?.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(k)}},t);return{data:n?.results,errors:o,headers:d}})),Ea=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),Oa=Z(j,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:E}},t);return{data:d?.[o],errors:i,headers:l}})),Ia=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>O in e&&"__headers"in e)(e))return{data:e.keywords?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:O}},r);return{data:s?.results,errors:n,headers:o}})),ba=new s.Core({name:"TV_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Sa=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${M}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,r)=>async({page:a})=>{const{data:t,restClient:s}=r;if(((e,a)=>M in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:e.id,type:M},queryParams:{page:a}},t);return{data:n,errors:o,headers:d}},cursorCache:ba,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),$a=new s.Core({name:"TV_REVIEWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),La=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${G}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>G in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:G},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:$a,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Aa=new s.Core({name:"TV_SIMILAR_TV_SHOWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Ma=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${U}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>U in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:U},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Aa,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),qa=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Ga=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:x}},r);return{data:s?.results,errors:n,headers:o}})),Va=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>F in e&&"__headers"in e)(e))return{data:e[F]?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:j}},r);return{data:s?.results,errors:n,headers:o}})),Ua={Certifications:{CA_QC:e=>e["CA-QC"]},Collection:{...h("Collection",X),backdrops:ee,posters:ee,translations:ae},Company:{...h("Company",re),alternativeNames:te,logos:se},Configuration:{countries:de,jobs:ie,languages:le,primaryTranslations:ce,timezones:ue},Episode:{...h("Episode",Pe),cast:ke,crew:ke,externalIds:De,stills:Ee,translations:Oe,videos:Ie},Media:{__resolveType:e=>e.media_type},Movie:{...h("Movie",Ae),alternativeTitles:Me,backdrops:Ve,cast:qe,crew:qe,externalIds:Ge,keywords:Ue,logos:Ve,posters:Ve,recommendations:je,releaseDates:He,reviews:Je,similarMovies:We,translations:ze,videos:Be,watchProviders:Ye},MovieReleaseType:{DIGITAL:4,PHYSICAL:5,PREMIER:1,THEATRICAL:3,THEATRICAL_LIMITED:2,TV:6},MovieStatus:{CANCELED:"Canceled",IN_PRODUCTION:"In Production",PLANNED:"Planned",POST_PRODUCTION:"Post Production",RELEASED:"Released",RUMORED:"Rumored"},Network:{...h("Network",Ke),alternativeNames:Xe,logos:Ze},Person:{...h("Person",aa),combinedCredits:ra,externalIds:ta,movieCredits:sa,profiles:na,translations:oa,tvCredits:da},Query:{certifications:Y,collection:X,company:re,configuration:oe,credit:pe,discoverMovies:ye,discoverTv:Ne,episode:Pe,find:be,genres:Se,keyword:$e,movie:Ae,network:Ke,person:aa,rated:la,review:ca,search:pa,season:_a,trending:wa,tv:Ta},RatedScreen:{__resolveType:e=>e.media_type},Search:{__resolveType:e=>e.media_type},Season:{...h("Season",_a),cast:ma,crew:ma,episodeCount:e=>e.episodes?.length??0,externalIds:Ca,posters:ya,translations:ga,videos:Na},Tv:{...h("Tv",Ta),alternativeTitles:Ra,backdrops:Oa,cast:ka,contentRatings:Pa,crew:ka,episodeGroups:Da,externalIds:Ea,keywords:Ia,logos:Oa,posters:Oa,recommendations:Sa,reviews:La,similarTvShows:Ma,translations:qa,videos:Ga,watchProviders:Va},TvStatus:{CANCELED:"Canceled",ENDED:"Ended",IN_PRODUCTION:"In Production",PILOT:"Pilot",PLANNED:"Planned",RETURNING_SERIES:"Returning Series"},TvType:{DOCUMENTARY:"Documentary",MINISERIES:"Miniseries",NEWS:"News",REALITY:"Reality",SCRIPTED:"Scripted",TALK_SHOW:"Talk Show",VIDEO:"Video"},Video:{type:({type:a})=>e.snakeCase(a).toUpperCase()}};exports.createDefaultFieldResolver=()=>(a,r,t,{fieldNodes:s})=>{const n=s[0],{value:o}=n.name;return Object.prototype.hasOwnProperty.call(a,o)?a[o]:a[e.snakeCase(o)]},exports.resolvers=Ua;
1
+ "use strict";var e=require("lodash-es"),a=require("@tmdb-graphql-api/schema"),r=require("graphql"),t=require("node:crypto"),s=require("@cachemap/core"),n=require("@cachemap/map"),o=require("@cachemap/reaper"),d=require("@graphql-box/connection-resolver"),i=require("js-base64");require("core-js/modules/es.array.push.js");var l=require("@graphql-box/helpers"),c=require("@tmdb-graphql-api/schema/types");const u=a.schema.getTypeMap(),p=Object.keys(u).reduce(((e,a)=>{const t=u[a];return t?.astNode?.kind===r.Kind.OBJECT_TYPE_DEFINITION&&(e[a]=Object.keys(t.getFields())),e}),{}),h=(e,a)=>p[e].reduce(((e,r)=>(e[r]=a,e)),{}),_="alternativeNames",m="alternativeTitles",C="backdrops",y="cast",g="collection",N="combinedCredits",v="company",w="configuration",f="contentRatings",T="credits",R="crew",P="episode",k="episodeGroups",D="externalIds",E="images",O="keywords",I="logos",b="movie",S="movieCredits",$="network",L="person",A="posters",M="recommendations",q="releaseDates",G="reviews",V="season",U="similar",Q="translations",j="tv",H="tvCredits",x="videos",J="watchProviders",F="watch/providers";let W=function(e){return e.Args="ARGS",e.Obj="OBJ",e.ObjAndArgs="OBJ_AND_ARGS",e.OptsObjAndArgs="OPTS_OBJ_AND_ARGS",e}({}),z=function(e){return e.Api="api",e.Cache="cache",e.ParentNode="parentNode",e}({});const B=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldNodes:c}=d,u={...o,data:{...o.data,args:n,fieldPath:e,resolverRequestId:t.randomUUID(),resolverType:W.Args}},p=i.child(u.data);p.info(`Resolving ${e} ${JSON.stringify(n)}`,{logEntryName:"RESOLVER_START"});const{data:h,errors:_,headers:m}=await a(n,u,d);if(_?.length){const a=`Failed to resolve ${e}`;throw p.error(a,{errors:JSON.stringify(_),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(a,{nodes:c,originalError:_[0]})}return l(e,m),h},Y=B("certifications",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:n,errors:o}=await s.certifications({pathTemplateData:{type:r.toLowerCase()}},t);return{data:n?.certifications,errors:o,headers:new Headers({cacheControl:"public, max-age=28800"})}})),K=(a,s)=>async(n,o,d,i)=>{const{logger:l,setCacheMetadata:c}=d,{fieldName:u,fieldNodes:p}=i,h=n?`${a}.${u}`:a,_=n&&"id"in n&&n.id?n.id:"id"in o?o.id:void 0,m={...d,data:{...d.data,args:{...o,id:_},fieldPath:a,resolverRequestId:t.randomUUID(),resolverType:W.ObjAndArgs}},C=l.child(m.data),y=e=>{const r=`${e} ${a}`;return _?`${r} ${String(_)}`:r},g=e.snakeCase(u),N=!(n&&!e.isUndefined(n[g]));N&&C.info(y("Resolving"),{logEntryName:"RESOLVER_START"});const{data:v,errors:w,headers:f}=await s(n,o,m,i);if(w?.length){const e=y("Failed to resolve");throw N&&C.error(e,{errors:JSON.stringify(w),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:p,originalError:w[0]})}return f&&c(h,f),v},X=K(g,(async(a,r,t,s)=>{const n=a?.id??r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.collection({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),Z=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldName:c,fieldNodes:u}=d,p=`${e}.${c}`,h={...o,data:{...o.data,args:s?.id?{id:s.id}:void 0,fieldPath:p,resolverRequestId:t.randomUUID(),resolverType:W.Obj}},_=i.child(h.data);if(!s){const a=`Required ${e} node missing`;throw _.error(a),new r.GraphQLError(a,{nodes:u})}_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:C,headers:y}=await a(s,h,d);if(C?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(C),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:u,originalError:C[0]})}return y&&l(p,y),m},ee=Z(g,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,{data:o,errors:d,headers:i}=await s.collection({pathTemplateData:{id:e.id,type:E}},t),l=n;return{data:o?.[l],errors:d,headers:i}})),ae=Z(g,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.collection({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),re=K(v,(async(a,r,t,s)=>{const n=a?.id??r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.company({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),te=Z(v,(async(a,r)=>{const{data:t,restClient:s}=r,{data:n,errors:o,headers:d}=await s.company({pathTemplateData:{id:a.id,type:e.snakeCase(_)}},t);return{data:n?.results,errors:o,headers:d}})),se=Z(v,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.company({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.logos,errors:n,headers:o}})),ne=(e,a)=>async(s,n,o,d)=>{const{logger:i,setCacheMetadata:l}=o,{fieldName:c,fieldNodes:u}=d,p=s?`${e}.${c}`:e,h={...o,data:{...o.data,args:void 0,fieldPath:p,resolverRequestId:t.randomUUID(),resolverType:W.OptsObjAndArgs}},_=i.child(h.data);_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:C,headers:y}=await a(h,d);if(C?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(C),logEntryName:"RESOLVER_FAILED"}),new r.GraphQLError(e,{nodes:u,originalError:C[0]})}return l(p,y),m},oe=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration(void 0,a);return{data:t,errors:s,headers:n}})),de=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"countries"}},a);return{data:t,errors:s,headers:n}})),ie=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"jobs"}},a);return{data:t,errors:s,headers:n}})),le=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"languages"}},a);return{data:t,errors:s,headers:n}})),ce=ne(w,(async a=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.configuration({pathTemplateData:{type:e.snakeCase("primaryTranslations")}},r);return{data:s,errors:n,headers:o}})),ue=ne(w,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:n}=await r.configuration({pathTemplateData:{type:"timezones"}},a);return{data:t,errors:s,headers:n}})),pe=B("credit",(async(e,a)=>{const{id:r}=e,{data:t,restClient:s}=a,{data:n,errors:o,headers:d}=await s.credit({pathTemplateData:{id:r}},t);return{data:n,errors:o,headers:d}})),he=e=>Object.keys(e).reduce(((a,r)=>(null===e[r]||(a[r]=e[r]),a)),{}),_e=a=>Object.keys(a).reduce(((r,t)=>(r[e.snakeCase(t)]=a[t],r)),{}),me=e=>{return a=_e(he(d.removeConnectionInputOptions(e))),Object.keys(a).reduce(((e,r)=>("sort_by"===r?e[r]=a[r].toLowerCase().replace(/_([a-z]+)$/,".$1"):r.endsWith("_gte")||r.endsWith("_lte")?e[r.replace(/_([a-z]+)$/,".$1")]=a[r]:e[r]=a[r],e)),{});var a},Ce=new s.Core({name:"DISCOVER_MOVIES_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),ye=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(he(d.removeConnectionInputOptions(a)))}::discoverMovies`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:b},queryParams:{...me(a),page:e}},r),cursorCache:Ce,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ge=new s.Core({name:"DISCOVER_TV_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Ne=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(he(d.removeConnectionInputOptions(a)))}::discoverTv`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:j},queryParams:{...me(a),page:e}},r),cursorCache:ge,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ve=e=>encodeURIComponent(i.encode(JSON.stringify(e))),we=(e,a,r)=>(l.getChildFields(e,{fragmentDefinitions:r})??[]).reduce(((e,{fieldNode:r})=>{const t=l.getName(r);if(!t)return e;const s=a[t];return s?(e.includes(s)||e.push(s),e):e}),[]),fe=(e,a)=>{let r,t,s;if(e)r=e.tv_show_id,t=e.season_number??0,s="episode_number"in e?e.episode_number:void 0;else{const e=(e=>JSON.parse(i.decode(decodeURIComponent(e))))(a.id);r=e.id,t=e.seasonNumber,s=e.episodeNumber}return{episodeNumber:s,id:r,seasonNumber:t}},Te=(e,a)=>({append_to_response:e.join(","),...a&&e.includes(E)?{include_image_language:`${a},null`}:{}}),Re={[D]:e.snakeCase(D),[Q]:Q,[x]:x,cast:T,crew:T,guestStars:T,stills:E},Pe=K(P,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l),{episodeNumber:p,id:h,seasonNumber:_}=fe(a,r);if(a&&!e.isUndefined(a[u]))return{data:"id"===u?ve({id:h,seasonNumber:_,...p?{episodeNumber:p}:{}}):a[u],source:z.ParentNode};const m=we(c[0],Re,o),{data:C,errors:y,headers:g}=await i.episode({pathTemplateData:{episodeNumber:p,id:h,seasonNumber:_},...m.length>0?{queryParams:{...Te(m,d)}}:{}},n),N={...C,id:ve({id:h,seasonNumber:_,...p?{episodeNumber:p}:{}}),tv_show_id:Number(h)};return{data:a?N[u]:m.length>0?{...N,__headers:g}:N,errors:y,headers:g}})),ke=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>T in e&&"__headers"in e)(a))return{data:a.credits?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:T}},s);return{data:i?.[d],errors:l,headers:c}})),De=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:d}},s),{id:u,...p}=i??{};return{data:p,errors:l,headers:c}})),Ee=Z(P,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>E in e&&"__headers"in e)(a))return{data:a.images?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:E}},s);return{data:i?.[d],errors:l,headers:c}})),Oe=Z(P,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Ie=Z(P,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:x}},r);return{data:s?.results,errors:n,headers:o}})),be=B("find",(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.find({pathTemplateData:{id:e.id},queryParams:{..._e({externalSource:e.source})}},r);return{data:{episodes:s?.tv_episode_results,movies:s?.movie_results,people:s?.person_results,seasons:s?.tv_season_results,tv:s?.tv_results},errors:n,headers:o}})),Se=B("genres",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:n,errors:o,headers:d}=await s.genres({pathTemplateData:{type:r.toLowerCase()}},t);return{data:n?.genres,errors:o,headers:d}})),$e=B("keyword",(async(e,a)=>{const{id:r,includeAdult:t}=e,{data:s,restClient:n}=a,{data:o,errors:d,headers:i}=await n.keyword({pathTemplateData:{id:r},queryParams:{..._e({includeAdult:t})}},s);return{data:o,errors:d,headers:i}})),Le={[m]:e.snakeCase(m),[C]:E,[y]:T,[R]:T,[D]:e.snakeCase(D),[O]:O,[I]:E,[A]:E,[M]:M,[q]:e.snakeCase(q),[G]:G,similarMovies:U,[Q]:Q,[x]:x,[J]:"watch/providers"},Ae=K(b,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],Le,o),{data:_,errors:m,headers:C}=await i.movie({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n);return{data:a?_?.[u]:h.length>0?{..._,__headers:C}:_,errors:m,headers:C}})),Me=K(b,(async(a,t,s,n)=>{const{country:o}=t,{data:d,logger:i,restClient:l}=s,{fieldNodes:c}=n;if(!a){const e=`Required ${m} node missing`;throw i.error(e),new r.GraphQLError(e,{nodes:c})}if((a=>e.snakeCase(m)in a&&"__headers"in a)(a))return{data:a.alternative_titles?.titles,headers:a.__headers,source:z.ParentNode};const{data:u,errors:p,headers:h}=await l.movie({pathTemplateData:{id:a.id,type:e.snakeCase(m)},queryParams:{country:o}},d);return{data:u?.titles,errors:p,headers:h}})),qe=Z(b,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>T in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:T}},t);return{data:d?.[o],errors:i,headers:l}})),Ge=Z(b,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.movie({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n;return{data:l,errors:o,headers:d}})),Ve=Z(b,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:E}},t);return{data:d?.[o],errors:i,headers:l}})),Ue=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>O in e&&"__headers"in e)(e))return{data:e.keywords?.keywords,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:O}},r);return{data:s?.keywords,errors:n,headers:o}})),Qe=new s.Core({name:"MOVIE_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),je=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${M}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>M in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:M},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Qe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),He=Z(b,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(q)in a&&"__headers"in a)(a))return{data:a.release_dates?.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.movie({pathTemplateData:{id:a.id,type:e.snakeCase(q)}},t);return{data:n?.results,errors:o,headers:d}})),xe=new s.Core({name:"MOVIE_REVIEWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Je=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${G}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>G in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:G},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:xe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Fe=new s.Core({name:"MOVIE_SIMILAR_MOVIES_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),We=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${b}::${U}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>U in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:U},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Fe,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ze=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Be=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:x}},r);return{data:s?.results,errors:n,headers:o}})),Ye=Z(b,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>F in e&&"__headers"in e)(e))return{data:e["watch/providers"]?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:b}},r);return{data:s?.results,errors:n,headers:o}})),Ke=K($,(async(a,r,t,s)=>{const n=a?a.id:r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.network({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),Xe=Z($,(async(a,r)=>{const{data:t,restClient:s}=r,{data:n,errors:o,headers:d}=await s.network({pathTemplateData:{id:a.id,type:e.snakeCase(_)}},t);return{data:n?.results,errors:o,headers:d}})),Ze=Z($,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:n,headers:o}=await t.network({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.logos,errors:n,headers:o}})),ea={[N]:e.snakeCase(N),[D]:e.snakeCase(D),[S]:e.snakeCase(S),profiles:E,[Q]:Q,[H]:e.snakeCase(H)},aa=K(L,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],ea,o),{data:_,errors:m,headers:C}=await i.person({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n);return{data:a?_?.[u]:h.length>0?{..._,__headers:C}:_,errors:m,headers:C}})),ra=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(N)in a&&"__headers"in a)(a))return{data:a.combined_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(N)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ta=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),sa=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(S)in a&&"__headers"in a)(a))return{data:a.movie_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(S)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),na=Z(L,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.profiles,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.person({pathTemplateData:{id:e.id,type:E}},r);return{data:s?.profiles,errors:n,headers:o}})),oa=Z(L,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.person({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),da=Z(L,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(H)in a&&"__headers"in a)(a))return{data:a.tv_credits,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.person({pathTemplateData:{id:a.id,type:e.snakeCase(H)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ia=new s.Core({name:"RATED_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),la=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::rated`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,{screenType:r},{data:t,restClient:s})=>async({page:a})=>{const{data:n,errors:o,headers:d}=await s.rated({pathTemplateData:{id:t.tmdbGuestSessionId,type:r.toLowerCase()},queryParams:{page:a}},t);return n?(n.results=n.results?.map((a=>(a.media_type=e.capitalize(a.media_type??r.toLowerCase()),a))),{data:n,errors:o,headers:d}):{errors:o,headers:d}},cursorCache:ia,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ca=K("review",(async(a,r,t,s)=>{const n=a?a.id:r.id,{data:o,restClient:d}=t,{fieldName:i}=s,l=e.snakeCase(i);if(a&&!e.isUndefined(a[l]))return{data:a[l],source:z.ParentNode};const{data:c,errors:u,headers:p}=await d.review({pathTemplateData:{id:n}},o);return{data:a?c?.[l]:c,errors:u,headers:p}})),ua=new s.Core({name:"SEARCH_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),pa=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::search`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,r,{data:t,restClient:s})=>{const{searchType:n,...o}=d.removeConnectionInputOptions(r);return async({page:a})=>{const{data:r,errors:d,headers:i}=await s.search({pathTemplateData:{type:(n??c.SearchType.Multi).toLowerCase()},queryParams:{..._e(o),page:a}},t);return r?(r.results=r.results?.map((a=>{let r=a.media_type;return!r&&n&&n!==c.SearchType.Multi&&(r=n.toLowerCase()),r&&(a.media_type=e.capitalize(r)),a})),{data:r,errors:d,headers:i}):{errors:d,headers:i}}},cursorCache:ua,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ha={[y]:T,[R]:T,[D]:e.snakeCase(D),[A]:E,[Q]:Q,[x]:x},_a=K(V,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l),{id:p,seasonNumber:h}=fe(a,r);if(a&&!e.isUndefined(a[u]))return{data:"id"===u?ve({id:p,seasonNumber:h}):a[u],source:z.ParentNode};const _=we(c[0],ha,o),{data:m,errors:C,headers:y}=await i.season({pathTemplateData:{id:p,number:h},..._.length>0?{queryParams:{...Te(_,d)}}:{}},n),g={...m,episodes:(m?.episodes??[]).map((e=>({...e,tv_show_id:Number(p)}))),id:ve({id:p,seasonNumber:h}),tv_show_id:Number(p)};return{data:a?g[u]:_.length>0?{...g,__headers:y}:g,errors:C,headers:y}})),ma=Z(V,(async(a,r,t)=>{const{data:s,restClient:n}=r,{fieldName:o}=t,d=e.snakeCase(o);if((e=>T in e&&"__headers"in e)(a))return{data:a.credits?.[d],headers:a.__headers,source:z.ParentNode};const{data:i,errors:l,headers:c}=await n.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:T}},s);return{data:i?.[d],errors:l,headers:c}})),Ca=Z(V,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),ya=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.posters,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:E}},r);return{data:s?.posters,errors:n,headers:o}})),ga=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Na=Z(V,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:x}},r);return{data:s?.results,errors:n,headers:o}})),va=new s.Core({name:"TRENDING_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),wa=d.makeConnectionResolver({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(d.removeConnectionInputOptions(a))}::trending`;return{makeGroupCursor:()=>i.encode(r),makeIDCursor:e=>i.encode(`${e}::${r}`)}},createResourceResolver:(a,r,t)=>async({page:a})=>{const{mediaType:s,timeWindow:n}=r,{data:o,restClient:d}=t,{data:i,errors:l,headers:u}=await d.trending({pathTemplateData:{subType:n.toLowerCase(),type:s.toLowerCase()},queryParams:{page:a}},o);return i?(i.results=i.results?.map((a=>{let r=a.media_type;return r||s===c.TrendingMediaType.All||(r=s.toLowerCase()),r&&(a.media_type=e.capitalize(r)),a})),{data:i,errors:l,headers:u}):{errors:l,headers:u}},cursorCache:va,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),fa={[m]:e.snakeCase(m),[C]:E,[y]:T,[f]:e.snakeCase(f),[R]:T,[k]:e.snakeCase(k),[D]:e.snakeCase(D),[O]:O,[I]:E,[A]:E,[M]:M,[G]:G,similarTvShows:U,[Q]:Q,[x]:x,[J]:"watch/providers"},Ta=K(j,(async(a,r,t,s)=>{const{data:n,fragmentDefinitions:o,languageCode:d,restClient:i}=t,{fieldName:l,fieldNodes:c}=s,u=e.snakeCase(l);if(a&&!e.isUndefined(a[u]))return{data:a[u],source:z.ParentNode};const p=a?a.id:r.id,h=we(c[0],fa,o),{data:_,errors:m,headers:C}=await i.tv({pathTemplateData:{id:p},...h.length>0?{queryParams:{...Te(h,d)}}:{}},n),y={..._,seasons:(_?.seasons??[]).map((e=>({...e,tv_show_id:Number(p)})))};return{data:a?y[u]:h.length>0?{...y,__headers:C}:y,errors:m,headers:C}})),Ra=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(m)in a&&"__headers"in a)(a))return{data:a.alternative_titles.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(m)}},t);return{data:n?.results,errors:o,headers:d}})),Pa=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(f)in a&&"__headers"in a)(a))return{data:a.content_ratings.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(f)}},t);return{data:n?.results,errors:o,headers:d}})),ka=Z(j,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>T in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:T}},t);return{data:d?.[o],errors:i,headers:l}})),Da=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(k)in a&&"__headers"in a)(a))return{data:a.episode_groups?.results,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(k)}},t);return{data:n?.results,errors:o,headers:d}})),Ea=Z(j,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e.snakeCase(D)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:z.ParentNode};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:a.id,type:e.snakeCase(D)}},t),{id:i,...l}=n??{};return{data:l,errors:o,headers:d}})),Oa=Z(j,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:n}=r,o=n;if((e=>E in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:z.ParentNode};const{data:d,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:E}},t);return{data:d?.[o],errors:i,headers:l}})),Ia=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>O in e&&"__headers"in e)(e))return{data:e.keywords?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:O}},r);return{data:s?.results,errors:n,headers:o}})),ba=new s.Core({name:"TV_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Sa=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${M}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,r)=>async({page:a})=>{const{data:t,restClient:s}=r;if(((e,a)=>M in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:n,errors:o,headers:d}=await s.tv({pathTemplateData:{id:e.id,type:M},queryParams:{page:a}},t);return{data:n,errors:o,headers:d}},cursorCache:ba,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),$a=new s.Core({name:"TV_REVIEWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),La=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${G}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>G in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:G},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:$a,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Aa=new s.Core({name:"TV_SIMILAR_TV_SHOWS_CONNECTION_RESOLVER",reaper:o.init({interval:3e5}),store:n.init(),type:"GRAPHQL"}),Ma=d.makeConnectionResolver({createMakeCursors:e=>{const a=`${e.id}::${j}::${U}`;return{makeGroupCursor:()=>i.encode(a),makeIDCursor:e=>i.encode(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>U in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:U},queryParams:{page:a}},r);return{data:s,errors:n,headers:o}},cursorCache:Aa,getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),qa=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>Q in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:Q}},r);return{data:s?.translations,errors:n,headers:o}})),Ga=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>x in e&&"__headers"in e)(e))return{data:e.videos?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:x}},r);return{data:s?.results,errors:n,headers:o}})),Va=Z(j,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>F in e&&"__headers"in e)(e))return{data:e[F]?.results,headers:e.__headers,source:z.ParentNode};const{data:s,errors:n,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:j}},r);return{data:s?.results,errors:n,headers:o}})),Ua={Certifications:{CA_QC:e=>e["CA-QC"]},Collection:{...h("Collection",X),backdrops:ee,posters:ee,translations:ae},Company:{...h("Company",re),alternativeNames:te,logos:se},Configuration:{countries:de,jobs:ie,languages:le,primaryTranslations:ce,timezones:ue},Episode:{...h("Episode",Pe),cast:ke,crew:ke,externalIds:De,stills:Ee,translations:Oe,videos:Ie},Media:{__resolveType:e=>e.media_type},Movie:{...h("Movie",Ae),alternativeTitles:Me,backdrops:Ve,cast:qe,crew:qe,externalIds:Ge,keywords:Ue,logos:Ve,posters:Ve,recommendations:je,releaseDates:He,reviews:Je,similarMovies:We,translations:ze,videos:Be,watchProviders:Ye},MovieReleaseType:{DIGITAL:4,PHYSICAL:5,PREMIER:1,THEATRICAL:3,THEATRICAL_LIMITED:2,TV:6},MovieStatus:{CANCELED:"Canceled",IN_PRODUCTION:"In Production",PLANNED:"Planned",POST_PRODUCTION:"Post Production",RELEASED:"Released",RUMORED:"Rumored"},Network:{...h("Network",Ke),alternativeNames:Xe,logos:Ze},Person:{...h("Person",aa),combinedCredits:ra,externalIds:ta,movieCredits:sa,profiles:na,translations:oa,tvCredits:da},Query:{certifications:Y,collection:X,company:re,configuration:oe,credit:pe,discoverMovies:ye,discoverTv:Ne,episode:Pe,find:be,genres:Se,keyword:$e,movie:Ae,network:Ke,person:aa,rated:la,review:ca,search:pa,season:_a,trending:wa,tv:Ta},RatedScreen:{__resolveType:e=>e.media_type},Search:{__resolveType:e=>e.media_type},Season:{...h("Season",_a),cast:ma,crew:ma,episodeCount:e=>e.episodes?.length??0,externalIds:Ca,posters:ya,translations:ga,videos:Na},Tv:{...h("Tv",Ta),alternativeTitles:Ra,backdrops:Oa,cast:ka,contentRatings:Pa,crew:ka,episodeGroups:Da,externalIds:Ea,keywords:Ia,logos:Oa,posters:Oa,recommendations:Sa,reviews:La,similarTvShows:Ma,translations:qa,videos:Ga,watchProviders:Va},TvStatus:{CANCELED:"Canceled",ENDED:"Ended",IN_PRODUCTION:"In Production",PILOT:"Pilot",PLANNED:"Planned",RETURNING_SERIES:"Returning Series"},TvType:{DOCUMENTARY:"Documentary",MINISERIES:"Miniseries",NEWS:"News",REALITY:"Reality",SCRIPTED:"Scripted",TALK_SHOW:"Talk Show",VIDEO:"Video"},Video:{type:({type:a})=>e.snakeCase(a).toUpperCase()}};exports.createDefaultFieldResolver=()=>(a,r,t,{fieldNodes:s})=>{const n=s[0],{value:o}=n.name;return Object.prototype.hasOwnProperty.call(a,o)?a[o]:a[e.snakeCase(o)]},exports.resolvers=Ua;
2
2
  //# sourceMappingURL=index.cjs.map