node-csfd-api 2.3.1 → 3.0.0-next.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 (59) hide show
  1. package/README.md +4 -1
  2. package/{fetchers → cjs/fetchers}/index.js +13 -4
  3. package/{helpers → cjs/helpers}/creator.helper.js +0 -0
  4. package/{helpers → cjs/helpers}/global.helper.js +8 -3
  5. package/{helpers → cjs/helpers}/movie.helper.js +23 -1
  6. package/{helpers → cjs/helpers}/search-user.helper.js +0 -0
  7. package/{helpers → cjs/helpers}/search.helper.js +0 -0
  8. package/{helpers → cjs/helpers}/user-ratings.helper.js +0 -0
  9. package/cjs/index.js +50 -0
  10. package/{interfaces → cjs/interfaces}/creator.interface.js +0 -0
  11. package/{interfaces → cjs/interfaces}/global.js +0 -0
  12. package/{interfaces → cjs/interfaces}/movie.interface.js +0 -0
  13. package/{interfaces → cjs/interfaces}/search.interface.js +0 -0
  14. package/{interfaces → cjs/interfaces}/user-ratings.interface.js +0 -0
  15. package/cjs/services/creator.service.js +43 -0
  16. package/{services → cjs/services}/movie.service.js +23 -10
  17. package/{services → cjs/services}/search.service.js +18 -7
  18. package/{services → cjs/services}/user-ratings.service.js +36 -25
  19. package/{vars.js → cjs/vars.js} +1 -1
  20. package/esm/fetchers/index.js +32 -0
  21. package/esm/helpers/creator.helper.js +72 -0
  22. package/esm/helpers/global.helper.js +56 -0
  23. package/esm/helpers/movie.helper.js +220 -0
  24. package/esm/helpers/search-user.helper.js +15 -0
  25. package/esm/helpers/search.helper.js +38 -0
  26. package/esm/helpers/user-ratings.helper.js +47 -0
  27. package/esm/index.js +46 -0
  28. package/esm/interfaces/creator.interface.js +1 -0
  29. package/esm/interfaces/global.js +1 -0
  30. package/esm/interfaces/movie.interface.js +1 -0
  31. package/esm/interfaces/search.interface.js +1 -0
  32. package/esm/interfaces/user-ratings.interface.js +1 -0
  33. package/esm/services/creator.service.js +39 -0
  34. package/esm/services/movie.service.js +65 -0
  35. package/esm/services/search.service.js +67 -0
  36. package/esm/services/user-ratings.service.js +91 -0
  37. package/esm/vars.js +4 -0
  38. package/package.json +10 -7
  39. package/{fetchers → types/fetchers}/index.d.ts +0 -0
  40. package/{helpers → types/helpers}/creator.helper.d.ts +0 -0
  41. package/{helpers → types/helpers}/global.helper.d.ts +0 -0
  42. package/{helpers → types/helpers}/movie.helper.d.ts +2 -0
  43. package/{helpers → types/helpers}/search-user.helper.d.ts +0 -0
  44. package/{helpers → types/helpers}/search.helper.d.ts +0 -0
  45. package/{helpers → types/helpers}/user-ratings.helper.d.ts +0 -0
  46. package/{index.d.ts → types/index.d.ts} +0 -0
  47. package/types/index.ts +22 -0
  48. package/{interfaces → types/interfaces}/creator.interface.d.ts +0 -0
  49. package/{interfaces → types/interfaces}/global.d.ts +0 -0
  50. package/{interfaces → types/interfaces}/movie.interface.d.ts +2 -0
  51. package/{interfaces → types/interfaces}/search.interface.d.ts +0 -0
  52. package/{interfaces → types/interfaces}/user-ratings.interface.d.ts +0 -0
  53. package/{services → types/services}/creator.service.d.ts +0 -0
  54. package/{services → types/services}/movie.service.d.ts +0 -0
  55. package/{services → types/services}/search.service.d.ts +0 -0
  56. package/{services → types/services}/user-ratings.service.d.ts +0 -0
  57. package/{vars.d.ts → types/vars.d.ts} +0 -0
  58. package/index.js +0 -33
  59. package/services/creator.service.js +0 -32
