node-csfd-api 5.4.0 → 5.5.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 (135) hide show
  1. package/bin/{export-ratings.mjs → export-ratings.js} +1 -1
  2. package/bin/{mcp-server.mjs → mcp-server.js} +2 -2
  3. package/bin/{server.mjs → server.js} +2 -2
  4. package/{cli.mjs → cli.js} +3 -3
  5. package/dto/{cinema.d.mts → cinema.d.cts} +2 -2
  6. package/dto/{creator.d.mts → creator.d.cts} +2 -2
  7. package/dto/{global.d.mts → global.d.cts} +1 -1
  8. package/dto/{movie.d.mts → movie.d.cts} +2 -2
  9. package/dto/{options.d.mts → options.d.cts} +1 -1
  10. package/dto/{search.d.mts → search.d.cts} +3 -3
  11. package/dto/{user-ratings.d.mts → user-ratings.d.cts} +2 -2
  12. package/dto/{user-reviews.d.mts → user-reviews.d.cts} +2 -2
  13. package/fetchers/{fetch.polyfill.mjs → fetch.polyfill.cjs} +3 -4
  14. package/fetchers/fetch.polyfill.cjs.map +1 -0
  15. package/fetchers/fetch.polyfill.js +2 -3
  16. package/fetchers/fetch.polyfill.js.map +1 -1
  17. package/fetchers/{index.mjs → index.cjs} +4 -4
  18. package/fetchers/index.cjs.map +1 -0
  19. package/fetchers/index.js +3 -3
  20. package/fetchers/index.js.map +1 -1
  21. package/helpers/{cinema.helper.mjs → cinema.helper.cjs} +9 -5
  22. package/helpers/cinema.helper.cjs.map +1 -0
  23. package/helpers/cinema.helper.js +4 -8
  24. package/helpers/cinema.helper.js.map +1 -1
  25. package/helpers/{creator.helper.mjs → creator.helper.cjs} +11 -7
  26. package/helpers/creator.helper.cjs.map +1 -0
  27. package/helpers/creator.helper.js +6 -10
  28. package/helpers/creator.helper.js.map +1 -1
  29. package/helpers/{global.helper.mjs → global.helper.cjs} +10 -2
  30. package/helpers/{global.helper.mjs.map → global.helper.cjs.map} +1 -1
  31. package/helpers/global.helper.js +1 -9
  32. package/helpers/{movie.helper.mjs → movie.helper.cjs} +36 -13
  33. package/helpers/movie.helper.cjs.map +1 -0
  34. package/helpers/movie.helper.js +12 -35
  35. package/helpers/movie.helper.js.map +1 -1
  36. package/helpers/{search-creator.helper.mjs → search-creator.helper.cjs} +6 -4
  37. package/helpers/search-creator.helper.cjs.map +1 -0
  38. package/helpers/search-creator.helper.js +3 -5
  39. package/helpers/search-creator.helper.js.map +1 -1
  40. package/helpers/{search-user.helper.mjs → search-user.helper.cjs} +9 -6
  41. package/helpers/search-user.helper.cjs.map +1 -0
  42. package/helpers/search-user.helper.js +5 -8
  43. package/helpers/search-user.helper.js.map +1 -1
  44. package/helpers/{search.helper.mjs → search.helper.cjs} +14 -7
  45. package/helpers/search.helper.cjs.map +1 -0
  46. package/helpers/search.helper.js +6 -13
  47. package/helpers/search.helper.js.map +1 -1
  48. package/helpers/{user-ratings.helper.mjs → user-ratings.helper.cjs} +14 -7
  49. package/helpers/user-ratings.helper.cjs.map +1 -0
  50. package/helpers/user-ratings.helper.js +6 -13
  51. package/helpers/user-ratings.helper.js.map +1 -1
  52. package/helpers/{user-reviews.helper.mjs → user-reviews.helper.cjs} +16 -7
  53. package/helpers/user-reviews.helper.cjs.map +1 -0
  54. package/helpers/user-reviews.helper.js +6 -15
  55. package/helpers/user-reviews.helper.js.map +1 -1
  56. package/{index.mjs → index.cjs} +16 -13
  57. package/index.cjs.map +1 -0
  58. package/{index.d.mts → index.d.cts} +15 -15
  59. package/index.js +13 -14
  60. package/index.js.map +1 -1
  61. package/{package.mjs → package.js} +1 -1
  62. package/package.json +13 -7
  63. package/services/cinema.service.cjs +31 -0
  64. package/services/cinema.service.cjs.map +1 -0
  65. package/services/{cinema.service.d.mts → cinema.service.d.cts} +3 -3
  66. package/services/cinema.service.js +11 -11
  67. package/services/cinema.service.js.map +1 -1
  68. package/services/creator.service.cjs +32 -0
  69. package/services/creator.service.cjs.map +1 -0
  70. package/services/{creator.service.d.mts → creator.service.d.cts} +3 -3
  71. package/services/creator.service.js +11 -11
  72. package/services/creator.service.js.map +1 -1
  73. package/services/movie.service.cjs +61 -0
  74. package/services/movie.service.cjs.map +1 -0
  75. package/services/{movie.service.d.mts → movie.service.d.cts} +3 -3
  76. package/services/movie.service.js +33 -33
  77. package/services/movie.service.js.map +1 -1
  78. package/services/search.service.cjs +75 -0
  79. package/services/search.service.cjs.map +1 -0
  80. package/services/{search.service.d.mts → search.service.d.cts} +3 -3
  81. package/services/search.service.js +29 -29
  82. package/services/search.service.js.map +1 -1
  83. package/services/{user-ratings.service.mjs → user-ratings.service.cjs} +19 -19
  84. package/services/user-ratings.service.cjs.map +1 -0
  85. package/services/{user-ratings.service.d.mts → user-ratings.service.d.cts} +3 -3
  86. package/services/user-ratings.service.js +18 -18
  87. package/services/user-ratings.service.js.map +1 -1
  88. package/services/{user-reviews.service.mjs → user-reviews.service.cjs} +21 -21
  89. package/services/user-reviews.service.cjs.map +1 -0
  90. package/services/{user-reviews.service.d.mts → user-reviews.service.d.cts} +3 -3
  91. package/services/user-reviews.service.js +20 -20
  92. package/services/user-reviews.service.js.map +1 -1
  93. package/src/fetchers/{fetch.polyfill.mjs → fetch.polyfill.js} +1 -3
  94. package/src/fetchers/{index.mjs → index.js} +1 -1
  95. package/src/helpers/{cinema.helper.mjs → cinema.helper.js} +1 -1
  96. package/src/helpers/{creator.helper.mjs → creator.helper.js} +1 -1
  97. package/src/helpers/{movie.helper.mjs → movie.helper.js} +1 -1
  98. package/src/helpers/{search-creator.helper.mjs → search-creator.helper.js} +1 -1
  99. package/src/helpers/{search-user.helper.mjs → search-user.helper.js} +1 -1
  100. package/src/helpers/{search.helper.mjs → search.helper.js} +1 -1
  101. package/src/helpers/{user-ratings.helper.mjs → user-ratings.helper.js} +1 -1
  102. package/src/helpers/{user-reviews.helper.mjs → user-reviews.helper.js} +1 -1
  103. package/src/{index.mjs → index.js} +7 -6
  104. package/src/services/{cinema.service.mjs → cinema.service.js} +3 -3
  105. package/src/services/{creator.service.mjs → creator.service.js} +3 -3
  106. package/src/services/{movie.service.mjs → movie.service.js} +3 -3
  107. package/src/services/{search.service.mjs → search.service.js} +6 -6
  108. package/src/services/{user-ratings.service.mjs → user-ratings.service.js} +4 -4
  109. package/src/services/{user-reviews.service.mjs → user-reviews.service.js} +4 -4
  110. package/{vars.mjs → vars.cjs} +8 -2
  111. package/{vars.mjs.map → vars.cjs.map} +1 -1
  112. package/vars.js +1 -7
  113. package/fetchers/fetch.polyfill.mjs.map +0 -1
  114. package/fetchers/index.mjs.map +0 -1
  115. package/helpers/cinema.helper.mjs.map +0 -1
  116. package/helpers/creator.helper.mjs.map +0 -1
  117. package/helpers/movie.helper.mjs.map +0 -1
  118. package/helpers/search-creator.helper.mjs.map +0 -1
  119. package/helpers/search-user.helper.mjs.map +0 -1
  120. package/helpers/search.helper.mjs.map +0 -1
  121. package/helpers/user-ratings.helper.mjs.map +0 -1
  122. package/helpers/user-reviews.helper.mjs.map +0 -1
  123. package/index.mjs.map +0 -1
  124. package/services/cinema.service.mjs +0 -31
  125. package/services/cinema.service.mjs.map +0 -1
  126. package/services/creator.service.mjs +0 -32
  127. package/services/creator.service.mjs.map +0 -1
  128. package/services/movie.service.mjs +0 -61
  129. package/services/movie.service.mjs.map +0 -1
  130. package/services/search.service.mjs +0 -75
  131. package/services/search.service.mjs.map +0 -1
  132. package/services/user-ratings.service.mjs.map +0 -1
  133. package/services/user-reviews.service.mjs.map +0 -1
  134. /package/src/helpers/{global.helper.mjs → global.helper.js} +0 -0
  135. /package/src/{vars.mjs → vars.js} +0 -0
