@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
- import{snakeCase as e,isUndefined as a,capitalize as r}from"lodash-es";import{schema as t}from"@tmdb-graphql-api/schema";import{Kind as s,GraphQLError as d}from"graphql";import o from"node:crypto";import{Core as n}from"@cachemap/core";import{init as i}from"@cachemap/map";import{init as l}from"@cachemap/reaper";import{removeConnectionInputOptions as c,makeConnectionResolver as u}from"@graphql-box/connection-resolver";import{encode as p,decode as h}from"js-base64";import"core-js/modules/es.array.push.js";import{getChildFields as _,getName as m}from"@graphql-box/helpers";import{SearchType as y,TrendingMediaType as g}from"@tmdb-graphql-api/schema/types";const C=()=>(a,r,t,{fieldNodes:s})=>{const d=s[0],{value:o}=d.name;return Object.prototype.hasOwnProperty.call(a,o)?a[o]:a[e(o)]},N=t.getTypeMap(),w=Object.keys(N).reduce(((e,a)=>{const r=N[a];return r?.astNode?.kind===s.OBJECT_TYPE_DEFINITION&&(e[a]=Object.keys(r.getFields())),e}),{}),v=(e,a)=>w[e].reduce(((e,r)=>(e[r]=a,e)),{}),f="alternativeNames",T="alternativeTitles",P="backdrops",R="cast",D="collection",E="combinedCredits",O="company",I="configuration",b="contentRatings",S="credits",$="crew",k="episode",A="episodeGroups",L="externalIds",M="images",V="keywords",G="logos",q="movie",j="movieCredits",H="network",U="person",J="posters",x="recommendations",Q="releaseDates",F="reviews",W="season",z="similar",B="translations",Y="tv",K="tvCredits",X="videos",Z="watchProviders",ee="watch/providers";let ae=function(e){return e.Args="ARGS",e.Obj="OBJ",e.ObjAndArgs="OBJ_AND_ARGS",e.OptsObjAndArgs="OPTS_OBJ_AND_ARGS",e}({}),re=function(e){return e.Api="api",e.Cache="cache",e.ParentNode="parentNode",e}({});const te=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldNodes:c}=n,u={...s,data:{...s.data,args:t,fieldPath:e,resolverRequestId:o.randomUUID(),resolverType:ae.Args}},p=i.child(u.data);p.info(`Resolving ${e} ${JSON.stringify(t)}`,{logEntryName:"RESOLVER_START"});const{data:h,errors:_,headers:m}=await a(t,u,n);if(_?.length){const a=`Failed to resolve ${e}`;throw p.error(a,{errors:JSON.stringify(_),logEntryName:"RESOLVER_FAILED"}),new d(a,{nodes:c,originalError:_[0]})}return l(e,m),h},se=te("certifications",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:d,errors:o}=await s.certifications({pathTemplateData:{type:r.toLowerCase()}},t);return{data:d?.certifications,errors:o,headers:new Headers({cacheControl:"public, max-age=28800"})}})),de=(r,t)=>async(s,n,i,l)=>{const{logger:c,setCacheMetadata:u}=i,{fieldName:p,fieldNodes:h}=l,_=s?`${r}.${p}`:r,m={...i,data:{...i.data,args:n,fieldPath:r,resolverRequestId:o.randomUUID(),resolverType:ae.ObjAndArgs}},y=c.child(m.data),g=s&&"id"in s&&s.id?s.id:"id"in n?n.id:void 0,C=e=>{const a=`${e} ${r}`;return g?`${a} ${String(g)}`:a},N=e(p),w=!(s&&!a(s[N]));w&&y.info(C("Resolving"),{logEntryName:"RESOLVER_START"});const{data:v,errors:f,headers:T}=await t(s,n,m,l);if(f?.length){const e=C("Failed to resolve");throw w&&y.error(e,{errors:JSON.stringify(f),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:h,originalError:f[0]})}return T&&u(_,T),v},oe=de(D,(async(r,t,s,d)=>{const o=r?.id??t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.collection({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ne=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldName:c,fieldNodes:u}=n,p=`${e}.${c}`,h={...s,data:{...s.data,fieldPath:p,parentFieldId:r?.id,resolverRequestId:o.randomUUID(),resolverType:ae.Obj}},_=i.child(h.data);if(!r){const a=`Required ${e} node missing`;throw _.error(a),new d(a,{nodes:u})}_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:y,headers:g}=await a(r,h,n);if(y?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(y),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:u,originalError:y[0]})}return g&&l(p,g),m},ie=ne(D,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,{data:o,errors:n,headers:i}=await s.collection({pathTemplateData:{id:e.id,type:M}},t),l=d;return{data:o?.[l],errors:n,headers:i}})),le=ne(D,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.collection({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),ce=de(O,(async(r,t,s,d)=>{const o=r?.id??t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.company({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ue=ne(O,(async(a,r)=>{const{data:t,restClient:s}=r,{data:d,errors:o,headers:n}=await s.company({pathTemplateData:{id:a.id,type:e(f)}},t);return{data:d?.results,errors:o,headers:n}})),pe=ne(O,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.company({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.logos,errors:d,headers:o}})),he=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldName:c,fieldNodes:u}=n,p=r?`${e}.${c}`:e,h={...s,data:{...s.data,fieldPath:p,resolverRequestId:o.randomUUID(),resolverType:ae.OptsObjAndArgs}},_=i.child(h.data);_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:y,headers:g}=await a(h,n);if(y?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(y),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:u,originalError:y[0]})}return l(p,g),m},_e=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration(void 0,a);return{data:t,errors:s,headers:d}})),me=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"countries"}},a);return{data:t,errors:s,headers:d}})),ye=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"jobs"}},a);return{data:t,errors:s,headers:d}})),ge=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"languages"}},a);return{data:t,errors:s,headers:d}})),Ce=he(I,(async a=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.configuration({pathTemplateData:{type:e("primaryTranslations")}},r);return{data:s,errors:d,headers:o}})),Ne=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"timezones"}},a);return{data:t,errors:s,headers:d}})),we=te("credit",(async(e,a)=>{const{id:r}=e,{data:t,restClient:s}=a,{data:d,errors:o,headers:n}=await s.credit({pathTemplateData:{id:r}},t);return{data:d,errors:o,headers:n}})),ve=e=>Object.keys(e).reduce(((a,r)=>(null===e[r]||(a[r]=e[r]),a)),{}),fe=a=>Object.keys(a).reduce(((r,t)=>(r[e(t)]=a[t],r)),{}),Te=e=>{return a=fe(ve(c(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},Pe=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(ve(c(a)))}::discoverMovies`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:q},queryParams:{...Te(a),page:e}},r),cursorCache:new n({name:"DISCOVER_MOVIES_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Re=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(ve(c(a)))}::discoverTv`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:Y},queryParams:{...Te(a),page:e}},r),cursorCache:new n({name:"DISCOVER_TV_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),De=e=>encodeURIComponent(p(JSON.stringify(e))),Ee=(e,a,r)=>(_(e,{fragmentDefinitions:r})??[]).reduce(((e,{fieldNode:r})=>{const t=m(r);if(!t)return e;const s=a[t];return s?(e.includes(s)||e.push(s),e):e}),[]),Oe=(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(h(decodeURIComponent(e))))(a.id);r=e.id,t=e.seasonNumber,s=e.episodeNumber}return{episodeNumber:s,id:r,seasonNumber:t}},Ie=(e,a)=>({append_to_response:e.join(","),...a&&e.includes(M)?{include_image_language:`${a},null`}:{}}),be={[L]:e(L),[B]:B,[X]:X,cast:S,crew:S,guestStars:S,stills:M},Se=de(k,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c),{episodeNumber:h,id:_,seasonNumber:m}=Oe(r,t);if(r&&!a(r[p]))return{data:"id"===p?De({id:_,seasonNumber:m,...h?{episodeNumber:h}:{}}):r[p],source:re.ParentNode};const y=Ee(u[0],be,n),{data:g,errors:C,headers:N}=await l.episode({pathTemplateData:{episodeNumber:h,id:_,seasonNumber:m},...y.length>0?{queryParams:{...Ie(y,i)}}:{}},o),w={...g,id:De({id:_,seasonNumber:m,...h?{episodeNumber:h}:{}}),tv_show_id:Number(_)};return{data:r?w[p]:y.length>0?{...w,__headers:N}:w,errors:C,headers:N}})),$e=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>S in e&&"__headers"in e)(a))return{data:a.credits?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:S}},s);return{data:i?.[n],errors:l,headers:c}})),ke=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((a=>e(L)in a&&"__headers"in a)(a))return{data:a[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:n}},s),{id:u,...p}=i??{};return{data:p,errors:l,headers:c}})),Ae=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>M in e&&"__headers"in e)(a))return{data:a.images?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:M}},s);return{data:i?.[n],errors:l,headers:c}})),Le=ne(k,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),Me=ne(k,(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:re.ParentNode};const{data:s,errors:d,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:d,headers:o}})),Ve=te("find",(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.find({pathTemplateData:{id:e.id},queryParams:{...fe({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:d,headers:o}})),Ge=te("genres",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:d,errors:o,headers:n}=await s.genres({pathTemplateData:{type:r.toLowerCase()}},t);return{data:d?.genres,errors:o,headers:n}})),qe=te("keyword",(async(e,a)=>{const{id:r,includeAdult:t}=e,{data:s,restClient:d}=a,{data:o,errors:n,headers:i}=await d.keyword({pathTemplateData:{id:r},queryParams:{...fe({includeAdult:t})}},s);return{data:o,errors:n,headers:i}})),je={[T]:e(T),[P]:M,[R]:S,[$]:S,[L]:e(L),[V]:V,[G]:M,[J]:M,[x]:x,[Q]:e(Q),[F]:F,similarMovies:z,[B]:B,[X]:X,[Z]:"watch/providers"},He=de(q,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],je,n),{data:m,errors:y,headers:g}=await l.movie({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o);return{data:r?m?.[p]:_.length>0?{...m,__headers:g}:m,errors:y,headers:g}})),Ue=de(q,(async(a,r,t,s)=>{const{country:o}=r,{data:n,logger:i,restClient:l}=t,{fieldNodes:c}=s;if(!a){const e=`Required ${T} node missing`;throw i.error(e),new d(e,{nodes:c})}if((a=>e(T)in a&&"__headers"in a)(a))return{data:a.alternative_titles?.titles,headers:a.__headers,source:re.ParentNode};const{data:u,errors:p,headers:h}=await l.movie({pathTemplateData:{id:a.id,type:e(T)},queryParams:{country:o}},n);return{data:u?.titles,errors:p,headers:h}})),Je=ne(q,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>S in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:S}},t);return{data:n?.[o],errors:i,headers:l}})),xe=ne(q,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.movie({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d;return{data:l,errors:o,headers:n}})),Qe=ne(q,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:M}},t);return{data:n?.[o],errors:i,headers:l}})),Fe=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>V in e&&"__headers"in e)(e))return{data:e.keywords?.keywords,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:V}},r);return{data:s?.keywords,errors:d,headers:o}})),We=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${x}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>x in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:x},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=ne(q,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(Q)in a&&"__headers"in a)(a))return{data:a.release_dates?.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.movie({pathTemplateData:{id:a.id,type:e(Q)}},t);return{data:d?.results,errors:o,headers:n}})),Be=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${F}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>F in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:F},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_REVIEWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Ye=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${z}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>z in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:z},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_SIMILAR_MOVIES_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Ke=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),Xe=ne(q,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:X}},r);return{data:s?.results,errors:d,headers:o}})),Ze=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>ee in e&&"__headers"in e)(e))return{data:e["watch/providers"]?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:q}},r);return{data:s?.results,errors:d,headers:o}})),ea=de(H,(async(r,t,s,d)=>{const o=r?r.id:t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.network({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),aa=ne(H,(async(a,r)=>{const{data:t,restClient:s}=r,{data:d,errors:o,headers:n}=await s.network({pathTemplateData:{id:a.id,type:e(f)}},t);return{data:d?.results,errors:o,headers:n}})),ra=ne(H,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.network({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.logos,errors:d,headers:o}})),ta={[E]:e(E),[L]:e(L),[j]:e(j),profiles:M,[B]:B,[K]:e(K)},sa=de(U,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],ta,n),{data:m,errors:y,headers:g}=await l.person({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o);return{data:r?m?.[p]:_.length>0?{...m,__headers:g}:m,errors:y,headers:g}})),da=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(E)in a&&"__headers"in a)(a))return{data:a.combined_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(E)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),oa=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),na=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(j)in a&&"__headers"in a)(a))return{data:a.movie_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(j)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),ia=ne(U,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.profiles,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.person({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.profiles,errors:d,headers:o}})),la=ne(U,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.person({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),ca=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(K)in a&&"__headers"in a)(a))return{data:a.tv_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(K)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),ua=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::rated`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,{screenType:a},{data:t,restClient:s})=>async({page:e})=>{const{data:d,errors:o,headers:n}=await s.rated({pathTemplateData:{id:t.tmdbGuestSessionId,type:a.toLowerCase()},queryParams:{page:e}},t);return d?(d.results=d.results?.map((e=>(e.media_type=r(e.media_type??a.toLowerCase()),e))),{data:d,errors:o,headers:n}):{errors:o,headers:n}},cursorCache:new n({name:"RATED_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),pa=de("review",(async(r,t,s,d)=>{const o=r?r.id:t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.review({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ha=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::search`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:t,restClient:s})=>{const{searchType:d,...o}=c(a);return async({page:e})=>{const{data:a,errors:n,headers:i}=await s.search({pathTemplateData:{type:(d??y.Multi).toLowerCase()},queryParams:{...fe(o),page:e}},t);return a?(a.results=a.results?.map((e=>{let a=e.media_type;return!a&&d&&d!==y.Multi&&(a=d.toLowerCase()),a&&(e.media_type=r(a)),e})),{data:a,errors:n,headers:i}):{errors:n,headers:i}}},cursorCache:new n({name:"SEARCH_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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={[R]:S,[$]:S,[L]:e(L),[J]:M,[B]:B,[X]:X},ma=de(W,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c),{id:h,seasonNumber:_}=Oe(r,t);if(r&&!a(r[p]))return{data:"id"===p?De({id:h,seasonNumber:_}):r[p],source:re.ParentNode};const m=Ee(u[0],_a,n),{data:y,errors:g,headers:C}=await l.season({pathTemplateData:{id:h,number:_},...m.length>0?{queryParams:{...Ie(m,i)}}:{}},o),N={...y,episodes:(y?.episodes??[]).map((e=>({...e,tv_show_id:Number(h)}))),id:De({id:h,seasonNumber:_}),tv_show_id:Number(h)};return{data:r?N[p]:m.length>0?{...N,__headers:C}:N,errors:g,headers:C}})),ya=ne(W,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>S in e&&"__headers"in e)(a))return{data:a.credits?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:S}},s);return{data:i?.[n],errors:l,headers:c}})),ga=ne(W,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),Ca=ne(W,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.posters,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:M}},r);return{data:s?.posters,errors:d,headers:o}})),Na=ne(W,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),wa=ne(W,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:X}},r);return{data:s?.results,errors:d,headers:o}})),va=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::trending`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,t)=>async({page:e})=>{const{mediaType:s,timeWindow:d}=a,{data:o,restClient:n}=t,{data:i,errors:l,headers:c}=await n.trending({pathTemplateData:{subType:d.toLowerCase(),type:s.toLowerCase()},queryParams:{page:e}},o);return i?(i.results=i.results?.map((e=>{let a=e.media_type;return a||s===g.All||(a=s.toLowerCase()),a&&(e.media_type=r(a)),e})),{data:i,errors:l,headers:c}):{errors:l,headers:c}},cursorCache:new n({name:"TRENDING_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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={[T]:e(T),[P]:M,[R]:S,[b]:e(b),[$]:S,[A]:e(A),[L]:e(L),[V]:V,[G]:M,[J]:M,[x]:x,[F]:F,similarTvShows:z,[B]:B,[X]:X,[Z]:"watch/providers"},Ta=de(Y,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],fa,n),{data:m,errors:y,headers:g}=await l.tv({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o),C={...m,seasons:(m?.seasons??[]).map((e=>({...e,tv_show_id:Number(h)})))};return{data:r?C[p]:_.length>0?{...C,__headers:g}:C,errors:y,headers:g}})),Pa=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(T)in a&&"__headers"in a)(a))return{data:a.alternative_titles.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(T)}},t);return{data:d?.results,errors:o,headers:n}})),Ra=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(b)in a&&"__headers"in a)(a))return{data:a.content_ratings.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(b)}},t);return{data:d?.results,errors:o,headers:n}})),Da=ne(Y,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>S in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:S}},t);return{data:n?.[o],errors:i,headers:l}})),Ea=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(A)in a&&"__headers"in a)(a))return{data:a.episode_groups?.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(A)}},t);return{data:d?.results,errors:o,headers:n}})),Oa=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),Ia=ne(Y,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:M}},t);return{data:n?.[o],errors:i,headers:l}})),ba=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>V in e&&"__headers"in e)(e))return{data:e.keywords?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:V}},r);return{data:s?.results,errors:d,headers:o}})),Sa=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${x}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,r)=>async({page:a})=>{const{data:t,restClient:s}=r;if(((e,a)=>x in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:e.id,type:x},queryParams:{page:a}},t);return{data:d,errors:o,headers:n}},cursorCache:new n({name:"TV_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${F}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>F in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:F},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"TV_REVIEWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ka=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${z}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>z in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:z},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"TV_SIMILAR_TV_SHOWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),La=ne(Y,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:X}},r);return{data:s?.results,errors:d,headers:o}})),Ma=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>ee in e&&"__headers"in e)(e))return{data:e[ee]?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:Y}},r);return{data:s?.results,errors:d,headers:o}})),Va={Certifications:{CA_QC:e=>e["CA-QC"]},Collection:{...v("Collection",oe),backdrops:ie,posters:ie,translations:le},Company:{...v("Company",ce),alternativeNames:ue,logos:pe},Configuration:{countries:me,jobs:ye,languages:ge,primaryTranslations:Ce,timezones:Ne},Episode:{...v("Episode",Se),cast:$e,crew:$e,externalIds:ke,stills:Ae,translations:Le,videos:Me},Media:{__resolveType:e=>e.media_type},Movie:{...v("Movie",He),alternativeTitles:Ue,backdrops:Qe,cast:Je,crew:Je,externalIds:xe,keywords:Fe,logos:Qe,posters:Qe,recommendations:We,releaseDates:ze,reviews:Be,similarMovies:Ye,translations:Ke,videos:Xe,watchProviders:Ze},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:{...v("Network",ea),alternativeNames:aa,logos:ra},Person:{...v("Person",sa),combinedCredits:da,externalIds:oa,movieCredits:na,profiles:ia,translations:la,tvCredits:ca},Query:{certifications:se,collection:oe,company:ce,configuration:_e,credit:we,discoverMovies:Pe,discoverTv:Re,episode:Se,find:Ve,genres:Ge,keyword:qe,movie:He,network:ea,person:sa,rated:ua,review:pa,search:ha,season:ma,trending:va,tv:Ta},RatedScreen:{__resolveType:e=>e.media_type},Search:{__resolveType:e=>e.media_type},Season:{...v("Season",ma),cast:ya,crew:ya,episodeCount:e=>e.episodes?.length??0,externalIds:ga,posters:Ca,translations:Na,videos:wa},Tv:{...v("Tv",Ta),alternativeTitles:Pa,backdrops:Ia,cast:Da,contentRatings:Ra,crew:Da,episodeGroups:Ea,externalIds:Oa,keywords:ba,logos:Ia,posters:Ia,recommendations:Sa,reviews:$a,similarTvShows:ka,translations:Aa,videos:La,watchProviders:Ma},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(a).toUpperCase()}};export{C as createDefaultFieldResolver,Va as resolvers};
1
+ import{snakeCase as e,isUndefined as a,capitalize as r}from"lodash-es";import{schema as t}from"@tmdb-graphql-api/schema";import{Kind as s,GraphQLError as d}from"graphql";import o from"node:crypto";import{Core as n}from"@cachemap/core";import{init as i}from"@cachemap/map";import{init as l}from"@cachemap/reaper";import{removeConnectionInputOptions as c,makeConnectionResolver as u}from"@graphql-box/connection-resolver";import{encode as p,decode as h}from"js-base64";import"core-js/modules/es.array.push.js";import{getChildFields as _,getName as m}from"@graphql-box/helpers";import{SearchType as y,TrendingMediaType as g}from"@tmdb-graphql-api/schema/types";const C=()=>(a,r,t,{fieldNodes:s})=>{const d=s[0],{value:o}=d.name;return Object.prototype.hasOwnProperty.call(a,o)?a[o]:a[e(o)]},N=t.getTypeMap(),w=Object.keys(N).reduce(((e,a)=>{const r=N[a];return r?.astNode?.kind===s.OBJECT_TYPE_DEFINITION&&(e[a]=Object.keys(r.getFields())),e}),{}),v=(e,a)=>w[e].reduce(((e,r)=>(e[r]=a,e)),{}),f="alternativeNames",T="alternativeTitles",P="backdrops",R="cast",D="collection",E="combinedCredits",O="company",I="configuration",b="contentRatings",S="credits",$="crew",k="episode",A="episodeGroups",L="externalIds",M="images",V="keywords",G="logos",q="movie",j="movieCredits",H="network",U="person",J="posters",x="recommendations",Q="releaseDates",F="reviews",W="season",z="similar",B="translations",Y="tv",K="tvCredits",X="videos",Z="watchProviders",ee="watch/providers";let ae=function(e){return e.Args="ARGS",e.Obj="OBJ",e.ObjAndArgs="OBJ_AND_ARGS",e.OptsObjAndArgs="OPTS_OBJ_AND_ARGS",e}({}),re=function(e){return e.Api="api",e.Cache="cache",e.ParentNode="parentNode",e}({});const te=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldNodes:c}=n,u={...s,data:{...s.data,args:t,fieldPath:e,resolverRequestId:o.randomUUID(),resolverType:ae.Args}},p=i.child(u.data);p.info(`Resolving ${e} ${JSON.stringify(t)}`,{logEntryName:"RESOLVER_START"});const{data:h,errors:_,headers:m}=await a(t,u,n);if(_?.length){const a=`Failed to resolve ${e}`;throw p.error(a,{errors:JSON.stringify(_),logEntryName:"RESOLVER_FAILED"}),new d(a,{nodes:c,originalError:_[0]})}return l(e,m),h},se=te("certifications",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:d,errors:o}=await s.certifications({pathTemplateData:{type:r.toLowerCase()}},t);return{data:d?.certifications,errors:o,headers:new Headers({cacheControl:"public, max-age=28800"})}})),de=(r,t)=>async(s,n,i,l)=>{const{logger:c,setCacheMetadata:u}=i,{fieldName:p,fieldNodes:h}=l,_=s?`${r}.${p}`:r,m=s&&"id"in s&&s.id?s.id:"id"in n?n.id:void 0,y={...i,data:{...i.data,args:{...n,id:m},fieldPath:r,resolverRequestId:o.randomUUID(),resolverType:ae.ObjAndArgs}},g=c.child(y.data),C=e=>{const a=`${e} ${r}`;return m?`${a} ${String(m)}`:a},N=e(p),w=!(s&&!a(s[N]));w&&g.info(C("Resolving"),{logEntryName:"RESOLVER_START"});const{data:v,errors:f,headers:T}=await t(s,n,y,l);if(f?.length){const e=C("Failed to resolve");throw w&&g.error(e,{errors:JSON.stringify(f),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:h,originalError:f[0]})}return T&&u(_,T),v},oe=de(D,(async(r,t,s,d)=>{const o=r?.id??t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.collection({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ne=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldName:c,fieldNodes:u}=n,p=`${e}.${c}`,h={...s,data:{...s.data,args:r?.id?{id:r.id}:void 0,fieldPath:p,resolverRequestId:o.randomUUID(),resolverType:ae.Obj}},_=i.child(h.data);if(!r){const a=`Required ${e} node missing`;throw _.error(a),new d(a,{nodes:u})}_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:y,headers:g}=await a(r,h,n);if(y?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(y),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:u,originalError:y[0]})}return g&&l(p,g),m},ie=ne(D,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,{data:o,errors:n,headers:i}=await s.collection({pathTemplateData:{id:e.id,type:M}},t),l=d;return{data:o?.[l],errors:n,headers:i}})),le=ne(D,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.collection({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),ce=de(O,(async(r,t,s,d)=>{const o=r?.id??t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.company({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ue=ne(O,(async(a,r)=>{const{data:t,restClient:s}=r,{data:d,errors:o,headers:n}=await s.company({pathTemplateData:{id:a.id,type:e(f)}},t);return{data:d?.results,errors:o,headers:n}})),pe=ne(O,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.company({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.logos,errors:d,headers:o}})),he=(e,a)=>async(r,t,s,n)=>{const{logger:i,setCacheMetadata:l}=s,{fieldName:c,fieldNodes:u}=n,p=r?`${e}.${c}`:e,h={...s,data:{...s.data,args:void 0,fieldPath:p,resolverRequestId:o.randomUUID(),resolverType:ae.OptsObjAndArgs}},_=i.child(h.data);_.info(`Resolving ${p}`,{logEntryName:"RESOLVER_START"});const{data:m,errors:y,headers:g}=await a(h,n);if(y?.length){const e=`Failed to resolve ${p}`;throw _.error(e,{errors:JSON.stringify(y),logEntryName:"RESOLVER_FAILED"}),new d(e,{nodes:u,originalError:y[0]})}return l(p,g),m},_e=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration(void 0,a);return{data:t,errors:s,headers:d}})),me=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"countries"}},a);return{data:t,errors:s,headers:d}})),ye=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"jobs"}},a);return{data:t,errors:s,headers:d}})),ge=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"languages"}},a);return{data:t,errors:s,headers:d}})),Ce=he(I,(async a=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.configuration({pathTemplateData:{type:e("primaryTranslations")}},r);return{data:s,errors:d,headers:o}})),Ne=he(I,(async e=>{const{data:a,restClient:r}=e,{data:t,errors:s,headers:d}=await r.configuration({pathTemplateData:{type:"timezones"}},a);return{data:t,errors:s,headers:d}})),we=te("credit",(async(e,a)=>{const{id:r}=e,{data:t,restClient:s}=a,{data:d,errors:o,headers:n}=await s.credit({pathTemplateData:{id:r}},t);return{data:d,errors:o,headers:n}})),ve=e=>Object.keys(e).reduce(((a,r)=>(null===e[r]||(a[r]=e[r]),a)),{}),fe=a=>Object.keys(a).reduce(((r,t)=>(r[e(t)]=a[t],r)),{}),Te=e=>{return a=fe(ve(c(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},Pe=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(ve(c(a)))}::discoverMovies`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:q},queryParams:{...Te(a),page:e}},r),cursorCache:new n({name:"DISCOVER_MOVIES_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Re=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(ve(c(a)))}::discoverTv`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:e})=>t.discover({pathTemplateData:{type:Y},queryParams:{...Te(a),page:e}},r),cursorCache:new n({name:"DISCOVER_TV_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),De=e=>encodeURIComponent(p(JSON.stringify(e))),Ee=(e,a,r)=>(_(e,{fragmentDefinitions:r})??[]).reduce(((e,{fieldNode:r})=>{const t=m(r);if(!t)return e;const s=a[t];return s?(e.includes(s)||e.push(s),e):e}),[]),Oe=(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(h(decodeURIComponent(e))))(a.id);r=e.id,t=e.seasonNumber,s=e.episodeNumber}return{episodeNumber:s,id:r,seasonNumber:t}},Ie=(e,a)=>({append_to_response:e.join(","),...a&&e.includes(M)?{include_image_language:`${a},null`}:{}}),be={[L]:e(L),[B]:B,[X]:X,cast:S,crew:S,guestStars:S,stills:M},Se=de(k,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c),{episodeNumber:h,id:_,seasonNumber:m}=Oe(r,t);if(r&&!a(r[p]))return{data:"id"===p?De({id:_,seasonNumber:m,...h?{episodeNumber:h}:{}}):r[p],source:re.ParentNode};const y=Ee(u[0],be,n),{data:g,errors:C,headers:N}=await l.episode({pathTemplateData:{episodeNumber:h,id:_,seasonNumber:m},...y.length>0?{queryParams:{...Ie(y,i)}}:{}},o),w={...g,id:De({id:_,seasonNumber:m,...h?{episodeNumber:h}:{}}),tv_show_id:Number(_)};return{data:r?w[p]:y.length>0?{...w,__headers:N}:w,errors:C,headers:N}})),$e=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>S in e&&"__headers"in e)(a))return{data:a.credits?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:S}},s);return{data:i?.[n],errors:l,headers:c}})),ke=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((a=>e(L)in a&&"__headers"in a)(a))return{data:a[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:n}},s),{id:u,...p}=i??{};return{data:p,errors:l,headers:c}})),Ae=ne(k,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>M in e&&"__headers"in e)(a))return{data:a.images?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.episode({pathTemplateData:{episodeNumber:a.episode_number,id:a.tv_show_id,seasonNumber:a.season_number,type:M}},s);return{data:i?.[n],errors:l,headers:c}})),Le=ne(k,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.episode({pathTemplateData:{episodeNumber:e.episode_number,id:e.tv_show_id,seasonNumber:e.season_number,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),Me=ne(k,(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:re.ParentNode};const{data:s,errors:d,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:d,headers:o}})),Ve=te("find",(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.find({pathTemplateData:{id:e.id},queryParams:{...fe({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:d,headers:o}})),Ge=te("genres",(async(e,a)=>{const{screenType:r}=e,{data:t,restClient:s}=a,{data:d,errors:o,headers:n}=await s.genres({pathTemplateData:{type:r.toLowerCase()}},t);return{data:d?.genres,errors:o,headers:n}})),qe=te("keyword",(async(e,a)=>{const{id:r,includeAdult:t}=e,{data:s,restClient:d}=a,{data:o,errors:n,headers:i}=await d.keyword({pathTemplateData:{id:r},queryParams:{...fe({includeAdult:t})}},s);return{data:o,errors:n,headers:i}})),je={[T]:e(T),[P]:M,[R]:S,[$]:S,[L]:e(L),[V]:V,[G]:M,[J]:M,[x]:x,[Q]:e(Q),[F]:F,similarMovies:z,[B]:B,[X]:X,[Z]:"watch/providers"},He=de(q,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],je,n),{data:m,errors:y,headers:g}=await l.movie({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o);return{data:r?m?.[p]:_.length>0?{...m,__headers:g}:m,errors:y,headers:g}})),Ue=de(q,(async(a,r,t,s)=>{const{country:o}=r,{data:n,logger:i,restClient:l}=t,{fieldNodes:c}=s;if(!a){const e=`Required ${T} node missing`;throw i.error(e),new d(e,{nodes:c})}if((a=>e(T)in a&&"__headers"in a)(a))return{data:a.alternative_titles?.titles,headers:a.__headers,source:re.ParentNode};const{data:u,errors:p,headers:h}=await l.movie({pathTemplateData:{id:a.id,type:e(T)},queryParams:{country:o}},n);return{data:u?.titles,errors:p,headers:h}})),Je=ne(q,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>S in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:S}},t);return{data:n?.[o],errors:i,headers:l}})),xe=ne(q,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.movie({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d;return{data:l,errors:o,headers:n}})),Qe=ne(q,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.movie({pathTemplateData:{id:e.id,type:M}},t);return{data:n?.[o],errors:i,headers:l}})),Fe=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>V in e&&"__headers"in e)(e))return{data:e.keywords?.keywords,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:V}},r);return{data:s?.keywords,errors:d,headers:o}})),We=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${x}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>x in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:x},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=ne(q,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(Q)in a&&"__headers"in a)(a))return{data:a.release_dates?.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.movie({pathTemplateData:{id:a.id,type:e(Q)}},t);return{data:d?.results,errors:o,headers:n}})),Be=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${F}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>F in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:F},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_REVIEWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Ye=u({createMakeCursors:e=>{const a=`${e.id}::${q}::${z}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>z in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:z},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"MOVIE_SIMILAR_MOVIES_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),Ke=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),Xe=ne(q,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.movie({pathTemplateData:{id:e.id,type:X}},r);return{data:s?.results,errors:d,headers:o}})),Ze=ne(q,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>ee in e&&"__headers"in e)(e))return{data:e["watch/providers"]?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:q}},r);return{data:s?.results,errors:d,headers:o}})),ea=de(H,(async(r,t,s,d)=>{const o=r?r.id:t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.network({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),aa=ne(H,(async(a,r)=>{const{data:t,restClient:s}=r,{data:d,errors:o,headers:n}=await s.network({pathTemplateData:{id:a.id,type:e(f)}},t);return{data:d?.results,errors:o,headers:n}})),ra=ne(H,(async(e,a)=>{const{data:r,restClient:t}=a,{data:s,errors:d,headers:o}=await t.network({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.logos,errors:d,headers:o}})),ta={[E]:e(E),[L]:e(L),[j]:e(j),profiles:M,[B]:B,[K]:e(K)},sa=de(U,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],ta,n),{data:m,errors:y,headers:g}=await l.person({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o);return{data:r?m?.[p]:_.length>0?{...m,__headers:g}:m,errors:y,headers:g}})),da=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(E)in a&&"__headers"in a)(a))return{data:a.combined_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(E)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),oa=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),na=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(j)in a&&"__headers"in a)(a))return{data:a.movie_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(j)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),ia=ne(U,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.profiles,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.person({pathTemplateData:{id:e.id,type:M}},r);return{data:s?.profiles,errors:d,headers:o}})),la=ne(U,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.person({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),ca=ne(U,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(K)in a&&"__headers"in a)(a))return{data:a.tv_credits,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.person({pathTemplateData:{id:a.id,type:e(K)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),ua=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::rated`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,{screenType:a},{data:t,restClient:s})=>async({page:e})=>{const{data:d,errors:o,headers:n}=await s.rated({pathTemplateData:{id:t.tmdbGuestSessionId,type:a.toLowerCase()},queryParams:{page:e}},t);return d?(d.results=d.results?.map((e=>(e.media_type=r(e.media_type??a.toLowerCase()),e))),{data:d,errors:o,headers:n}):{errors:o,headers:n}},cursorCache:new n({name:"RATED_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),pa=de("review",(async(r,t,s,d)=>{const o=r?r.id:t.id,{data:n,restClient:i}=s,{fieldName:l}=d,c=e(l);if(r&&!a(r[c]))return{data:r[c],source:re.ParentNode};const{data:u,errors:p,headers:h}=await i.review({pathTemplateData:{id:o}},n);return{data:r?u?.[c]:u,errors:p,headers:h}})),ha=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::search`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,{data:t,restClient:s})=>{const{searchType:d,...o}=c(a);return async({page:e})=>{const{data:a,errors:n,headers:i}=await s.search({pathTemplateData:{type:(d??y.Multi).toLowerCase()},queryParams:{...fe(o),page:e}},t);return a?(a.results=a.results?.map((e=>{let a=e.media_type;return!a&&d&&d!==y.Multi&&(a=d.toLowerCase()),a&&(e.media_type=r(a)),e})),{data:a,errors:n,headers:i}):{errors:n,headers:i}}},cursorCache:new n({name:"SEARCH_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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={[R]:S,[$]:S,[L]:e(L),[J]:M,[B]:B,[X]:X},ma=de(W,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c),{id:h,seasonNumber:_}=Oe(r,t);if(r&&!a(r[p]))return{data:"id"===p?De({id:h,seasonNumber:_}):r[p],source:re.ParentNode};const m=Ee(u[0],_a,n),{data:y,errors:g,headers:C}=await l.season({pathTemplateData:{id:h,number:_},...m.length>0?{queryParams:{...Ie(m,i)}}:{}},o),N={...y,episodes:(y?.episodes??[]).map((e=>({...e,tv_show_id:Number(h)}))),id:De({id:h,seasonNumber:_}),tv_show_id:Number(h)};return{data:r?N[p]:m.length>0?{...N,__headers:C}:N,errors:g,headers:C}})),ya=ne(W,(async(a,r,t)=>{const{data:s,restClient:d}=r,{fieldName:o}=t,n=e(o);if((e=>S in e&&"__headers"in e)(a))return{data:a.credits?.[n],headers:a.__headers,source:re.ParentNode};const{data:i,errors:l,headers:c}=await d.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:S}},s);return{data:i?.[n],errors:l,headers:c}})),ga=ne(W,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.season({pathTemplateData:{id:a.tv_show_id,number:a.season_number,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),Ca=ne(W,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.posters,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:M}},r);return{data:s?.posters,errors:d,headers:o}})),Na=ne(W,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),wa=ne(W,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.season({pathTemplateData:{id:e.tv_show_id,number:e.season_number,type:X}},r);return{data:s?.results,errors:d,headers:o}})),va=u({createMakeCursors:(e,a)=>{const r=`${JSON.stringify(c(a))}::trending`;return{makeGroupCursor:()=>p(r),makeIDCursor:e=>p(`${e}::${r}`)}},createResourceResolver:(e,a,t)=>async({page:e})=>{const{mediaType:s,timeWindow:d}=a,{data:o,restClient:n}=t,{data:i,errors:l,headers:c}=await n.trending({pathTemplateData:{subType:d.toLowerCase(),type:s.toLowerCase()},queryParams:{page:e}},o);return i?(i.results=i.results?.map((e=>{let a=e.media_type;return a||s===g.All||(a=s.toLowerCase()),a&&(e.media_type=r(a)),e})),{data:i,errors:l,headers:c}):{errors:l,headers:c}},cursorCache:new n({name:"TRENDING_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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={[T]:e(T),[P]:M,[R]:S,[b]:e(b),[$]:S,[A]:e(A),[L]:e(L),[V]:V,[G]:M,[J]:M,[x]:x,[F]:F,similarTvShows:z,[B]:B,[X]:X,[Z]:"watch/providers"},Ta=de(Y,(async(r,t,s,d)=>{const{data:o,fragmentDefinitions:n,languageCode:i,restClient:l}=s,{fieldName:c,fieldNodes:u}=d,p=e(c);if(r&&!a(r[p]))return{data:r[p],source:re.ParentNode};const h=r?r.id:t.id,_=Ee(u[0],fa,n),{data:m,errors:y,headers:g}=await l.tv({pathTemplateData:{id:h},..._.length>0?{queryParams:{...Ie(_,i)}}:{}},o),C={...m,seasons:(m?.seasons??[]).map((e=>({...e,tv_show_id:Number(h)})))};return{data:r?C[p]:_.length>0?{...C,__headers:g}:C,errors:y,headers:g}})),Pa=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(T)in a&&"__headers"in a)(a))return{data:a.alternative_titles.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(T)}},t);return{data:d?.results,errors:o,headers:n}})),Ra=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(b)in a&&"__headers"in a)(a))return{data:a.content_ratings.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(b)}},t);return{data:d?.results,errors:o,headers:n}})),Da=ne(Y,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>S in e&&"__headers"in e)(e))return{data:e.credits?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:S}},t);return{data:n?.[o],errors:i,headers:l}})),Ea=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(A)in a&&"__headers"in a)(a))return{data:a.episode_groups?.results,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(A)}},t);return{data:d?.results,errors:o,headers:n}})),Oa=ne(Y,(async(a,r)=>{const{data:t,restClient:s}=r;if((a=>e(L)in a&&"__headers"in a)(a))return{data:a.external_ids,headers:a.__headers,source:re.ParentNode};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:a.id,type:e(L)}},t),{id:i,...l}=d??{};return{data:l,errors:o,headers:n}})),Ia=ne(Y,(async(e,a,r)=>{const{data:t,restClient:s}=a,{fieldName:d}=r,o=d;if((e=>M in e&&"__headers"in e)(e))return{data:e.images?.[o],headers:e.__headers,source:re.ParentNode};const{data:n,errors:i,headers:l}=await s.tv({pathTemplateData:{id:e.id,type:M}},t);return{data:n?.[o],errors:i,headers:l}})),ba=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>V in e&&"__headers"in e)(e))return{data:e.keywords?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:V}},r);return{data:s?.results,errors:d,headers:o}})),Sa=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${x}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,r)=>async({page:a})=>{const{data:t,restClient:s}=r;if(((e,a)=>x in e&&e.recommendations?.page===a&&"__headers"in e)(e,a))return{data:e.recommendations,headers:e.__headers};const{data:d,errors:o,headers:n}=await s.tv({pathTemplateData:{id:e.id,type:x},queryParams:{page:a}},t);return{data:d,errors:o,headers:n}},cursorCache:new n({name:"TV_RECOMMENDATIONS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${F}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>F in e&&e.reviews?.page===a&&"__headers"in e)(e,a))return{data:e.reviews,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:F},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"TV_REVIEWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),getters:{nodes:({results:e=[]})=>e,page:({page:e=0})=>e,totalPages:({total_pages:e=0})=>e,totalResults:({total_results:e=0})=>e},resultsPerPage:20}),ka=u({createMakeCursors:e=>{const a=`${e.id}::${Y}::${z}`;return{makeGroupCursor:()=>p(a),makeIDCursor:e=>p(`${e}::${a}`)}},createResourceResolver:(e,a,{data:r,restClient:t})=>async({page:a})=>{if(((e,a)=>z in e&&e.similar?.page===a&&"__headers"in e)(e,a))return{data:e.similar,headers:e.__headers};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:z},queryParams:{page:a}},r);return{data:s,errors:d,headers:o}},cursorCache:new n({name:"TV_SIMILAR_TV_SHOWS_CONNECTION_RESOLVER",reaper:l({interval:3e5}),store:i(),type:"GRAPHQL"}),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=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>B in e&&"__headers"in e)(e))return{data:e.translations?.translations,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:B}},r);return{data:s?.translations,errors:d,headers:o}})),La=ne(Y,(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:re.ParentNode};const{data:s,errors:d,headers:o}=await t.tv({pathTemplateData:{id:e.id,type:X}},r);return{data:s?.results,errors:d,headers:o}})),Ma=ne(Y,(async(e,a)=>{const{data:r,restClient:t}=a;if((e=>ee in e&&"__headers"in e)(e))return{data:e[ee]?.results,headers:e.__headers,source:re.ParentNode};const{data:s,errors:d,headers:o}=await t.watchProviders({pathTemplateData:{id:e.id,type:Y}},r);return{data:s?.results,errors:d,headers:o}})),Va={Certifications:{CA_QC:e=>e["CA-QC"]},Collection:{...v("Collection",oe),backdrops:ie,posters:ie,translations:le},Company:{...v("Company",ce),alternativeNames:ue,logos:pe},Configuration:{countries:me,jobs:ye,languages:ge,primaryTranslations:Ce,timezones:Ne},Episode:{...v("Episode",Se),cast:$e,crew:$e,externalIds:ke,stills:Ae,translations:Le,videos:Me},Media:{__resolveType:e=>e.media_type},Movie:{...v("Movie",He),alternativeTitles:Ue,backdrops:Qe,cast:Je,crew:Je,externalIds:xe,keywords:Fe,logos:Qe,posters:Qe,recommendations:We,releaseDates:ze,reviews:Be,similarMovies:Ye,translations:Ke,videos:Xe,watchProviders:Ze},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:{...v("Network",ea),alternativeNames:aa,logos:ra},Person:{...v("Person",sa),combinedCredits:da,externalIds:oa,movieCredits:na,profiles:ia,translations:la,tvCredits:ca},Query:{certifications:se,collection:oe,company:ce,configuration:_e,credit:we,discoverMovies:Pe,discoverTv:Re,episode:Se,find:Ve,genres:Ge,keyword:qe,movie:He,network:ea,person:sa,rated:ua,review:pa,search:ha,season:ma,trending:va,tv:Ta},RatedScreen:{__resolveType:e=>e.media_type},Search:{__resolveType:e=>e.media_type},Season:{...v("Season",ma),cast:ya,crew:ya,episodeCount:e=>e.episodes?.length??0,externalIds:ga,posters:Ca,translations:Na,videos:wa},Tv:{...v("Tv",Ta),alternativeTitles:Pa,backdrops:Ia,cast:Da,contentRatings:Ra,crew:Da,episodeGroups:Ea,externalIds:Oa,keywords:ba,logos:Ia,posters:Ia,recommendations:Sa,reviews:$a,similarTvShows:ka,translations:Aa,videos:La,watchProviders:Ma},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(a).toUpperCase()}};export{C as createDefaultFieldResolver,Va as resolvers};
2
2
  //# sourceMappingURL=index.mjs.map