@tmdb-graphql-api/rest-client 0.0.11-unstable.1 → 0.0.11-unstable.2

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",E="certification/{type}/list",d="collection/{id}/{type?}",i="company/{id}/{type?}",T="configuration/{type?}",a="credit/{id}",c="discover/{type}",m="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",n="find/{id}",P="genre/{type}/list",_="keyword/{id}",A="movie/{id}/{type?}",h="network/{id}/{type?}",H="person/{id}/{type?}",R="{type}/popular",x="guest_session/{id}/rated/{type}",l="review/{id}",u="search/{type}",y="tv/{id}/season/{number}/{type?}",O="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: Resource resolved from fetch cache",[e.RESPONSE_RECEIVED]:"Response received for resource"};exports.AUTHENTICATE_PATH=p,exports.BASE_PATH=o,exports.CERTIFICATIONS_PATH=E,exports.COLLECTION_PATH=d,exports.COMPANY_PATH=i,exports.CONFIGURATION_PATH=T,exports.CREDIT_PATH=a,exports.DELETE_METHOD="delete",exports.DISCOVER_PATH=c,exports.EPISODE_PATH=m,exports.FIND_PATH=n,exports.GENRE_PATH=P,exports.GET_METHOD=r,exports.KEYWORD_PATH=_,exports.MOVIE_PATH=A,exports.NETWORK_PATH=h,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=l,exports.SEARCH_PATH=u,exports.SEASON_PATH=y,exports.TRENDING_PATH=O,exports.TV_PATH=N,exports.WATCH_PROVIDER_PATH=S,exports.createRestClient=({cache:s,logger:g,queryParams:D})=>e.createRestClient({basePath:o,cache:s,fetchTimeout:"development"===I?999999:void 0,log:(t,o,r)=>{(t=>t===e.REQUEST_SENT||t===e.RESPONSE_FROM_CACHE||t===e.RESPONSE_RECEIVED)(t)&&g?.info(v[t],{...o,logLevel:r}),(t=>t===e.REQUEST_FAILED)(t)&&g?.error(v[t],{...o,logLevel:r})},pathTemplateCallback:C,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:t.performance,queryParams:D,rateLimitPerSecond:30},{authenticate:[p,{method:r}],certifications:[E,{method:r}],collection:[d,{method:r}],company:[i,{method:r}],configuration:[T,{method:r}],credit:[a,{method:r}],discover:[c,{method:r}],episode:[m,{method:r}],find:[n,{method:r}],genres:[P,{method:r}],keyword:[_,{method:r}],movie:[A,{method:r}],network:[h,{method:r}],person:[H,{method:r}],popular:[R,{method:r}],rated:[x,{method:r}],review:[l,{method:r}],search:[u,{method:r}],season:[y,{method:r}],trending:[O,{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",E="certification/{type}/list",d="collection/{id}/{type?}",i="company/{id}/{type?}",T="configuration/{type?}",a="credit/{id}",c="discover/{type}",n="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",m="find/{id}",P="genre/{type}/list",_="keyword/{id}",A="movie/{id}/{type?}",h="network/{id}/{type?}",H="person/{id}/{type?}",R="{type}/popular",x="guest_session/{id}/rated/{type}",l="review/{id}",u="search/{type}",y="tv/{id}/season/{number}/{type?}",O="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: Resource resolved from fetch cache",[e.RESPONSE_RECEIVED]:"Response received for resource"};exports.AUTHENTICATE_PATH=p,exports.BASE_PATH=o,exports.CERTIFICATIONS_PATH=E,exports.COLLECTION_PATH=d,exports.COMPANY_PATH=i,exports.CONFIGURATION_PATH=T,exports.CREDIT_PATH=a,exports.DELETE_METHOD="delete",exports.DISCOVER_PATH=c,exports.EPISODE_PATH=n,exports.FIND_PATH=m,exports.GENRE_PATH=P,exports.GET_METHOD=r,exports.KEYWORD_PATH=_,exports.MOVIE_PATH=A,exports.NETWORK_PATH=h,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=l,exports.SEARCH_PATH=u,exports.SEASON_PATH=y,exports.TRENDING_PATH=O,exports.TV_PATH=N,exports.WATCH_PROVIDER_PATH=S,exports.createRestClient=({cache:s,logger:g,queryParams:D})=>e.createRestClient({basePath:o,cache:s,fetchTimeout:"development"===I?999999:void 0,log:(t,{context:o,stats:r},s)=>{(t=>t===e.REQUEST_SENT||t===e.RESPONSE_FROM_CACHE||t===e.RESPONSE_RECEIVED)(t)&&g?.info(v[t],{...o,...r,logLevel:s}),(t=>t===e.REQUEST_FAILED)(t)&&g?.error(v[t],{...o,...r,logLevel:s})},pathTemplateCallback:C,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:t.performance,queryParams:D,rateLimitPerSecond:30},{authenticate:[p,{method:r}],certifications:[E,{method:r}],collection:[d,{method:r}],company:[i,{method:r}],configuration:[T,{method:r}],credit:[a,{method:r}],discover:[c,{method:r}],episode:[n,{method:r}],find:[m,{method:r}],genres:[P,{method:r}],keyword:[_,{method:r}],movie:[A,{method:r}],network:[h,{method:r}],person:[H,{method:r}],popular:[R,{method:r}],rated:[x,{method:r}],review:[l,{method:r}],search:[u,{method:r}],season:[y,{method:r}],trending:[O,{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 {\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: Resource resolved from fetch cache',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ cache, logger, queryParams }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n log: (message, data, logLevel) => {\n if (isInfoLog(message)) {\n logger?.info(logMessages[message], { ...data, logLevel });\n }\n\n if (isErrorLog(message)) {\n logger?.error(logMessages[message], { ...data, logLevel });\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","cache","logger","queryParams","create","basePath","fetchTimeout","undefined","log","message","logLevel","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":"iEAAO,MAAMA,EAAY,gCAEZC,EAAa,MAKbC,EAAoC,cAEpCC,EAAoB,4BACpBC,EAAsB,4BACtBC,EAAkB,0BAClBC,EAAe,uBACfC,EAAqB,wBACrBC,EAAc,cACdC,EAAgB,kBAChBC,EAAe,gEACfC,EAAY,YACZC,EAAa,oBACbC,EAAe,eACfC,EAAa,qBACbC,EAAe,uBACfC,EAAc,sBACdC,EAAe,iBACfC,EAAa,kCACbC,EAAc,cACdC,EAAc,gBACdC,EAAc,kCACdC,EAAgB,4BAChBC,EAAU,kBACVC,EAAsB,8BC3BtBC,EAAuBA,CAClCC,EACAC,EACAC,IAEsBC,EAA2BA,4BAACH,EAAcC,EAAMC,GACjDE,QAAQ5B,EAAmCyB,EAAKI,MAAQ,KC4BzEC,SAAEA,GAAaC,QAAQC,IAOvBC,EAAc,CAClB,CAACC,EAAcA,gBAAG,0DAClB,CAACC,EAAYA,cAAG,4BAChB,CAACC,EAAmBA,qBAAG,gDACvB,CAACC,EAAiBA,mBAAG,0OF3CM,sSAFF,0BACD,8LE+CMC,EAAGC,QAAOC,SAAQC,iBAChDC,mBACE,CACEC,SAAU7C,EACVyC,QACAK,aAA2B,gBAAbd,EAA6B,YAAUe,EACrDC,IAAKA,CAACC,EAAStB,EAAMuB,KAlBRD,IACjBA,IAAYZ,EAAAA,cAAgBY,IAAYX,EAAmBA,qBAAIW,IAAYV,oBAkBjEY,CAAUF,IACZP,GAAQU,KAAKjB,EAAYc,GAAU,IAAKtB,EAAMuB,aAjBpCD,IAAiDA,IAAYb,iBAoBrEiB,CAAWJ,IACbP,GAAQY,MAAMnB,EAAYc,GAAU,IAAKtB,EAAMuB,YACjD,EAEFzB,uBACAG,mBAAoB,yFACpB2B,EAAWA,YACXZ,cACAa,mBAAoB,IAEtB,CACEC,aAAc,CAACtD,EAAmB,CAAEuD,OAAQzD,IAC5C0D,eAAgB,CAACvD,EAAqB,CAAEsD,OAAQzD,IAChD2D,WAAY,CAACvD,EAAiB,CAAEqD,OAAQzD,IACxC4D,QAAS,CAACvD,EAAc,CAAEoD,OAAQzD,IAClC6D,cAAe,CAACvD,EAAoB,CAAEmD,OAAQzD,IAC9C8D,OAAQ,CAACvD,EAAa,CAAEkD,OAAQzD,IAChC+D,SAAU,CAACvD,EAAe,CAAEiD,OAAQzD,IACpCgE,QAAS,CAACvD,EAAc,CAAEgD,OAAQzD,IAClCiE,KAAM,CAACvD,EAAW,CAAE+C,OAAQzD,IAC5BkE,OAAQ,CAACvD,EAAY,CAAE8C,OAAQzD,IAC/BmE,QAAS,CAACvD,EAAc,CAAE6C,OAAQzD,IAClCoE,MAAO,CAACvD,EAAY,CAAE4C,OAAQzD,IAC9BqE,QAAS,CAACvD,EAAc,CAAE2C,OAAQzD,IAClCsE,OAAQ,CAACvD,EAAa,CAAE0C,OAAQzD,IAChCuE,QAAS,CAACvD,EAAc,CAAEyC,OAAQzD,IAClCwE,MAAO,CAACvD,EAAY,CAAEwC,OAAQzD,IAC9ByE,OAAQ,CAACvD,EAAa,CAAEuC,OAAQzD,IAChC0E,OAAQ,CAACvD,EAAa,CAAEsC,OAAQzD,IAChC2E,OAAQ,CAACvD,EAAa,CAAEqC,OAAQzD,IAChC4E,SAAU,CAACvD,EAAe,CAAEoC,OAAQzD,IACpC6E,GAAI,CAACvD,EAAS,CAAEmC,OAAQzD,IACxB8E,eAAgB,CAACvD,EAAqB,CAAEkC,OAAQzD"}
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 {\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: Resource resolved from fetch cache',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ cache, logger, queryParams }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n log: (message, { context, stats }, logLevel) => {\n if (isInfoLog(message)) {\n logger?.info(logMessages[message], { ...context, ...stats, logLevel });\n }\n\n if (isErrorLog(message)) {\n logger?.error(logMessages[message], { ...context, ...stats, logLevel });\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","cache","logger","queryParams","create","basePath","fetchTimeout","undefined","log","message","context","stats","logLevel","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":"iEAAO,MAAMA,EAAY,gCAEZC,EAAa,MAKbC,EAAoC,cAEpCC,EAAoB,4BACpBC,EAAsB,4BACtBC,EAAkB,0BAClBC,EAAe,uBACfC,EAAqB,wBACrBC,EAAc,cACdC,EAAgB,kBAChBC,EAAe,gEACfC,EAAY,YACZC,EAAa,oBACbC,EAAe,eACfC,EAAa,qBACbC,EAAe,uBACfC,EAAc,sBACdC,EAAe,iBACfC,EAAa,kCACbC,EAAc,cACdC,EAAc,gBACdC,EAAc,kCACdC,EAAgB,4BAChBC,EAAU,kBACVC,EAAsB,8BC3BtBC,EAAuBA,CAClCC,EACAC,EACAC,IAEsBC,EAA2BA,4BAACH,EAAcC,EAAMC,GACjDE,QAAQ5B,EAAmCyB,EAAKI,MAAQ,KC4BzEC,SAAEA,GAAaC,QAAQC,IAOvBC,EAAc,CAClB,CAACC,EAAcA,gBAAG,0DAClB,CAACC,EAAYA,cAAG,4BAChB,CAACC,EAAmBA,qBAAG,gDACvB,CAACC,EAAiBA,mBAAG,0OF3CM,sSAFF,0BACD,8LE+CMC,EAAGC,QAAOC,SAAQC,iBAChDC,mBACE,CACEC,SAAU7C,EACVyC,QACAK,aAA2B,gBAAbd,EAA6B,YAAUe,EACrDC,IAAKA,CAACC,GAAWC,UAASC,SAASC,KAlBtBH,IACjBA,IAAYZ,EAAAA,cAAgBY,IAAYX,EAAmBA,qBAAIW,IAAYV,oBAkBjEc,CAAUJ,IACZP,GAAQY,KAAKnB,EAAYc,GAAU,IAAKC,KAAYC,EAAOC,aAjBjDH,IAAiDA,IAAYb,iBAoBrEmB,CAAWN,IACbP,GAAQc,MAAMrB,EAAYc,GAAU,IAAKC,KAAYC,EAAOC,YAC9D,EAEF3B,uBACAG,mBAAoB,yFACpB6B,EAAWA,YACXd,cACAe,mBAAoB,IAEtB,CACEC,aAAc,CAACxD,EAAmB,CAAEyD,OAAQ3D,IAC5C4D,eAAgB,CAACzD,EAAqB,CAAEwD,OAAQ3D,IAChD6D,WAAY,CAACzD,EAAiB,CAAEuD,OAAQ3D,IACxC8D,QAAS,CAACzD,EAAc,CAAEsD,OAAQ3D,IAClC+D,cAAe,CAACzD,EAAoB,CAAEqD,OAAQ3D,IAC9CgE,OAAQ,CAACzD,EAAa,CAAEoD,OAAQ3D,IAChCiE,SAAU,CAACzD,EAAe,CAAEmD,OAAQ3D,IACpCkE,QAAS,CAACzD,EAAc,CAAEkD,OAAQ3D,IAClCmE,KAAM,CAACzD,EAAW,CAAEiD,OAAQ3D,IAC5BoE,OAAQ,CAACzD,EAAY,CAAEgD,OAAQ3D,IAC/BqE,QAAS,CAACzD,EAAc,CAAE+C,OAAQ3D,IAClCsE,MAAO,CAACzD,EAAY,CAAE8C,OAAQ3D,IAC9BuE,QAAS,CAACzD,EAAc,CAAE6C,OAAQ3D,IAClCwE,OAAQ,CAACzD,EAAa,CAAE4C,OAAQ3D,IAChCyE,QAAS,CAACzD,EAAc,CAAE2C,OAAQ3D,IAClC0E,MAAO,CAACzD,EAAY,CAAE0C,OAAQ3D,IAC9B2E,OAAQ,CAACzD,EAAa,CAAEyC,OAAQ3D,IAChC4E,OAAQ,CAACzD,EAAa,CAAEwC,OAAQ3D,IAChC6E,OAAQ,CAACzD,EAAa,CAAEuC,OAAQ3D,IAChC8E,SAAU,CAACzD,EAAe,CAAEsC,OAAQ3D,IACpC+E,GAAI,CAACzD,EAAS,CAAEqC,OAAQ3D,IACxBgF,eAAgB,CAACzD,EAAqB,CAAEoC,OAAQ3D"}
@@ -1,2 +1,2 @@
1
- import{defaultPathTemplateCallback as e,createRestClient as t,REQUEST_SENT as o,RESPONSE_FROM_CACHE as r,RESPONSE_RECEIVED as d,REQUEST_FAILED as i}from"getta";import{performance as p}from"node:perf_hooks";const s="https://api.themoviedb.org/3/",a="get",m="post",n="put",c="delete",h=/({type\?})/g,y="authentication/{type}/new",u="certification/{type}/list",l="collection/{id}/{type?}",v="company/{id}/{type?}",g="configuration/{type?}",f="credit/{id}",b="discover/{type}",w="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",T="find/{id}",E="genre/{type}/list",k="keyword/{id}",N="movie/{id}/{type?}",R="network/{id}/{type?}",P="person/{id}/{type?}",q="{type}/popular",C="guest_session/{id}/rated/{type}",L="review/{id}",_="search/{type}",x="tv/{id}/season/{number}/{type?}",A="trending/{type}/{subType}",D="tv/{id}/{type?}",H="{type}/{id}/watch/providers",I=(t,o,r)=>e(t,o,r).replace(h,o.type??""),{NODE_ENV:S}=process.env,F={[i]:"REQUEST FAILED: There was a problem requesting resource",[o]:"Request made for resource",[r]:"CACHE HIT: Resource resolved from fetch cache",[d]:"Response received for resource"},O=({cache:e,logger:m,queryParams:n})=>t({basePath:s,cache:e,fetchTimeout:"development"===S?999999:void 0,log:(e,t,p)=>{(e=>e===o||e===r||e===d)(e)&&m?.info(F[e],{...t,logLevel:p}),(e=>e===i)(e)&&m?.error(F[e],{...t,logLevel:p})},pathTemplateCallback:I,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:p,queryParams:n,rateLimitPerSecond:30},{authenticate:[y,{method:a}],certifications:[u,{method:a}],collection:[l,{method:a}],company:[v,{method:a}],configuration:[g,{method:a}],credit:[f,{method:a}],discover:[b,{method:a}],episode:[w,{method:a}],find:[T,{method:a}],genres:[E,{method:a}],keyword:[k,{method:a}],movie:[N,{method:a}],network:[R,{method:a}],person:[P,{method:a}],popular:[q,{method:a}],rated:[C,{method:a}],review:[L,{method:a}],search:[_,{method:a}],season:[x,{method:a}],trending:[A,{method:a}],tv:[D,{method:a}],watchProviders:[H,{method:a}]});export{y as AUTHENTICATE_PATH,s as BASE_PATH,u as CERTIFICATIONS_PATH,l as COLLECTION_PATH,v as COMPANY_PATH,g as CONFIGURATION_PATH,f as CREDIT_PATH,c as DELETE_METHOD,b as DISCOVER_PATH,w as EPISODE_PATH,T as FIND_PATH,E as GENRE_PATH,a as GET_METHOD,k as KEYWORD_PATH,N as MOVIE_PATH,R as NETWORK_PATH,h as OPTIONAL_TYPE_PATH_TEMPLATE_REGEX,P as PERSON_PATH,q as POPULAR_PATH,m as POST_METHOD,n as PUT_METHOD,C as RATED_PATH,L as REVIEW_PATH,_ as SEARCH_PATH,x as SEASON_PATH,A as TRENDING_PATH,D as TV_PATH,H as WATCH_PROVIDER_PATH,O as createRestClient};
1
+ import{defaultPathTemplateCallback as e,createRestClient as t,REQUEST_SENT as o,RESPONSE_FROM_CACHE as r,RESPONSE_RECEIVED as d,REQUEST_FAILED as i}from"getta";import{performance as p}from"node:perf_hooks";const s="https://api.themoviedb.org/3/",a="get",m="post",n="put",c="delete",h=/({type\?})/g,y="authentication/{type}/new",u="certification/{type}/list",l="collection/{id}/{type?}",v="company/{id}/{type?}",g="configuration/{type?}",f="credit/{id}",b="discover/{type}",w="tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}",T="find/{id}",E="genre/{type}/list",k="keyword/{id}",N="movie/{id}/{type?}",R="network/{id}/{type?}",P="person/{id}/{type?}",q="{type}/popular",C="guest_session/{id}/rated/{type}",L="review/{id}",x="search/{type}",_="tv/{id}/season/{number}/{type?}",A="trending/{type}/{subType}",D="tv/{id}/{type?}",H="{type}/{id}/watch/providers",I=(t,o,r)=>e(t,o,r).replace(h,o.type??""),{NODE_ENV:S}=process.env,F={[i]:"REQUEST FAILED: There was a problem requesting resource",[o]:"Request made for resource",[r]:"CACHE HIT: Resource resolved from fetch cache",[d]:"Response received for resource"},O=({cache:e,logger:m,queryParams:n})=>t({basePath:s,cache:e,fetchTimeout:"development"===S?999999:void 0,log:(e,{context:t,stats:p},s)=>{(e=>e===o||e===r||e===d)(e)&&m?.info(F[e],{...t,...p,logLevel:s}),(e=>e===i)(e)&&m?.error(F[e],{...t,...p,logLevel:s})},pathTemplateCallback:I,pathTemplateRegExp:/({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,performance:p,queryParams:n,rateLimitPerSecond:30},{authenticate:[y,{method:a}],certifications:[u,{method:a}],collection:[l,{method:a}],company:[v,{method:a}],configuration:[g,{method:a}],credit:[f,{method:a}],discover:[b,{method:a}],episode:[w,{method:a}],find:[T,{method:a}],genres:[E,{method:a}],keyword:[k,{method:a}],movie:[N,{method:a}],network:[R,{method:a}],person:[P,{method:a}],popular:[q,{method:a}],rated:[C,{method:a}],review:[L,{method:a}],search:[x,{method:a}],season:[_,{method:a}],trending:[A,{method:a}],tv:[D,{method:a}],watchProviders:[H,{method:a}]});export{y as AUTHENTICATE_PATH,s as BASE_PATH,u as CERTIFICATIONS_PATH,l as COLLECTION_PATH,v as COMPANY_PATH,g as CONFIGURATION_PATH,f as CREDIT_PATH,c as DELETE_METHOD,b as DISCOVER_PATH,w as EPISODE_PATH,T as FIND_PATH,E as GENRE_PATH,a as GET_METHOD,k as KEYWORD_PATH,N as MOVIE_PATH,R as NETWORK_PATH,h as OPTIONAL_TYPE_PATH_TEMPLATE_REGEX,P as PERSON_PATH,q as POPULAR_PATH,m as POST_METHOD,n as PUT_METHOD,C as RATED_PATH,L as REVIEW_PATH,x as SEARCH_PATH,_ as SEASON_PATH,A as TRENDING_PATH,D as TV_PATH,H as WATCH_PROVIDER_PATH,O 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 {\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: Resource resolved from fetch cache',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ cache, logger, queryParams }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n log: (message, data, logLevel) => {\n if (isInfoLog(message)) {\n logger?.info(logMessages[message], { ...data, logLevel });\n }\n\n if (isErrorLog(message)) {\n logger?.error(logMessages[message], { ...data, logLevel });\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","cache","logger","queryParams","create","basePath","fetchTimeout","undefined","log","message","logLevel","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":"8MAAO,MAAMA,EAAY,gCAEZC,EAAa,MACbC,EAAc,OACdC,EAAa,MACbC,EAAgB,SAEhBC,EAAoC,cAEpCC,EAAoB,4BACpBC,EAAsB,4BACtBC,EAAkB,0BAClBC,EAAe,uBACfC,EAAqB,wBACrBC,EAAc,cACdC,EAAgB,kBAChBC,EAAe,gEACfC,EAAY,YACZC,EAAa,oBACbC,EAAe,eACfC,EAAa,qBACbC,EAAe,uBACfC,EAAc,sBACdC,EAAe,iBACfC,EAAa,kCACbC,EAAc,cACdC,EAAc,gBACdC,EAAc,kCACdC,EAAgB,4BAChBC,EAAU,kBACVC,EAAsB,8BC3BtBC,EAAuBA,CAClCC,EACAC,EACAC,IAEsBC,EAA4BH,EAAcC,EAAMC,GACjDE,QAAQ5B,EAAmCyB,EAAKI,MAAQ,KC4BzEC,SAAEA,GAAaC,QAAQC,IAOvBC,EAAc,CAClBC,CAACA,GAAiB,0DAClBC,CAACA,GAAe,4BAChBC,CAACA,GAAsB,gDACvBC,CAACA,GAAoB,kCAGVC,EAAmBA,EAAGC,QAAOC,SAAQC,iBAChDC,EACE,CACEC,SAAUhD,EACV4C,QACAK,aAA2B,gBAAbd,EAA6B,YAAUe,EACrDC,IAAKA,CAACC,EAAStB,EAAMuB,KAlBRD,IACjBA,IAAYZ,GAAgBY,IAAYX,GAAuBW,IAAYV,EAkBjEY,CAAUF,IACZP,GAAQU,KAAKjB,EAAYc,GAAU,IAAKtB,EAAMuB,aAjBpCD,IAAiDA,IAAYb,EAoBrEiB,CAAWJ,IACbP,GAAQY,MAAMnB,EAAYc,GAAU,IAAKtB,EAAMuB,YACjD,EAEFzB,uBACAG,mBAAoB,6EACpB2B,cACAZ,cACAa,mBAAoB,IAEtB,CACEC,aAAc,CAACtD,EAAmB,CAAEuD,OAAQ5D,IAC5C6D,eAAgB,CAACvD,EAAqB,CAAEsD,OAAQ5D,IAChD8D,WAAY,CAACvD,EAAiB,CAAEqD,OAAQ5D,IACxC+D,QAAS,CAACvD,EAAc,CAAEoD,OAAQ5D,IAClCgE,cAAe,CAACvD,EAAoB,CAAEmD,OAAQ5D,IAC9CiE,OAAQ,CAACvD,EAAa,CAAEkD,OAAQ5D,IAChCkE,SAAU,CAACvD,EAAe,CAAEiD,OAAQ5D,IACpCmE,QAAS,CAACvD,EAAc,CAAEgD,OAAQ5D,IAClCoE,KAAM,CAACvD,EAAW,CAAE+C,OAAQ5D,IAC5BqE,OAAQ,CAACvD,EAAY,CAAE8C,OAAQ5D,IAC/BsE,QAAS,CAACvD,EAAc,CAAE6C,OAAQ5D,IAClCuE,MAAO,CAACvD,EAAY,CAAE4C,OAAQ5D,IAC9BwE,QAAS,CAACvD,EAAc,CAAE2C,OAAQ5D,IAClCyE,OAAQ,CAACvD,EAAa,CAAE0C,OAAQ5D,IAChC0E,QAAS,CAACvD,EAAc,CAAEyC,OAAQ5D,IAClC2E,MAAO,CAACvD,EAAY,CAAEwC,OAAQ5D,IAC9B4E,OAAQ,CAACvD,EAAa,CAAEuC,OAAQ5D,IAChC6E,OAAQ,CAACvD,EAAa,CAAEsC,OAAQ5D,IAChC8E,OAAQ,CAACvD,EAAa,CAAEqC,OAAQ5D,IAChC+E,SAAU,CAACvD,EAAe,CAAEoC,OAAQ5D,IACpCgF,GAAI,CAACvD,EAAS,CAAEmC,OAAQ5D,IACxBiF,eAAgB,CAACvD,EAAqB,CAAEkC,OAAQ5D"}
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 {\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: Resource resolved from fetch cache',\n [RESPONSE_RECEIVED]: 'Response received for resource',\n};\n\nexport const createRestClient = ({ cache, logger, queryParams }: CreateRestClientParams) =>\n create<ShortcutMethodNames>(\n {\n basePath: BASE_PATH,\n cache,\n fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,\n log: (message, { context, stats }, logLevel) => {\n if (isInfoLog(message)) {\n logger?.info(logMessages[message], { ...context, ...stats, logLevel });\n }\n\n if (isErrorLog(message)) {\n logger?.error(logMessages[message], { ...context, ...stats, logLevel });\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","cache","logger","queryParams","create","basePath","fetchTimeout","undefined","log","message","context","stats","logLevel","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":"8MAAO,MAAMA,EAAY,gCAEZC,EAAa,MACbC,EAAc,OACdC,EAAa,MACbC,EAAgB,SAEhBC,EAAoC,cAEpCC,EAAoB,4BACpBC,EAAsB,4BACtBC,EAAkB,0BAClBC,EAAe,uBACfC,EAAqB,wBACrBC,EAAc,cACdC,EAAgB,kBAChBC,EAAe,gEACfC,EAAY,YACZC,EAAa,oBACbC,EAAe,eACfC,EAAa,qBACbC,EAAe,uBACfC,EAAc,sBACdC,EAAe,iBACfC,EAAa,kCACbC,EAAc,cACdC,EAAc,gBACdC,EAAc,kCACdC,EAAgB,4BAChBC,EAAU,kBACVC,EAAsB,8BC3BtBC,EAAuBA,CAClCC,EACAC,EACAC,IAEsBC,EAA4BH,EAAcC,EAAMC,GACjDE,QAAQ5B,EAAmCyB,EAAKI,MAAQ,KC4BzEC,SAAEA,GAAaC,QAAQC,IAOvBC,EAAc,CAClBC,CAACA,GAAiB,0DAClBC,CAACA,GAAe,4BAChBC,CAACA,GAAsB,gDACvBC,CAACA,GAAoB,kCAGVC,EAAmBA,EAAGC,QAAOC,SAAQC,iBAChDC,EACE,CACEC,SAAUhD,EACV4C,QACAK,aAA2B,gBAAbd,EAA6B,YAAUe,EACrDC,IAAKA,CAACC,GAAWC,UAASC,SAASC,KAlBtBH,IACjBA,IAAYZ,GAAgBY,IAAYX,GAAuBW,IAAYV,EAkBjEc,CAAUJ,IACZP,GAAQY,KAAKnB,EAAYc,GAAU,IAAKC,KAAYC,EAAOC,aAjBjDH,IAAiDA,IAAYb,EAoBrEmB,CAAWN,IACbP,GAAQc,MAAMrB,EAAYc,GAAU,IAAKC,KAAYC,EAAOC,YAC9D,EAEF3B,uBACAG,mBAAoB,6EACpB6B,cACAd,cACAe,mBAAoB,IAEtB,CACEC,aAAc,CAACxD,EAAmB,CAAEyD,OAAQ9D,IAC5C+D,eAAgB,CAACzD,EAAqB,CAAEwD,OAAQ9D,IAChDgE,WAAY,CAACzD,EAAiB,CAAEuD,OAAQ9D,IACxCiE,QAAS,CAACzD,EAAc,CAAEsD,OAAQ9D,IAClCkE,cAAe,CAACzD,EAAoB,CAAEqD,OAAQ9D,IAC9CmE,OAAQ,CAACzD,EAAa,CAAEoD,OAAQ9D,IAChCoE,SAAU,CAACzD,EAAe,CAAEmD,OAAQ9D,IACpCqE,QAAS,CAACzD,EAAc,CAAEkD,OAAQ9D,IAClCsE,KAAM,CAACzD,EAAW,CAAEiD,OAAQ9D,IAC5BuE,OAAQ,CAACzD,EAAY,CAAEgD,OAAQ9D,IAC/BwE,QAAS,CAACzD,EAAc,CAAE+C,OAAQ9D,IAClCyE,MAAO,CAACzD,EAAY,CAAE8C,OAAQ9D,IAC9B0E,QAAS,CAACzD,EAAc,CAAE6C,OAAQ9D,IAClC2E,OAAQ,CAACzD,EAAa,CAAE4C,OAAQ9D,IAChC4E,QAAS,CAACzD,EAAc,CAAE2C,OAAQ9D,IAClC6E,MAAO,CAACzD,EAAY,CAAE0C,OAAQ9D,IAC9B8E,OAAQ,CAACzD,EAAa,CAAEyC,OAAQ9D,IAChC+E,OAAQ,CAACzD,EAAa,CAAEwC,OAAQ9D,IAChCgF,OAAQ,CAACzD,EAAa,CAAEuC,OAAQ9D,IAChCiF,SAAU,CAACzD,EAAe,CAAEsC,OAAQ9D,IACpCkF,GAAI,CAACzD,EAAS,CAAEqC,OAAQ9D,IACxBmF,eAAgB,CAACzD,EAAqB,CAAEoC,OAAQ9D"}
@@ -1,23 +1,23 @@
1
1
  -----------------------------
2
2
  Rollup File Analysis
3
3
  -----------------------------
4
- bundle size: 3.935 KB
5
- original size: 5.382 KB
6
- code reduction: 26.89 %
4
+ bundle size: 4.001 KB
5
+ original size: 5.422 KB
6
+ code reduction: 26.21 %
7
7
  module count: 4
8
8
 
9
- ██████████████████████████████░░░░░░░░░░░░░░░░░░░░
9
+ ███████████████████████████████░░░░░░░░░░░░░░░░░░░
10
10
  file: /src/main.ts
11
- bundle space: 61.96 %
12
- rendered size: 2.438 KB
13
- original size: 3.364 KB
14
- code reduction: 27.53 %
11
+ bundle space: 62.58 %
12
+ rendered size: 2.504 KB
13
+ original size: 3.404 KB
14
+ code reduction: 26.44 %
15
15
  dependents: 1
16
16
  - /src/index.ts
17
17
 
18
18
  ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19
19
  file: /src/constants.ts
20
- bundle space: 31.59 %
20
+ bundle space: 31.07 %
21
21
  rendered size: 1.243 KB
22
22
  original size: 1.479 KB
23
23
  code reduction: 15.96 %
@@ -28,7 +28,7 @@ dependents: 3
28
28
 
29
29
  ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
30
30
  file: /src/helpers/pathTemplateCallback.ts
31
- bundle space: 6.45 %
31
+ bundle space: 6.35 %
32
32
  rendered size: 254 Bytes
33
33
  original size: 433 Bytes
34
34
  code reduction: 41.34 %