@@ -1,15 +1,15 @@
1
- import { fetchPage } from "../fetchers/index.mjs";
2
- import { userRatingsUrl } from "../vars.mjs";
3
- import { sleep } from "../helpers/global.helper.mjs";
4
- import { getUserRating, getUserRatingColorRating, getUserRatingDate, getUserRatingId, getUserRatingTitle, getUserRatingType, getUserRatingUrl, getUserRatingYear } from "../helpers/user-ratings.helper.mjs";
5
- import { parse } from "node-html-parser";
1
+ const require_index = require("../fetchers/index.cjs");
2
+ const require_vars = require("../vars.cjs");
3
+ const require_global_helper = require("../helpers/global.helper.cjs");
4
+ const require_user_ratings_helper = require("../helpers/user-ratings.helper.cjs");
5
+ let node_html_parser = require("node-html-parser");
6
6
  //#region src/services/user-ratings.service.ts
7
7
  var UserRatingsScraper = class {
8
8
  async userRatings(user, config, options) {
9
9
  let allMovies = [];
10
10
  const pageToFetch = config?.page || 1;
11
- const url = userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
- const items = parse(await fetchPage(url, { ...options?.request }));
11
+ const url = require_vars.userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
+ const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...options?.request }));
13
13
  const movies = items.querySelectorAll("#snippet--ratings table tr");
14
14
  const pagesNode = items.querySelector(".pagination");
15
15
  const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
