@tmdb-graphql-api/rest-client 0.0.16 → 0.0.17

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("getta"),t=require("node:perf_hooks");const o="https://api.themoviedb.org/3/",r="get",s=/({type\?})/g,p="authentication/{type}/new",i="certification/{type}/list",d="collection/{id}/{type?}",E="company/{id}/{type?}",a="configuration/{type?}",T="credit/{id}",n="discover/{type}",c="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",h="find/{id}",P="genre/{type}/list",m="keyword/{id}",_="movie/{id}/{type?}",A="network/{id}/{type?}",H="person/{id}/{type?}",R="{type}/popular",u="guest_session/{id}/rated/{type}",x="review/{id}",y="search/{type}",O="tv/{id}/season/{number}/{type?}",l="trending/{type}/{subType}",N="tv/{id}/{type?}",S="{type}/{id}/watch/providers",C=(t,o,r)=>e.defaultPathTemplateCallback(t,o,r).replace(s,o.type??""),{NODE_ENV:I}=process.env,v={[e.REQUEST_FAILED]:"REQUEST FAILED: There was a problem requesting resource",[e.REQUEST_SENT]:"Request made for resource",[e.RESPONSE_FROM_CACHE]:"CACHE HIT: Fetch cache has resource",[e.RESPONSE_RECEIVED]:"Response received for resource"};exports.AUTHENTICATE_PATH=p,exports.BASE_PATH=o,exports.CERTIFICATIONS_PATH=i,exports.COLLECTION_PATH=d,exports.COMPANY_PATH=E,exports.CONFIGURATION_PATH=a,exports.CREDIT_PATH=T,exports.DELETE_METHOD="delete",exports.DISCOVER_PATH=n,exports.EPISODE_PATH=c,exports.FIND_PATH=h,exports.GENRE_PATH=P,exports.GET_METHOD=r,exports.KEYWORD_PATH=m,exports.MOVIE_PATH=_,exports.NETWORK_PATH=A,exports.OPTIONAL_TYPE_PATH_TEMPLATE_REGEX=s,exports.PERSON_PATH=H,exports.POPULAR_PATH=R,exports.POST_METHOD="post",exports.PUT_METHOD="put",exports.RATED_PATH=u,exports.REVIEW_PATH=x,exports.SEARCH_PATH=y,exports.SEASON_PATH=O,exports.TRENDING_PATH=l,exports.TV_PATH=N,exports.WATCH_PROVIDER_PATH=S,exports.createRestClient=({apiKey:s,cache:g,headers:D={},logger:f,queryParams:b={}})=>e.createRestClient({basePath:o,cache:g,fetchTimeout:"development"===I?999999:void 0,headers:{...D,authorization:`Authorization: Bearer ${s}`},log:(t,{context:o,stats:r})=>{const{args:s,fieldPath:p}=o,i=s&&"id"in s&&s.id?`${p} ${String(s.id)}`:p;(t=>t===e.REQUEST_SENT||t===e.RESPONSE_FROM_CACHE||t===e.RESPONSE_RECEIVED)(t)&&f?.info(`${v[t]} to resolve ${i}`,{...o,...r}),(t=>t===e.REQUEST_FAILED)(t)&&f?.error(`${v[t]} to resolve ${i}`,{...o,...r})},pathTemplateCallback:C,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:t.performance,queryParams:b,rateLimitPerSecond:30},{authenticate:[p,{method:r}],certifications:[i,{method:r}],collection:[d,{method:r}],company:[E,{method:r}],configuration:[a,{method:r}],credit:[T,{method:r}],discover:[n,{method:r}],episode:[c,{method:r}],find:[h,{method:r}],genres:[P,{method:r}],keyword:[m,{method:r}],movie:[_,{method:r}],network:[A,{method:r}],person:[H,{method:r}],popular:[R,{method:r}],rated:[u,{method:r}],review:[x,{method:r}],search:[y,{method:r}],season:[O,{method:r}],trending:[l,{method:r}],tv:[N,{method:r}],watchProviders:[S,{method:r}]});
1
+ "use strict";var e=require("getta"),t=require("node:perf_hooks");const o="https://api.themoviedb.org/3/",r="get",s=/({type\?})/g,p="authentication/{type}/new",i="certification/{type}/list",d="collection/{id}/{type?}",E="company/{id}/{type?}",a="configuration/{type?}",T="credit/{id}",n="discover/{type}",c="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",h="find/{id}",P="genre/{type}/list",m="keyword/{id}",_="movie/{id}/{type?}",A="network/{id}/{type?}",H="person/{id}/{type?}",R="{type}/popular",x="guest_session/{id}/rated/{type}",u="review/{id}",y="search/{type}",O="tv/{id}/season/{number}/{type?}",l="trending/{type}/{subType}",N="tv/{id}/{type?}",S="{type}/{id}/watch/providers",C=(t,o,r)=>e.defaultPathTemplateCallback(t,o,r).replace(s,o.type??""),{NODE_ENV:I}=process.env,v={[e.REQUEST_FAILED]:"REQUEST FAILED: There was a problem requesting resource",[e.REQUEST_SENT]:"Request made for resource",[e.RESPONSE_FROM_CACHE]:"CACHE HIT: Fetch cache has resource",[e.RESPONSE_RECEIVED]:"Response received for resource"};exports.AUTHENTICATE_PATH=p,exports.BASE_PATH=o,exports.CERTIFICATIONS_PATH=i,exports.COLLECTION_PATH=d,exports.COMPANY_PATH=E,exports.CONFIGURATION_PATH=a,exports.CREDIT_PATH=T,exports.DELETE_METHOD="delete",exports.DISCOVER_PATH=n,exports.EPISODE_PATH=c,exports.FIND_PATH=h,exports.GENRE_PATH=P,exports.GET_METHOD=r,exports.KEYWORD_PATH=m,exports.MOVIE_PATH=_,exports.NETWORK_PATH=A,exports.OPTIONAL_TYPE_PATH_TEMPLATE_REGEX=s,exports.PERSON_PATH=H,exports.POPULAR_PATH=R,exports.POST_METHOD="post",exports.PUT_METHOD="put",exports.RATED_PATH=x,exports.REVIEW_PATH=u,exports.SEARCH_PATH=y,exports.SEASON_PATH=O,exports.TRENDING_PATH=l,exports.TV_PATH=N,exports.WATCH_PROVIDER_PATH=S,exports.createRestClient=({apiKey:s,cache:g,headers:D={},logger:f,queryParams:b={}})=>e.createRestClient({basePath:o,cache:g,fetchTimeout:"development"===I?999999:void 0,headers:{...D,authorization:`Bearer ${s}`},log:(t,{context:o,stats:r})=>{const{args:s,fieldPath:p}=o,i=s&&"id"in s&&s.id?`${p} ${String(s.id)}`:p;(t=>t===e.REQUEST_SENT||t===e.RESPONSE_FROM_CACHE||t===e.RESPONSE_RECEIVED)(t)&&f?.info(`${v[t]} to resolve ${i}`,{...o,...r}),(t=>t===e.REQUEST_FAILED)(t)&&f?.error(`${v[t]} to resolve ${i}`,{...o,...r})},pathTemplateCallback:C,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:t.performance,queryParams:b,rateLimitPerSecond:30},{authenticate:[p,{method:r}],certifications:[i,{method:r}],collection:[d,{method:r}],company:[E,{method:r}],configuration:[a,{method:r}],credit:[T,{method:r}],discover:[n,{method:r}],episode:[c,{method:r}],find:[h,{method:r}],genres:[P,{method:r}],keyword:[m,{method:r}],movie:[_,{method:r}],network:[A,{method:r}],person:[H,{method:r}],popular:[R,{method:r}],rated:[x,{method:r}],review:[u,{method:r}],search:[y,{method:r}],season:[O,{method:r}],trending:[l,{method:r}],tv:[N,{method:r}],watchProviders:[S,{method:r}]});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../rest-client/src//constants.ts","../rest-client/src//helpers/pathTemplateCallback.ts","../rest-client/src//main.ts"],"sourcesContent":["export const BASE_PATH = 'https://api.themoviedb.org/3/';\n\nexport const GET_METHOD = 'get' as const;\nexport const POST_METHOD = 'post' as const;\nexport const PUT_METHOD = 'put' as const;\nexport const DELETE_METHOD = 'delete' as const;\n\nexport const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\\?})/g;\n\nexport const AUTHENTICATE_PATH = 'authentication/{type}/new';\nexport const CERTIFICATIONS_PATH = 'certification/{type}/list';\nexport const COLLECTION_PATH = 'collection/{id}/{type?}';\nexport const COMPANY_PATH = 'company/{id}/{type?}';\nexport const CONFIGURATION_PATH = 'configuration/{type?}';\nexport const CREDIT_PATH = 'credit/{id}';\nexport const DISCOVER_PATH = 'discover/{type}';\nexport const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';\nexport const FIND_PATH = 'find/{id}';\nexport const GENRE_PATH = 'genre/{type}/list';\nexport const KEYWORD_PATH = 'keyword/{id}';\nexport const MOVIE_PATH = 'movie/{id}/{type?}';\nexport const NETWORK_PATH = 'network/{id}/{type?}';\nexport const PERSON_PATH = 'person/{id}/{type?}';\nexport const POPULAR_PATH = '{type}/popular';\nexport const RATED_PATH = 'guest_session/{id}/rated/{type}';\nexport const REVIEW_PATH = 'review/{id}';\nexport const SEARCH_PATH = 'search/{type}';\nexport const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';\nexport const TRENDING_PATH = 'trending/{type}/{subType}';\nexport const TV_PATH = 'tv/{id}/{type?}';\nexport const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';\n","import { defaultPathTemplateCallback } from 'getta';\nimport { OPTIONAL_TYPE_PATH_TEMPLATE_REGEX } from '../constants.ts';\n\nexport const pathTemplateCallback = (\n pathTemplate: string,\n data: Record<string, string>,\n pathTemplateRegExp: RegExp\n) => {\n const populatedPath = defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);\n return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');\n};\n","import { type ExecutionContextValueData } from '@graphql-box/core';\nimport {\n REQUEST_FAILED,\n REQUEST_SENT,\n RESPONSE_FROM_CACHE,\n RESPONSE_RECEIVED,\n createRestClient as create,\n} from 'getta';\nimport { performance } from 'node:perf_hooks';\nimport {\n AUTHENTICATE_PATH,\n BASE_PATH,\n CERTIFICATIONS_PATH,\n COLLECTION_PATH,\n COMPANY_PATH,\n CONFIGURATION_PATH,\n CREDIT_PATH,\n DISCOVER_PATH,\n EPISODE_PATH,\n FIND_PATH,\n GENRE_PATH,\n GET_METHOD,\n KEYWORD_PATH,\n MOVIE_PATH,\n NETWORK_PATH,\n PERSON_PATH,\n POPULAR_PATH,\n RATED_PATH,\n REVIEW_PATH,\n SEARCH_PATH,\n SEASON_PATH,\n TRENDING_PATH,\n TV_PATH,\n WATCH_PROVIDER_PATH,\n} from './constants.ts';\nimport { pathTemplateCallback } from './helpers/pathTemplateCallback.ts';\nimport { type CreateRestClientParams, type ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nconst isInfoLog = (message: string): message is 'request_sent' | 'response_from_cache' | 'response_received' =>\n message === REQUEST_SENT || message === RESPONSE_FROM_CACHE || message === RESPONSE_RECEIVED;\n\nconst isErrorLog = (message: string): message is 'request_failed' => message === REQUEST_FAILED;\n\nconst logMessages = {\n [REQUEST_FAILED]: 'REQUEST FAILED: There was a problem requesting resource',\n [REQUEST_SENT]: 'Request made for resource',\n [RESPONSE_FROM_CACHE]: 'CACHE HIT: Fetch cache has resource',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ apiKey, cache, headers = {}, logger, queryParams = {} }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n headers: {\n ...headers,\n authorization: `Authorization: Bearer ${apiKey}`,\n },\n log: (message, { context, stats }) => {\n const { args, fieldPath } = context as ExecutionContextValueData & {\n args?: Record<string, unknown>;\n fieldPath: string;\n };\n\n const resolveMessage = args && 'id' in args && !!args.id ? `${fieldPath} ${String(args.id)}` : fieldPath;\n\n if (isInfoLog(message)) {\n logger?.info(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n\n if (isErrorLog(message)) {\n logger?.error(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n },\n pathTemplateCallback,\n pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,\n performance,\n queryParams,\n rateLimitPerSecond: 30,\n },\n {\n authenticate: [AUTHENTICATE_PATH, { method: GET_METHOD }],\n certifications: [CERTIFICATIONS_PATH, { method: GET_METHOD }],\n collection: [COLLECTION_PATH, { method: GET_METHOD }],\n company: [COMPANY_PATH, { method: GET_METHOD }],\n configuration: [CONFIGURATION_PATH, { method: GET_METHOD }],\n credit: [CREDIT_PATH, { method: GET_METHOD }],\n discover: [DISCOVER_PATH, { method: GET_METHOD }],\n episode: [EPISODE_PATH, { method: GET_METHOD }],\n find: [FIND_PATH, { method: GET_METHOD }],\n genres: [GENRE_PATH, { method: GET_METHOD }],\n keyword: [KEYWORD_PATH, { method: GET_METHOD }],\n movie: [MOVIE_PATH, { method: GET_METHOD }],\n network: [NETWORK_PATH, { method: GET_METHOD }],\n person: [PERSON_PATH, { method: GET_METHOD }],\n popular: [POPULAR_PATH, { method: GET_METHOD }],\n rated: [RATED_PATH, { method: GET_METHOD }],\n review: [REVIEW_PATH, { method: GET_METHOD }],\n search: [SEARCH_PATH, { method: GET_METHOD }],\n season: [SEASON_PATH, { method: GET_METHOD }],\n trending: [TRENDING_PATH, { method: GET_METHOD }],\n tv: [TV_PATH, { method: GET_METHOD }],\n watchProviders: [WATCH_PROVIDER_PATH, { method: GET_METHOD }],\n }\n );\n"],"names":["BASE_PATH","GET_METHOD","OPTIONAL_TYPE_PATH_TEMPLATE_REGEX","AUTHENTICATE_PATH","CERTIFICATIONS_PATH","COLLECTION_PATH","COMPANY_PATH","CONFIGURATION_PATH","CREDIT_PATH","DISCOVER_PATH","EPISODE_PATH","FIND_PATH","GENRE_PATH","KEYWORD_PATH","MOVIE_PATH","NETWORK_PATH","PERSON_PATH","POPULAR_PATH","RATED_PATH","REVIEW_PATH","SEARCH_PATH","SEASON_PATH","TRENDING_PATH","TV_PATH","WATCH_PROVIDER_PATH","pathTemplateCallback","pathTemplate","data","pathTemplateRegExp","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","logMessages","REQUEST_FAILED","REQUEST_SENT","RESPONSE_FROM_CACHE","RESPONSE_RECEIVED","createRestClient","apiKey","cache","headers","logger","queryParams","create","basePath","fetchTimeout","undefined","authorization","log","message","context","stats","args","fieldPath","resolveMessage","id","String","isInfoLog","info","isErrorLog","error","performance","rateLimitPerSecond","authenticate","method","certifications","collection","company","configuration","credit","discover","episode","find","genres","keyword","movie","network","person","popular","rated","review","search","season","trending","tv","watchProviders"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../rest-client/src//constants.ts","../rest-client/src//helpers/pathTemplateCallback.ts","../rest-client/src//main.ts"],"sourcesContent":["export const BASE_PATH = 'https://api.themoviedb.org/3/';\n\nexport const GET_METHOD = 'get' as const;\nexport const POST_METHOD = 'post' as const;\nexport const PUT_METHOD = 'put' as const;\nexport const DELETE_METHOD = 'delete' as const;\n\nexport const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\\?})/g;\n\nexport const AUTHENTICATE_PATH = 'authentication/{type}/new';\nexport const CERTIFICATIONS_PATH = 'certification/{type}/list';\nexport const COLLECTION_PATH = 'collection/{id}/{type?}';\nexport const COMPANY_PATH = 'company/{id}/{type?}';\nexport const CONFIGURATION_PATH = 'configuration/{type?}';\nexport const CREDIT_PATH = 'credit/{id}';\nexport const DISCOVER_PATH = 'discover/{type}';\nexport const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';\nexport const FIND_PATH = 'find/{id}';\nexport const GENRE_PATH = 'genre/{type}/list';\nexport const KEYWORD_PATH = 'keyword/{id}';\nexport const MOVIE_PATH = 'movie/{id}/{type?}';\nexport const NETWORK_PATH = 'network/{id}/{type?}';\nexport const PERSON_PATH = 'person/{id}/{type?}';\nexport const POPULAR_PATH = '{type}/popular';\nexport const RATED_PATH = 'guest_session/{id}/rated/{type}';\nexport const REVIEW_PATH = 'review/{id}';\nexport const SEARCH_PATH = 'search/{type}';\nexport const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';\nexport const TRENDING_PATH = 'trending/{type}/{subType}';\nexport const TV_PATH = 'tv/{id}/{type?}';\nexport const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';\n","import { defaultPathTemplateCallback } from 'getta';\nimport { OPTIONAL_TYPE_PATH_TEMPLATE_REGEX } from '../constants.ts';\n\nexport const pathTemplateCallback = (\n pathTemplate: string,\n data: Record<string, string>,\n pathTemplateRegExp: RegExp\n) => {\n const populatedPath = defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);\n return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');\n};\n","import { type ExecutionContextValueData } from '@graphql-box/core';\nimport {\n REQUEST_FAILED,\n REQUEST_SENT,\n RESPONSE_FROM_CACHE,\n RESPONSE_RECEIVED,\n createRestClient as create,\n} from 'getta';\nimport { performance } from 'node:perf_hooks';\nimport {\n AUTHENTICATE_PATH,\n BASE_PATH,\n CERTIFICATIONS_PATH,\n COLLECTION_PATH,\n COMPANY_PATH,\n CONFIGURATION_PATH,\n CREDIT_PATH,\n DISCOVER_PATH,\n EPISODE_PATH,\n FIND_PATH,\n GENRE_PATH,\n GET_METHOD,\n KEYWORD_PATH,\n MOVIE_PATH,\n NETWORK_PATH,\n PERSON_PATH,\n POPULAR_PATH,\n RATED_PATH,\n REVIEW_PATH,\n SEARCH_PATH,\n SEASON_PATH,\n TRENDING_PATH,\n TV_PATH,\n WATCH_PROVIDER_PATH,\n} from './constants.ts';\nimport { pathTemplateCallback } from './helpers/pathTemplateCallback.ts';\nimport { type CreateRestClientParams, type ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nconst isInfoLog = (message: string): message is 'request_sent' | 'response_from_cache' | 'response_received' =>\n message === REQUEST_SENT || message === RESPONSE_FROM_CACHE || message === RESPONSE_RECEIVED;\n\nconst isErrorLog = (message: string): message is 'request_failed' => message === REQUEST_FAILED;\n\nconst logMessages = {\n [REQUEST_FAILED]: 'REQUEST FAILED: There was a problem requesting resource',\n [REQUEST_SENT]: 'Request made for resource',\n [RESPONSE_FROM_CACHE]: 'CACHE HIT: Fetch cache has resource',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ apiKey, cache, headers = {}, logger, queryParams = {} }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n headers: {\n ...headers,\n authorization: `Bearer ${apiKey}`,\n },\n log: (message, { context, stats }) => {\n const { args, fieldPath } = context as ExecutionContextValueData & {\n args?: Record<string, unknown>;\n fieldPath: string;\n };\n\n const resolveMessage = args && 'id' in args && !!args.id ? `${fieldPath} ${String(args.id)}` : fieldPath;\n\n if (isInfoLog(message)) {\n logger?.info(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n\n if (isErrorLog(message)) {\n logger?.error(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n },\n pathTemplateCallback,\n pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,\n performance,\n queryParams,\n rateLimitPerSecond: 30,\n },\n {\n authenticate: [AUTHENTICATE_PATH, { method: GET_METHOD }],\n certifications: [CERTIFICATIONS_PATH, { method: GET_METHOD }],\n collection: [COLLECTION_PATH, { method: GET_METHOD }],\n company: [COMPANY_PATH, { method: GET_METHOD }],\n configuration: [CONFIGURATION_PATH, { method: GET_METHOD }],\n credit: [CREDIT_PATH, { method: GET_METHOD }],\n discover: [DISCOVER_PATH, { method: GET_METHOD }],\n episode: [EPISODE_PATH, { method: GET_METHOD }],\n find: [FIND_PATH, { method: GET_METHOD }],\n genres: [GENRE_PATH, { method: GET_METHOD }],\n keyword: [KEYWORD_PATH, { method: GET_METHOD }],\n movie: [MOVIE_PATH, { method: GET_METHOD }],\n network: [NETWORK_PATH, { method: GET_METHOD }],\n person: [PERSON_PATH, { method: GET_METHOD }],\n popular: [POPULAR_PATH, { method: GET_METHOD }],\n rated: [RATED_PATH, { method: GET_METHOD }],\n review: [REVIEW_PATH, { method: GET_METHOD }],\n search: [SEARCH_PATH, { method: GET_METHOD }],\n season: [SEASON_PATH, { method: GET_METHOD }],\n trending: [TRENDING_PATH, { method: GET_METHOD }],\n tv: [TV_PATH, { method: GET_METHOD }],\n watchProviders: [WATCH_PROVIDER_PATH, { method: GET_METHOD }],\n }\n );\n"],"names":["BASE_PATH","GET_METHOD","OPTIONAL_TYPE_PATH_TEMPLATE_REGEX","AUTHENTICATE_PATH","CERTIFICATIONS_PATH","COLLECTION_PATH","COMPANY_PATH","CONFIGURATION_PATH","CREDIT_PATH","DISCOVER_PATH","EPISODE_PATH","FIND_PATH","GENRE_PATH","KEYWORD_PATH","MOVIE_PATH","NETWORK_PATH","PERSON_PATH","POPULAR_PATH","RATED_PATH","REVIEW_PATH","SEARCH_PATH","SEASON_PATH","TRENDING_PATH","TV_PATH","WATCH_PROVIDER_PATH","pathTemplateCallback","pathTemplate","data","pathTemplateRegExp","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","logMessages","REQUEST_FAILED","REQUEST_SENT","RESPONSE_FROM_CACHE","RESPONSE_RECEIVED","createRestClient","apiKey","cache","headers","logger","queryParams","create","basePath","fetchTimeout","undefined","authorization","log","message","context","stats","args","fieldPath","resolveMessage","id","String","isInfoLog","info","isErrorLog","error","performance","rateLimitPerSecond","authenticate","method","certifications","collection","company","configuration","credit","discover","episode","find","genres","keyword","movie","network","person","popular","rated","review","search","season","trending","tv","watchProviders"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defaultPathTemplateCallback as e,createRestClient as t,REQUEST_SENT as o,RESPONSE_FROM_CACHE as r,RESPONSE_RECEIVED as i,REQUEST_FAILED as d}from"getta";import{performance as s}from"node:perf_hooks";const a="https://api.themoviedb.org/3/",p="get",n="post",m="put",h="delete",c=/({type\?})/g,y="authentication/{type}/new",u="certification/{type}/list",l="collection/{id}/{type?}",g="company/{id}/{type?}",v="configuration/{type?}",f="credit/{id}",b="discover/{type}",w="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",T="find/{id}",E="genre/{type}/list",$="keyword/{id}",k="movie/{id}/{type?}",N="network/{id}/{type?}",P="person/{id}/{type?}",R="{type}/popular",q="guest_session/{id}/rated/{type}",C="review/{id}",x="search/{type}",A="tv/{id}/season/{number}/{type?}",S="trending/{type}/{subType}",_="tv/{id}/{type?}",z="{type}/{id}/watch/providers",D=(t,o,r)=>e(t,o,r).replace(c,o.type??""),{NODE_ENV:F}=process.env,H={[d]:"REQUEST FAILED: There was a problem requesting resource",[o]:"Request made for resource",[r]:"CACHE HIT: Fetch cache has resource",[i]:"Response received for resource"},I=({apiKey:e,cache:n,headers:m={},logger:h,queryParams:c={}})=>t({basePath:a,cache:n,fetchTimeout:"development"===F?999999:void 0,headers:{...m,authorization:`Authorization: Bearer ${e}`},log:(e,{context:t,stats:s})=>{const{args:a,fieldPath:p}=t,n=a&&"id"in a&&a.id?`${p} ${String(a.id)}`:p;(e=>e===o||e===r||e===i)(e)&&h?.info(`${H[e]} to resolve ${n}`,{...t,...s}),(e=>e===d)(e)&&h?.error(`${H[e]} to resolve ${n}`,{...t,...s})},pathTemplateCallback:D,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:s,queryParams:c,rateLimitPerSecond:30},{authenticate:[y,{method:p}],certifications:[u,{method:p}],collection:[l,{method:p}],company:[g,{method:p}],configuration:[v,{method:p}],credit:[f,{method:p}],discover:[b,{method:p}],episode:[w,{method:p}],find:[T,{method:p}],genres:[E,{method:p}],keyword:[$,{method:p}],movie:[k,{method:p}],network:[N,{method:p}],person:[P,{method:p}],popular:[R,{method:p}],rated:[q,{method:p}],review:[C,{method:p}],search:[x,{method:p}],season:[A,{method:p}],trending:[S,{method:p}],tv:[_,{method:p}],watchProviders:[z,{method:p}]});export{y as AUTHENTICATE_PATH,a as BASE_PATH,u as CERTIFICATIONS_PATH,l as COLLECTION_PATH,g as COMPANY_PATH,v as CONFIGURATION_PATH,f as CREDIT_PATH,h as DELETE_METHOD,b as DISCOVER_PATH,w as EPISODE_PATH,T as FIND_PATH,E as GENRE_PATH,p as GET_METHOD,$ as KEYWORD_PATH,k as MOVIE_PATH,N as NETWORK_PATH,c as OPTIONAL_TYPE_PATH_TEMPLATE_REGEX,P as PERSON_PATH,R as POPULAR_PATH,n as POST_METHOD,m as PUT_METHOD,q as RATED_PATH,C as REVIEW_PATH,x as SEARCH_PATH,A as SEASON_PATH,S as TRENDING_PATH,_ as TV_PATH,z as WATCH_PROVIDER_PATH,I as createRestClient};
1
+ import{defaultPathTemplateCallback as e,createRestClient as t,REQUEST_SENT as o,RESPONSE_FROM_CACHE as r,RESPONSE_RECEIVED as i,REQUEST_FAILED as d}from"getta";import{performance as s}from"node:perf_hooks";const a="https://api.themoviedb.org/3/",p="get",n="post",m="put",h="delete",c=/({type\?})/g,y="authentication/{type}/new",u="certification/{type}/list",l="collection/{id}/{type?}",g="company/{id}/{type?}",v="configuration/{type?}",f="credit/{id}",b="discover/{type}",w="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",T="find/{id}",E="genre/{type}/list",$="keyword/{id}",k="movie/{id}/{type?}",N="network/{id}/{type?}",P="person/{id}/{type?}",R="{type}/popular",q="guest_session/{id}/rated/{type}",C="review/{id}",x="search/{type}",S="tv/{id}/season/{number}/{type?}",_="trending/{type}/{subType}",A="tv/{id}/{type?}",D="{type}/{id}/watch/providers",F=(t,o,r)=>e(t,o,r).replace(c,o.type??""),{NODE_ENV:H}=process.env,I={[d]:"REQUEST FAILED: There was a problem requesting resource",[o]:"Request made for resource",[r]:"CACHE HIT: Fetch cache has resource",[i]:"Response received for resource"},L=({apiKey:e,cache:n,headers:m={},logger:h,queryParams:c={}})=>t({basePath:a,cache:n,fetchTimeout:"development"===H?999999:void 0,headers:{...m,authorization:`Bearer ${e}`},log:(e,{context:t,stats:s})=>{const{args:a,fieldPath:p}=t,n=a&&"id"in a&&a.id?`${p} ${String(a.id)}`:p;(e=>e===o||e===r||e===i)(e)&&h?.info(`${I[e]} to resolve ${n}`,{...t,...s}),(e=>e===d)(e)&&h?.error(`${I[e]} to resolve ${n}`,{...t,...s})},pathTemplateCallback:F,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:s,queryParams:c,rateLimitPerSecond:30},{authenticate:[y,{method:p}],certifications:[u,{method:p}],collection:[l,{method:p}],company:[g,{method:p}],configuration:[v,{method:p}],credit:[f,{method:p}],discover:[b,{method:p}],episode:[w,{method:p}],find:[T,{method:p}],genres:[E,{method:p}],keyword:[$,{method:p}],movie:[k,{method:p}],network:[N,{method:p}],person:[P,{method:p}],popular:[R,{method:p}],rated:[q,{method:p}],review:[C,{method:p}],search:[x,{method:p}],season:[S,{method:p}],trending:[_,{method:p}],tv:[A,{method:p}],watchProviders:[D,{method:p}]});export{y as AUTHENTICATE_PATH,a as BASE_PATH,u as CERTIFICATIONS_PATH,l as COLLECTION_PATH,g as COMPANY_PATH,v as CONFIGURATION_PATH,f as CREDIT_PATH,h as DELETE_METHOD,b as DISCOVER_PATH,w as EPISODE_PATH,T as FIND_PATH,E as GENRE_PATH,p as GET_METHOD,$ as KEYWORD_PATH,k as MOVIE_PATH,N as NETWORK_PATH,c as OPTIONAL_TYPE_PATH_TEMPLATE_REGEX,P as PERSON_PATH,R as POPULAR_PATH,n as POST_METHOD,m as PUT_METHOD,q as RATED_PATH,C as REVIEW_PATH,x as SEARCH_PATH,S as SEASON_PATH,_ as TRENDING_PATH,A as TV_PATH,D as WATCH_PROVIDER_PATH,L as createRestClient};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../rest-client/src//constants.ts","../rest-client/src//helpers/pathTemplateCallback.ts","../rest-client/src//main.ts"],"sourcesContent":["export const BASE_PATH = 'https://api.themoviedb.org/3/';\n\nexport const GET_METHOD = 'get' as const;\nexport const POST_METHOD = 'post' as const;\nexport const PUT_METHOD = 'put' as const;\nexport const DELETE_METHOD = 'delete' as const;\n\nexport const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\\?})/g;\n\nexport const AUTHENTICATE_PATH = 'authentication/{type}/new';\nexport const CERTIFICATIONS_PATH = 'certification/{type}/list';\nexport const COLLECTION_PATH = 'collection/{id}/{type?}';\nexport const COMPANY_PATH = 'company/{id}/{type?}';\nexport const CONFIGURATION_PATH = 'configuration/{type?}';\nexport const CREDIT_PATH = 'credit/{id}';\nexport const DISCOVER_PATH = 'discover/{type}';\nexport const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';\nexport const FIND_PATH = 'find/{id}';\nexport const GENRE_PATH = 'genre/{type}/list';\nexport const KEYWORD_PATH = 'keyword/{id}';\nexport const MOVIE_PATH = 'movie/{id}/{type?}';\nexport const NETWORK_PATH = 'network/{id}/{type?}';\nexport const PERSON_PATH = 'person/{id}/{type?}';\nexport const POPULAR_PATH = '{type}/popular';\nexport const RATED_PATH = 'guest_session/{id}/rated/{type}';\nexport const REVIEW_PATH = 'review/{id}';\nexport const SEARCH_PATH = 'search/{type}';\nexport const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';\nexport const TRENDING_PATH = 'trending/{type}/{subType}';\nexport const TV_PATH = 'tv/{id}/{type?}';\nexport const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';\n","import { defaultPathTemplateCallback } from 'getta';\nimport { OPTIONAL_TYPE_PATH_TEMPLATE_REGEX } from '../constants.ts';\n\nexport const pathTemplateCallback = (\n pathTemplate: string,\n data: Record<string, string>,\n pathTemplateRegExp: RegExp\n) => {\n const populatedPath = defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);\n return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');\n};\n","import { type ExecutionContextValueData } from '@graphql-box/core';\nimport {\n REQUEST_FAILED,\n REQUEST_SENT,\n RESPONSE_FROM_CACHE,\n RESPONSE_RECEIVED,\n createRestClient as create,\n} from 'getta';\nimport { performance } from 'node:perf_hooks';\nimport {\n AUTHENTICATE_PATH,\n BASE_PATH,\n CERTIFICATIONS_PATH,\n COLLECTION_PATH,\n COMPANY_PATH,\n CONFIGURATION_PATH,\n CREDIT_PATH,\n DISCOVER_PATH,\n EPISODE_PATH,\n FIND_PATH,\n GENRE_PATH,\n GET_METHOD,\n KEYWORD_PATH,\n MOVIE_PATH,\n NETWORK_PATH,\n PERSON_PATH,\n POPULAR_PATH,\n RATED_PATH,\n REVIEW_PATH,\n SEARCH_PATH,\n SEASON_PATH,\n TRENDING_PATH,\n TV_PATH,\n WATCH_PROVIDER_PATH,\n} from './constants.ts';\nimport { pathTemplateCallback } from './helpers/pathTemplateCallback.ts';\nimport { type CreateRestClientParams, type ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nconst isInfoLog = (message: string): message is 'request_sent' | 'response_from_cache' | 'response_received' =>\n message === REQUEST_SENT || message === RESPONSE_FROM_CACHE || message === RESPONSE_RECEIVED;\n\nconst isErrorLog = (message: string): message is 'request_failed' => message === REQUEST_FAILED;\n\nconst logMessages = {\n [REQUEST_FAILED]: 'REQUEST FAILED: There was a problem requesting resource',\n [REQUEST_SENT]: 'Request made for resource',\n [RESPONSE_FROM_CACHE]: 'CACHE HIT: Fetch cache has resource',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ apiKey, cache, headers = {}, logger, queryParams = {} }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n headers: {\n ...headers,\n authorization: `Authorization: Bearer ${apiKey}`,\n },\n log: (message, { context, stats }) => {\n const { args, fieldPath } = context as ExecutionContextValueData & {\n args?: Record<string, unknown>;\n fieldPath: string;\n };\n\n const resolveMessage = args && 'id' in args && !!args.id ? `${fieldPath} ${String(args.id)}` : fieldPath;\n\n if (isInfoLog(message)) {\n logger?.info(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n\n if (isErrorLog(message)) {\n logger?.error(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n },\n pathTemplateCallback,\n pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,\n performance,\n queryParams,\n rateLimitPerSecond: 30,\n },\n {\n authenticate: [AUTHENTICATE_PATH, { method: GET_METHOD }],\n certifications: [CERTIFICATIONS_PATH, { method: GET_METHOD }],\n collection: [COLLECTION_PATH, { method: GET_METHOD }],\n company: [COMPANY_PATH, { method: GET_METHOD }],\n configuration: [CONFIGURATION_PATH, { method: GET_METHOD }],\n credit: [CREDIT_PATH, { method: GET_METHOD }],\n discover: [DISCOVER_PATH, { method: GET_METHOD }],\n episode: [EPISODE_PATH, { method: GET_METHOD }],\n find: [FIND_PATH, { method: GET_METHOD }],\n genres: [GENRE_PATH, { method: GET_METHOD }],\n keyword: [KEYWORD_PATH, { method: GET_METHOD }],\n movie: [MOVIE_PATH, { method: GET_METHOD }],\n network: [NETWORK_PATH, { method: GET_METHOD }],\n person: [PERSON_PATH, { method: GET_METHOD }],\n popular: [POPULAR_PATH, { method: GET_METHOD }],\n rated: [RATED_PATH, { method: GET_METHOD }],\n review: [REVIEW_PATH, { method: GET_METHOD }],\n search: [SEARCH_PATH, { method: GET_METHOD }],\n season: [SEASON_PATH, { method: GET_METHOD }],\n trending: [TRENDING_PATH, { method: GET_METHOD }],\n tv: [TV_PATH, { method: GET_METHOD }],\n watchProviders: [WATCH_PROVIDER_PATH, { method: GET_METHOD }],\n }\n );\n"],"names":["BASE_PATH","GET_METHOD","POST_METHOD","PUT_METHOD","DELETE_METHOD","OPTIONAL_TYPE_PATH_TEMPLATE_REGEX","AUTHENTICATE_PATH","CERTIFICATIONS_PATH","COLLECTION_PATH","COMPANY_PATH","CONFIGURATION_PATH","CREDIT_PATH","DISCOVER_PATH","EPISODE_PATH","FIND_PATH","GENRE_PATH","KEYWORD_PATH","MOVIE_PATH","NETWORK_PATH","PERSON_PATH","POPULAR_PATH","RATED_PATH","REVIEW_PATH","SEARCH_PATH","SEASON_PATH","TRENDING_PATH","TV_PATH","WATCH_PROVIDER_PATH","pathTemplateCallback","pathTemplate","data","pathTemplateRegExp","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","logMessages","REQUEST_FAILED","REQUEST_SENT","RESPONSE_FROM_CACHE","RESPONSE_RECEIVED","createRestClient","apiKey","cache","headers","logger","queryParams","create","basePath","fetchTimeout","undefined","authorization","log","message","context","stats","args","fieldPath","resolveMessage","id","String","isInfoLog","info","isErrorLog","error","performance","rateLimitPerSecond","authenticate","method","certifications","collection","company","configuration","credit","discover","episode","find","genres","keyword","movie","network","person","popular","rated","review","search","season","trending","tv","watchProviders"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../rest-client/src//constants.ts","../rest-client/src//helpers/pathTemplateCallback.ts","../rest-client/src//main.ts"],"sourcesContent":["export const BASE_PATH = 'https://api.themoviedb.org/3/';\n\nexport const GET_METHOD = 'get' as const;\nexport const POST_METHOD = 'post' as const;\nexport const PUT_METHOD = 'put' as const;\nexport const DELETE_METHOD = 'delete' as const;\n\nexport const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\\?})/g;\n\nexport const AUTHENTICATE_PATH = 'authentication/{type}/new';\nexport const CERTIFICATIONS_PATH = 'certification/{type}/list';\nexport const COLLECTION_PATH = 'collection/{id}/{type?}';\nexport const COMPANY_PATH = 'company/{id}/{type?}';\nexport const CONFIGURATION_PATH = 'configuration/{type?}';\nexport const CREDIT_PATH = 'credit/{id}';\nexport const DISCOVER_PATH = 'discover/{type}';\nexport const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';\nexport const FIND_PATH = 'find/{id}';\nexport const GENRE_PATH = 'genre/{type}/list';\nexport const KEYWORD_PATH = 'keyword/{id}';\nexport const MOVIE_PATH = 'movie/{id}/{type?}';\nexport const NETWORK_PATH = 'network/{id}/{type?}';\nexport const PERSON_PATH = 'person/{id}/{type?}';\nexport const POPULAR_PATH = '{type}/popular';\nexport const RATED_PATH = 'guest_session/{id}/rated/{type}';\nexport const REVIEW_PATH = 'review/{id}';\nexport const SEARCH_PATH = 'search/{type}';\nexport const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';\nexport const TRENDING_PATH = 'trending/{type}/{subType}';\nexport const TV_PATH = 'tv/{id}/{type?}';\nexport const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';\n","import { defaultPathTemplateCallback } from 'getta';\nimport { OPTIONAL_TYPE_PATH_TEMPLATE_REGEX } from '../constants.ts';\n\nexport const pathTemplateCallback = (\n pathTemplate: string,\n data: Record<string, string>,\n pathTemplateRegExp: RegExp\n) => {\n const populatedPath = defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);\n return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');\n};\n","import { type ExecutionContextValueData } from '@graphql-box/core';\nimport {\n REQUEST_FAILED,\n REQUEST_SENT,\n RESPONSE_FROM_CACHE,\n RESPONSE_RECEIVED,\n createRestClient as create,\n} from 'getta';\nimport { performance } from 'node:perf_hooks';\nimport {\n AUTHENTICATE_PATH,\n BASE_PATH,\n CERTIFICATIONS_PATH,\n COLLECTION_PATH,\n COMPANY_PATH,\n CONFIGURATION_PATH,\n CREDIT_PATH,\n DISCOVER_PATH,\n EPISODE_PATH,\n FIND_PATH,\n GENRE_PATH,\n GET_METHOD,\n KEYWORD_PATH,\n MOVIE_PATH,\n NETWORK_PATH,\n PERSON_PATH,\n POPULAR_PATH,\n RATED_PATH,\n REVIEW_PATH,\n SEARCH_PATH,\n SEASON_PATH,\n TRENDING_PATH,\n TV_PATH,\n WATCH_PROVIDER_PATH,\n} from './constants.ts';\nimport { pathTemplateCallback } from './helpers/pathTemplateCallback.ts';\nimport { type CreateRestClientParams, type ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nconst isInfoLog = (message: string): message is 'request_sent' | 'response_from_cache' | 'response_received' =>\n message === REQUEST_SENT || message === RESPONSE_FROM_CACHE || message === RESPONSE_RECEIVED;\n\nconst isErrorLog = (message: string): message is 'request_failed' => message === REQUEST_FAILED;\n\nconst logMessages = {\n [REQUEST_FAILED]: 'REQUEST FAILED: There was a problem requesting resource',\n [REQUEST_SENT]: 'Request made for resource',\n [RESPONSE_FROM_CACHE]: 'CACHE HIT: Fetch cache has resource',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ apiKey, cache, headers = {}, logger, queryParams = {} }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n headers: {\n ...headers,\n authorization: `Bearer ${apiKey}`,\n },\n log: (message, { context, stats }) => {\n const { args, fieldPath } = context as ExecutionContextValueData & {\n args?: Record<string, unknown>;\n fieldPath: string;\n };\n\n const resolveMessage = args && 'id' in args && !!args.id ? `${fieldPath} ${String(args.id)}` : fieldPath;\n\n if (isInfoLog(message)) {\n logger?.info(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n\n if (isErrorLog(message)) {\n logger?.error(`${logMessages[message]} to resolve ${resolveMessage}`, { ...context, ...stats });\n }\n },\n pathTemplateCallback,\n pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,\n performance,\n queryParams,\n rateLimitPerSecond: 30,\n },\n {\n authenticate: [AUTHENTICATE_PATH, { method: GET_METHOD }],\n certifications: [CERTIFICATIONS_PATH, { method: GET_METHOD }],\n collection: [COLLECTION_PATH, { method: GET_METHOD }],\n company: [COMPANY_PATH, { method: GET_METHOD }],\n configuration: [CONFIGURATION_PATH, { method: GET_METHOD }],\n credit: [CREDIT_PATH, { method: GET_METHOD }],\n discover: [DISCOVER_PATH, { method: GET_METHOD }],\n episode: [EPISODE_PATH, { method: GET_METHOD }],\n find: [FIND_PATH, { method: GET_METHOD }],\n genres: [GENRE_PATH, { method: GET_METHOD }],\n keyword: [KEYWORD_PATH, { method: GET_METHOD }],\n movie: [MOVIE_PATH, { method: GET_METHOD }],\n network: [NETWORK_PATH, { method: GET_METHOD }],\n person: [PERSON_PATH, { method: GET_METHOD }],\n popular: [POPULAR_PATH, { method: GET_METHOD }],\n rated: [RATED_PATH, { method: GET_METHOD }],\n review: [REVIEW_PATH, { method: GET_METHOD }],\n search: [SEARCH_PATH, { method: GET_METHOD }],\n season: [SEASON_PATH, { method: GET_METHOD }],\n trending: [TRENDING_PATH, { method: GET_METHOD }],\n tv: [TV_PATH, { method: GET_METHOD }],\n watchProviders: [WATCH_PROVIDER_PATH, { method: GET_METHOD }],\n }\n );\n"],"names":["BASE_PATH","GET_METHOD","POST_METHOD","PUT_METHOD","DELETE_METHOD","OPTIONAL_TYPE_PATH_TEMPLATE_REGEX","AUTHENTICATE_PATH","CERTIFICATIONS_PATH","COLLECTION_PATH","COMPANY_PATH","CONFIGURATION_PATH","CREDIT_PATH","DISCOVER_PATH","EPISODE_PATH","FIND_PATH","GENRE_PATH","KEYWORD_PATH","MOVIE_PATH","NETWORK_PATH","PERSON_PATH","POPULAR_PATH","RATED_PATH","REVIEW_PATH","SEARCH_PATH","SEASON_PATH","TRENDING_PATH","TV_PATH","WATCH_PROVIDER_PATH","pathTemplateCallback","pathTemplate","data","pathTemplateRegExp","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","logMessages","REQUEST_FAILED","REQUEST_SENT","RESPONSE_FROM_CACHE","RESPONSE_RECEIVED","createRestClient","apiKey","cache","headers","logger","queryParams","create","basePath","fetchTimeout","undefined","authorization","log","message","context","stats","args","fieldPath","resolveMessage","id","String","isInfoLog","info","isErrorLog","error","performance","rateLimitPerSecond","authenticate","method","certifications","collection","company","configuration","credit","discover","episode","find","genres","keyword","movie","network","person","popular","rated","review","search","season","trending","tv","watchProviders"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  -----------------------------
2
2
  Rollup File Analysis
