@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 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
@@ -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 url: `, url, 'page:', page, 'year:', year, 'genreId:', genreId);
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;AAG5D,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,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACzF,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"}
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.1",
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
- "deliver": "npm version patch && npm publish --access public"
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",