package/package.json CHANGED
@@ -1,21 +1,24 @@
1
1
  {
2
2
  "name": "node-csfd-api",
3
- "version": "2.3.1",
3
+ "version": "3.0.0-next.0",
4
4
  "description": "ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)",
5
- "main": "./index.js",
5
+ "main": "./cjs/index.js",
6
6
  "author": "BART! <bart@bartweb.cz>",
7
7
  "scripts": {
8
8
  "start": "tsc -w",
9
9
  "prebuild": "rimraf dist",
10
- "build": "tsc",
11
- "postbuild": "npm-prepare-dist -s postinstall -s prepare",
10
+ "build": "tsc && tsc -p tsconfig-cjs.json && yarn barrels",
11
+ "barrels": "barrelsby --delete -c barrels.json",
12
+ "postbuild": "npm-prepare-dist -s postinstall -s prepare && yarn fix-paths",
12
13
  "tsc": "tsc",
13
14
  "demo": "ts-node demo",
14
15
  "lint": "eslint ./src/**/**/* --fix",
15
16
  "test": "jest",
17
+ "fix-paths": "yarn json -I -f ./dist/package.json -e \"this.module='./esm/index.js';this.main='./cjs/index.js';this.types='./types/index.d.ts'\"",
16
18
  "publish:next": "yarn && yarn build && yarn test --coverage true && npm publish --folder dist --tag beta",
17
19
  "postversion": "git push && git push --follow-tags",
18
20
  "release:beta": "npm version preminor --preid=beta -m \"chore(update): prelease %s β\"",
21
+ "prerelease:beta": "npm version prerelease --preid=beta -m \"chore(update): prelease %s β\"",
19
22
  "release:patch": "git checkout master && npm version patch -m \"chore(update): patch release %s 🐛\"",
20
23
  "release:minor": "git checkout master && npm version minor -m \"chore(update): release %s 🚀\"",
21
24
  "release:major": "git checkout master && npm version major -m \"chore(update): major release %s 💥\""
@@ -49,6 +52,6 @@
49
52
  "node": ">= 12"
50
53
  },
51
54
  "license": "MIT",
52
- "module": "./index.js",
53
- "types": "./index.d.ts"
54
- }
55
+ "module": "./esm/index.js",
56
+ "types": "./types/index.d.ts"
57
+ }
File without changes
File without changes
File without changes
@@ -12,6 +12,8 @@ export declare const getYear: (el: string) => number;
12
12
  export declare const getDuration: (jsonLdRaw: string, el: HTMLElement) => number;
13
13
  export declare const getTitlesOther: (el: HTMLElement) => CSFDTitlesOther[];
14
14
  export declare const getPoster: (el: HTMLElement) => string;
15
+ export declare const getRandomPhoto: (el: HTMLElement) => string;
16
+ export declare const getTrivia: (el: HTMLElement) => string[];
15
17
  export declare const getDescriptions: (el: HTMLElement) => string[];
16
18
  export declare const parsePeople: (el: HTMLElement) => CSFDCreator[];
17
19
  export declare const getGroup: (el: HTMLElement, group: CSFDCreatorGroups) => CSFDCreator[];
