node-csfd-api 3.3.0 → 4.0.0-next.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/README.md +317 -209
- package/dto/movie.d.mts +4 -2
- package/dto/movie.d.ts +4 -2
- package/dto/options.d.mts +9 -0
- package/dto/options.d.ts +9 -0
- package/dto/user-ratings.d.mts +2 -2
- package/dto/user-ratings.d.ts +2 -2
- package/fetchers/fetch.polyfill.js +0 -2
- package/fetchers/fetch.polyfill.js.map +1 -1
- package/fetchers/index.js +1 -1
- package/fetchers/index.js.map +1 -1
- package/fetchers/index.mjs +1 -1
- package/fetchers/index.mjs.map +1 -1
- package/helpers/cinema.helper.js.map +1 -1
- package/helpers/cinema.helper.mjs.map +1 -1
- package/helpers/creator.helper.js.map +1 -1
- package/helpers/creator.helper.mjs.map +1 -1
- package/helpers/global.helper.js.map +1 -1
- package/helpers/global.helper.mjs.map +1 -1
- package/helpers/movie.helper.js +57 -0
- package/helpers/movie.helper.js.map +1 -1
- package/helpers/movie.helper.mjs +57 -1
- package/helpers/movie.helper.mjs.map +1 -1
- package/helpers/search-user.helper.js +0 -2
- package/helpers/search-user.helper.js.map +1 -1
- package/helpers/search.helper.js.map +1 -1
- package/helpers/search.helper.mjs.map +1 -1
- package/helpers/user-ratings.helper.js.map +1 -1
- package/helpers/user-ratings.helper.mjs.map +1 -1
- package/helpers/user-reviews.helper.js.map +1 -1
- package/helpers/user-reviews.helper.mjs.map +1 -1
- package/index.d.mts +15 -15
- package/index.d.ts +15 -15
- package/index.js +23 -16
- package/index.js.map +1 -1
- package/index.mjs +23 -16
- package/index.mjs.map +1 -1
- package/package.json +3 -3
- package/services/cinema.service.d.mts +2 -1
- package/services/cinema.service.d.ts +2 -1
- package/services/cinema.service.js +2 -4
- package/services/cinema.service.js.map +1 -1
- package/services/cinema.service.mjs +2 -2
- package/services/cinema.service.mjs.map +1 -1
- package/services/creator.service.d.mts +2 -1
- package/services/creator.service.d.ts +2 -1
- package/services/creator.service.js +2 -4
- package/services/creator.service.js.map +1 -1
- package/services/creator.service.mjs +2 -2
- package/services/creator.service.mjs.map +1 -1
- package/services/movie.service.d.mts +2 -1
- package/services/movie.service.d.ts +2 -1
- package/services/movie.service.js +15 -17
- package/services/movie.service.js.map +1 -1
- package/services/movie.service.mjs +16 -16
- package/services/movie.service.mjs.map +1 -1
- package/services/search.service.d.mts +2 -1
- package/services/search.service.d.ts +2 -1
- package/services/search.service.js +8 -9
- package/services/search.service.js.map +1 -1
- package/services/search.service.mjs +9 -8
- package/services/search.service.mjs.map +1 -1
- package/services/user-ratings.service.d.mts +2 -1
- package/services/user-ratings.service.d.ts +2 -1
- package/services/user-ratings.service.js +4 -6
- package/services/user-ratings.service.js.map +1 -1
- package/services/user-ratings.service.mjs +4 -4
- package/services/user-ratings.service.mjs.map +1 -1
- package/services/user-reviews.service.d.mts +2 -1
- package/services/user-reviews.service.d.ts +2 -1
- package/services/user-reviews.service.js +4 -6
- package/services/user-reviews.service.js.map +1 -1
- package/services/user-reviews.service.mjs +4 -4
- package/services/user-reviews.service.mjs.map +1 -1
- package/vars.js +17 -7
- package/vars.js.map +1 -1
- package/vars.mjs +17 -8
- package/vars.mjs.map +1 -1
- package/_virtual/rolldown_runtime.js +0 -25
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
|
|
2
1
|
const require_index = require('../fetchers/index.js');
|
|
3
2
|
const require_vars = require('../vars.js');
|
|
4
3
|
const require_global_helper = require('../helpers/global.helper.js');
|
|
5
4
|
const require_user_reviews_helper = require('../helpers/user-reviews.helper.js');
|
|
6
5
|
let node_html_parser = require("node-html-parser");
|
|
7
|
-
node_html_parser = require_rolldown_runtime.__toESM(node_html_parser);
|
|
8
6
|
|
|
9
7
|
//#region src/services/user-reviews.service.ts
|
|
10
8
|
var UserReviewsScraper = class {
|
|
11
|
-
async userReviews(user, config,
|
|
9
|
+
async userReviews(user, config, options) {
|
|
12
10
|
let allReviews = [];
|
|
13
11
|
const pageToFetch = config?.page || 1;
|
|
14
|
-
const url = require_vars.userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0);
|
|
15
|
-
const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...
|
|
12
|
+
const url = require_vars.userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
|
|
13
|
+
const items = (0, node_html_parser.parse)(await require_index.fetchPage(url, { ...options?.request }));
|
|
16
14
|
const reviews = items.querySelectorAll(".user-reviews .article");
|
|
17
15
|
const pagesNode = items.querySelector(".pagination");
|
|
18
16
|
const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
|
|
@@ -22,7 +20,7 @@ var UserReviewsScraper = class {
|
|
|
22
20
|
console.log("Fetching all pages", pages);
|
|
23
21
|
for (let i = 2; i <= pages; i++) {
|
|
24
22
|
console.log("Fetching page", i, "out of", pages, "...");
|
|
25
|
-
const reviews$1 = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userReviewsUrl(user, i), { ...
|
|
23
|
+
const reviews$1 = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-reviews .article");
|
|
26
24
|
allReviews = [...allReviews, ...this.getPage(config, reviews$1)];
|
|
27
25
|
if (config.allPagesDelay) await require_global_helper.sleep(config.allPagesDelay);
|
|
28
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-reviews.service.js","names":["allReviews: CSFDUserReviews[]","userReviewsUrl","fetchPage","reviews","sleep","films: CSFDUserReviews[]","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, 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 { userReviewsUrl } from '../vars';\n\nexport class UserReviewsScraper {\n public async userReviews(\n user: string | number,\n config?: CSFDUserReviewsConfig,\n
|
|
1
|
+
{"version":3,"file":"user-reviews.service.js","names":["allReviews: CSFDUserReviews[]","userReviewsUrl","fetchPage","reviews","sleep","films: CSFDUserReviews[]","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, 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, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-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-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 for (const el of reviews) {\n const type = getUserReviewType(el);\n\n // Filtering includesOnly\n if (config?.includesOnly?.length) {\n if (config.includesOnly.some((include) => type === include)) {\n films.push(this.buildUserReviews(el));\n }\n // Filter excludes\n } else if (config?.excludes?.length) {\n if (!config.excludes.some((exclude) => type === exclude)) {\n films.push(this.buildUserReviews(el));\n }\n } else {\n // Without filtering\n films.push(this.buildUserReviews(el));\n }\n }\n return films;\n }\n\n private buildUserReviews(el: HTMLElement): CSFDUserReviews {\n return {\n id: getUserReviewId(el),\n title: getUserReviewTitle(el),\n year: getUserReviewYear(el),\n type: getUserReviewType(el),\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,IAAIA,aAAgC,EAAE;EACtC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAMC,4BAAe,MAAM,cAAc,IAAI,cAAc,QAAW,EAAE,UAAU,SAAS,UAAU,CAAC;EAE5G,MAAM,oCADW,MAAMC,wBAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,UAAU,MAAM,iBAAiB,yBAAyB;EAGhE,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,MAAMC,wCAHW,MAAMD,wBADXD,4BAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACP,iBAAiB,yBAAyB;AAChE,iBAAa,CAAC,GAAG,YAAY,GAAG,KAAK,QAAQ,QAAQE,UAAQ,CAAC;AAG9D,QAAI,OAAO,cACT,OAAMC,4BAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,AAAQ,QAAQ,QAA+B,SAAwB;EACrE,MAAMC,QAA2B,EAAE;AACnC,MAAI,QACF;OAAI,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;AAIL,OAAK,MAAM,MAAM,SAAS;GACxB,MAAM,OAAOC,8CAAkB,GAAG;AAGlC,OAAI,QAAQ,cAAc,QACxB;QAAI,OAAO,aAAa,MAAM,YAAY,SAAS,QAAQ,CACzD,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;cAG9B,QAAQ,UAAU,QAC3B;QAAI,CAAC,OAAO,SAAS,MAAM,YAAY,SAAS,QAAQ,CACtD,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;SAIvC,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;;AAGzC,SAAO;;CAGT,AAAQ,iBAAiB,IAAkC;AACzD,SAAO;GACL,IAAIC,4CAAgB,GAAG;GACvB,OAAOC,+CAAmB,GAAG;GAC7B,MAAMC,8CAAkB,GAAG;GAC3B,MAAMH,8CAAkB,GAAG;GAC3B,KAAKI,6CAAiB,GAAG;GACzB,aAAaC,qDAAyB,GAAG;GACzC,UAAUC,8CAAkB,GAAG;GAC/B,YAAYC,gDAAoB,GAAG;GACnC,MAAMC,8CAAkB,GAAG;GAC3B,QAAQC,gDAAoB,GAAG;GAChC"}
|
|
@@ -6,11 +6,11 @@ import { parse } from "node-html-parser";
|
|
|
6
6
|
|
|
7
7
|
//#region src/services/user-reviews.service.ts
|
|
8
8
|
var UserReviewsScraper = class {
|
|
9
|
-
async userReviews(user, config,
|
|
9
|
+
async userReviews(user, config, options) {
|
|
10
10
|
let allReviews = [];
|
|
11
11
|
const pageToFetch = config?.page || 1;
|
|
12
|
-
const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0);
|
|
13
|
-
const items = parse(await fetchPage(url, { ...
|
|
12
|
+
const url = userReviewsUrl(user, pageToFetch > 1 ? pageToFetch : void 0, { language: options?.language });
|
|
13
|
+
const items = parse(await fetchPage(url, { ...options?.request }));
|
|
14
14
|
const reviews = items.querySelectorAll(".user-reviews .article");
|
|
15
15
|
const pagesNode = items.querySelector(".pagination");
|
|
16
16
|
const pages = +pagesNode?.childNodes[pagesNode.childNodes.length - 4].rawText || 1;
|
|
@@ -20,7 +20,7 @@ var UserReviewsScraper = class {
|
|
|
20
20
|
console.log("Fetching all pages", pages);
|
|
21
21
|
for (let i = 2; i <= pages; i++) {
|
|
22
22
|
console.log("Fetching page", i, "out of", pages, "...");
|
|
23
|
-
const reviews$1 = parse(await fetchPage(userReviewsUrl(user, i), { ...
|
|
23
|
+
const reviews$1 = parse(await fetchPage(userReviewsUrl(user, i, { language: options?.language }), { ...options?.request })).querySelectorAll(".user-reviews .article");
|
|
24
24
|
allReviews = [...allReviews, ...this.getPage(config, reviews$1)];
|
|
25
25
|
if (config.allPagesDelay) await sleep(config.allPagesDelay);
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-reviews.service.mjs","names":["allReviews: CSFDUserReviews[]","reviews","films: CSFDUserReviews[]"],"sources":["../../src/services/user-reviews.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, 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 { userReviewsUrl } from '../vars';\n\nexport class UserReviewsScraper {\n public async userReviews(\n user: string | number,\n config?: CSFDUserReviewsConfig,\n
|
|
1
|
+
{"version":3,"file":"user-reviews.service.mjs","names":["allReviews: CSFDUserReviews[]","reviews","films: CSFDUserReviews[]"],"sources":["../../src/services/user-reviews.service.ts"],"sourcesContent":["import { HTMLElement, parse } from 'node-html-parser';\nimport { CSFDColorRating, 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, { language: options?.language });\n const response = await fetchPage(url, { ...options?.request });\n const items = parse(response);\n const reviews = items.querySelectorAll('.user-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-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 for (const el of reviews) {\n const type = getUserReviewType(el);\n\n // Filtering includesOnly\n if (config?.includesOnly?.length) {\n if (config.includesOnly.some((include) => type === include)) {\n films.push(this.buildUserReviews(el));\n }\n // Filter excludes\n } else if (config?.excludes?.length) {\n if (!config.excludes.some((exclude) => type === exclude)) {\n films.push(this.buildUserReviews(el));\n }\n } else {\n // Without filtering\n films.push(this.buildUserReviews(el));\n }\n }\n return films;\n }\n\n private buildUserReviews(el: HTMLElement): CSFDUserReviews {\n return {\n id: getUserReviewId(el),\n title: getUserReviewTitle(el),\n year: getUserReviewYear(el),\n type: getUserReviewType(el),\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,IAAIA,aAAgC,EAAE;EACtC,MAAM,cAAc,QAAQ,QAAQ;EACpC,MAAM,MAAM,eAAe,MAAM,cAAc,IAAI,cAAc,QAAW,EAAE,UAAU,SAAS,UAAU,CAAC;EAE5G,MAAM,QAAQ,MADG,MAAM,UAAU,KAAK,EAAE,GAAG,SAAS,SAAS,CAAC,CACjC;EAC7B,MAAM,UAAU,MAAM,iBAAiB,yBAAyB;EAGhE,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,MAAMC,YADQ,MAFG,MAAM,UADX,eAAe,MAAM,GAAG,EAAE,UAAU,SAAS,UAAU,CAAC,EAC9B,EAAE,GAAG,SAAS,SAAS,CAAC,CAEjC,CACP,iBAAiB,yBAAyB;AAChE,iBAAa,CAAC,GAAG,YAAY,GAAG,KAAK,QAAQ,QAAQA,UAAQ,CAAC;AAG9D,QAAI,OAAO,cACT,OAAM,MAAM,OAAO,cAAc;;AAGrC,UAAO;;AAGT,SAAO;;CAGT,AAAQ,QAAQ,QAA+B,SAAwB;EACrE,MAAMC,QAA2B,EAAE;AACnC,MAAI,QACF;OAAI,OAAO,cAAc,UAAU,OAAO,UAAU,OAClD,SAAQ,KACN;;qDAGA,OAAO,aACR;;AAIL,OAAK,MAAM,MAAM,SAAS;GACxB,MAAM,OAAO,kBAAkB,GAAG;AAGlC,OAAI,QAAQ,cAAc,QACxB;QAAI,OAAO,aAAa,MAAM,YAAY,SAAS,QAAQ,CACzD,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;cAG9B,QAAQ,UAAU,QAC3B;QAAI,CAAC,OAAO,SAAS,MAAM,YAAY,SAAS,QAAQ,CACtD,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;SAIvC,OAAM,KAAK,KAAK,iBAAiB,GAAG,CAAC;;AAGzC,SAAO;;CAGT,AAAQ,iBAAiB,IAAkC;AACzD,SAAO;GACL,IAAI,gBAAgB,GAAG;GACvB,OAAO,mBAAmB,GAAG;GAC7B,MAAM,kBAAkB,GAAG;GAC3B,MAAM,kBAAkB,GAAG;GAC3B,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"}
|
package/vars.js
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
|
|
2
2
|
//#region src/vars.ts
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return `https://www.csfd.cz/kino/?period=${period}&district=${district}`;
|
|
3
|
+
const LANGUAGE_DOMAIN_MAP = {
|
|
4
|
+
cs: "https://www.csfd.cz",
|
|
5
|
+
en: "https://www.filmbooster.com",
|
|
6
|
+
sk: "https://www.csfd.sk"
|
|
8
7
|
};
|
|
9
|
-
|
|
10
|
-
const
|
|
8
|
+
let BASE_URL = LANGUAGE_DOMAIN_MAP.cs;
|
|
9
|
+
const getUrlByLanguage = (language) => {
|
|
10
|
+
if (language && language in LANGUAGE_DOMAIN_MAP) return LANGUAGE_DOMAIN_MAP[language];
|
|
11
|
+
return BASE_URL;
|
|
12
|
+
};
|
|
13
|
+
const userUrl = (user, options) => `${getUrlByLanguage(options?.language)}/uzivatel/${encodeURIComponent(user)}`;
|
|
14
|
+
const userRatingsUrl = (user, page, options = {}) => `${userUrl(user, options)}/hodnoceni/${page ? "?page=" + page : ""}`;
|
|
15
|
+
const userReviewsUrl = (user, page, options = {}) => `${userUrl(user, options)}/recenze/${page ? "?page=" + page : ""}`;
|
|
16
|
+
const movieUrl = (movie, options) => `${getUrlByLanguage(options?.language)}/film/${encodeURIComponent(movie)}/prehled/`;
|
|
17
|
+
const creatorUrl = (creator, options) => `${getUrlByLanguage(options?.language)}/tvurce/${encodeURIComponent(creator)}`;
|
|
18
|
+
const cinemasUrl = (district, period, options) => `${getUrlByLanguage(options?.language)}/kino/?period=${period}&district=${district}`;
|
|
19
|
+
const searchUrl = (text, options) => `${getUrlByLanguage(options?.language)}/hledat/?q=${encodeURIComponent(text)}`;
|
|
11
20
|
|
|
12
21
|
//#endregion
|
|
13
22
|
exports.cinemasUrl = cinemasUrl;
|
|
14
23
|
exports.creatorUrl = creatorUrl;
|
|
24
|
+
exports.getUrlByLanguage = getUrlByLanguage;
|
|
15
25
|
exports.movieUrl = movieUrl;
|
|
16
26
|
exports.searchUrl = searchUrl;
|
|
17
27
|
exports.userRatingsUrl = userRatingsUrl;
|
package/vars.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.js","names":[],"sources":["../src/vars.ts"],"sourcesContent":["import { CSFDCinemaPeriod } from './dto/cinema';\n\nexport const
|
|
1
|
+
{"version":3,"file":"vars.js","names":["LANGUAGE_DOMAIN_MAP: Record<CSFDLanguage, string>"],"sources":["../src/vars.ts"],"sourcesContent":["import { CSFDCinemaPeriod } from './dto/cinema';\nimport { CSFDLanguage } from './types';\n\ntype Options = {\n language?: CSFDLanguage;\n};\n\n// Language to domain mapping\nconst LANGUAGE_DOMAIN_MAP: Record<CSFDLanguage, string> = {\n cs: 'https://www.csfd.cz',\n en: 'https://www.filmbooster.com',\n sk: 'https://www.csfd.sk',\n};\n\nlet BASE_URL = LANGUAGE_DOMAIN_MAP.cs;\n\nexport const getBaseUrl = (): string => BASE_URL;\nexport const setBaseUrl = (language: CSFDLanguage): void => {\n BASE_URL = getUrlByLanguage(language);\n};\n\nexport const getUrlByLanguage = (language?: CSFDLanguage): string => {\n if (language && language in LANGUAGE_DOMAIN_MAP) {\n return LANGUAGE_DOMAIN_MAP[language];\n }\n return BASE_URL;\n};\n\n// User URLs\nexport const userUrl = (user: string | number, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/uzivatel/${encodeURIComponent(user)}`;\n\nexport const userRatingsUrl = (user: string | number, page?: number, options: Options = {}): string =>\n `${userUrl(user, options)}/hodnoceni/${page ? '?page=' + page : ''}`;\nexport const userReviewsUrl = (user: string | number, page?: number, options: Options = {}): string =>\n `${userUrl(user, options)}/recenze/${page ? '?page=' + page : ''}`;\n\n// Movie URLs\nexport const movieUrl = (movie: number, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/film/${encodeURIComponent(movie)}/prehled/`;\n// Creator URLs\nexport const creatorUrl = (creator: number | string, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/tvurce/${encodeURIComponent(creator)}`;\n\n// Cinema URLs\nexport const cinemasUrl = (district: number | string, period: CSFDCinemaPeriod, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/kino/?period=${period}&district=${district}`;\n\n// Search URLs\nexport const searchUrl = (text: string, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/hledat/?q=${encodeURIComponent(text)}`;"],"mappings":";;AAQA,MAAMA,sBAAoD;CACxD,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAI,WAAW,oBAAoB;AAOnC,MAAa,oBAAoB,aAAoC;AACnE,KAAI,YAAY,YAAY,oBAC1B,QAAO,oBAAoB;AAE7B,QAAO;;AAIT,MAAa,WAAW,MAAuB,YAC7C,GAAG,iBAAiB,SAAS,SAAS,CAAC,YAAY,mBAAmB,KAAK;AAE7E,MAAa,kBAAkB,MAAuB,MAAe,UAAmB,EAAE,KACxF,GAAG,QAAQ,MAAM,QAAQ,CAAC,aAAa,OAAO,WAAW,OAAO;AAClE,MAAa,kBAAkB,MAAuB,MAAe,UAAmB,EAAE,KACxF,GAAG,QAAQ,MAAM,QAAQ,CAAC,WAAW,OAAO,WAAW,OAAO;AAGhE,MAAa,YAAY,OAAe,YACtC,GAAG,iBAAiB,SAAS,SAAS,CAAC,QAAQ,mBAAmB,MAAM,CAAC;AAE3E,MAAa,cAAc,SAA0B,YACnD,GAAG,iBAAiB,SAAS,SAAS,CAAC,UAAU,mBAAmB,QAAQ;AAG9E,MAAa,cAAc,UAA2B,QAA0B,YAC9E,GAAG,iBAAiB,SAAS,SAAS,CAAC,gBAAgB,OAAO,YAAY;AAG5E,MAAa,aAAa,MAAc,YACtC,GAAG,iBAAiB,SAAS,SAAS,CAAC,aAAa,mBAAmB,KAAK"}
|
package/vars.mjs
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
//#region src/vars.ts
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return `https://www.csfd.cz/kino/?period=${period}&district=${district}`;
|
|
2
|
+
const LANGUAGE_DOMAIN_MAP = {
|
|
3
|
+
cs: "https://www.csfd.cz",
|
|
4
|
+
en: "https://www.filmbooster.com",
|
|
5
|
+
sk: "https://www.csfd.sk"
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
const
|
|
7
|
+
let BASE_URL = LANGUAGE_DOMAIN_MAP.cs;
|
|
8
|
+
const getUrlByLanguage = (language) => {
|
|
9
|
+
if (language && language in LANGUAGE_DOMAIN_MAP) return LANGUAGE_DOMAIN_MAP[language];
|
|
10
|
+
return BASE_URL;
|
|
11
|
+
};
|
|
12
|
+
const userUrl = (user, options) => `${getUrlByLanguage(options?.language)}/uzivatel/${encodeURIComponent(user)}`;
|
|
13
|
+
const userRatingsUrl = (user, page, options = {}) => `${userUrl(user, options)}/hodnoceni/${page ? "?page=" + page : ""}`;
|
|
14
|
+
const userReviewsUrl = (user, page, options = {}) => `${userUrl(user, options)}/recenze/${page ? "?page=" + page : ""}`;
|
|
15
|
+
const movieUrl = (movie, options) => `${getUrlByLanguage(options?.language)}/film/${encodeURIComponent(movie)}/prehled/`;
|
|
16
|
+
const creatorUrl = (creator, options) => `${getUrlByLanguage(options?.language)}/tvurce/${encodeURIComponent(creator)}`;
|
|
17
|
+
const cinemasUrl = (district, period, options) => `${getUrlByLanguage(options?.language)}/kino/?period=${period}&district=${district}`;
|
|
18
|
+
const searchUrl = (text, options) => `${getUrlByLanguage(options?.language)}/hledat/?q=${encodeURIComponent(text)}`;
|
|
10
19
|
|
|
11
20
|
//#endregion
|
|
12
|
-
export { cinemasUrl, creatorUrl, movieUrl, searchUrl, userRatingsUrl, userReviewsUrl };
|
|
21
|
+
export { cinemasUrl, creatorUrl, getUrlByLanguage, movieUrl, searchUrl, userRatingsUrl, userReviewsUrl };
|
|
13
22
|
//# sourceMappingURL=vars.mjs.map
|
package/vars.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.mjs","names":[],"sources":["../src/vars.ts"],"sourcesContent":["import { CSFDCinemaPeriod } from './dto/cinema';\n\nexport const
|
|
1
|
+
{"version":3,"file":"vars.mjs","names":["LANGUAGE_DOMAIN_MAP: Record<CSFDLanguage, string>"],"sources":["../src/vars.ts"],"sourcesContent":["import { CSFDCinemaPeriod } from './dto/cinema';\nimport { CSFDLanguage } from './types';\n\ntype Options = {\n language?: CSFDLanguage;\n};\n\n// Language to domain mapping\nconst LANGUAGE_DOMAIN_MAP: Record<CSFDLanguage, string> = {\n cs: 'https://www.csfd.cz',\n en: 'https://www.filmbooster.com',\n sk: 'https://www.csfd.sk',\n};\n\nlet BASE_URL = LANGUAGE_DOMAIN_MAP.cs;\n\nexport const getBaseUrl = (): string => BASE_URL;\nexport const setBaseUrl = (language: CSFDLanguage): void => {\n BASE_URL = getUrlByLanguage(language);\n};\n\nexport const getUrlByLanguage = (language?: CSFDLanguage): string => {\n if (language && language in LANGUAGE_DOMAIN_MAP) {\n return LANGUAGE_DOMAIN_MAP[language];\n }\n return BASE_URL;\n};\n\n// User URLs\nexport const userUrl = (user: string | number, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/uzivatel/${encodeURIComponent(user)}`;\n\nexport const userRatingsUrl = (user: string | number, page?: number, options: Options = {}): string =>\n `${userUrl(user, options)}/hodnoceni/${page ? '?page=' + page : ''}`;\nexport const userReviewsUrl = (user: string | number, page?: number, options: Options = {}): string =>\n `${userUrl(user, options)}/recenze/${page ? '?page=' + page : ''}`;\n\n// Movie URLs\nexport const movieUrl = (movie: number, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/film/${encodeURIComponent(movie)}/prehled/`;\n// Creator URLs\nexport const creatorUrl = (creator: number | string, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/tvurce/${encodeURIComponent(creator)}`;\n\n// Cinema URLs\nexport const cinemasUrl = (district: number | string, period: CSFDCinemaPeriod, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/kino/?period=${period}&district=${district}`;\n\n// Search URLs\nexport const searchUrl = (text: string, options: Options): string =>\n `${getUrlByLanguage(options?.language)}/hledat/?q=${encodeURIComponent(text)}`;"],"mappings":";AAQA,MAAMA,sBAAoD;CACxD,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAI,WAAW,oBAAoB;AAOnC,MAAa,oBAAoB,aAAoC;AACnE,KAAI,YAAY,YAAY,oBAC1B,QAAO,oBAAoB;AAE7B,QAAO;;AAIT,MAAa,WAAW,MAAuB,YAC7C,GAAG,iBAAiB,SAAS,SAAS,CAAC,YAAY,mBAAmB,KAAK;AAE7E,MAAa,kBAAkB,MAAuB,MAAe,UAAmB,EAAE,KACxF,GAAG,QAAQ,MAAM,QAAQ,CAAC,aAAa,OAAO,WAAW,OAAO;AAClE,MAAa,kBAAkB,MAAuB,MAAe,UAAmB,EAAE,KACxF,GAAG,QAAQ,MAAM,QAAQ,CAAC,WAAW,OAAO,WAAW,OAAO;AAGhE,MAAa,YAAY,OAAe,YACtC,GAAG,iBAAiB,SAAS,SAAS,CAAC,QAAQ,mBAAmB,MAAM,CAAC;AAE3E,MAAa,cAAc,SAA0B,YACnD,GAAG,iBAAiB,SAAS,SAAS,CAAC,UAAU,mBAAmB,QAAQ;AAG9E,MAAa,cAAc,UAA2B,QAA0B,YAC9E,GAAG,iBAAiB,SAAS,SAAS,CAAC,gBAAgB,OAAO,YAAY;AAG5E,MAAa,aAAa,MAAc,YACtC,GAAG,iBAAiB,SAAS,SAAS,CAAC,aAAa,mBAAmB,KAAK"}
|
|
@@ -1,25 +0,0 @@
|
|
|
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;
|