3
3
  -----------------------------
4
- bundle size: 4.298 KB
5
- original size: 5.924 KB
6
- code reduction: 27.45 %
4
+ bundle size: 4.37 KB
5
+ original size: 5.909 KB
6
+ code reduction: 26.05 %
7
7
  module count: 4
8
8
 
9
9
  ████████████████████████████████░░░░░░░░░░░░░░░░░░
10
10
  file: /src/main.ts
11
- bundle space: 65.17 %
12
- rendered size: 2.801 KB
13
- original size: 3.906 KB
14
- code reduction: 28.29 %
11
+ bundle space: 65.61 %
12
+ rendered size: 2.867 KB
13
+ original size: 3.891 KB
14
+ code reduction: 26.32 %
15
15
  dependents: 1
16
16
  - /src/index.ts
17
17
 
18
18
  ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19
19
  file: /src/constants.ts
20
- bundle space: 28.92 %
20
+ bundle space: 28.44 %
21
21
  rendered size: 1.243 KB
22
22
  original size: 1.479 KB
23
23
  code reduction: 15.96 %
@@ -28,10 +28,10 @@ dependents: 3
28
28
 
29
29
  ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
30
30
  file: /src/helpers/pathTemplateCallback.ts
31
- bundle space: 5.91 %
32
- rendered size: 254 Bytes
31
+ bundle space: 5.95 %
32
+ rendered size: 260 Bytes
33
33
  original size: 433 Bytes
34
- code reduction: 41.34 %
34
+ code reduction: 39.95 %
35
35
  dependents: 1
36
36
  - /src/main.ts
37
37