@@ -19,9 +19,9 @@ var UserRatingsScraper = class {
19
19
  console.log("Fetching all pages", pages);
20
20
  for (let i = 2; i <= pages; i++) {
21
21
  console.log("Fetching page", i, "out of", pages, "...");
22
- const movies = parse(await fetchPage(userRatingsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll("#snippet--ratings table tr");
22
+ const movies = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userRatingsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll("#snippet--ratings table tr");
23
23
  allMovies = [...allMovies, ...this.getPage(config, movies)];
24
- if (config.allPagesDelay) await sleep(config.allPagesDelay);
24
+ if (config.allPagesDelay) await require_global_helper.sleep(config.allPagesDelay);
25
25
  }
26
26
  return allMovies;
27
27
  }
@@ -37,7 +37,7 @@ var UserRatingsScraper = class {
37
37
  const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;
38
38
  const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;
39
39
  for (const el of movies) {
40
- const type = getUserRatingType(el);
40
+ const type = require_user_ratings_helper.getUserRatingType(el);
41
41
  if (includesSet) {
42
42
  if (includesSet.has(type)) films.push(this.buildUserRatings(el, type));
43
43
  } else if (excludesSet) {
@@ -48,18 +48,18 @@ var UserRatingsScraper = class {
48
48
  }
49
49
  buildUserRatings(el, type) {
50
50
  return {
51
- id: getUserRatingId(el),
52
- title: getUserRatingTitle(el),
53
- year: getUserRatingYear(el),
51
+ id: require_user_ratings_helper.getUserRatingId(el),
52
+ title: require_user_ratings_helper.getUserRatingTitle(el),
53
+ year: require_user_ratings_helper.getUserRatingYear(el),
54
54
  type,
55
- url: getUserRatingUrl(el),
56
- colorRating: getUserRatingColorRating(el),
57
- userDate: getUserRatingDate(el),
58
- userRating: getUserRating(el)
55
+ url: require_user_ratings_helper.getUserRatingUrl(el),
56
+ colorRating: require_user_ratings_helper.getUserRatingColorRating(el),
57
+ userDate: require_user_ratings_helper.getUserRatingDate(el),
58
+ userRating: require_user_ratings_helper.getUserRating(el)
59
59
  };
60
60
  }
61
61
  };
62
62
  //#endregion
63
- export { UserRatingsScraper };
63
+ exports.UserRatingsScraper = UserRatingsScraper;
64
64
 
65
- //# sourceMappingURL=user-ratings.service.mjs.map
65
+ //# sourceMappingURL=user-ratings.service.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-ratings.service.cjs","names":["userRatingsUrl","fetchPage","sleep","getUserRatingType","getUserRatingId","getUserRatingTitle","getUserRatingYear","getUserRatingUrl","getUserRatingColorRating","getUserRatingDate","getUserRating"],"sources":["../../src/services/user-ratings.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserRatingConfig, CSFDUserRatings } from '../dto/user-ratings';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserRating,\n getUserRatingColorRating,\n getUserRatingDate,\n getUserRatingId,\n getUserRatingTitle,\n getUserRatingType,\n getUserRatingUrl,\n getUserRatingYear\n} from '../helpers/user-ratings.helper';\nimport { CSFDOptions } from '../types';\nimport { userRatingsUrl } from '../vars';\n\nexport class UserRatingsScraper {\n public async userRatings(\n user: string | number,\n config?: CSFDUserRatingConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserRatings[]> {\n let allMovies: CSFDUserRatings[] = [];\n const pageToFetch = config?.page || 1;\n const url = userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allMovies = this.getPage(config, movies);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userRatingsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n allMovies = [...allMovies, ...this.getPage(config, movies)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allMovies;\n }\n\n return allMovies;\n }\n\n private getPage(config: CSFDUserRatingConfig, movies: HTMLElement[]) {\n const films: CSFDUserRatings[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of movies) {\n const type = getUserRatingType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserRatings(el, type));\n }\n }\n return films;\n }\n\n private buildUserRatings(el: HTMLElement, type: CSFDFilmTypes): CSFDUserRatings {\n return {\n id: getUserRatingId(el),\n title: getUserRatingTitle(el),\n year: getUserRatingYear(el),\n type,\n url: getUserRatingUrl(el),\n colorRating: getUserRatingColorRating(el) as CSFDColorRating,\n userDate: getUserRatingDate(el),\n userRating: getUserRating(el) as CSFDStars\n };\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,YAA+B,EAAE;EACrC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAMA,aAAAA,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,SAAA,GAAA,iBAAA,OADW,MAAMC,cAAAA,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,SAAS,MAAM,iBAAiB,6BAA6B;EAGnE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,cAAY,KAAK,QAAQ,QAAQ,OAAO;AAExC,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,UAAA,GAAA,iBAAA,OAHW,MAAMA,cAAAA,UADXD,aAAAA,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACR,iBAAiB,6BAA6B;AACnE,gBAAY,CAAC,GAAG,WAAW,GAAG,KAAK,QAAQ,QAAQ,OAAO,CAAC;AAG3D,QAAI,OAAO,cACT,OAAME,sBAAAA,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA8B,QAAuB;EACnE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,QAAQ;GACvB,MAAM,OAAOC,4BAAAA,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAIC,4BAAAA,gBAAgB,GAAG;GACvB,OAAOC,4BAAAA,mBAAmB,GAAG;GAC7B,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B;GACA,KAAKC,4BAAAA,iBAAiB,GAAG;GACzB,aAAaC,4BAAAA,yBAAyB,GAAG;GACzC,UAAUC,4BAAAA,kBAAkB,GAAG;GAC/B,YAAYC,4BAAAA,cAAc,GAAG;GAC9B"}
@@ -1,5 +1,5 @@
1
- import { CSFDUserRatingConfig, CSFDUserRatings } from "../dto/user-ratings.mjs";
2
- import { CSFDOptions } from "../dto/options.mjs";
1
+ import { CSFDUserRatingConfig, CSFDUserRatings } from "../dto/user-ratings.cjs";
2
+ import { CSFDOptions } from "../dto/options.cjs";
3
3
 
4
4
  //#region src/services/user-ratings.service.d.ts
5
5
  declare class UserRatingsScraper {
@@ -9,4 +9,4 @@ declare class UserRatingsScraper {
9
9
  }
10
10
  //#endregion
11
11
  export { UserRatingsScraper };
12
- //# sourceMappingURL=user-ratings.service.d.mts.map
12
+ //# sourceMappingURL=user-ratings.service.d.cts.map
@@ -1,15 +1,15 @@
1
- const require_index = require("../fetchers/index.js");
2
- const require_vars = require("../vars.js");
3
- const require_global_helper = require("../helpers/global.helper.js");
4
- const require_user_ratings_helper = require("../helpers/user-ratings.helper.js");
5
- let node_html_parser = require("node-html-parser");
1
+ import { fetchPage } from "../fetchers/index.js";
2
+ import { userRatingsUrl } from "../vars.js";
3
+ import { sleep } from "../helpers/global.helper.js";
4
+ import { getUserRating, getUserRatingColorRating, getUserRatingDate, getUserRatingId, getUserRatingTitle, getUserRatingType, getUserRatingUrl, getUserRatingYear } from "../helpers/user-ratings.helper.js";
5
+ import { parse } from "node-html-parser";
6
6
  //#region src/services/user-ratings.service.ts
7
7
  var UserRatingsScraper = class {
8
8
  async userRatings(user, config, options) {
9
9
  let allMovies = [];
10
10
  const pageToFetch = config?.page || 1;
11
- const url = require_vars.userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
- const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...options?.request }));
11
+ const url = userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
+ const items = parse(await fetchPage(url, { ...options?.request }));
13
13
  const movies = items.querySelectorAll("#snippet--ratings table tr");
14
14
  const pagesNode = items.querySelector(".pagination");
15
15
  const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
@@ -19,9 +19,9 @@ var UserRatingsScraper = class {
19
19
  console.log("Fetching all pages", pages);
20
20
  for (let i = 2; i <= pages; i++) {
21
21
  console.log("Fetching page", i, "out of", pages, "...");
22
- const movies = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userRatingsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll("#snippet--ratings table tr");
22
+ const movies = parse(await fetchPage(userRatingsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll("#snippet--ratings table tr");
23
23
  allMovies = [...allMovies, ...this.getPage(config, movies)];
24
- if (config.allPagesDelay) await require_global_helper.sleep(config.allPagesDelay);
24
+ if (config.allPagesDelay) await sleep(config.allPagesDelay);
25
25
  }
26
26
  return allMovies;
27
27
  }
@@ -37,7 +37,7 @@ var UserRatingsScraper = class {
37
37
  const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;
38
38
  const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;
39
39
  for (const el of movies) {
40
- const type = require_user_ratings_helper.getUserRatingType(el);
40
+ const type = getUserRatingType(el);
41
41
  if (includesSet) {
42
42
  if (includesSet.has(type)) films.push(this.buildUserRatings(el, type));
43
43
  } else if (excludesSet) {
@@ -48,18 +48,18 @@ var UserRatingsScraper = class {
48
48
  }
49
49
  buildUserRatings(el, type) {
50
50
  return {
51
- id: require_user_ratings_helper.getUserRatingId(el),
52
- title: require_user_ratings_helper.getUserRatingTitle(el),
53
- year: require_user_ratings_helper.getUserRatingYear(el),
51
+ id: getUserRatingId(el),
52
+ title: getUserRatingTitle(el),
53
+ year: getUserRatingYear(el),
54
54
  type,
55
- url: require_user_ratings_helper.getUserRatingUrl(el),
56
- colorRating: require_user_ratings_helper.getUserRatingColorRating(el),
57
- userDate: require_user_ratings_helper.getUserRatingDate(el),
58
- userRating: require_user_ratings_helper.getUserRating(el)
55
+ url: getUserRatingUrl(el),
56
+ colorRating: getUserRatingColorRating(el),
57
+ userDate: getUserRatingDate(el),
58
+ userRating: getUserRating(el)
59
59
  };
60
60
  }
61
61
  };
62
62
  //#endregion
63
- exports.UserRatingsScraper = UserRatingsScraper;
63
+ export { UserRatingsScraper };
64
64
 
65
65
  //# sourceMappingURL=user-ratings.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-ratings.service.js","names":["userRatingsUrl","fetchPage","sleep","getUserRatingType","getUserRatingId","getUserRatingTitle","getUserRatingYear","getUserRatingUrl","getUserRatingColorRating","getUserRatingDate","getUserRating"],"sources":["../../src/services/user-ratings.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserRatingConfig, CSFDUserRatings } from '../dto/user-ratings';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserRating,\n getUserRatingColorRating,\n getUserRatingDate,\n getUserRatingId,\n getUserRatingTitle,\n getUserRatingType,\n getUserRatingUrl,\n getUserRatingYear\n} from '../helpers/user-ratings.helper';\nimport { CSFDOptions } from '../types';\nimport { userRatingsUrl } from '../vars';\n\nexport class UserRatingsScraper {\n public async userRatings(\n user: string | number,\n config?: CSFDUserRatingConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserRatings[]> {\n let allMovies: CSFDUserRatings[] = [];\n const pageToFetch = config?.page || 1;\n const url = userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allMovies = this.getPage(config, movies);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userRatingsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n allMovies = [...allMovies, ...this.getPage(config, movies)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allMovies;\n }\n\n return allMovies;\n }\n\n private getPage(config: CSFDUserRatingConfig, movies: HTMLElement[]) {\n const films: CSFDUserRatings[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of movies) {\n const type = getUserRatingType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserRatings(el, type));\n }\n }\n return films;\n }\n\n private buildUserRatings(el: HTMLElement, type: CSFDFilmTypes): CSFDUserRatings {\n return {\n id: getUserRatingId(el),\n title: getUserRatingTitle(el),\n year: getUserRatingYear(el),\n type,\n url: getUserRatingUrl(el),\n colorRating: getUserRatingColorRating(el) as CSFDColorRating,\n userDate: getUserRatingDate(el),\n userRating: getUserRating(el) as CSFDStars\n };\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,YAA+B,EAAE;EACrC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAMA,aAAAA,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,SAAA,GAAA,iBAAA,OADW,MAAMC,cAAAA,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,SAAS,MAAM,iBAAiB,6BAA6B;EAGnE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,cAAY,KAAK,QAAQ,QAAQ,OAAO;AAExC,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,UAAA,GAAA,iBAAA,OAHW,MAAMA,cAAAA,UADXD,aAAAA,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACR,iBAAiB,6BAA6B;AACnE,gBAAY,CAAC,GAAG,WAAW,GAAG,KAAK,QAAQ,QAAQ,OAAO,CAAC;AAG3D,QAAI,OAAO,cACT,OAAME,sBAAAA,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA8B,QAAuB;EACnE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,QAAQ;GACvB,MAAM,OAAOC,4BAAAA,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAIC,4BAAAA,gBAAgB,GAAG;GACvB,OAAOC,4BAAAA,mBAAmB,GAAG;GAC7B,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B;GACA,KAAKC,4BAAAA,iBAAiB,GAAG;GACzB,aAAaC,4BAAAA,yBAAyB,GAAG;GACzC,UAAUC,4BAAAA,kBAAkB,GAAG;GAC/B,YAAYC,4BAAAA,cAAc,GAAG;GAC9B"}
1
+ {"version":3,"file":"user-ratings.service.js","names":[],"sources":["../../src/services/user-ratings.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserRatingConfig, CSFDUserRatings } from '../dto/user-ratings';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserRating,\n getUserRatingColorRating,\n getUserRatingDate,\n getUserRatingId,\n getUserRatingTitle,\n getUserRatingType,\n getUserRatingUrl,\n getUserRatingYear\n} from '../helpers/user-ratings.helper';\nimport { CSFDOptions } from '../types';\nimport { userRatingsUrl } from '../vars';\n\nexport class UserRatingsScraper {\n public async userRatings(\n user: string | number,\n config?: CSFDUserRatingConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserRatings[]> {\n let allMovies: CSFDUserRatings[] = [];\n const pageToFetch = config?.page || 1;\n const url = userRatingsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allMovies = this.getPage(config, movies);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userRatingsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const movies = items.querySelectorAll('#snippet--ratings table tr');\n allMovies = [...allMovies, ...this.getPage(config, movies)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allMovies;\n }\n\n return allMovies;\n }\n\n private getPage(config: CSFDUserRatingConfig, movies: HTMLElement[]) {\n const films: CSFDUserRatings[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of movies) {\n const type = getUserRatingType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserRatings(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserRatings(el, type));\n }\n }\n return films;\n }\n\n private buildUserRatings(el: HTMLElement, type: CSFDFilmTypes): CSFDUserRatings {\n return {\n id: getUserRatingId(el),\n title: getUserRatingTitle(el),\n year: getUserRatingYear(el),\n type,\n url: getUserRatingUrl(el),\n colorRating: getUserRatingColorRating(el) as CSFDColorRating,\n userDate: getUserRatingDate(el),\n userRating: getUserRating(el) as CSFDStars\n };\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,YAA+B,EAAE;EACrC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAM,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,QAAQ,MADG,MAAM,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,SAAS,MAAM,iBAAiB,6BAA6B;EAGnE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,cAAY,KAAK,QAAQ,QAAQ,OAAO;AAExC,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,SADQ,MAFG,MAAM,UADX,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACR,iBAAiB,6BAA6B;AACnE,gBAAY,CAAC,GAAG,WAAW,GAAG,KAAK,QAAQ,QAAQ,OAAO,CAAC;AAG3D,QAAI,OAAO,cACT,OAAM,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA8B,QAAuB;EACnE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,QAAQ;GACvB,MAAM,OAAO,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAI,gBAAgB,GAAG;GACvB,OAAO,mBAAmB,GAAG;GAC7B,MAAM,kBAAkB,GAAG;GAC3B;GACA,KAAK,iBAAiB,GAAG;GACzB,aAAa,yBAAyB,GAAG;GACzC,UAAU,kBAAkB,GAAG;GAC/B,YAAY,cAAc,GAAG;GAC9B"}
@@ -1,15 +1,15 @@
1
- import { fetchPage } from "../fetchers/index.mjs";
2
- import { userReviewsUrl } from "../vars.mjs";
3
- import { sleep } from "../helpers/global.helper.mjs";
4
- import { getUserReviewColorRating, getUserReviewDate, getUserReviewId, getUserReviewPoster, getUserReviewRating, getUserReviewText, getUserReviewTitle, getUserReviewType, getUserReviewUrl, getUserReviewYear } from "../helpers/user-reviews.helper.mjs";
5
- import { parse } from "node-html-parser";
1
+ const require_index = require("../fetchers/index.cjs");
2
+ const require_vars = require("../vars.cjs");
3
+ const require_global_helper = require("../helpers/global.helper.cjs");
4
+ const require_user_reviews_helper = require("../helpers/user-reviews.helper.cjs");
5
+ let node_html_parser = require("node-html-parser");
6
6
  //#region src/services/user-reviews.service.ts
7
7
  var UserReviewsScraper = class {
8
8
  async userReviews(user, config, options) {
9
9
  let allReviews = [];
10
10
  const pageToFetch = config?.page || 1;
11
- const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
- const items = parse(await fetchPage(url, { ...options?.request }));
11
+ const url = require_vars.userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
+ const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...options?.request }));
13
13
  const reviews = items.querySelectorAll(".user-tab-reviews .article");
14
14
  const pagesNode = items.querySelector(".pagination");
15
15
  const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
@@ -19,9 +19,9 @@ var UserReviewsScraper = class {
19
19
  console.log("Fetching all pages", pages);
20
20
  for (let i = 2; i <= pages; i++) {
21
21
  console.log("Fetching page", i, "out of", pages, "...");
22
- const reviews = parse(await fetchPage(userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-tab-reviews .article");
22
+ const reviews = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-tab-reviews .article");
23
23
  allReviews = [...allReviews, ...this.getPage(config, reviews)];
24
- if (config.allPagesDelay) await sleep(config.allPagesDelay);
24
+ if (config.allPagesDelay) await require_global_helper.sleep(config.allPagesDelay);
25
25
  }
26
26
  return allReviews;
27
27
  }
@@ -37,7 +37,7 @@ var UserReviewsScraper = class {
37
37
  const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;
38
38
  const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;
39
39
  for (const el of reviews) {
40
- const type = getUserReviewType(el);
40
+ const type = require_user_reviews_helper.getUserReviewType(el);
41
41
  if (includesSet) {
42
42
  if (includesSet.has(type)) films.push(this.buildUserReviews(el, type));
43
43
  } else if (excludesSet) {
@@ -48,20 +48,20 @@ var UserReviewsScraper = class {
48
48
  }
49
49
  buildUserReviews(el, type) {
50
50
  return {
51
- id: getUserReviewId(el),
52
- title: getUserReviewTitle(el),
53
- year: getUserReviewYear(el),
51
+ id: require_user_reviews_helper.getUserReviewId(el),
52
+ title: require_user_reviews_helper.getUserReviewTitle(el),
53
+ year: require_user_reviews_helper.getUserReviewYear(el),
54
54
  type,
55
- url: getUserReviewUrl(el),
56
- colorRating: getUserReviewColorRating(el),
57
- userDate: getUserReviewDate(el),
58
- userRating: getUserReviewRating(el),
59
- text: getUserReviewText(el),
60
- poster: getUserReviewPoster(el)
55
+ url: require_user_reviews_helper.getUserReviewUrl(el),
56
+ colorRating: require_user_reviews_helper.getUserReviewColorRating(el),
57
+ userDate: require_user_reviews_helper.getUserReviewDate(el),
58
+ userRating: require_user_reviews_helper.getUserReviewRating(el),
59
+ text: require_user_reviews_helper.getUserReviewText(el),
60
+ poster: require_user_reviews_helper.getUserReviewPoster(el)
61
61
  };
62
62
  }
63
63
  };
64
64
  //#endregion
65
- export { UserReviewsScraper };
65
+ exports.UserReviewsScraper = UserReviewsScraper;
66
66
 
67
- //# sourceMappingURL=user-reviews.service.mjs.map
67
+ //# sourceMappingURL=user-reviews.service.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-reviews.service.cjs","names":["userReviewsUrl","fetchPage","sleep","getUserReviewType","getUserReviewId","getUserReviewTitle","getUserReviewYear","getUserReviewUrl","getUserReviewColorRating","getUserReviewDate","getUserReviewRating","getUserReviewText","getUserReviewPoster"],"sources":["../../src/services/user-reviews.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserReviews, CSFDUserReviewsConfig } from '../dto/user-reviews';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserReviewColorRating,\n getUserReviewDate,\n getUserReviewId,\n getUserReviewPoster,\n getUserReviewRating,\n getUserReviewText,\n getUserReviewTitle,\n getUserReviewType,\n getUserReviewUrl,\n getUserReviewYear\n} from '../helpers/user-reviews.helper';\nimport { CSFDOptions } from '../types';\nimport { userReviewsUrl } from '../vars';\n\nexport class UserReviewsScraper {\n public async userReviews(\n user: string | number,\n config?: CSFDUserReviewsConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserReviews[]> {\n let allReviews: CSFDUserReviews[] = [];\n const pageToFetch = config?.page || 1;\n const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allReviews = this.getPage(config, reviews);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userReviewsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n allReviews = [...allReviews, ...this.getPage(config, reviews)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allReviews;\n }\n\n return allReviews;\n }\n\n private getPage(config: CSFDUserReviewsConfig, reviews: HTMLElement[]) {\n const films: CSFDUserReviews[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of reviews) {\n const type = getUserReviewType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserReviews(el, type));\n }\n }\n return films;\n }\n\n private buildUserReviews(el: HTMLElement, type: CSFDFilmTypes): CSFDUserReviews {\n return {\n id: getUserReviewId(el),\n title: getUserReviewTitle(el),\n year: getUserReviewYear(el),\n type,\n url: getUserReviewUrl(el),\n colorRating: getUserReviewColorRating(el) as CSFDColorRating,\n userDate: getUserReviewDate(el),\n userRating: getUserReviewRating(el) as CSFDStars,\n text: getUserReviewText(el),\n poster: getUserReviewPoster(el)\n };\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,aAAgC,EAAE;EACtC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAMA,aAAAA,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,SAAA,GAAA,iBAAA,OADW,MAAMC,cAAAA,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,UAAU,MAAM,iBAAiB,6BAA6B;EAGpE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,eAAa,KAAK,QAAQ,QAAQ,QAAQ;AAE1C,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,WAAA,GAAA,iBAAA,OAHW,MAAMA,cAAAA,UADXD,aAAAA,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACP,iBAAiB,6BAA6B;AACpE,iBAAa,CAAC,GAAG,YAAY,GAAG,KAAK,QAAQ,QAAQ,QAAQ,CAAC;AAG9D,QAAI,OAAO,cACT,OAAME,sBAAAA,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA+B,SAAwB;EACrE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,SAAS;GACxB,MAAM,OAAOC,4BAAAA,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAIC,4BAAAA,gBAAgB,GAAG;GACvB,OAAOC,4BAAAA,mBAAmB,GAAG;GAC7B,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B;GACA,KAAKC,4BAAAA,iBAAiB,GAAG;GACzB,aAAaC,4BAAAA,yBAAyB,GAAG;GACzC,UAAUC,4BAAAA,kBAAkB,GAAG;GAC/B,YAAYC,4BAAAA,oBAAoB,GAAG;GACnC,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B,QAAQC,4BAAAA,oBAAoB,GAAG;GAChC"}
@@ -1,5 +1,5 @@
1
- import { CSFDUserReviews, CSFDUserReviewsConfig } from "../dto/user-reviews.mjs";
2
- import { CSFDOptions } from "../dto/options.mjs";
1
+ import { CSFDUserReviews, CSFDUserReviewsConfig } from "../dto/user-reviews.cjs";
2
+ import { CSFDOptions } from "../dto/options.cjs";
3
3
 
4
4
  //#region src/services/user-reviews.service.d.ts
5
5
  declare class UserReviewsScraper {
@@ -9,4 +9,4 @@ declare class UserReviewsScraper {
9
9
  }
10
10
  //#endregion
11
11
  export { UserReviewsScraper };
12
- //# sourceMappingURL=user-reviews.service.d.mts.map
12
+ //# sourceMappingURL=user-reviews.service.d.cts.map
@@ -1,15 +1,15 @@
1
- const require_index = require("../fetchers/index.js");
2
- const require_vars = require("../vars.js");
3
- const require_global_helper = require("../helpers/global.helper.js");
4
- const require_user_reviews_helper = require("../helpers/user-reviews.helper.js");
5
- let node_html_parser = require("node-html-parser");
1
+ import { fetchPage } from "../fetchers/index.js";
2
+ import { userReviewsUrl } from "../vars.js";
3
+ import { sleep } from "../helpers/global.helper.js";
4
+ import { getUserReviewColorRating, getUserReviewDate, getUserReviewId, getUserReviewPoster, getUserReviewRating, getUserReviewText, getUserReviewTitle, getUserReviewType, getUserReviewUrl, getUserReviewYear } from "../helpers/user-reviews.helper.js";
5
+ import { parse } from "node-html-parser";
6
6
  //#region src/services/user-reviews.service.ts
7
7
  var UserReviewsScraper = class {
8
8
  async userReviews(user, config, options) {
9
9
  let allReviews = [];
10
10
  const pageToFetch = config?.page || 1;
11
- const url = require_vars.userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
- const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...options?.request }));
11
+ const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
12
+ const items = parse(await fetchPage(url, { ...options?.request }));
13
13
  const reviews = items.querySelectorAll(".user-tab-reviews .article");
14
14
  const pagesNode = items.querySelector(".pagination");
15
15
  const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
@@ -19,9 +19,9 @@ var UserReviewsScraper = class {
19
19
  console.log("Fetching all pages", pages);
20
20
  for (let i = 2; i <= pages; i++) {
21
21
  console.log("Fetching page", i, "out of", pages, "...");
22
- const reviews = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-tab-reviews .article");
22
+ const reviews = parse(await fetchPage(userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-tab-reviews .article");
23
23
  allReviews = [...allReviews, ...this.getPage(config, reviews)];
24
- if (config.allPagesDelay) await require_global_helper.sleep(config.allPagesDelay);
24
+ if (config.allPagesDelay) await sleep(config.allPagesDelay);
25
25
  }
26
26
  return allReviews;
27
27
  }
@@ -37,7 +37,7 @@ var UserReviewsScraper = class {
37
37
  const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;
38
38
  const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;
39
39
  for (const el of reviews) {
40
- const type = require_user_reviews_helper.getUserReviewType(el);
40
+ const type = getUserReviewType(el);
41
41
  if (includesSet) {
42
42
  if (includesSet.has(type)) films.push(this.buildUserReviews(el, type));
43
43
  } else if (excludesSet) {
@@ -48,20 +48,20 @@ var UserReviewsScraper = class {
48
48
  }
49
49
  buildUserReviews(el, type) {
50
50
  return {
51
- id: require_user_reviews_helper.getUserReviewId(el),
52
- title: require_user_reviews_helper.getUserReviewTitle(el),
53
- year: require_user_reviews_helper.getUserReviewYear(el),
51
+ id: getUserReviewId(el),
52
+ title: getUserReviewTitle(el),
53
+ year: getUserReviewYear(el),
54
54
  type,
55
- url: require_user_reviews_helper.getUserReviewUrl(el),
56
- colorRating: require_user_reviews_helper.getUserReviewColorRating(el),
57
- userDate: require_user_reviews_helper.getUserReviewDate(el),
58
- userRating: require_user_reviews_helper.getUserReviewRating(el),
59
- text: require_user_reviews_helper.getUserReviewText(el),
60
- poster: require_user_reviews_helper.getUserReviewPoster(el)
55
+ url: getUserReviewUrl(el),
56
+ colorRating: getUserReviewColorRating(el),
57
+ userDate: getUserReviewDate(el),
58
+ userRating: getUserReviewRating(el),
59
+ text: getUserReviewText(el),
60
+ poster: getUserReviewPoster(el)
61
61
  };
62
62
  }
63
63
  };
64
64
  //#endregion
65
- exports.UserReviewsScraper = UserReviewsScraper;
65
+ export { UserReviewsScraper };
66
66
 
67
67
  //# sourceMappingURL=user-reviews.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-reviews.service.js","names":["userReviewsUrl","fetchPage","sleep","getUserReviewType","getUserReviewId","getUserReviewTitle","getUserReviewYear","getUserReviewUrl","getUserReviewColorRating","getUserReviewDate","getUserReviewRating","getUserReviewText","getUserReviewPoster"],"sources":["../../src/services/user-reviews.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserReviews, CSFDUserReviewsConfig } from '../dto/user-reviews';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserReviewColorRating,\n getUserReviewDate,\n getUserReviewId,\n getUserReviewPoster,\n getUserReviewRating,\n getUserReviewText,\n getUserReviewTitle,\n getUserReviewType,\n getUserReviewUrl,\n getUserReviewYear\n} from '../helpers/user-reviews.helper';\nimport { CSFDOptions } from '../types';\nimport { userReviewsUrl } from '../vars';\n\nexport class UserReviewsScraper {\n public async userReviews(\n user: string | number,\n config?: CSFDUserReviewsConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserReviews[]> {\n let allReviews: CSFDUserReviews[] = [];\n const pageToFetch = config?.page || 1;\n const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allReviews = this.getPage(config, reviews);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userReviewsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n allReviews = [...allReviews, ...this.getPage(config, reviews)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allReviews;\n }\n\n return allReviews;\n }\n\n private getPage(config: CSFDUserReviewsConfig, reviews: HTMLElement[]) {\n const films: CSFDUserReviews[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of reviews) {\n const type = getUserReviewType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserReviews(el, type));\n }\n }\n return films;\n }\n\n private buildUserReviews(el: HTMLElement, type: CSFDFilmTypes): CSFDUserReviews {\n return {\n id: getUserReviewId(el),\n title: getUserReviewTitle(el),\n year: getUserReviewYear(el),\n type,\n url: getUserReviewUrl(el),\n colorRating: getUserReviewColorRating(el) as CSFDColorRating,\n userDate: getUserReviewDate(el),\n userRating: getUserReviewRating(el) as CSFDStars,\n text: getUserReviewText(el),\n poster: getUserReviewPoster(el)\n };\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,aAAgC,EAAE;EACtC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAMA,aAAAA,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,SAAA,GAAA,iBAAA,OADW,MAAMC,cAAAA,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,UAAU,MAAM,iBAAiB,6BAA6B;EAGpE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,eAAa,KAAK,QAAQ,QAAQ,QAAQ;AAE1C,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,WAAA,GAAA,iBAAA,OAHW,MAAMA,cAAAA,UADXD,aAAAA,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACP,iBAAiB,6BAA6B;AACpE,iBAAa,CAAC,GAAG,YAAY,GAAG,KAAK,QAAQ,QAAQ,QAAQ,CAAC;AAG9D,QAAI,OAAO,cACT,OAAME,sBAAAA,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA+B,SAAwB;EACrE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,SAAS;GACxB,MAAM,OAAOC,4BAAAA,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAIC,4BAAAA,gBAAgB,GAAG;GACvB,OAAOC,4BAAAA,mBAAmB,GAAG;GAC7B,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B;GACA,KAAKC,4BAAAA,iBAAiB,GAAG;GACzB,aAAaC,4BAAAA,yBAAyB,GAAG;GACzC,UAAUC,4BAAAA,kBAAkB,GAAG;GAC/B,YAAYC,4BAAAA,oBAAoB,GAAG;GACnC,MAAMC,4BAAAA,kBAAkB,GAAG;GAC3B,QAAQC,4BAAAA,oBAAoB,GAAG;GAChC"}
1
+ {"version":3,"file":"user-reviews.service.js","names":[],"sources":["../../src/services/user-reviews.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, CSFDFilmTypes, CSFDStars } from '../dto/global';\nimport { CSFDUserReviews, CSFDUserReviewsConfig } from '../dto/user-reviews';\nimport { fetchPage } from '../fetchers';\nimport { sleep } from '../helpers/global.helper';\nimport {\n getUserReviewColorRating,\n getUserReviewDate,\n getUserReviewId,\n getUserReviewPoster,\n getUserReviewRating,\n getUserReviewText,\n getUserReviewTitle,\n getUserReviewType,\n getUserReviewUrl,\n getUserReviewYear\n} from '../helpers/user-reviews.helper';\nimport { CSFDOptions } from '../types';\nimport { userReviewsUrl } from '../vars';\n\nexport class UserReviewsScraper {\n public async userReviews(\n user: string | number,\n config?: CSFDUserReviewsConfig,\n options?: CSFDOptions\n ): Promise<CSFDUserReviews[]> {\n let allReviews: CSFDUserReviews[] = [];\n const pageToFetch = config?.page || 1;\n const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : undefined, {\n language: options?.language\n });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n\n // Get number of pages\n const pagesNode = items.querySelector('.pagination');\n const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;\n\n allReviews = this.getPage(config, reviews);\n\n if (config?.allPages) {\n console.log('User', user, url);\n console.log('Fetching all pages', pages);\n for (let i = 2; i <= pages; i++) {\n console.log('Fetching page', i, 'out of', pages, '...');\n const url = userReviewsUrl(user, i, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-tab-reviews .article');\n allReviews = [...allReviews, ...this.getPage(config, reviews)];\n\n // Sleep\n if (config.allPagesDelay) {\n await sleep(config.allPagesDelay);\n }\n }\n return allReviews;\n }\n\n return allReviews;\n }\n\n private getPage(config: CSFDUserReviewsConfig, reviews: HTMLElement[]) {\n const films: CSFDUserReviews[] = [];\n if (config) {\n if (config.includesOnly?.length && config.excludes?.length) {\n console.warn(\n `node-csfd-api:\n You can not use both parameters 'includesOnly' and 'excludes'.\n Parameter 'includesOnly' will be used now:`,\n config.includesOnly\n );\n }\n }\n\n const includesSet = config?.includesOnly?.length ? new Set(config.includesOnly) : null;\n const excludesSet = config?.excludes?.length ? new Set(config.excludes) : null;\n\n for (const el of reviews) {\n const type = getUserReviewType(el);\n\n // Filtering includesOnly\n if (includesSet) {\n if (includesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n // Filter excludes\n } else if (excludesSet) {\n if (!excludesSet.has(type)) {\n films.push(this.buildUserReviews(el, type));\n }\n } else {\n // Without filtering\n films.push(this.buildUserReviews(el, type));\n }\n }\n return films;\n }\n\n private buildUserReviews(el: HTMLElement, type: CSFDFilmTypes): CSFDUserReviews {\n return {\n id: getUserReviewId(el),\n title: getUserReviewTitle(el),\n year: getUserReviewYear(el),\n type,\n url: getUserReviewUrl(el),\n colorRating: getUserReviewColorRating(el) as CSFDColorRating,\n userDate: getUserReviewDate(el),\n userRating: getUserReviewRating(el) as CSFDStars,\n text: getUserReviewText(el),\n poster: getUserReviewPoster(el)\n };\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAa,qBAAb,MAAgC;CAC9B,MAAa,YACX,MACA,QACA,SAC4B;EAC5B,IAAI,aAAgC,EAAE;EACtC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAM,eAAe,MAAM,cAAc,IAAI,cAAc,KAAA,GAAW,EAC1E,UAAU,SAAS,UACpB,CAAC;EAEF,MAAM,QAAQ,MADG,MAAM,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,UAAU,MAAM,iBAAiB,6BAA6B;EAGpE,MAAM,YAAY,MAAM,cAAc,cAAc;EACpD,MAAM,QAAQ,CAAC,WAAW,WAAW,UAAU,WAAW,SAAS,GAAG,WAAW;AAEjF,eAAa,KAAK,QAAQ,QAAQ,QAAQ;AAE1C,MAAI,QAAQ,UAAU;AACpB,WAAQ,IAAI,QAAQ,MAAM,IAAI;AAC9B,WAAQ,IAAI,sBAAsB,MAAM;AACxC,QAAK,IAAI,IAAI,GAAG,KAAK,OAAO,KAAK;AAC/B,YAAQ,IAAI,iBAAiB,GAAG,UAAU,OAAO,MAAM;IAKvD,MAAM,UADQ,MAFG,MAAM,UADX,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACP,iBAAiB,6BAA6B;AACpE,iBAAa,CAAC,GAAG,YAAY,GAAG,KAAK,QAAQ,QAAQ,QAAQ,CAAC;AAG9D,QAAI,OAAO,cACT,OAAM,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,QAAgB,QAA+B,SAAwB;EACrE,MAAM,QAA2B,EAAE;AACnC,MAAI;OACE,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;EAIL,MAAM,cAAc,QAAQ,cAAc,SAAS,IAAI,IAAI,OAAO,aAAa,GAAG;EAClF,MAAM,cAAc,QAAQ,UAAU,SAAS,IAAI,IAAI,OAAO,SAAS,GAAG;AAE1E,OAAK,MAAM,MAAM,SAAS;GACxB,MAAM,OAAO,kBAAkB,GAAG;AAGlC,OAAI;QACE,YAAY,IAAI,KAAK,CACvB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;cAGpC;QACL,CAAC,YAAY,IAAI,KAAK,CACxB,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;SAI7C,OAAM,KAAK,KAAK,iBAAiB,IAAI,KAAK,CAAC;;AAG/C,SAAO;;CAGT,iBAAyB,IAAiB,MAAsC;AAC9E,SAAO;GACL,IAAI,gBAAgB,GAAG;GACvB,OAAO,mBAAmB,GAAG;GAC7B,MAAM,kBAAkB,GAAG;GAC3B;GACA,KAAK,iBAAiB,GAAG;GACzB,aAAa,yBAAyB,GAAG;GACzC,UAAU,kBAAkB,GAAG;GAC/B,YAAY,oBAAoB,GAAG;GACnC,MAAM,kBAAkB,GAAG;GAC3B,QAAQ,oBAAoB,GAAG;GAChC"}
@@ -1,8 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { fetch as fetch$1 } from "cross-fetch";
3
-
4
2
  //#region src/fetchers/fetch.polyfill.ts
5
- const fetchSafe = typeof fetch === "function" && fetch || typeof global === "object" && global.fetch || typeof window !== "undefined" && window.fetch || fetch$1;
3
+ const fetchSafe = typeof fetch === "function" && fetch || typeof global === "object" && global.fetch || typeof window !== "undefined" && window.fetch;
6
4
 
7
5
  //#endregion
8
6
  export { fetchSafe };
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { fetchSafe } from "./fetch.polyfill.mjs";
2
+ import { fetchSafe } from "./fetch.polyfill.js";
3
3
 
4
4
  //#region src/fetchers/index.ts
5
5
  const browserProfiles = [
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { parseColor, parseIdFromUrl } from "./global.helper.mjs";
2
+ import { parseColor, parseIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/cinema.helper.ts
5
5
  const getCinemaColorRating = (el) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { addProtocol, parseColor, parseDate, parseIdFromUrl } from "./global.helper.mjs";
2
+ import { addProtocol, parseColor, parseDate, parseIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/creator.helper.ts
5
5
  const getCreatorColorRating = (el) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { addProtocol, getColor, parseDate, parseFilmType, parseISO8601Duration, parseIdFromUrl, parseLastIdFromUrl } from "./global.helper.mjs";
2
+ import { addProtocol, getColor, parseDate, parseFilmType, parseISO8601Duration, parseIdFromUrl, parseLastIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/movie.helper.ts
5
5
  const CREATOR_LABELS = {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { addProtocol } from "./global.helper.mjs";
2
+ import { addProtocol } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/search-creator.helper.ts
5
5
  const getCreatorName = (el) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { addProtocol } from "./global.helper.mjs";
2
+ import { addProtocol } from "./global.helper.js";
3
3
  import { NodeType } from "node-html-parser";
4
4
 
5
5
  //#region src/helpers/search-user.helper.ts
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { addProtocol, parseColor, parseFilmType, parseIdFromUrl } from "./global.helper.mjs";
2
+ import { addProtocol, parseColor, parseFilmType, parseIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/search.helper.ts
5
5
  const getSearchType = (el) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { parseColor, parseDate, parseFilmType, parseIdFromUrl } from "./global.helper.mjs";
2
+ import { parseColor, parseDate, parseFilmType, parseIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/user-ratings.helper.ts
5
5
  const getUserRatingId = (el) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { parseColor, parseDate, parseFilmType, parseIdFromUrl } from "./global.helper.mjs";
2
+ import { parseColor, parseDate, parseFilmType, parseIdFromUrl } from "./global.helper.js";
3
3
 
4
4
  //#region src/helpers/user-reviews.helper.ts
5
5
  const getUserReviewId = (el) => {
@@ -1,13 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import { CinemaScraper } from "./services/cinema.service.mjs";
3
- import { CreatorScraper } from "./services/creator.service.mjs";
4
- import { MovieScraper } from "./services/movie.service.mjs";
5
- import { SearchScraper } from "./services/search.service.mjs";
6
- import { UserRatingsScraper } from "./services/user-ratings.service.mjs";
7
- import { UserReviewsScraper } from "./services/user-reviews.service.mjs";
2
+ import { CinemaScraper } from "./services/cinema.service.js";
3
+ import { CreatorScraper } from "./services/creator.service.js";
4
+ import { MovieScraper } from "./services/movie.service.js";
5
+ import { SearchScraper } from "./services/search.service.js";
6
+ import { UserRatingsScraper } from "./services/user-ratings.service.js";
7
+ import { UserReviewsScraper } from "./services/user-reviews.service.js";
8
8
 
9
9
  //#region src/index.ts
10
10
  var Csfd = class {
11
+ defaultOptions;
11
12
  constructor(userRatingsService, userReviewsService, movieService, creatorService, searchService, cinemaService, defaultOptions) {
12
13
  this.userRatingsService = userRatingsService;
13
14
  this.userReviewsService = userReviewsService;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { fetchPage } from "../fetchers/index.mjs";
3
- import { cinemasUrl } from "../vars.mjs";
4
- import { getCinemaCoords, getCinemaId, getCinemaUrl, getGroupedFilmsByDate, parseCinema } from "../helpers/cinema.helper.mjs";
2
+ import { fetchPage } from "../fetchers/index.js";
3
+ import { cinemasUrl } from "../vars.js";
4
+ import { getCinemaCoords, getCinemaId, getCinemaUrl, getGroupedFilmsByDate, parseCinema } from "../helpers/cinema.helper.js";
5
5
  import { parse } from "node-html-parser";
6
6
 
7
7
  //#region src/services/cinema.service.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { fetchPage } from "../fetchers/index.mjs";
3
- import { creatorUrl } from "../vars.mjs";
4
- import { getCreatorBio, getCreatorBirthdayInfo, getCreatorFilms, getCreatorName, getCreatorPhoto } from "../helpers/creator.helper.mjs";
2
+ import { fetchPage } from "../fetchers/index.js";
3
+ import { creatorUrl } from "../vars.js";
4
+ import { getCreatorBio, getCreatorBirthdayInfo, getCreatorFilms, getCreatorName, getCreatorPhoto } from "../helpers/creator.helper.js";
5
5
  import { parse } from "node-html-parser";
6
6
 
7
7
  //#region src/services/creator.service.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { fetchPage } from "../fetchers/index.mjs";
3
- import { movieUrl } from "../vars.mjs";
4
- import { detectSeasonOrEpisodeListType, getEpisodeCode, getMovieBoxMovies, getMovieColorRating, getMovieCreators, getMovieDescriptions, getMovieDuration, getMovieGenres, getMovieOrigins, getMoviePoster, getMoviePremieres, getMovieRandomPhoto, getMovieRating, getMovieRatingCount, getMovieTags, getMovieTitle, getMovieTitlesOther, getMovieTrivia, getMovieType, getMovieVods, getMovieYear, getSeasonOrEpisodeParent, getSeasonsOrEpisodes, getSeriesAndSeasonTitle } from "../helpers/movie.helper.mjs";
2
+ import { fetchPage } from "../fetchers/index.js";
3
+ import { movieUrl } from "../vars.js";
4
+ import { detectSeasonOrEpisodeListType, getEpisodeCode, getMovieBoxMovies, getMovieColorRating, getMovieCreators, getMovieDescriptions, getMovieDuration, getMovieGenres, getMovieOrigins, getMoviePoster, getMoviePremieres, getMovieRandomPhoto, getMovieRating, getMovieRatingCount, getMovieTags, getMovieTitle, getMovieTitlesOther, getMovieTrivia, getMovieType, getMovieVods, getMovieYear, getSeasonOrEpisodeParent, getSeasonsOrEpisodes, getSeriesAndSeasonTitle } from "../helpers/movie.helper.js";
5
5
  import { parse } from "node-html-parser";
6
6
 
7
7
  //#region src/services/movie.service.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { fetchPage } from "../fetchers/index.mjs";
3
- import { getUrlByLanguage, searchUrl } from "../vars.mjs";
4
- import { parseIdFromUrl } from "../helpers/global.helper.mjs";
5
- import { getCreatorImage, getCreatorName, getCreatorUrl } from "../helpers/search-creator.helper.mjs";
6
- import { getAvatar, getUser, getUserRealName, getUserUrl } from "../helpers/search-user.helper.mjs";
7
- import { getSearchColorRating, getSearchOrigins, getSearchPoster, getSearchTitle, getSearchType, getSearchUrl, getSearchYear, parseSearchPeople } from "../helpers/search.helper.mjs";
2
+ import { fetchPage } from "../fetchers/index.js";
3
+ import { getUrlByLanguage, searchUrl } from "../vars.js";
4
+ import { parseIdFromUrl } from "../helpers/global.helper.js";
5
+ import { getCreatorImage, getCreatorName, getCreatorUrl } from "../helpers/search-creator.helper.js";
6
+ import { getAvatar, getUser, getUserRealName, getUserUrl } from "../helpers/search-user.helper.js";
7
+ import { getSearchColorRating, getSearchOrigins, getSearchPoster, getSearchTitle, getSearchType, getSearchUrl, getSearchYear, parseSearchPeople } from "../helpers/search.helper.js";
8
8
  import { parse } from "node-html-parser";
9
9
 
10
10
  //#region src/services/search.service.ts
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { fetchPage } from "../fetchers/index.mjs";
3
- import { userRatingsUrl } from "../vars.mjs";
4
- import { sleep } from "../helpers/global.helper.mjs";
5
- import { getUserRating, getUserRatingColorRating, getUserRatingDate, getUserRatingId, getUserRatingTitle, getUserRatingType, getUserRatingUrl, getUserRatingYear } from "../helpers/user-ratings.helper.mjs";
2
+ import { fetchPage } from "../fetchers/index.js";
3
+ import { userRatingsUrl } from "../vars.js";
4
+ import { sleep } from "../helpers/global.helper.js";
5
+ import { getUserRating, getUserRatingColorRating, getUserRatingDate, getUserRatingId, getUserRatingTitle, getUserRatingType, getUserRatingUrl, getUserRatingYear } from "../helpers/user-ratings.helper.js";
6
6
  import { parse } from "node-html-parser";
7
7
 
8
8
  //#region src/services/user-ratings.service.ts