Skip to content

Commit 0cb8e04

Browse files
committed
refactor: specific type CSFDMovieCreator
1 parent 5cd17d2 commit 0cb8e04

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

src/helpers/movie.helper.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { HTMLElement } from 'node-html-parser';
22
import { CSFDColorRating } from '../interfaces/global';
33
import {
44
CSFDBoxContent,
5-
CSFDCreator,
65
CSFDCreatorGroups,
76
CSFDGenres,
7+
CSFDMovieCreator,
88
CSFDMovieListItem,
99
CSFDPremiere,
1010
CSFDTitlesOther,
@@ -161,7 +161,7 @@ export const getMovieDescriptions = (el: HTMLElement): string[] => {
161161
.map((movie) => movie.textContent?.trim().replace(/(\r\n|\n|\r|\t)/gm, ''));
162162
};
163163

164-
const parseMoviePeople = (el: HTMLElement): CSFDCreator[] => {
164+
const parseMoviePeople = (el: HTMLElement): CSFDMovieCreator[] => {
165165
const people = el.querySelectorAll('a');
166166
return (
167167
people
@@ -177,7 +177,7 @@ const parseMoviePeople = (el: HTMLElement): CSFDCreator[] => {
177177
);
178178
};
179179

180-
export const getMovieGroup = (el: HTMLElement, group: CSFDCreatorGroups): CSFDCreator[] => {
180+
export const getMovieGroup = (el: HTMLElement, group: CSFDCreatorGroups): CSFDMovieCreator[] => {
181181
const creators = el.querySelectorAll('.creators h4');
182182
const element = creators.filter((elem) => elem.textContent.trim().includes(group))[0];
183183
if (element?.parentNode) {

src/helpers/search.helper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { HTMLElement } from 'node-html-parser';
22
import { CSFDColorRating, CSFDFilmTypes } from '../interfaces/global';
3-
import { CSFDCreator } from '../interfaces/movie.interface';
3+
import { CSFDMovieCreator } from '../interfaces/movie.interface';
44
import { Colors } from '../interfaces/user-ratings.interface';
55
import { addProtocol, parseColor, parseIdFromUrl } from './global.helper';
66

@@ -41,7 +41,7 @@ export const getSearchOrigins = (el: HTMLElement): string[] => {
4141
return originsAll?.split('/').map((country) => country.trim());
4242
};
4343

44-
export const parseSearchPeople = (el: HTMLElement, type: 'directors' | 'actors'): CSFDCreator[] => {
44+
export const parseSearchPeople = (el: HTMLElement, type: 'directors' | 'actors'): CSFDMovieCreator[] => {
4545
let who: Creator;
4646
if (type === 'directors') who = 'Režie:';
4747
if (type === 'actors') who = 'Hrají:';

src/interfaces/movie.interface.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,24 @@ export interface CSFDVod {
4646
}
4747

4848
export interface CSFDCreators {
49-
directors: CSFDCreator[];
50-
writers: CSFDCreator[];
51-
cinematography: CSFDCreator[];
52-
music: CSFDCreator[];
53-
actors: CSFDCreator[];
54-
basedOn: CSFDCreator[];
55-
producers: CSFDCreator[];
56-
filmEditing: CSFDCreator[];
57-
costumeDesign: CSFDCreator[];
58-
productionDesign: CSFDCreator[];
49+
directors: CSFDMovieCreator[];
50+
writers: CSFDMovieCreator[];
51+
cinematography: CSFDMovieCreator[];
52+
music: CSFDMovieCreator[];
53+
actors: CSFDMovieCreator[];
54+
basedOn: CSFDMovieCreator[];
55+
producers: CSFDMovieCreator[];
56+
filmEditing: CSFDMovieCreator[];
57+
costumeDesign: CSFDMovieCreator[];
58+
productionDesign: CSFDMovieCreator[];
5959
}
6060

6161
export interface CSFDTitlesOther {
6262
country: string;
6363
title: string;
6464
}
6565

66-
export interface CSFDCreator {
66+
export interface CSFDMovieCreator {
6767
/**
6868
* CSFD person ID.
6969
*

src/interfaces/search.interface.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CSFDScreening } from './global';
2-
import { CSFDCreator } from './movie.interface';
2+
import { CSFDMovieCreator } from './movie.interface';
33

44
export interface CSFDSearch {
55
movies: CSFDSearchMovie[];
@@ -22,11 +22,11 @@ export interface CSFDSearchUser {
2222
url: string;
2323
}
2424

25-
export interface CSFDSearchCreator extends CSFDCreator {
25+
export interface CSFDSearchCreator extends CSFDMovieCreator {
2626
image: string;
2727
}
2828

2929
export interface CSFDSearchCreators {
30-
directors: CSFDCreator[];
31-
actors: CSFDCreator[];
30+
directors: CSFDMovieCreator[];
31+
actors: CSFDMovieCreator[];
3232
}

tests/search.test.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
parseSearchPeople
1313
} from '../src/helpers/search.helper';
1414
import { CSFDColorRating, CSFDFilmTypes } from '../src/interfaces/global';
15-
import { CSFDCreator } from '../src/interfaces/movie.interface';
15+
import { CSFDMovieCreator } from '../src/interfaces/movie.interface';
1616
import { searchMock } from './mocks/search.html';
1717

1818
const html = parse(searchMock);
@@ -138,7 +138,7 @@ describe('Get Movie origins', () => {
138138
describe('Get Movie creators', () => {
139139
test('First movie directors', () => {
140140
const movie = parseSearchPeople(moviesNode[0], 'directors');
141-
expect(movie).toEqual<CSFDCreator[]>([
141+
expect(movie).toEqual<CSFDMovieCreator[]>([
142142
{
143143
id: 3112,
144144
name: 'Lilly Wachowski',
@@ -153,7 +153,7 @@ describe('Get Movie creators', () => {
153153
});
154154
test('Last movie actors', () => {
155155
const movie = parseSearchPeople(moviesNode[moviesNode.length - 1], 'actors');
156-
expect(movie).toEqual<CSFDCreator[]>([
156+
expect(movie).toEqual<CSFDMovieCreator[]>([
157157
{
158158
id: 67747,
159159
name: "Genevieve O'Reilly",
@@ -168,7 +168,7 @@ describe('Get Movie creators', () => {
168168
});
169169
test('Empty actors', () => {
170170
const movie = parseSearchPeople(moviesNode[5], 'actors');
171-
expect(movie).toEqual<CSFDCreator[]>([]);
171+
expect(movie).toEqual<CSFDMovieCreator[]>([]);
172172
});
173173
});
174174

@@ -286,7 +286,7 @@ describe('Get TV series origins', () => {
286286
describe('Get TV series creators', () => {
287287
test('First TV series directors', () => {
288288
const movie = parseSearchPeople(tvSeriesNode[0], 'directors');
289-
expect(movie).toEqual<CSFDCreator[]>([
289+
expect(movie).toEqual<CSFDMovieCreator[]>([
290290
{
291291
id: 8877,
292292
name: 'Allan Eastman',
@@ -301,7 +301,7 @@ describe('Get TV series creators', () => {
301301
});
302302
test('Last TV series actors', () => {
303303
const movie = parseSearchPeople(tvSeriesNode[tvSeriesNode.length - 1], 'actors');
304-
expect(movie).toEqual<CSFDCreator[]>([
304+
expect(movie).toEqual<CSFDMovieCreator[]>([
305305
{
306306
id: 20335,
307307
name: 'Billy West',
@@ -316,19 +316,19 @@ describe('Get TV series creators', () => {
316316
});
317317
test('Empty actors', () => {
318318
const movie = parseSearchPeople(tvSeriesNode[5], 'actors');
319-
expect(movie).toEqual<CSFDCreator[]>([]);
319+
expect(movie).toEqual<CSFDMovieCreator[]>([]);
320320
});
321321
test('Empty directors + some actors', () => {
322322
const movie = parseSearchPeople(tvSeriesNode[4], 'actors');
323323
const movieDirectors = parseSearchPeople(tvSeriesNode[4], 'directors');
324-
expect(movie).toEqual<CSFDCreator[]>([
324+
expect(movie).toEqual<CSFDMovieCreator[]>([
325325
{
326326
id: 61834,
327327
name: 'David Icke',
328328
url: 'https://www.csfd.cz/tvurce/61834-david-icke/'
329329
}
330330
]);
331-
expect(movieDirectors).toEqual<CSFDCreator[]>([]);
331+
expect(movieDirectors).toEqual<CSFDMovieCreator[]>([]);
332332
});
333333
});
334334

0 commit comments

Comments
 (0)