node-csfd-api 3.0.0-next.9 → 3.0.1
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.
- package/LICENSE +21 -0
- package/README.md +89 -44
- package/_virtual/rolldown_runtime.js +25 -0
- package/dto/cinema.d.mts +28 -0
- package/dto/cinema.d.ts +28 -0
- package/dto/creator.d.mts +17 -0
- package/dto/creator.d.ts +17 -0
- package/dto/global.d.mts +26 -0
- package/dto/global.d.ts +26 -0
- package/dto/movie.d.mts +71 -0
- package/dto/movie.d.ts +71 -0
- package/dto/search.d.mts +32 -0
- package/dto/search.d.ts +32 -0
- package/dto/user-ratings.d.mts +23 -0
- package/dto/user-ratings.d.ts +23 -0
- package/fetchers/fetch.polyfill.js +10 -0
- package/fetchers/fetch.polyfill.js.map +1 -0
- package/fetchers/fetch.polyfill.mjs +8 -0
- package/fetchers/fetch.polyfill.mjs.map +1 -0
- package/fetchers/index.js +24 -0
- package/fetchers/index.js.map +1 -0
- package/fetchers/index.mjs +24 -0
- package/fetchers/index.mjs.map +1 -0
- package/helpers/cinema.helper.js +84 -0
- package/helpers/cinema.helper.js.map +1 -0
- package/helpers/cinema.helper.mjs +80 -0
- package/helpers/cinema.helper.mjs.map +1 -0
- package/helpers/creator.helper.js +73 -0
- package/helpers/creator.helper.js.map +1 -0
- package/helpers/creator.helper.mjs +69 -0
- package/helpers/creator.helper.mjs.map +1 -0
- package/helpers/global.helper.js +50 -0
- package/helpers/global.helper.js.map +1 -0
- package/helpers/global.helper.mjs +45 -0
- package/helpers/global.helper.mjs.map +1 -0
- package/helpers/movie.helper.js +162 -0
- package/helpers/movie.helper.js.map +1 -0
- package/helpers/movie.helper.mjs +144 -0
- package/helpers/movie.helper.mjs.map +1 -0
- package/helpers/search-user.helper.js +29 -0
- package/helpers/search-user.helper.js.map +1 -0
- package/helpers/search-user.helper.mjs +24 -0
- package/helpers/search-user.helper.mjs.map +1 -0
- package/helpers/search.helper.js +52 -0
- package/helpers/search.helper.js.map +1 -0
- package/helpers/search.helper.mjs +45 -0
- package/helpers/search.helper.mjs.map +1 -0
- package/helpers/user-ratings.helper.js +52 -0
- package/helpers/user-ratings.helper.js.map +1 -0
- package/helpers/user-ratings.helper.mjs +44 -0
- package/helpers/user-ratings.helper.mjs.map +1 -0
- package/index.d.mts +30 -0
- package/index.d.ts +30 -0
- package/index.js +42 -0
- package/index.js.map +1 -0
- package/index.mjs +41 -0
- package/index.mjs.map +1 -0
- package/package.json +15 -28
- package/services/cinema.service.d.mts +11 -0
- package/services/cinema.service.d.ts +11 -0
- package/services/cinema.service.js +35 -0
- package/services/cinema.service.js.map +1 -0
- package/services/cinema.service.mjs +33 -0
- package/services/cinema.service.mjs.map +1 -0
- package/services/creator.service.d.mts +11 -0
- package/services/creator.service.d.ts +11 -0
- package/services/creator.service.js +35 -0
- package/services/creator.service.js.map +1 -0
- package/services/creator.service.mjs +33 -0
- package/services/creator.service.mjs.map +1 -0
- package/services/movie.service.d.mts +11 -0
- package/services/movie.service.d.ts +11 -0
- package/services/movie.service.js +62 -0
- package/services/movie.service.js.map +1 -0
- package/services/movie.service.mjs +60 -0
- package/services/movie.service.mjs.map +1 -0
- package/services/search.service.d.mts +10 -0
- package/services/search.service.d.ts +10 -0
- package/services/search.service.js +81 -0
- package/services/search.service.js.map +1 -0
- package/services/search.service.mjs +79 -0
- package/services/search.service.mjs.map +1 -0
- package/services/user-ratings.service.d.mts +12 -0
- package/services/user-ratings.service.d.ts +12 -0
- package/services/user-ratings.service.js +66 -0
- package/services/user-ratings.service.js.map +1 -0
- package/services/user-ratings.service.mjs +64 -0
- package/services/user-ratings.service.mjs.map +1 -0
- package/{cjs/vars.js → vars.js} +13 -7
- package/vars.js.map +1 -0
- package/vars.mjs +12 -0
- package/vars.mjs.map +1 -0
- package/cjs/fetchers/index.js +0 -41
- package/cjs/helpers/creator.helper.js +0 -86
- package/cjs/helpers/global.helper.js +0 -64
- package/cjs/helpers/movie.helper.js +0 -248
- package/cjs/helpers/search-user.helper.js +0 -22
- package/cjs/helpers/search.helper.js +0 -60
- package/cjs/helpers/user-ratings.helper.js +0 -60
- package/cjs/index.js +0 -50
- package/cjs/services/creator.service.js +0 -43
- package/cjs/services/movie.service.js +0 -69
- package/cjs/services/search.service.js +0 -91
- package/cjs/services/user-ratings.service.js +0 -95
- package/esm/fetchers/index.js +0 -37
- package/esm/helpers/creator.helper.js +0 -73
- package/esm/helpers/global.helper.js +0 -56
- package/esm/helpers/movie.helper.js +0 -223
- package/esm/helpers/search-user.helper.js +0 -15
- package/esm/helpers/search.helper.js +0 -49
- package/esm/helpers/user-ratings.helper.js +0 -47
- package/esm/index.js +0 -46
- package/esm/services/creator.service.js +0 -39
- package/esm/services/movie.service.js +0 -65
- package/esm/services/search.service.js +0 -87
- package/esm/services/user-ratings.service.js +0 -91
- package/esm/vars.js +0 -4
- package/types/fetchers/index.d.ts +0 -1
- package/types/helpers/creator.helper.d.ts +0 -17
- package/types/helpers/global.helper.d.ts +0 -7
- package/types/helpers/movie.helper.d.ts +0 -25
- package/types/helpers/search-user.helper.d.ts +0 -5
- package/types/helpers/search.helper.d.ts +0 -11
- package/types/helpers/user-ratings.helper.d.ts +0 -13
- package/types/index.d.ts +0 -20
- package/types/index.ts +0 -22
- package/types/interfaces/creator.interface.d.ts +0 -12
- package/types/interfaces/global.d.ts +0 -22
- package/types/interfaces/movie.interface.d.ts +0 -66
- package/types/interfaces/search.interface.d.ts +0 -27
- package/types/interfaces/user-ratings.interface.d.ts +0 -18
- package/types/services/creator.service.d.ts +0 -6
- package/types/services/movie.service.d.ts +0 -6
- package/types/services/search.service.d.ts +0 -5
- package/types/services/user-ratings.service.d.ts +0 -7
- 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
|
[](https://github.com/bartholomej/node-csfd-api/actions)
|
|
4
4
|
[](https://codecov.io/gh/bartholomej/node-csfd-api)
|
|
5
5
|
|
|
6
|
-
# CSFD API
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
150
|
-
|
|
153
|
+
<details>
|
|
154
|
+
<summary>Click here to see full result example</summary>
|
|
155
|
+
|
|
151
156
|
```javascript
|
|
152
|
-
|
|
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
|
-
>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
369
|
+
We have [prepared a Docker image](https://hub.docker.com/r/bartholomej/node-csfd-api) for you.
|
|
353
370
|
|
|
354
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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 © 2020 –
|
|
504
|
+
Copyright © 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;
|
package/dto/cinema.d.mts
ADDED
|
@@ -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
|
package/dto/cinema.d.ts
ADDED
|
@@ -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
|
package/dto/creator.d.ts
ADDED
|
@@ -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
|
package/dto/global.d.mts
ADDED
|
@@ -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
|
package/dto/global.d.ts
ADDED
|
@@ -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
|
package/dto/movie.d.mts
ADDED
|
@@ -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
|
package/dto/search.d.mts
ADDED
|
@@ -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
|
package/dto/search.d.ts
ADDED
|
@@ -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
|