node-csfd-api 3.0.0-next.8 → 3.0.0

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 (146) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +89 -44
  3. package/_virtual/rolldown_runtime.js +25 -0
  4. package/dto/cinema.d.mts +28 -0
  5. package/dto/cinema.d.ts +28 -0
  6. package/dto/creator.d.mts +17 -0
  7. package/dto/creator.d.ts +17 -0
  8. package/dto/global.d.mts +26 -0
  9. package/dto/global.d.ts +26 -0
  10. package/dto/movie.d.mts +71 -0
  11. package/dto/movie.d.ts +71 -0
  12. package/dto/search.d.mts +32 -0
  13. package/dto/search.d.ts +32 -0
  14. package/dto/user-ratings.d.mts +23 -0
  15. package/dto/user-ratings.d.ts +23 -0
  16. package/fetchers/fetch.polyfill.js +10 -0
  17. package/fetchers/fetch.polyfill.js.map +1 -0
  18. package/fetchers/fetch.polyfill.mjs +8 -0
  19. package/fetchers/fetch.polyfill.mjs.map +1 -0
  20. package/fetchers/index.js +24 -0
  21. package/fetchers/index.js.map +1 -0
  22. package/fetchers/index.mjs +24 -0
  23. package/fetchers/index.mjs.map +1 -0
  24. package/helpers/cinema.helper.js +84 -0
  25. package/helpers/cinema.helper.js.map +1 -0
  26. package/helpers/cinema.helper.mjs +80 -0
  27. package/helpers/cinema.helper.mjs.map +1 -0
  28. package/helpers/creator.helper.js +73 -0
  29. package/helpers/creator.helper.js.map +1 -0
  30. package/helpers/creator.helper.mjs +69 -0
  31. package/helpers/creator.helper.mjs.map +1 -0
  32. package/helpers/global.helper.js +50 -0
  33. package/helpers/global.helper.js.map +1 -0
  34. package/helpers/global.helper.mjs +45 -0
  35. package/helpers/global.helper.mjs.map +1 -0
  36. package/helpers/movie.helper.js +162 -0
  37. package/helpers/movie.helper.js.map +1 -0
  38. package/helpers/movie.helper.mjs +144 -0
  39. package/helpers/movie.helper.mjs.map +1 -0
  40. package/helpers/search-user.helper.js +29 -0
  41. package/helpers/search-user.helper.js.map +1 -0
  42. package/helpers/search-user.helper.mjs +24 -0
  43. package/helpers/search-user.helper.mjs.map +1 -0
  44. package/helpers/search.helper.js +52 -0
  45. package/helpers/search.helper.js.map +1 -0
  46. package/helpers/search.helper.mjs +45 -0
  47. package/helpers/search.helper.mjs.map +1 -0
  48. package/helpers/user-ratings.helper.js +52 -0
  49. package/helpers/user-ratings.helper.js.map +1 -0
  50. package/helpers/user-ratings.helper.mjs +44 -0
  51. package/helpers/user-ratings.helper.mjs.map +1 -0
  52. package/index.d.mts +30 -0
  53. package/index.d.ts +30 -0
  54. package/index.js +42 -0
  55. package/index.js.map +1 -0
  56. package/index.mjs +41 -0
  57. package/index.mjs.map +1 -0
  58. package/package.json +15 -27
  59. package/services/cinema.service.d.mts +11 -0
  60. package/services/cinema.service.d.ts +11 -0
  61. package/services/cinema.service.js +35 -0
  62. package/services/cinema.service.js.map +1 -0
  63. package/services/cinema.service.mjs +33 -0
  64. package/services/cinema.service.mjs.map +1 -0
  65. package/services/creator.service.d.mts +11 -0
  66. package/services/creator.service.d.ts +11 -0
  67. package/services/creator.service.js +35 -0
  68. package/services/creator.service.js.map +1 -0
  69. package/services/creator.service.mjs +33 -0
  70. package/services/creator.service.mjs.map +1 -0
  71. package/services/movie.service.d.mts +11 -0
  72. package/services/movie.service.d.ts +11 -0
  73. package/services/movie.service.js +62 -0
  74. package/services/movie.service.js.map +1 -0
  75. package/services/movie.service.mjs +60 -0
  76. package/services/movie.service.mjs.map +1 -0
  77. package/services/search.service.d.mts +10 -0
  78. package/services/search.service.d.ts +10 -0
  79. package/services/search.service.js +81 -0
  80. package/services/search.service.js.map +1 -0
  81. package/services/search.service.mjs +79 -0
  82. package/services/search.service.mjs.map +1 -0
  83. package/services/user-ratings.service.d.mts +12 -0
  84. package/services/user-ratings.service.d.ts +12 -0
  85. package/services/user-ratings.service.js +66 -0
  86. package/services/user-ratings.service.js.map +1 -0
  87. package/services/user-ratings.service.mjs +64 -0
  88. package/services/user-ratings.service.mjs.map +1 -0
  89. package/{cjs/vars.js → vars.js} +13 -7
  90. package/vars.js.map +1 -0
  91. package/vars.mjs +12 -0
  92. package/vars.mjs.map +1 -0
  93. package/cjs/fetchers/index.js +0 -41
  94. package/cjs/helpers/creator.helper.js +0 -86
  95. package/cjs/helpers/global.helper.js +0 -64
  96. package/cjs/helpers/movie.helper.js +0 -248
  97. package/cjs/helpers/search-user.helper.js +0 -22
  98. package/cjs/helpers/search.helper.js +0 -60
  99. package/cjs/helpers/user-ratings.helper.js +0 -60
  100. package/cjs/index.js +0 -50
  101. package/cjs/interfaces/creator.interface.js +0 -2
  102. package/cjs/interfaces/global.js +0 -2
  103. package/cjs/interfaces/movie.interface.js +0 -2
  104. package/cjs/interfaces/search.interface.js +0 -2
  105. package/cjs/interfaces/user-ratings.interface.js +0 -2
  106. package/cjs/services/creator.service.js +0 -43
  107. package/cjs/services/movie.service.js +0 -69
  108. package/cjs/services/search.service.js +0 -91
  109. package/cjs/services/user-ratings.service.js +0 -95
  110. package/esm/fetchers/index.js +0 -37
  111. package/esm/helpers/creator.helper.js +0 -73
  112. package/esm/helpers/global.helper.js +0 -56
  113. package/esm/helpers/movie.helper.js +0 -223
  114. package/esm/helpers/search-user.helper.js +0 -15
  115. package/esm/helpers/search.helper.js +0 -49
  116. package/esm/helpers/user-ratings.helper.js +0 -47
  117. package/esm/index.js +0 -46
  118. package/esm/interfaces/creator.interface.js +0 -1
  119. package/esm/interfaces/global.js +0 -1
  120. package/esm/interfaces/movie.interface.js +0 -1
  121. package/esm/interfaces/search.interface.js +0 -1
  122. package/esm/interfaces/user-ratings.interface.js +0 -1
  123. package/esm/services/creator.service.js +0 -39
  124. package/esm/services/movie.service.js +0 -65
  125. package/esm/services/search.service.js +0 -87
  126. package/esm/services/user-ratings.service.js +0 -91
  127. package/esm/vars.js +0 -4
  128. package/types/fetchers/index.d.ts +0 -1
  129. package/types/helpers/creator.helper.d.ts +0 -17
  130. package/types/helpers/global.helper.d.ts +0 -7
  131. package/types/helpers/movie.helper.d.ts +0 -25
  132. package/types/helpers/search-user.helper.d.ts +0 -5
  133. package/types/helpers/search.helper.d.ts +0 -11
  134. package/types/helpers/user-ratings.helper.d.ts +0 -13
  135. package/types/index.d.ts +0 -20
  136. package/types/index.ts +0 -22
  137. package/types/interfaces/creator.interface.d.ts +0 -12
  138. package/types/interfaces/global.d.ts +0 -22
  139. package/types/interfaces/movie.interface.d.ts +0 -66
  140. package/types/interfaces/search.interface.d.ts +0 -27
  141. package/types/interfaces/user-ratings.interface.d.ts +0 -18
  142. package/types/services/creator.service.d.ts +0 -6
  143. package/types/services/movie.service.d.ts +0 -6
  144. package/types/services/search.service.d.ts +0 -5
  145. package/types/services/user-ratings.service.d.ts +0 -7
  146. package/types/vars.d.ts +0 -4
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 BART!
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 CHANGED
@@ -3,29 +3,31 @@
3
3
  [![Build & Publish](https://github.com/bartholomej/node-csfd-api/workflows/Publish/badge.svg)](https://github.com/bartholomej/node-csfd-api/actions)
4
4
  [![codecov](https://codecov.io/gh/bartholomej/node-csfd-api/branch/master/graph/badge.svg?token=YQH9UoVrGP)](https://codecov.io/gh/bartholomej/node-csfd-api)
5
5
 
6
- # CSFD API 2023
6
+ # CSFD API 🎥 2025
7
7
 
8
8
  > JavaScript NPM library for scraping **Czech Movie Database (csfd.cz)**
9
9
  >
10
- > - Browser + Node.js (SSR)
11
10
  > - JavaScript / TypeScript
11
+ > - Browser + Node.js (SSR)
12
12
  > - Tested (~100% Code coverage)
13
- > - ✅ Ready for new ČSFD 2021!
13
+ > - ✅ Ready for new ČSFD 2025!
14
14
  > - You can use in:
15
+ > - Docker – [_How to do it?_](#-docker)
15
16
  > - Firebase function
16
17
  > - AWS λ (lambda function)
18
+ > - CloudFlare Worker
17
19
  > - Chrome extension
18
20
  > - React native app
19
- > - ...
21
+ > - Browsers (Pay attention to CORS)
20
22
 
21
- ## Install
23
+ ## 🗜️ Install
22
24
 
23
25
  ```bash
24
- npm install node-csfd-api --save
26
+ npm install node-csfd-api
25
27
  # yarn add node-csfd-api
26
28
  ```
27
29
 
28
- ## Usage and examples
30
+ ## 🛠️ Usage and examples
29
31
 
30
32
  - [Movies and TV Series](#Movie)
31
33
  - [User Ratings](#User-Ratings)
@@ -34,7 +36,7 @@ npm install node-csfd-api --save
34
36
 
35
37
  ### Movie
36
38
 
37
- Get info about [this movie](https://www.csfd.cz/film/535121-na-spatne-strane/komentare/) _(id: 535121)_
39
+ > Get info about [this movie](https://www.csfd.cz/film/535121-na-spatne-strane/komentare/) _(id: 535121)_
38
40
 
39
41
  ```javascript
40
42
  import { csfd } from 'node-csfd-api';
@@ -42,8 +44,9 @@ import { csfd } from 'node-csfd-api';
42
44
  csfd.movie(535121).then((movie) => console.log(movie));
43
45
  ```
44
46
 
45
- #### Results
46
-
47
+ <details>
48
+ <summary>Click here to see full result example</summary>
49
+
47
50
  ```javascript
48
51
  {
49
52
  id: 535121,
@@ -135,10 +138,11 @@ csfd.movie(535121).then((movie) => console.log(movie));
135
138
  ]
136
139
  }
137
140
  ```
141
+ </details>
138
142
 
139
143
  ### Search
140
144
 
141
- > Search movies and users
145
+ > Search movies, users and TV series
142
146
 
143
147
  ```javascript
144
148
  import { csfd } from 'node-csfd-api';
@@ -146,10 +150,11 @@ import { csfd } from 'node-csfd-api';
146
150
  csfd.search('bart').then((search) => console.log(search));
147
151
  ```
148
152
 
149
- #### Results
150
-
153
+ <details>
154
+ <summary>Click here to see full result example</summary>
155
+
151
156
  ```javascript
152
- movies: [
157
+ [
153
158
  {
154
159
  id: 19653,
155
160
  title: 'Black Bart',
@@ -197,9 +202,11 @@ users: [
197
202
  ]
198
203
  ```
199
204
 
205
+ </details>
206
+
200
207
  ### Creators
201
208
 
202
- > Search creators and filmography
209
+ > Get creator info + filmography
203
210
 
204
211
  ```javascript
205
212
  import { csfd } from 'node-csfd-api';
@@ -207,7 +214,8 @@ import { csfd } from 'node-csfd-api';
207
214
  csfd.creator(2120).then((creator) => console.log(creator));
208
215
  ```
209
216
 
210
- #### Results
217
+ <details>
218
+ <summary>Click here to see full result example</summary>
211
219
 
212
220
  ```javascript
213
221
  {
@@ -284,6 +292,8 @@ csfd.creator(2120).then((creator) => console.log(creator));
284
292
  }
285
293
  ```
286
294
 
295
+ </details>
296
+
287
297
  ### User Ratings
288
298
 
289
299
  #### Last ratings (last page)
@@ -313,7 +323,8 @@ csfd
313
323
  .then((ratings) => console.log(ratings));
314
324
  ```
315
325
 
316
- #### Results
326
+ <details>
327
+ <summary>Click here to see full result example</summary>
317
328
 
318
329
  ```javascript
319
330
  [
@@ -338,7 +349,9 @@ csfd
338
349
  ];
339
350
  ```
340
351
 
341
- #### Options
352
+ </details>
353
+
354
+ #### Options for user ratings
342
355
 
343
356
  | Option | Type | Default | Description |
344
357
  | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------ |
@@ -347,15 +360,62 @@ csfd
347
360
  | **allPages** | boolean | false | Get all pages |
348
361
  | **allPagesDelay** | number | 0 | Delay on each page request. In milliseconds |
349
362
 
350
- _Note: You can not use both parameters 'includesOnly' and 'excludes'. Parameter 'includesOnly' has a priority._
363
+ _Note: You can not use both parameters `includesOnly` and `excludes`. Parameter `includesOnly` has a priority._
364
+
365
+ ## 📦 Docker
366
+
367
+ You can use this library in Docker.
351
368
 
352
- ## Used by
369
+ We have [prepared a Docker image](https://hub.docker.com/r/bartholomej/node-csfd-api) for you.
353
370
 
354
- - [Dafilms web extension](https://chrome.google.com/webstore/detail/dafilms/hgcgneddmgflnbmhkjnefiobjgobbmdm?hl=en) ([code](https://github.com/bartholomej/dafilms-ext)) – Parser for film ratings (web extension)
355
- - [bartweb.cz](https://bartweb.cz) – **Last seen** section (Firebase function)
356
- - KinoKlub – Mobile application for AeroFilms (native Android + iOS application)
371
+ ### Prebuilt image
357
372
 
358
- ## Roadmap
373
+ ```bash
374
+ docker pull bartholomej/node-csfd-api
375
+ ```
376
+
377
+ ### Build & run your own image
378
+
379
+ > Build image
380
+
381
+ ```bash
382
+ docker build -t node-csfd-api .
383
+ ```
384
+
385
+ > Run image on port 3000
386
+
387
+ ```bash
388
+ docker run -p 3000:3000 node-csfd-api
389
+ ```
390
+
391
+ > Open http://localhost:3000
392
+
393
+ ### API endpoints
394
+
395
+ > Some examples
396
+
397
+ - `/movie/535121`
398
+ - `/search/quentin+tarantino`
399
+ - `/creator/2120`
400
+ - `/user-ratings/912-bart`
401
+
402
+ ## 🧑‍💻 Used by
403
+
404
+ ### Web extensions
405
+
406
+ - [Netflix: chrome extension](https://chrome.google.com/webstore/detail/netflix-csfd/eomgekccbddnlpmehgdjmlphndjgnlni) ([code](https://github.com/bartholomej/netflix-csfd-ext))
407
+ - [Dafilms: chrome extension](https://chrome.google.com/webstore/detail/dafilms/hgcgneddmgflnbmhkjnefiobjgobbmdm) ([code](https://github.com/bartholomej/dafilms-ext))
408
+ - [Kviff.tv: chrome extension](https://chrome.google.com/webstore/detail/kvifftv-%20-csfd/ihpngekoejodiligajlppbeedofhnmfm) ([code](https://github.com/bartholomej/kviff-ext))
409
+
410
+ ### Web applications
411
+
412
+ - [bartweb.cz](https://bartweb.cz) – **Last seen** section (**Firebase function**)
413
+
414
+ ### Mobile applications
415
+
416
+ - [KinoKlub](https://play.google.com/store/apps/details?id=com.aquasoup) – Mobile application for AeroFilms (React Native: Android + iOS application)
417
+
418
+ ## 🔮 Roadmap
359
419
 
360
420
  ### Scraping more pages
361
421
 
@@ -403,7 +463,7 @@ _Note: You can not use both parameters 'includesOnly' and 'excludes'. Parameter
403
463
  - [x] Last ratings
404
464
  - [x] All pages
405
465
 
406
- ## Development
466
+ ## 🛠️ Development
407
467
 
408
468
  ### Developing and debugging library
409
469
 
@@ -419,22 +479,7 @@ You can find and modify it in [`./demo.ts`](https://github.com/bartholomej/node-
419
479
  yarn demo
420
480
  ```
421
481
 
422
- ## Development (notes for me)
423
-
424
- ### Publish Stable
425
-
426
- ```shell
427
- yarn release:patch
428
- # yarn release:minor
429
- # yarn release:major
430
- ```
431
-
432
- ### Publish next channel
433
-
434
- 1. Bump version `-beta.0` in `package.json`
435
- 2. `yarn release:beta`
436
-
437
- ## Contribution
482
+ ## 🤝 Contribution
438
483
 
439
484
  I welcome you to customize this according to your needs ;)
440
485
 
@@ -446,7 +491,7 @@ Give a ⭐️ if this project helped you!
446
491
 
447
492
  Or if you are brave enough consider [making a donation](https://github.com/sponsors/bartholomej) for some 🍺 or 🍵 ;)
448
493
 
449
- ## Privacy Policy
494
+ ## 🕵️‍♀️ Privacy Policy
450
495
 
451
496
  I DO NOT STORE ANY DATA. PERIOD.
452
497
 
@@ -454,9 +499,9 @@ I physically can't. I have nowhere to store it. I don't even have a server datab
454
499
 
455
500
  That's why, with node-csfd-api, what happens on your device stays on your device till disappear.
456
501
 
457
- ## License
502
+ ## 📝 License
458
503
 
459
- Copyright &copy; 2020 – 2023 [Lukas Bartak](http://bartweb.cz)
504
+ Copyright &copy; 2020 – 2025 [Lukas Bartak](http://bartweb.cz)
460
505
 
461
506
  Proudly powered by nature 🗻, wind 💨, tea 🍵 and beer 🍺 ;)
462
507
 
@@ -0,0 +1,25 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+
23
+ //#endregion
24
+
25
+ exports.__toESM = __toESM;
@@ -0,0 +1,28 @@
1
+ import { CSFDMovieListItem } from "./movie.mjs";
2
+
3
+ //#region src/dto/cinema.d.ts
4
+ interface CSFDCinema {
5
+ id: number;
6
+ name: string;
7
+ city: string;
8
+ url: string;
9
+ coords: {
10
+ lat: number;
11
+ lng: number;
12
+ };
13
+ region?: string;
14
+ screenings: CSFDCinemaGroupedFilmsByDate[];
15
+ }
16
+ interface CSFDCinemaGroupedFilmsByDate {
17
+ date: string;
18
+ films: CSFDCinemaMovie[];
19
+ }
20
+ interface CSFDCinemaMovie extends CSFDMovieListItem {
21
+ meta: CSFDCinemaMeta[];
22
+ showTimes: string[];
23
+ }
24
+ type CSFDCinemaMeta = 'dubbing' | '3D' | 'subtitles' | string;
25
+ type CSFDCinemaPeriod = 'today' | 'weekend' | 'week' | 'tomorrow' | 'month';
26
+ //#endregion
27
+ export { CSFDCinema, CSFDCinemaGroupedFilmsByDate, CSFDCinemaMeta, CSFDCinemaMovie, CSFDCinemaPeriod };
28
+ //# sourceMappingURL=cinema.d.mts.map
@@ -0,0 +1,28 @@
1
+ import { CSFDMovieListItem } from "./movie.js";
2
+
3
+ //#region src/dto/cinema.d.ts
4
+ interface CSFDCinema {
5
+ id: number;
6
+ name: string;
7
+ city: string;
8
+ url: string;
9
+ coords: {
10
+ lat: number;
11
+ lng: number;
12
+ };
13
+ region?: string;
14
+ screenings: CSFDCinemaGroupedFilmsByDate[];
15
+ }
16
+ interface CSFDCinemaGroupedFilmsByDate {
17
+ date: string;
18
+ films: CSFDCinemaMovie[];
19
+ }
20
+ interface CSFDCinemaMovie extends CSFDMovieListItem {
21
+ meta: CSFDCinemaMeta[];
22
+ showTimes: string[];
23
+ }
24
+ type CSFDCinemaMeta = 'dubbing' | '3D' | 'subtitles' | string;
25
+ type CSFDCinemaPeriod = 'today' | 'weekend' | 'week' | 'tomorrow' | 'month';
26
+ //#endregion
27
+ export { CSFDCinema, CSFDCinemaGroupedFilmsByDate, CSFDCinemaMeta, CSFDCinemaMovie, CSFDCinemaPeriod };
28
+ //# sourceMappingURL=cinema.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { CSFDScreening } from "./global.mjs";
2
+
3
+ //#region src/dto/creator.d.ts
4
+ interface CSFDCreator {
5
+ id: number;
6
+ name: string;
7
+ birthday: string;
8
+ birthplace: string;
9
+ photo: string;
10
+ age: number | string;
11
+ bio: string;
12
+ films: CSFDCreatorScreening[];
13
+ }
14
+ type CSFDCreatorScreening = Omit<CSFDScreening, 'url' | 'type'>;
15
+ //#endregion
16
+ export { CSFDCreator, CSFDCreatorScreening };
17
+ //# sourceMappingURL=creator.d.mts.map
@@ -0,0 +1,17 @@
1
+ import { CSFDScreening } from "./global.js";
2
+
3
+ //#region src/dto/creator.d.ts
4
+ interface CSFDCreator {
5
+ id: number;
6
+ name: string;
7
+ birthday: string;
8
+ birthplace: string;
9
+ photo: string;
10
+ age: number | string;
11
+ bio: string;
12
+ films: CSFDCreatorScreening[];
13
+ }
14
+ type CSFDCreatorScreening = Omit<CSFDScreening, 'url' | 'type'>;
15
+ //#endregion
16
+ export { CSFDCreator, CSFDCreatorScreening };
17
+ //# sourceMappingURL=creator.d.ts.map
@@ -0,0 +1,26 @@
1
+ //#region src/dto/global.d.ts
2
+ interface CSFDScreening {
3
+ id: number;
4
+ title: string;
5
+ year: number;
6
+ url: string;
7
+ type: CSFDFilmTypes;
8
+ /**
9
+ * Overall aggregated rating. (On the web usually represented by colors).
10
+ *
11
+ * 'unknown': unknown (gray color)
12
+ *
13
+ * 'good': 70% – 100 % (red color)
14
+ *
15
+ * 'average': 30% - 69% (blue color)
16
+ *
17
+ * 'bad': 0% - 29% (black color)
18
+ */
19
+ colorRating: CSFDColorRating;
20
+ }
21
+ type CSFDColorRating = 'bad' | 'average' | 'good' | 'unknown';
22
+ type CSFDStars = 0 | 1 | 2 | 3 | 4 | 5;
23
+ type CSFDFilmTypes = 'film' | 'TV film' | 'pořad' | 'seriál' | 'divadelní záznam' | 'koncert' | 'série' | 'studentský film' | 'amatérský film' | 'hudební videoklip' | 'epizoda';
24
+ //#endregion
25
+ export { CSFDColorRating, CSFDFilmTypes, CSFDScreening, CSFDStars };
26
+ //# sourceMappingURL=global.d.mts.map
@@ -0,0 +1,26 @@
1
+ //#region src/dto/global.d.ts
2
+ interface CSFDScreening {
3
+ id: number;
4
+ title: string;
5
+ year: number;
6
+ url: string;
7
+ type: CSFDFilmTypes;
8
+ /**
9
+ * Overall aggregated rating. (On the web usually represented by colors).
10
+ *
11
+ * 'unknown': unknown (gray color)
12
+ *
13
+ * 'good': 70% – 100 % (red color)
14
+ *
15
+ * 'average': 30% - 69% (blue color)
16
+ *
17
+ * 'bad': 0% - 29% (black color)
18
+ */
19
+ colorRating: CSFDColorRating;
20
+ }
21
+ type CSFDColorRating = 'bad' | 'average' | 'good' | 'unknown';
22
+ type CSFDStars = 0 | 1 | 2 | 3 | 4 | 5;
23
+ type CSFDFilmTypes = 'film' | 'TV film' | 'pořad' | 'seriál' | 'divadelní záznam' | 'koncert' | 'série' | 'studentský film' | 'amatérský film' | 'hudební videoklip' | 'epizoda';
24
+ //#endregion
25
+ export { CSFDColorRating, CSFDFilmTypes, CSFDScreening, CSFDStars };
26
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1,71 @@
1
+ import { CSFDScreening } from "./global.mjs";
2
+
3
+ //#region src/dto/movie.d.ts
4
+ interface CSFDMovie extends CSFDScreening {
5
+ rating: number | null;
6
+ poster: string;
7
+ photo: string;
8
+ ratingCount: number | null;
9
+ duration: number | string;
10
+ titlesOther: CSFDTitlesOther[];
11
+ origins: string[];
12
+ descriptions: string[];
13
+ trivia: string[];
14
+ genres: CSFDGenres[] | string[];
15
+ creators: CSFDCreators;
16
+ vod: CSFDVod[];
17
+ tags: string[];
18
+ premieres: CSFDPremiere[];
19
+ related: CSFDMovieListItem[];
20
+ similar: CSFDMovieListItem[];
21
+ }
22
+ type CSFDVodService = 'Netflix' | 'hbogo' | 'Prime Video' | 'Apple TV+' | 'iTunes' | 'KVIFF.TV' | 'Edisonline' | 'o2tv' | 'SledovaniTV' | 'Starmax' | 'DAFilms' | 'FILMY ČESKY A ZADARMO' | 'Youtube Česká filmová klasika' | 'VAPET' | 'VOREL FILM' | 'ivysilani' | 'Google Play' | 'Voyo' | 'YouTube Movies' | 'prima+' | 'Lepší.TV' | 'Blu-ray' | 'DVD';
23
+ interface CSFDVod {
24
+ title: CSFDVodService;
25
+ url: string;
26
+ }
27
+ interface CSFDCreators {
28
+ directors: CSFDMovieCreator[];
29
+ writers: CSFDMovieCreator[];
30
+ cinematography: CSFDMovieCreator[];
31
+ music: CSFDMovieCreator[];
32
+ actors: CSFDMovieCreator[];
33
+ basedOn: CSFDMovieCreator[];
34
+ producers: CSFDMovieCreator[];
35
+ filmEditing: CSFDMovieCreator[];
36
+ costumeDesign: CSFDMovieCreator[];
37
+ productionDesign: CSFDMovieCreator[];
38
+ }
39
+ interface CSFDTitlesOther {
40
+ country: string;
41
+ title: string;
42
+ }
43
+ interface CSFDMovieCreator {
44
+ /**
45
+ * CSFD person ID.
46
+ *
47
+ * You can always assemble url from ID like this:
48
+ *
49
+ * `https://www.csfd.cz/tvurce/${id}`
50
+ */
51
+ id: number;
52
+ name: string;
53
+ url: string;
54
+ }
55
+ interface CSFDMovieListItem {
56
+ id: number;
57
+ title: string;
58
+ url: string;
59
+ }
60
+ type CSFDGenres = 'Akční' | 'Animovaný' | 'Dobrodružný' | 'Dokumentární' | 'Drama' | 'Experimentální' | 'Fantasy' | 'Film-Noir' | 'Historický' | 'Horor' | 'Hudební' | 'IMAX' | 'Katastrofický' | 'Komedie' | 'Krátkometrážní' | 'Krimi' | 'Loutkový' | 'Muzikál' | 'Mysteriózní' | 'Naučný' | 'Podobenství' | 'Poetický' | 'Pohádka' | 'Povídkový' | 'Psychologický' | 'Publicistický' | 'Reality-TV' | 'Road movie' | 'Rodinný' | 'Romantický' | 'Sci-Fi' | 'Soutěžní' | 'Sportovní' | 'Stand-up' | 'Talk-show' | 'Taneční' | 'Telenovela' | 'Thriller' | 'Válečný' | 'Western' | 'Zábavný' | 'Životopisný';
61
+ type CSFDCreatorGroups = 'Režie' | 'Scénář' | 'Kamera' | 'Hudba' | 'Hrají' | 'Produkce' | 'Střih' | 'Předloha' | 'Scénografie' | 'Kostýmy';
62
+ interface CSFDPremiere {
63
+ country: string;
64
+ format: string;
65
+ date: string;
66
+ company: string;
67
+ }
68
+ type CSFDBoxContent = 'Související' | 'Podobné';
69
+ //#endregion
70
+ export { CSFDBoxContent, CSFDCreatorGroups, CSFDCreators, CSFDGenres, CSFDMovie, CSFDMovieCreator, CSFDMovieListItem, CSFDPremiere, CSFDTitlesOther, CSFDVod, CSFDVodService };
71
+ //# sourceMappingURL=movie.d.mts.map
package/dto/movie.d.ts ADDED
@@ -0,0 +1,71 @@
1
+ import { CSFDScreening } from "./global.js";
2
+
3
+ //#region src/dto/movie.d.ts
4
+ interface CSFDMovie extends CSFDScreening {
5
+ rating: number | null;
6
+ poster: string;
7
+ photo: string;
8
+ ratingCount: number | null;
9
+ duration: number | string;
10
+ titlesOther: CSFDTitlesOther[];
11
+ origins: string[];
12
+ descriptions: string[];
13
+ trivia: string[];
14
+ genres: CSFDGenres[] | string[];
15
+ creators: CSFDCreators;
16
+ vod: CSFDVod[];
17
+ tags: string[];
18
+ premieres: CSFDPremiere[];
19
+ related: CSFDMovieListItem[];
20
+ similar: CSFDMovieListItem[];
21
+ }
22
+ type CSFDVodService = 'Netflix' | 'hbogo' | 'Prime Video' | 'Apple TV+' | 'iTunes' | 'KVIFF.TV' | 'Edisonline' | 'o2tv' | 'SledovaniTV' | 'Starmax' | 'DAFilms' | 'FILMY ČESKY A ZADARMO' | 'Youtube Česká filmová klasika' | 'VAPET' | 'VOREL FILM' | 'ivysilani' | 'Google Play' | 'Voyo' | 'YouTube Movies' | 'prima+' | 'Lepší.TV' | 'Blu-ray' | 'DVD';
23
+ interface CSFDVod {
24
+ title: CSFDVodService;
25
+ url: string;
26
+ }
27
+ interface CSFDCreators {
28
+ directors: CSFDMovieCreator[];
29
+ writers: CSFDMovieCreator[];
30
+ cinematography: CSFDMovieCreator[];
31
+ music: CSFDMovieCreator[];
32
+ actors: CSFDMovieCreator[];
33
+ basedOn: CSFDMovieCreator[];
34
+ producers: CSFDMovieCreator[];
35
+ filmEditing: CSFDMovieCreator[];
36
+ costumeDesign: CSFDMovieCreator[];
37
+ productionDesign: CSFDMovieCreator[];
38
+ }
39
+ interface CSFDTitlesOther {
40
+ country: string;
41
+ title: string;
42
+ }
43
+ interface CSFDMovieCreator {
44
+ /**
45
+ * CSFD person ID.
46
+ *
47
+ * You can always assemble url from ID like this:
48
+ *
49
+ * `https://www.csfd.cz/tvurce/${id}`
50
+ */
51
+ id: number;
52
+ name: string;
53
+ url: string;
54
+ }
55
+ interface CSFDMovieListItem {
56
+ id: number;
57
+ title: string;
58
+ url: string;
59
+ }
60
+ type CSFDGenres = 'Akční' | 'Animovaný' | 'Dobrodružný' | 'Dokumentární' | 'Drama' | 'Experimentální' | 'Fantasy' | 'Film-Noir' | 'Historický' | 'Horor' | 'Hudební' | 'IMAX' | 'Katastrofický' | 'Komedie' | 'Krátkometrážní' | 'Krimi' | 'Loutkový' | 'Muzikál' | 'Mysteriózní' | 'Naučný' | 'Podobenství' | 'Poetický' | 'Pohádka' | 'Povídkový' | 'Psychologický' | 'Publicistický' | 'Reality-TV' | 'Road movie' | 'Rodinný' | 'Romantický' | 'Sci-Fi' | 'Soutěžní' | 'Sportovní' | 'Stand-up' | 'Talk-show' | 'Taneční' | 'Telenovela' | 'Thriller' | 'Válečný' | 'Western' | 'Zábavný' | 'Životopisný';
61
+ type CSFDCreatorGroups = 'Režie' | 'Scénář' | 'Kamera' | 'Hudba' | 'Hrají' | 'Produkce' | 'Střih' | 'Předloha' | 'Scénografie' | 'Kostýmy';
62
+ interface CSFDPremiere {
63
+ country: string;
64
+ format: string;
65
+ date: string;
66
+ company: string;
67
+ }
68
+ type CSFDBoxContent = 'Související' | 'Podobné';
69
+ //#endregion
70
+ export { CSFDBoxContent, CSFDCreatorGroups, CSFDCreators, CSFDGenres, CSFDMovie, CSFDMovieCreator, CSFDMovieListItem, CSFDPremiere, CSFDTitlesOther, CSFDVod, CSFDVodService };
71
+ //# sourceMappingURL=movie.d.ts.map
@@ -0,0 +1,32 @@
1
+ import { CSFDScreening } from "./global.mjs";
2
+ import { CSFDMovieCreator } from "./movie.mjs";
3
+
4
+ //#region src/dto/search.d.ts
5
+ interface CSFDSearch {
6
+ movies: CSFDSearchMovie[];
7
+ tvSeries: CSFDSearchMovie[];
8
+ creators: CSFDSearchCreator[];
9
+ users: CSFDSearchUser[];
10
+ }
11
+ interface CSFDSearchMovie extends CSFDScreening {
12
+ poster: string;
13
+ origins: string[];
14
+ creators: CSFDSearchCreators;
15
+ }
16
+ interface CSFDSearchUser {
17
+ id: number;
18
+ user: string;
19
+ userRealName: string;
20
+ avatar: string;
21
+ url: string;
22
+ }
23
+ interface CSFDSearchCreator extends CSFDMovieCreator {
24
+ image: string;
25
+ }
26
+ interface CSFDSearchCreators {
27
+ directors: CSFDMovieCreator[];
28
+ actors: CSFDMovieCreator[];
29
+ }
30
+ //#endregion
31
+ export { CSFDSearch, CSFDSearchCreator, CSFDSearchCreators, CSFDSearchMovie, CSFDSearchUser };
32
+ //# sourceMappingURL=search.d.mts.map
@@ -0,0 +1,32 @@
1
+ import { CSFDScreening } from "./global.js";
2
+ import { CSFDMovieCreator } from "./movie.js";
3
+
4
+ //#region src/dto/search.d.ts
5
+ interface CSFDSearch {
6
+ movies: CSFDSearchMovie[];
7
+ tvSeries: CSFDSearchMovie[];
8
+ creators: CSFDSearchCreator[];
9
+ users: CSFDSearchUser[];
10
+ }
11
+ interface CSFDSearchMovie extends CSFDScreening {
12
+ poster: string;
13
+ origins: string[];
14
+ creators: CSFDSearchCreators;
15
+ }
16
+ interface CSFDSearchUser {
17
+ id: number;
18
+ user: string;
19
+ userRealName: string;
20
+ avatar: string;
21
+ url: string;
22
+ }
23
+ interface CSFDSearchCreator extends CSFDMovieCreator {
24
+ image: string;
25
+ }
26
+ interface CSFDSearchCreators {
27
+ directors: CSFDMovieCreator[];
28
+ actors: CSFDMovieCreator[];
29
+ }
30
+ //#endregion
31
+ export { CSFDSearch, CSFDSearchCreator, CSFDSearchCreators, CSFDSearchMovie, CSFDSearchUser };
32
+ //# sourceMappingURL=search.d.ts.map