File without changes
File without changes
package/types/index.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+
5
+ export * from "./index";
6
+ export * from "./vars";
7
+ export * from "./fetchers/index";
8
+ export * from "./helpers/creator.helper";
9
+ export * from "./helpers/global.helper";
10
+ export * from "./helpers/movie.helper";
11
+ export * from "./helpers/search-user.helper";
12
+ export * from "./helpers/search.helper";
13
+ export * from "./helpers/user-ratings.helper";
14
+ export * from "./interfaces/creator.interface";
15
+ export * from "./interfaces/global";
16
+ export * from "./interfaces/movie.interface";
17
+ export * from "./interfaces/search.interface";
18
+ export * from "./interfaces/user-ratings.interface";
19
+ export * from "./services/creator.service";
20
+ export * from "./services/movie.service";
21
+ export * from "./services/search.service";
22
+ export * from "./services/user-ratings.service";
File without changes
@@ -2,11 +2,13 @@ import { CSFDScreening } from './global';
2
2
  export interface CSFDMovie extends CSFDScreening {
3
3
  rating: number | null;
4
4
  poster: string;
5
+ photo: string;
5
6
  ratingCount: number | null;
6
7
  duration: number | string;
7
8
  titlesOther: CSFDTitlesOther[];
8
9
  origins: string[];
9
10
  descriptions: string[];
11
+ trivia: string[];
10
12
  genres: CSFDGenres[] | string[];
11
13
  creators: CSFDCreators;
12
14
  vod: CSFDVod[];
File without changes
File without changes
File without changes
package/index.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.csfd = exports.Csfd = void 0;
4
- const creator_service_1 = require("./services/creator.service");
5
- const movie_service_1 = require("./services/movie.service");
6
- const search_service_1 = require("./services/search.service");
7
- const user_ratings_service_1 = require("./services/user-ratings.service");
8
- class Csfd {
9
- constructor(userRatingsService, movieService, creatorService, searchService) {
10
- this.userRatingsService = userRatingsService;
11
- this.movieService = movieService;
12
- this.creatorService = creatorService;
13
- this.searchService = searchService;
14
- }
15
- async userRatings(user, config) {
16
- return this.userRatingsService.userRatings(user, config);
17
- }
18
- async movie(movie) {
19
- return this.movieService.movie(+movie);
20
- }
21
- async creator(creator) {
22
- return this.creatorService.creator(+creator);
23
- }
24
- async search(text) {
25
- return this.searchService.search(text);
26
- }
27
- }
28
- exports.Csfd = Csfd;
29
- const movieScraper = new movie_service_1.MovieScraper();
30
- const userRatingsScraper = new user_ratings_service_1.UserRatingsScraper();
31
- const creatorScraper = new creator_service_1.CreatorScraper();
32
- const searchScraper = new search_service_1.SearchScraper();
33
- exports.csfd = new Csfd(userRatingsScraper, movieScraper, creatorScraper, searchScraper);
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreatorScraper = void 0;
4
- const node_html_parser_1 = require("node-html-parser");
5
- const fetchers_1 = require("../fetchers");
6
- const creator_helper_1 = require("../helpers/creator.helper");
7
- const vars_1 = require("../vars");
8
- class CreatorScraper {
9
- async creator(creatorId) {
10
- const url = (0, vars_1.creatorUrl)(+creatorId);
11
- const response = await (0, fetchers_1.fetchPage)(url);
12
- const creatorHtml = (0, node_html_parser_1.parse)(response);
13
- const asideNode = creatorHtml.querySelector('.creator-about');
14
- const filmsNode = creatorHtml.querySelector('.creator-filmography');
15
- this.buildCreator(+creatorId, asideNode, filmsNode);
16
- return this.person;
17
- }
18
- buildCreator(id, asideEl, filmsNode) {
19
- var _a, _b, _c;
20
- this.person = {
21
- id,
22
- name: (0, creator_helper_1.getName)(asideEl),
23
- birthday: (_a = (0, creator_helper_1.getBirthdayInfo)(asideEl)) === null || _a === void 0 ? void 0 : _a.birthday,
24
- birthplace: (_b = (0, creator_helper_1.getBirthdayInfo)(asideEl)) === null || _b === void 0 ? void 0 : _b.birthPlace,
25
- photo: (0, creator_helper_1.getPhoto)(asideEl),
26
- age: ((_c = (0, creator_helper_1.getBirthdayInfo)(asideEl)) === null || _c === void 0 ? void 0 : _c.age) || null,
27
- bio: (0, creator_helper_1.getBio)(asideEl),
28
- films: (0, creator_helper_1.getFilms)(filmsNode)
29
- };
30
- }
31
- }
32
- exports.CreatorScraper = CreatorScraper;