@fennex-sand/services 1.0.1 → 1.0.5
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/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { type Movie } from '@fennex-sand/types';
|
|
2
2
|
export declare function getUrl(apiKey: string, page: number, year?: string, genreId?: number): string;
|
|
3
|
+
export declare function getSearchUrl(apiKey: string, query: string, page?: number): string;
|
|
3
4
|
export declare const movieService: {
|
|
4
5
|
fetchMovies(url: string): Promise<Movie[]>;
|
|
5
6
|
};
|
|
7
|
+
export declare function getMoviesByRating(moviesList: Movie[]): Movie[];
|
|
8
|
+
export declare function getGenreNames(genreIds: number[]): string;
|
|
9
|
+
export declare function getPosterUrl(posterPath: string): string;
|
|
6
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5F;AAED,eAAO,MAAM,YAAY;qBACA,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAKjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAKpF;AAED,eAAO,MAAM,YAAY;qBACA,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAKjD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAE9D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAMxD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALL, TMDB_BASE_URL } from '@fennex-sand/constants';
|
|
1
|
+
import { ALL, GENRE_MAP_INVERTED, TMDB_BASE_URL } from '@fennex-sand/constants';
|
|
2
2
|
export function getUrl(apiKey, page, year, genreId) {
|
|
3
3
|
let url = `${TMDB_BASE_URL}/discover/movie?api_key=${apiKey}&language=en-US&sort_by=popularity.desc&include_adult=false&include_video=false`;
|
|
4
4
|
if (year && year !== ALL) {
|
|
@@ -10,7 +10,13 @@ export function getUrl(apiKey, page, year, genreId) {
|
|
|
10
10
|
url += `&with_genres=${genreId}`;
|
|
11
11
|
}
|
|
12
12
|
url += `&page=${page}`;
|
|
13
|
-
console.log(`====> DEBUG
|
|
13
|
+
console.log(`====> DEBUG getUrl: `, url, 'page:', page, 'year:', year, 'genreId:', genreId);
|
|
14
|
+
return url;
|
|
15
|
+
}
|
|
16
|
+
export function getSearchUrl(apiKey, query, page = 1) {
|
|
17
|
+
const encodedQuery = encodeURIComponent(query);
|
|
18
|
+
const url = `${TMDB_BASE_URL}/search/movie?api_key=${apiKey}&language=en-US&query=${encodedQuery}&page=${page}&include_adult=false`;
|
|
19
|
+
console.log(`====> DEBUG getSearchUrl: `, url, 'query:', query, 'page:', page);
|
|
14
20
|
return url;
|
|
15
21
|
}
|
|
16
22
|
export const movieService = {
|
|
@@ -20,4 +26,16 @@ export const movieService = {
|
|
|
20
26
|
return results;
|
|
21
27
|
},
|
|
22
28
|
};
|
|
29
|
+
export function getMoviesByRating(moviesList) {
|
|
30
|
+
return moviesList?.sort((a, b) => b.vote_average - a.vote_average);
|
|
31
|
+
}
|
|
32
|
+
export function getGenreNames(genreIds) {
|
|
33
|
+
if (!genreIds || genreIds.length === 0) {
|
|
34
|
+
return 'Unknown';
|
|
35
|
+
}
|
|
36
|
+
return genreIds.map(id => GENRE_MAP_INVERTED[id] || 'Unknown').join(', ');
|
|
37
|
+
}
|
|
38
|
+
export function getPosterUrl(posterPath) {
|
|
39
|
+
return posterPath ? `https://image.tmdb.org/t/p/w500${posterPath}` : 'https://via.placeholder.com/500x750?text=No+Poster';
|
|
40
|
+
}
|
|
23
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGhF,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,IAAa,EAAE,OAAgB;IAClF,IAAI,GAAG,GAAG,GAAG,aAAa,2BAA2B,MAAM,iFAAiF,CAAC;IAE7I,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC;QAC1B,GAAG,IAAI,6BAA6B,SAAS,mCAAmC,OAAO,QAAQ,CAAC;IAClG,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,IAAI,gBAAgB,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5F,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe,CAAC;IAC1E,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,GAAG,aAAa,yBAAyB,MAAM,yBAAyB,YAAY,SAAS,IAAI,sBAAsB,CAAC;IACpI,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,UAAmB;IACnD,OAAO,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,OAAO,UAAU,CAAC,CAAC,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC,CAAC,oDAAoD,CAAC;AAC5H,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fennex-sand/services",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Shared services for lynxjs projects",
|
|
5
5
|
"author": "Avraham Hamu",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"build": "tsc -p tsconfig.json",
|
|
15
15
|
"dev": "tsc --watch",
|
|
16
16
|
"clean": "rm -rf dist",
|
|
17
|
-
"
|
|
17
|
+
"publish-package": "npm publish --access public",
|
|
18
|
+
"publish-increment": "npm version patch && npm run publish-package"
|
|
18
19
|
},
|
|
19
20
|
"dependencies": {
|
|
20
21
|
"@fennex-sand/types": "^1.0.0",
|