@tmdb-graphql-api/rest-client 0.0.6

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.
Files changed (37) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/index.cjs +162 -0
  4. package/dist/cjs/index.cjs.map +1 -0
  5. package/dist/esm/index.mjs +132 -0
  6. package/dist/esm/index.mjs.map +1 -0
  7. package/dist/types/cjs/constants.d.cts +29 -0
  8. package/dist/types/cjs/constants.d.cts.map +1 -0
  9. package/dist/types/cjs/helpers/pathTemplateCallback.d.cts +2 -0
  10. package/dist/types/cjs/helpers/pathTemplateCallback.d.cts.map +1 -0
  11. package/dist/types/cjs/index.d.cts +4 -0
  12. package/dist/types/cjs/index.d.cts.map +1 -0
  13. package/dist/types/cjs/main.d.cts +3 -0
  14. package/dist/types/cjs/main.d.cts.map +1 -0
  15. package/dist/types/cjs/types.d.cts +13 -0
  16. package/dist/types/cjs/types.d.cts.map +1 -0
  17. package/dist/types/esm/constants.d.ts +29 -0
  18. package/dist/types/esm/constants.d.ts.map +1 -0
  19. package/dist/types/esm/helpers/pathTemplateCallback.d.ts +2 -0
  20. package/dist/types/esm/helpers/pathTemplateCallback.d.ts.map +1 -0
  21. package/dist/types/esm/index.d.ts +4 -0
  22. package/dist/types/esm/index.d.ts.map +1 -0
  23. package/dist/types/esm/main.d.ts +3 -0
  24. package/dist/types/esm/main.d.ts.map +1 -0
  25. package/dist/types/esm/types.d.ts +13 -0
  26. package/dist/types/esm/types.d.ts.map +1 -0
  27. package/dist/types/tsconfig.build.tsbuildinfo +1 -0
  28. package/package.json +58 -0
  29. package/src/__snapshots__/main.test.ts.snap +57 -0
  30. package/src/constants.ts +31 -0
  31. package/src/helpers/pathTemplateCallback.ts +11 -0
  32. package/src/index.ts +3 -0
  33. package/src/main.test.ts +21 -0
  34. package/src/main.ts +78 -0
  35. package/src/types.ts +35 -0
  36. package/tsconfig.build.json +10 -0
  37. package/tsconfig.json +8 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 dylanaubrey
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # work in progress
@@ -0,0 +1,162 @@
1
+ 'use strict';
2
+
3
+ var core = require('@graphql-box/core');
4
+ var getta = require('getta');
5
+ var node_perf_hooks = require('node:perf_hooks');
6
+
7
+ const BASE_PATH = 'https://api.themoviedb.org/3/';
8
+ const GET_METHOD = 'get';
9
+ const POST_METHOD = 'post';
10
+ const PUT_METHOD = 'put';
11
+ const DELETE_METHOD = 'delete';
12
+ const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\?})/g;
13
+ const AUTHENTICATE_PATH = 'authentication/{type}/new';
14
+ const CERTIFICATIONS_PATH = 'certification/{type}/list';
15
+ const COLLECTION_PATH = 'collection/{id}/{type?}';
16
+ const COMPANY_PATH = 'company/{id}/{type?}';
17
+ const CONFIGURATION_PATH = 'configuration/{type?}';
18
+ const CREDIT_PATH = 'credit/{id}';
19
+ const DISCOVER_PATH = 'discover/{type}';
20
+ const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';
21
+ const FIND_PATH = 'find/{id}';
22
+ const GENRE_PATH = 'genre/{type}/list';
23
+ const KEYWORD_PATH = 'keyword/{id}';
24
+ const MOVIE_PATH = 'movie/{id}/{type?}';
25
+ const NETWORK_PATH = 'network/{id}/{type?}';
26
+ const PERSON_PATH = 'person/{id}/{type?}';
27
+ const POPULAR_PATH = '{type}/popular';
28
+ const RATED_PATH = 'guest_session/{id}/rated/{type}';
29
+ const REVIEW_PATH = 'review/{id}';
30
+ const SEARCH_PATH = 'search/{type}';
31
+ const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';
32
+ const TRENDING_PATH = 'trending/{type}/{subType}';
33
+ const TV_PATH = 'tv/{id}/{type?}';
34
+ const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';
35
+
36
+ const pathTemplateCallback = (pathTemplate, data, pathTemplateRegExp) => {
37
+ const populatedPath = getta.defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);
38
+ return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');
39
+ };
40
+
41
+ const {
42
+ NODE_ENV
43
+ } = process.env;
44
+ const createRestClient = ({
45
+ cache,
46
+ debugManager,
47
+ queryParams
48
+ }) => getta.createRestClient({
49
+ basePath: BASE_PATH,
50
+ cache,
51
+ fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,
52
+ log: (message, data, logLevel) => {
53
+ if (message === getta.REQUEST_SENT) {
54
+ debugManager?.log(core.RESOLVER_EXECUTED, data, logLevel);
55
+ } else if (message === getta.RESPONSE_RECEIVED) {
56
+ debugManager?.log(core.RESOLVER_RESOLVED, data, logLevel);
57
+ }
58
+ },
59
+ pathTemplateCallback,
60
+ pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,
61
+ performance: node_perf_hooks.performance,
62
+ queryParams,
63
+ rateLimitPerSecond: 30
64
+ }, {
65
+ authenticate: [AUTHENTICATE_PATH, {
66
+ method: GET_METHOD
67
+ }],
68
+ certifications: [CERTIFICATIONS_PATH, {
69
+ method: GET_METHOD
70
+ }],
71
+ collection: [COLLECTION_PATH, {
72
+ method: GET_METHOD
73
+ }],
74
+ company: [COMPANY_PATH, {
75
+ method: GET_METHOD
76
+ }],
77
+ configuration: [CONFIGURATION_PATH, {
78
+ method: GET_METHOD
79
+ }],
80
+ credit: [CREDIT_PATH, {
81
+ method: GET_METHOD
82
+ }],
83
+ discover: [DISCOVER_PATH, {
84
+ method: GET_METHOD
85
+ }],
86
+ episode: [EPISODE_PATH, {
87
+ method: GET_METHOD
88
+ }],
89
+ find: [FIND_PATH, {
90
+ method: GET_METHOD
91
+ }],
92
+ genres: [GENRE_PATH, {
93
+ method: GET_METHOD
94
+ }],
95
+ keyword: [KEYWORD_PATH, {
96
+ method: GET_METHOD
97
+ }],
98
+ movie: [MOVIE_PATH, {
99
+ method: GET_METHOD
100
+ }],
101
+ network: [NETWORK_PATH, {
102
+ method: GET_METHOD
103
+ }],
104
+ person: [PERSON_PATH, {
105
+ method: GET_METHOD
106
+ }],
107
+ popular: [POPULAR_PATH, {
108
+ method: GET_METHOD
109
+ }],
110
+ rated: [RATED_PATH, {
111
+ method: GET_METHOD
112
+ }],
113
+ review: [REVIEW_PATH, {
114
+ method: GET_METHOD
115
+ }],
116
+ search: [SEARCH_PATH, {
117
+ method: GET_METHOD
118
+ }],
119
+ season: [SEASON_PATH, {
120
+ method: GET_METHOD
121
+ }],
122
+ trending: [TRENDING_PATH, {
123
+ method: GET_METHOD
124
+ }],
125
+ tv: [TV_PATH, {
126
+ method: GET_METHOD
127
+ }],
128
+ watchProviders: [WATCH_PROVIDER_PATH, {
129
+ method: GET_METHOD
130
+ }]
131
+ });
132
+
133
+ exports.AUTHENTICATE_PATH = AUTHENTICATE_PATH;
134
+ exports.BASE_PATH = BASE_PATH;
135
+ exports.CERTIFICATIONS_PATH = CERTIFICATIONS_PATH;
136
+ exports.COLLECTION_PATH = COLLECTION_PATH;
137
+ exports.COMPANY_PATH = COMPANY_PATH;
138
+ exports.CONFIGURATION_PATH = CONFIGURATION_PATH;
139
+ exports.CREDIT_PATH = CREDIT_PATH;
140
+ exports.DELETE_METHOD = DELETE_METHOD;
141
+ exports.DISCOVER_PATH = DISCOVER_PATH;
142
+ exports.EPISODE_PATH = EPISODE_PATH;
143
+ exports.FIND_PATH = FIND_PATH;
144
+ exports.GENRE_PATH = GENRE_PATH;
145
+ exports.GET_METHOD = GET_METHOD;
146
+ exports.KEYWORD_PATH = KEYWORD_PATH;
147
+ exports.MOVIE_PATH = MOVIE_PATH;
148
+ exports.NETWORK_PATH = NETWORK_PATH;
149
+ exports.OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = OPTIONAL_TYPE_PATH_TEMPLATE_REGEX;
150
+ exports.PERSON_PATH = PERSON_PATH;
151
+ exports.POPULAR_PATH = POPULAR_PATH;
152
+ exports.POST_METHOD = POST_METHOD;
153
+ exports.PUT_METHOD = PUT_METHOD;
154
+ exports.RATED_PATH = RATED_PATH;
155
+ exports.REVIEW_PATH = REVIEW_PATH;
156
+ exports.SEARCH_PATH = SEARCH_PATH;
157
+ exports.SEASON_PATH = SEASON_PATH;
158
+ exports.TRENDING_PATH = TRENDING_PATH;
159
+ exports.TV_PATH = TV_PATH;
160
+ exports.WATCH_PROVIDER_PATH = WATCH_PROVIDER_PATH;
161
+ exports.createRestClient = createRestClient;
162
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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 { RESOLVER_EXECUTED, RESOLVER_RESOLVED } from '@graphql-box/core';\nimport { REQUEST_SENT, RESPONSE_RECEIVED, createRestClient as create } 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, ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nexport const createRestClient = ({ cache, debugManager, 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 (message === REQUEST_SENT) {\n debugManager?.log(RESOLVER_EXECUTED, data, logLevel);\n } else if (message === RESPONSE_RECEIVED) {\n debugManager?.log(RESOLVER_RESOLVED, 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","populatedPath","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","createRestClient","cache","debugManager","queryParams","create","basePath","fetchTimeout","undefined","log","message","logLevel","REQUEST_SENT","RESOLVER_EXECUTED","RESPONSE_RECEIVED","RESOLVER_RESOLVED","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":";;;;;;AAAO,MAAMA,SAAS,GAAG,gCAA+B;AAEjD,MAAMC,UAAU,GAAG,MAAc;AACjC,MAAMC,WAAW,GAAG,OAAe;AACnC,MAAMC,UAAU,GAAG,MAAc;AACjC,MAAMC,aAAa,GAAG,SAAiB;AAEvC,MAAMC,iCAAiC,GAAG,cAAa;AAEvD,MAAMC,iBAAiB,GAAG,4BAA2B;AACrD,MAAMC,mBAAmB,GAAG,4BAA2B;AACvD,MAAMC,eAAe,GAAG,0BAAyB;AACjD,MAAMC,YAAY,GAAG,uBAAsB;AAC3C,MAAMC,kBAAkB,GAAG,wBAAuB;AAClD,MAAMC,WAAW,GAAG,cAAa;AACjC,MAAMC,aAAa,GAAG,kBAAiB;AACvC,MAAMC,YAAY,GAAG,gEAA+D;AACpF,MAAMC,SAAS,GAAG,YAAW;AAC7B,MAAMC,UAAU,GAAG,oBAAmB;AACtC,MAAMC,YAAY,GAAG,eAAc;AACnC,MAAMC,UAAU,GAAG,qBAAoB;AACvC,MAAMC,YAAY,GAAG,uBAAsB;AAC3C,MAAMC,WAAW,GAAG,sBAAqB;AACzC,MAAMC,YAAY,GAAG,iBAAgB;AACrC,MAAMC,UAAU,GAAG,kCAAiC;AACpD,MAAMC,WAAW,GAAG,cAAa;AACjC,MAAMC,WAAW,GAAG,gBAAe;AACnC,MAAMC,WAAW,GAAG,kCAAiC;AACrD,MAAMC,aAAa,GAAG,4BAA2B;AACjD,MAAMC,OAAO,GAAG,kBAAiB;AACjC,MAAMC,mBAAmB,GAAG;;AC3B5B,MAAMC,oBAAoB,GAAGA,CAClCC,YAAoB,EACpBC,IAA4B,EAC5BC,kBAA0B,KACvB;EACH,MAAMC,aAAa,GAAGC,iCAA2B,CAACJ,YAAY,EAAEC,IAAI,EAAEC,kBAAkB,CAAC,CAAA;EACzF,OAAOC,aAAa,CAACE,OAAO,CAAC7B,iCAAiC,EAAEyB,IAAI,CAACK,IAAI,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC;;ACsBD,MAAM;AAAEC,EAAAA,QAAAA;AAAS,CAAC,GAAGC,OAAO,CAACC,GAAG,CAAA;AAEzB,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;AAAEC,EAAAA,WAAAA;AAAoC,CAAC,KAC3FC,sBAAM,CACJ;AACEC,EAAAA,QAAQ,EAAE5C,SAAS;EACnBwC,KAAK;AACLK,EAAAA,YAAY,EAAET,QAAQ,KAAK,aAAa,GAAG,OAAO,GAAGU,SAAS;AAC9DC,EAAAA,GAAG,EAAEA,CAACC,OAAO,EAAElB,IAAI,EAAEmB,QAAQ,KAAK;IAChC,IAAID,OAAO,KAAKE,kBAAY,EAAE;MAC5BT,YAAY,EAAEM,GAAG,CAACI,sBAAiB,EAAErB,IAAI,EAAEmB,QAAQ,CAAC,CAAA;AACtD,KAAC,MAAM,IAAID,OAAO,KAAKI,uBAAiB,EAAE;MACxCX,YAAY,EAAEM,GAAG,CAACM,sBAAiB,EAAEvB,IAAI,EAAEmB,QAAQ,CAAC,CAAA;AACtD,KAAA;GACD;EACDrB,oBAAoB;AACpBG,EAAAA,kBAAkB,EAAE,4EAA4E;eAChGuB,2BAAW;EACXZ,WAAW;AACXa,EAAAA,kBAAkB,EAAE,EAAA;AACtB,CAAC,EACD;EACEC,YAAY,EAAE,CAAClD,iBAAiB,EAAE;AAAEmD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACzDyD,cAAc,EAAE,CAACnD,mBAAmB,EAAE;AAAEkD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7D0D,UAAU,EAAE,CAACnD,eAAe,EAAE;AAAEiD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACrD2D,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEgD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/C4D,aAAa,EAAE,CAACnD,kBAAkB,EAAE;AAAE+C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3D6D,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAE8C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C8D,QAAQ,EAAE,CAACnD,aAAa,EAAE;AAAE6C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACjD+D,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAE4C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CgE,IAAI,EAAE,CAACnD,SAAS,EAAE;AAAE2C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACzCiE,MAAM,EAAE,CAACnD,UAAU,EAAE;AAAE0C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC5CkE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEyC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CmE,KAAK,EAAE,CAACnD,UAAU,EAAE;AAAEwC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3CoE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEuC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CqE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEsC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7CsE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEqC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CuE,KAAK,EAAE,CAACnD,UAAU,EAAE;AAAEoC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3CwE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEmC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7CyE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEkC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C0E,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEiC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C2E,QAAQ,EAAE,CAACnD,aAAa,EAAE;AAAEgC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACjD4E,EAAE,EAAE,CAACnD,OAAO,EAAE;AAAE+B,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACrC6E,cAAc,EAAE,CAACnD,mBAAmB,EAAE;AAAE8B,IAAAA,MAAM,EAAExD,UAAAA;GAAY,CAAA;AAC9D,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,132 @@
1
+ import { RESOLVER_EXECUTED, RESOLVER_RESOLVED } from '@graphql-box/core';
2
+ import { defaultPathTemplateCallback, createRestClient as createRestClient$1, REQUEST_SENT, RESPONSE_RECEIVED } from 'getta';
3
+ import { performance } from 'node:perf_hooks';
4
+
5
+ const BASE_PATH = 'https://api.themoviedb.org/3/';
6
+ const GET_METHOD = 'get';
7
+ const POST_METHOD = 'post';
8
+ const PUT_METHOD = 'put';
9
+ const DELETE_METHOD = 'delete';
10
+ const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX = /({type\?})/g;
11
+ const AUTHENTICATE_PATH = 'authentication/{type}/new';
12
+ const CERTIFICATIONS_PATH = 'certification/{type}/list';
13
+ const COLLECTION_PATH = 'collection/{id}/{type?}';
14
+ const COMPANY_PATH = 'company/{id}/{type?}';
15
+ const CONFIGURATION_PATH = 'configuration/{type?}';
16
+ const CREDIT_PATH = 'credit/{id}';
17
+ const DISCOVER_PATH = 'discover/{type}';
18
+ const EPISODE_PATH = 'tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}';
19
+ const FIND_PATH = 'find/{id}';
20
+ const GENRE_PATH = 'genre/{type}/list';
21
+ const KEYWORD_PATH = 'keyword/{id}';
22
+ const MOVIE_PATH = 'movie/{id}/{type?}';
23
+ const NETWORK_PATH = 'network/{id}/{type?}';
24
+ const PERSON_PATH = 'person/{id}/{type?}';
25
+ const POPULAR_PATH = '{type}/popular';
26
+ const RATED_PATH = 'guest_session/{id}/rated/{type}';
27
+ const REVIEW_PATH = 'review/{id}';
28
+ const SEARCH_PATH = 'search/{type}';
29
+ const SEASON_PATH = 'tv/{id}/season/{number}/{type?}';
30
+ const TRENDING_PATH = 'trending/{type}/{subType}';
31
+ const TV_PATH = 'tv/{id}/{type?}';
32
+ const WATCH_PROVIDER_PATH = '{type}/{id}/watch/providers';
33
+
34
+ const pathTemplateCallback = (pathTemplate, data, pathTemplateRegExp) => {
35
+ const populatedPath = defaultPathTemplateCallback(pathTemplate, data, pathTemplateRegExp);
36
+ return populatedPath.replace(OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, data.type ?? '');
37
+ };
38
+
39
+ const {
40
+ NODE_ENV
41
+ } = process.env;
42
+ const createRestClient = ({
43
+ cache,
44
+ debugManager,
45
+ queryParams
46
+ }) => createRestClient$1({
47
+ basePath: BASE_PATH,
48
+ cache,
49
+ fetchTimeout: NODE_ENV === 'development' ? 999_999 : undefined,
50
+ log: (message, data, logLevel) => {
51
+ if (message === REQUEST_SENT) {
52
+ debugManager?.log(RESOLVER_EXECUTED, data, logLevel);
53
+ } else if (message === RESPONSE_RECEIVED) {
54
+ debugManager?.log(RESOLVER_RESOLVED, data, logLevel);
55
+ }
56
+ },
57
+ pathTemplateCallback,
58
+ pathTemplateRegExp: /({type})|({subType})|({number})|({seasonNumber})|({episodeNumber})|({id})/g,
59
+ performance,
60
+ queryParams,
61
+ rateLimitPerSecond: 30
62
+ }, {
63
+ authenticate: [AUTHENTICATE_PATH, {
64
+ method: GET_METHOD
65
+ }],
66
+ certifications: [CERTIFICATIONS_PATH, {
67
+ method: GET_METHOD
68
+ }],
69
+ collection: [COLLECTION_PATH, {
70
+ method: GET_METHOD
71
+ }],
72
+ company: [COMPANY_PATH, {
73
+ method: GET_METHOD
74
+ }],
75
+ configuration: [CONFIGURATION_PATH, {
76
+ method: GET_METHOD
77
+ }],
78
+ credit: [CREDIT_PATH, {
79
+ method: GET_METHOD
80
+ }],
81
+ discover: [DISCOVER_PATH, {
82
+ method: GET_METHOD
83
+ }],
84
+ episode: [EPISODE_PATH, {
85
+ method: GET_METHOD
86
+ }],
87
+ find: [FIND_PATH, {
88
+ method: GET_METHOD
89
+ }],
90
+ genres: [GENRE_PATH, {
91
+ method: GET_METHOD
92
+ }],
93
+ keyword: [KEYWORD_PATH, {
94
+ method: GET_METHOD
95
+ }],
96
+ movie: [MOVIE_PATH, {
97
+ method: GET_METHOD
98
+ }],
99
+ network: [NETWORK_PATH, {
100
+ method: GET_METHOD
101
+ }],
102
+ person: [PERSON_PATH, {
103
+ method: GET_METHOD
104
+ }],
105
+ popular: [POPULAR_PATH, {
106
+ method: GET_METHOD
107
+ }],
108
+ rated: [RATED_PATH, {
109
+ method: GET_METHOD
110
+ }],
111
+ review: [REVIEW_PATH, {
112
+ method: GET_METHOD
113
+ }],
114
+ search: [SEARCH_PATH, {
115
+ method: GET_METHOD
116
+ }],
117
+ season: [SEASON_PATH, {
118
+ method: GET_METHOD
119
+ }],
120
+ trending: [TRENDING_PATH, {
121
+ method: GET_METHOD
122
+ }],
123
+ tv: [TV_PATH, {
124
+ method: GET_METHOD
125
+ }],
126
+ watchProviders: [WATCH_PROVIDER_PATH, {
127
+ method: GET_METHOD
128
+ }]
129
+ });
130
+
131
+ export { AUTHENTICATE_PATH, BASE_PATH, CERTIFICATIONS_PATH, COLLECTION_PATH, COMPANY_PATH, CONFIGURATION_PATH, CREDIT_PATH, DELETE_METHOD, DISCOVER_PATH, EPISODE_PATH, FIND_PATH, GENRE_PATH, GET_METHOD, KEYWORD_PATH, MOVIE_PATH, NETWORK_PATH, OPTIONAL_TYPE_PATH_TEMPLATE_REGEX, PERSON_PATH, POPULAR_PATH, POST_METHOD, PUT_METHOD, RATED_PATH, REVIEW_PATH, SEARCH_PATH, SEASON_PATH, TRENDING_PATH, TV_PATH, WATCH_PROVIDER_PATH, createRestClient };
132
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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 { RESOLVER_EXECUTED, RESOLVER_RESOLVED } from '@graphql-box/core';\nimport { REQUEST_SENT, RESPONSE_RECEIVED, createRestClient as create } 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, ShortcutMethodNames } from './types.ts';\n\nconst { NODE_ENV } = process.env;\n\nexport const createRestClient = ({ cache, debugManager, 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 (message === REQUEST_SENT) {\n debugManager?.log(RESOLVER_EXECUTED, data, logLevel);\n } else if (message === RESPONSE_RECEIVED) {\n debugManager?.log(RESOLVER_RESOLVED, 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","populatedPath","defaultPathTemplateCallback","replace","type","NODE_ENV","process","env","createRestClient","cache","debugManager","queryParams","create","basePath","fetchTimeout","undefined","log","message","logLevel","REQUEST_SENT","RESOLVER_EXECUTED","RESPONSE_RECEIVED","RESOLVER_RESOLVED","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":";;;;AAAO,MAAMA,SAAS,GAAG,gCAA+B;AAEjD,MAAMC,UAAU,GAAG,MAAc;AACjC,MAAMC,WAAW,GAAG,OAAe;AACnC,MAAMC,UAAU,GAAG,MAAc;AACjC,MAAMC,aAAa,GAAG,SAAiB;AAEvC,MAAMC,iCAAiC,GAAG,cAAa;AAEvD,MAAMC,iBAAiB,GAAG,4BAA2B;AACrD,MAAMC,mBAAmB,GAAG,4BAA2B;AACvD,MAAMC,eAAe,GAAG,0BAAyB;AACjD,MAAMC,YAAY,GAAG,uBAAsB;AAC3C,MAAMC,kBAAkB,GAAG,wBAAuB;AAClD,MAAMC,WAAW,GAAG,cAAa;AACjC,MAAMC,aAAa,GAAG,kBAAiB;AACvC,MAAMC,YAAY,GAAG,gEAA+D;AACpF,MAAMC,SAAS,GAAG,YAAW;AAC7B,MAAMC,UAAU,GAAG,oBAAmB;AACtC,MAAMC,YAAY,GAAG,eAAc;AACnC,MAAMC,UAAU,GAAG,qBAAoB;AACvC,MAAMC,YAAY,GAAG,uBAAsB;AAC3C,MAAMC,WAAW,GAAG,sBAAqB;AACzC,MAAMC,YAAY,GAAG,iBAAgB;AACrC,MAAMC,UAAU,GAAG,kCAAiC;AACpD,MAAMC,WAAW,GAAG,cAAa;AACjC,MAAMC,WAAW,GAAG,gBAAe;AACnC,MAAMC,WAAW,GAAG,kCAAiC;AACrD,MAAMC,aAAa,GAAG,4BAA2B;AACjD,MAAMC,OAAO,GAAG,kBAAiB;AACjC,MAAMC,mBAAmB,GAAG;;AC3B5B,MAAMC,oBAAoB,GAAGA,CAClCC,YAAoB,EACpBC,IAA4B,EAC5BC,kBAA0B,KACvB;EACH,MAAMC,aAAa,GAAGC,2BAA2B,CAACJ,YAAY,EAAEC,IAAI,EAAEC,kBAAkB,CAAC,CAAA;EACzF,OAAOC,aAAa,CAACE,OAAO,CAAC7B,iCAAiC,EAAEyB,IAAI,CAACK,IAAI,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC;;ACsBD,MAAM;AAAEC,EAAAA,QAAAA;AAAS,CAAC,GAAGC,OAAO,CAACC,GAAG,CAAA;AAEzB,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;AAAEC,EAAAA,WAAAA;AAAoC,CAAC,KAC3FC,kBAAM,CACJ;AACEC,EAAAA,QAAQ,EAAE5C,SAAS;EACnBwC,KAAK;AACLK,EAAAA,YAAY,EAAET,QAAQ,KAAK,aAAa,GAAG,OAAO,GAAGU,SAAS;AAC9DC,EAAAA,GAAG,EAAEA,CAACC,OAAO,EAAElB,IAAI,EAAEmB,QAAQ,KAAK;IAChC,IAAID,OAAO,KAAKE,YAAY,EAAE;MAC5BT,YAAY,EAAEM,GAAG,CAACI,iBAAiB,EAAErB,IAAI,EAAEmB,QAAQ,CAAC,CAAA;AACtD,KAAC,MAAM,IAAID,OAAO,KAAKI,iBAAiB,EAAE;MACxCX,YAAY,EAAEM,GAAG,CAACM,iBAAiB,EAAEvB,IAAI,EAAEmB,QAAQ,CAAC,CAAA;AACtD,KAAA;GACD;EACDrB,oBAAoB;AACpBG,EAAAA,kBAAkB,EAAE,4EAA4E;EAChGuB,WAAW;EACXZ,WAAW;AACXa,EAAAA,kBAAkB,EAAE,EAAA;AACtB,CAAC,EACD;EACEC,YAAY,EAAE,CAAClD,iBAAiB,EAAE;AAAEmD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACzDyD,cAAc,EAAE,CAACnD,mBAAmB,EAAE;AAAEkD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7D0D,UAAU,EAAE,CAACnD,eAAe,EAAE;AAAEiD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACrD2D,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEgD,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/C4D,aAAa,EAAE,CAACnD,kBAAkB,EAAE;AAAE+C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3D6D,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAE8C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C8D,QAAQ,EAAE,CAACnD,aAAa,EAAE;AAAE6C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACjD+D,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAE4C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CgE,IAAI,EAAE,CAACnD,SAAS,EAAE;AAAE2C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACzCiE,MAAM,EAAE,CAACnD,UAAU,EAAE;AAAE0C,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC5CkE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEyC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CmE,KAAK,EAAE,CAACnD,UAAU,EAAE;AAAEwC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3CoE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEuC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CqE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEsC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7CsE,OAAO,EAAE,CAACnD,YAAY,EAAE;AAAEqC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC/CuE,KAAK,EAAE,CAACnD,UAAU,EAAE;AAAEoC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC3CwE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEmC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7CyE,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEkC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C0E,MAAM,EAAE,CAACnD,WAAW,EAAE;AAAEiC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EAC7C2E,QAAQ,EAAE,CAACnD,aAAa,EAAE;AAAEgC,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACjD4E,EAAE,EAAE,CAACnD,OAAO,EAAE;AAAE+B,IAAAA,MAAM,EAAExD,UAAAA;AAAW,GAAC,CAAC;EACrC6E,cAAc,EAAE,CAACnD,mBAAmB,EAAE;AAAE8B,IAAAA,MAAM,EAAExD,UAAAA;GAAY,CAAA;AAC9D,CACF;;;;"}
@@ -0,0 +1,29 @@
1
+ export declare const BASE_PATH = "https://api.themoviedb.org/3/";
2
+ export declare const GET_METHOD: "get";
3
+ export declare const POST_METHOD: "post";
4
+ export declare const PUT_METHOD: "put";
5
+ export declare const DELETE_METHOD: "delete";
6
+ export declare const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX: RegExp;
7
+ export declare const AUTHENTICATE_PATH = "authentication/{type}/new";
8
+ export declare const CERTIFICATIONS_PATH = "certification/{type}/list";
9
+ export declare const COLLECTION_PATH = "collection/{id}/{type?}";
10
+ export declare const COMPANY_PATH = "company/{id}/{type?}";
11
+ export declare const CONFIGURATION_PATH = "configuration/{type?}";
12
+ export declare const CREDIT_PATH = "credit/{id}";
13
+ export declare const DISCOVER_PATH = "discover/{type}";
14
+ export declare const EPISODE_PATH = "tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}";
15
+ export declare const FIND_PATH = "find/{id}";
16
+ export declare const GENRE_PATH = "genre/{type}/list";
17
+ export declare const KEYWORD_PATH = "keyword/{id}";
18
+ export declare const MOVIE_PATH = "movie/{id}/{type?}";
19
+ export declare const NETWORK_PATH = "network/{id}/{type?}";
20
+ export declare const PERSON_PATH = "person/{id}/{type?}";
21
+ export declare const POPULAR_PATH = "{type}/popular";
22
+ export declare const RATED_PATH = "guest_session/{id}/rated/{type}";
23
+ export declare const REVIEW_PATH = "review/{id}";
24
+ export declare const SEARCH_PATH = "search/{type}";
25
+ export declare const SEASON_PATH = "tv/{id}/season/{number}/{type?}";
26
+ export declare const TRENDING_PATH = "trending/{type}/{subType}";
27
+ export declare const TV_PATH = "tv/{id}/{type?}";
28
+ export declare const WATCH_PROVIDER_PATH = "{type}/{id}/watch/providers";
29
+ //# sourceMappingURL=constants.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../../src/constants.cts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,eAAO,MAAM,UAAU,OAAiB,CAAC;AACzC,eAAO,MAAM,WAAW,QAAkB,CAAC;AAC3C,eAAO,MAAM,UAAU,OAAiB,CAAC;AACzC,eAAO,MAAM,aAAa,UAAoB,CAAC;AAE/C,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAC1D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAC/C,eAAO,MAAM,YAAY,kEAAkE,CAAC;AAC5F,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,UAAU,sBAAsB,CAAC;AAC9C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,UAAU,oCAAoC,CAAC;AAC5D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,WAAW,oCAAoC,CAAC;AAC7D,eAAO,MAAM,aAAa,8BAA8B,CAAC;AACzD,eAAO,MAAM,OAAO,oBAAoB,CAAC;AACzC,eAAO,MAAM,mBAAmB,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const pathTemplateCallback: (pathTemplate: string, data: Record<string, string>, pathTemplateRegExp: RegExp) => string;
2
+ //# sourceMappingURL=pathTemplateCallback.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathTemplateCallback.d.cts","sourceRoot":"","sources":["../../../../src/helpers/pathTemplateCallback.cts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,iBACjB,MAAM,QACd,OAAO,MAAM,EAAE,MAAM,CAAC,sBACR,MAAM,WAI3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './constants.cts';
2
+ export { createRestClient } from './main.cts';
3
+ export * from './types.cts';
4
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/index.cts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CreateRestClientParams, ShortcutMethodNames } from './types.cts';
2
+ export declare const createRestClient: ({ cache, debugManager, queryParams }: CreateRestClientParams) => import("getta").Getta & import("getta").ShortcutProperties<ShortcutMethodNames>;
3
+ //# sourceMappingURL=main.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.cts","sourceRoot":"","sources":["../../../src/main.cts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAI9E,eAAO,MAAM,gBAAgB,yCAA0C,sBAAsB,oFA2C1F,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Core } from '@cachemap/core';
2
+ import type { DebugManagerDef } from '@graphql-box/core';
3
+ import type { JsonObject } from 'type-fest';
4
+ export type ShortcutMethodNames = 'authenticate' | 'certifications' | 'collection' | 'company' | 'configuration' | 'credit' | 'discover' | 'episode' | 'find' | 'genres' | 'keyword' | 'latest' | 'movie' | 'network' | 'person' | 'popular' | 'rated' | 'review' | 'search' | 'season' | 'trending' | 'tv' | 'watchProviders';
5
+ export interface CreateRestClientParams {
6
+ cache?: Core;
7
+ debugManager?: DebugManagerDef;
8
+ queryParams: JsonObject & {
9
+ api_key: string;
10
+ language?: string;
11
+ };
12
+ }
13
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../../src/types.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,SAAS,GACT,eAAe,GACf,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,IAAI,GACJ,gBAAgB,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,WAAW,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE"}
@@ -0,0 +1,29 @@
1
+ export declare const BASE_PATH = "https://api.themoviedb.org/3/";
2
+ export declare const GET_METHOD: "get";
3
+ export declare const POST_METHOD: "post";
4
+ export declare const PUT_METHOD: "put";
5
+ export declare const DELETE_METHOD: "delete";
6
+ export declare const OPTIONAL_TYPE_PATH_TEMPLATE_REGEX: RegExp;
7
+ export declare const AUTHENTICATE_PATH = "authentication/{type}/new";
8
+ export declare const CERTIFICATIONS_PATH = "certification/{type}/list";
9
+ export declare const COLLECTION_PATH = "collection/{id}/{type?}";
10
+ export declare const COMPANY_PATH = "company/{id}/{type?}";
11
+ export declare const CONFIGURATION_PATH = "configuration/{type?}";
12
+ export declare const CREDIT_PATH = "credit/{id}";
13
+ export declare const DISCOVER_PATH = "discover/{type}";
14
+ export declare const EPISODE_PATH = "tv/{id}/season/{seasonNumber}/episode/{episodeNumber}/{type?}";
15
+ export declare const FIND_PATH = "find/{id}";
16
+ export declare const GENRE_PATH = "genre/{type}/list";
17
+ export declare const KEYWORD_PATH = "keyword/{id}";
18
+ export declare const MOVIE_PATH = "movie/{id}/{type?}";
19
+ export declare const NETWORK_PATH = "network/{id}/{type?}";
20
+ export declare const PERSON_PATH = "person/{id}/{type?}";
21
+ export declare const POPULAR_PATH = "{type}/popular";
22
+ export declare const RATED_PATH = "guest_session/{id}/rated/{type}";
23
+ export declare const REVIEW_PATH = "review/{id}";
24
+ export declare const SEARCH_PATH = "search/{type}";
25
+ export declare const SEASON_PATH = "tv/{id}/season/{number}/{type?}";
26
+ export declare const TRENDING_PATH = "trending/{type}/{subType}";
27
+ export declare const TV_PATH = "tv/{id}/{type?}";
28
+ export declare const WATCH_PROVIDER_PATH = "{type}/{id}/watch/providers";
29
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,eAAO,MAAM,UAAU,OAAiB,CAAC;AACzC,eAAO,MAAM,WAAW,QAAkB,CAAC;AAC3C,eAAO,MAAM,UAAU,OAAiB,CAAC;AACzC,eAAO,MAAM,aAAa,UAAoB,CAAC;AAE/C,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAC1D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAC/C,eAAO,MAAM,YAAY,kEAAkE,CAAC;AAC5F,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,UAAU,sBAAsB,CAAC;AAC9C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,YAAY,yBAAyB,CAAC;AACnD,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,UAAU,oCAAoC,CAAC;AAC5D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,WAAW,oCAAoC,CAAC;AAC7D,eAAO,MAAM,aAAa,8BAA8B,CAAC;AACzD,eAAO,MAAM,OAAO,oBAAoB,CAAC;AACzC,eAAO,MAAM,mBAAmB,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const pathTemplateCallback: (pathTemplate: string, data: Record<string, string>, pathTemplateRegExp: RegExp) => string;
2
+ //# sourceMappingURL=pathTemplateCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathTemplateCallback.d.ts","sourceRoot":"","sources":["../../../../src/helpers/pathTemplateCallback.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,iBACjB,MAAM,QACd,OAAO,MAAM,EAAE,MAAM,CAAC,sBACR,MAAM,WAI3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './constants.ts';
2
+ export { createRestClient } from './main.ts';
3
+ export * from './types.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CreateRestClientParams, ShortcutMethodNames } from './types.ts';
2
+ export declare const createRestClient: ({ cache, debugManager, queryParams }: CreateRestClientParams) => import("getta").Getta & import("getta").ShortcutProperties<ShortcutMethodNames>;
3
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAI9E,eAAO,MAAM,gBAAgB,yCAA0C,sBAAsB,oFA2C1F,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Core } from '@cachemap/core';
2
+ import type { DebugManagerDef } from '@graphql-box/core';
3
+ import type { JsonObject } from 'type-fest';
4
+ export type ShortcutMethodNames = 'authenticate' | 'certifications' | 'collection' | 'company' | 'configuration' | 'credit' | 'discover' | 'episode' | 'find' | 'genres' | 'keyword' | 'latest' | 'movie' | 'network' | 'person' | 'popular' | 'rated' | 'review' | 'search' | 'season' | 'trending' | 'tv' | 'watchProviders';
5
+ export interface CreateRestClientParams {
6
+ cache?: Core;
7
+ debugManager?: DebugManagerDef;
8
+ queryParams: JsonObject & {
9
+ api_key: string;
10
+ language?: string;
11
+ };
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,SAAS,GACT,eAAe,GACf,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,IAAI,GACJ,gBAAgB,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,WAAW,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE"}