@tmdb-graphql-api/resolvers 0.1.10 → 0.1.11

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 (32) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/index.mjs +1 -1
  4. package/dist/esm/index.mjs.map +1 -1
  5. package/dist/production.analysis.txt +266 -253
  6. package/dist/types/cjs/helpers/setAppendToResponseSearchParams.d.cts +2 -0
  7. package/dist/types/cjs/helpers/setAppendToResponseSearchParams.d.cts.map +1 -0
  8. package/dist/types/cjs/queries/episode.d.cts.map +1 -1
  9. package/dist/types/cjs/queries/movie.d.cts.map +1 -1
  10. package/dist/types/cjs/queries/person.d.cts.map +1 -1
  11. package/dist/types/cjs/queries/season.d.cts.map +1 -1
  12. package/dist/types/cjs/queries/tv.d.cts.map +1 -1
  13. package/dist/types/cjs/types.d.cts +2 -0
  14. package/dist/types/cjs/types.d.cts.map +1 -1
  15. package/dist/types/esm/helpers/setAppendToResponseSearchParams.d.ts +2 -0
  16. package/dist/types/esm/helpers/setAppendToResponseSearchParams.d.ts.map +1 -0
  17. package/dist/types/esm/queries/episode.d.ts.map +1 -1
  18. package/dist/types/esm/queries/movie.d.ts.map +1 -1
  19. package/dist/types/esm/queries/person.d.ts.map +1 -1
  20. package/dist/types/esm/queries/season.d.ts.map +1 -1
  21. package/dist/types/esm/queries/tv.d.ts.map +1 -1
  22. package/dist/types/esm/types.d.ts +2 -0
  23. package/dist/types/esm/types.d.ts.map +1 -1
  24. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  25. package/package.json +1 -1
  26. package/src/helpers/setAppendToResponseSearchParams.ts +11 -0
  27. package/src/queries/episode.ts +3 -2
  28. package/src/queries/movie.ts +3 -2
  29. package/src/queries/person.ts +3 -2
  30. package/src/queries/season.ts +3 -2
  31. package/src/queries/tv.ts +3 -2
  32. package/src/types.ts +2 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tmdb-graphql-api/resolvers",
3
3
  "description": "The TMDB GraphQL resolvers module.",
4
- "version": "0.1.10",
4
+ "version": "0.1.11",
5
5
  "author": "miami-man",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/badbatch/themoviedb-graphql-api",
@@ -0,0 +1,11 @@
1
+ export const setAppendToResponseSearchParams = (
2
+ appendToResponseKeys: string[],
3
+ languageCode?: string
4
+ ): Record<string, string> => {
5
+ return {
6
+ append_to_response: appendToResponseKeys.join(','),
7
+ ...(languageCode && appendToResponseKeys.includes(languageCode)
8
+ ? { include_image_language: `${languageCode},null` }
9
+ : {}),
10
+ };
11
+ };
@@ -5,6 +5,7 @@ import { buildObjArgsResolver } from '../helpers/buildObjArgsResolver.ts';
5
5
  import { encodeId } from '../helpers/encodeId.ts';
6
6
  import { getAppendToResponseKeys } from '../helpers/getAppendToResponseKeys.ts';
7
7
  import { getTvIdSeasonAndEpisode } from '../helpers/getTvIdSeasonAndEpisode.ts';
8
+ import { setAppendToResponseSearchParams } from '../helpers/setAppendToResponseSearchParams.ts';
8
9
  import { type EnrichedRawEpisode, type EnrichedRawEpisodeWithAppendToResponse, type RawEpisode } from '../types.ts';
9
10
 
10
11
  const appendToResponse = {
@@ -23,7 +24,7 @@ export const resolveEpisode = buildObjArgsResolver<
23
24
  | (EnrichedRawEpisodeWithAppendToResponse & { __headers?: Headers })
24
25
  | EnrichedRawEpisodeWithAppendToResponse[keyof EnrichedRawEpisodeWithAppendToResponse]
25
26
  >(EPISODE, async (obj, args, ctx, info) => {
26
- const { data: ctxData, fragmentDefinitions, restClient } = ctx;
27
+ const { data: ctxData, fragmentDefinitions, languageCode, restClient } = ctx;
27
28
  const { fieldName, fieldNodes } = info;
28
29
  const typedFieldName = snakeCase(fieldName) as keyof RawEpisode;
29
30
  const { episodeNumber, id, seasonNumber } = getTvIdSeasonAndEpisode(obj, args);
@@ -46,7 +47,7 @@ export const resolveEpisode = buildObjArgsResolver<
46
47
  ...(appendToResponseKeys.length > 0
47
48
  ? {
48
49
  queryParams: {
49
- append_to_response: appendToResponseKeys.join(','),
50
+ ...setAppendToResponseSearchParams(appendToResponseKeys, languageCode),
50
51
  },
51
52
  }
52
53
  : {}),
@@ -24,6 +24,7 @@ import {
24
24
  } from '../constants.ts';
25
25
  import { buildObjArgsResolver } from '../helpers/buildObjArgsResolver.ts';
26
26
  import { getAppendToResponseKeys } from '../helpers/getAppendToResponseKeys.ts';
27
+ import { setAppendToResponseSearchParams } from '../helpers/setAppendToResponseSearchParams.ts';
27
28
  import { type RawMovie, type RawMovieWithAppendToResponse } from '../types.ts';
28
29
 
29
30
  const appendToResponse = {
@@ -50,7 +51,7 @@ export const resolveMovie = buildObjArgsResolver<
50
51
  | (RawMovieWithAppendToResponse & { __headers?: Headers })
51
52
  | RawMovieWithAppendToResponse[keyof RawMovieWithAppendToResponse]
52
53
  >(MOVIE, async (obj, args, ctx, info) => {
53
- const { data: ctxData, fragmentDefinitions, restClient } = ctx;
54
+ const { data: ctxData, fragmentDefinitions, languageCode, restClient } = ctx;
54
55
  const { fieldName, fieldNodes } = info;
55
56
  const typedFieldName = snakeCase(fieldName) as keyof RawMovie;
56
57
 
@@ -70,7 +71,7 @@ export const resolveMovie = buildObjArgsResolver<
70
71
  ...(appendToResponseKeys.length > 0
71
72
  ? {
72
73
  queryParams: {
73
- append_to_response: appendToResponseKeys.join(','),
74
+ ...setAppendToResponseSearchParams(appendToResponseKeys, languageCode),
74
75
  },
75
76
  }
76
77
  : {}),
@@ -13,6 +13,7 @@ import {
13
13
  } from '../constants.ts';
14
14
  import { buildObjArgsResolver } from '../helpers/buildObjArgsResolver.ts';
15
15
  import { getAppendToResponseKeys } from '../helpers/getAppendToResponseKeys.ts';
16
+ import { setAppendToResponseSearchParams } from '../helpers/setAppendToResponseSearchParams.ts';
16
17
  import { type RawPerson, type RawPersonWithAppendToResponse } from '../types.ts';
17
18
 
18
19
  const appendToResponse = {
@@ -30,7 +31,7 @@ export const resolvePerson = buildObjArgsResolver<
30
31
  | (RawPersonWithAppendToResponse & { __headers?: Headers })
31
32
  | RawPersonWithAppendToResponse[keyof RawPersonWithAppendToResponse]
32
33
  >(PERSON, async (obj, args, ctx, info) => {
33
- const { data: ctxData, fragmentDefinitions, restClient } = ctx;
34
+ const { data: ctxData, fragmentDefinitions, languageCode, restClient } = ctx;
34
35
  const { fieldName, fieldNodes } = info;
35
36
  const typedFieldName = snakeCase(fieldName) as keyof RawPerson;
36
37
 
@@ -50,7 +51,7 @@ export const resolvePerson = buildObjArgsResolver<
50
51
  ...(appendToResponseKeys.length > 0
51
52
  ? {
52
53
  queryParams: {
53
- append_to_response: appendToResponseKeys.join(','),
54
+ ...setAppendToResponseSearchParams(appendToResponseKeys, languageCode),
54
55
  },
55
56
  }
56
57
  : {}),
@@ -16,6 +16,7 @@ import { buildObjArgsResolver } from '../helpers/buildObjArgsResolver.ts';
16
16
  import { encodeId } from '../helpers/encodeId.ts';
17
17
  import { getAppendToResponseKeys } from '../helpers/getAppendToResponseKeys.ts';
18
18
  import { getTvIdSeasonAndEpisode } from '../helpers/getTvIdSeasonAndEpisode.ts';
19
+ import { setAppendToResponseSearchParams } from '../helpers/setAppendToResponseSearchParams.ts';
19
20
  import { type EnrichedRawSeason, type EnrichedRawSeasonWithAppendToResponse, type RawSeason } from '../types.ts';
20
21
 
21
22
  const appendToResponse = {
@@ -33,7 +34,7 @@ export const resolveSeason = buildObjArgsResolver<
33
34
  | (EnrichedRawSeasonWithAppendToResponse & { __headers?: Headers })
34
35
  | EnrichedRawSeasonWithAppendToResponse[keyof EnrichedRawSeasonWithAppendToResponse]
35
36
  >(SEASON, async (obj, args, ctx, info) => {
36
- const { data: ctxData, fragmentDefinitions, restClient } = ctx;
37
+ const { data: ctxData, fragmentDefinitions, languageCode, restClient } = ctx;
37
38
  const { fieldName, fieldNodes } = info;
38
39
  const typedFieldName = snakeCase(fieldName) as keyof RawSeason;
39
40
  const { id, seasonNumber } = getTvIdSeasonAndEpisode(obj, args);
@@ -53,7 +54,7 @@ export const resolveSeason = buildObjArgsResolver<
53
54
  ...(appendToResponseKeys.length > 0
54
55
  ? {
55
56
  queryParams: {
56
- append_to_response: appendToResponseKeys.join(','),
57
+ ...setAppendToResponseSearchParams(appendToResponseKeys, languageCode),
57
58
  },
58
59
  }
59
60
  : {}),
package/src/queries/tv.ts CHANGED
@@ -25,6 +25,7 @@ import {
25
25
  } from '../constants.ts';
26
26
  import { buildObjArgsResolver } from '../helpers/buildObjArgsResolver.ts';
27
27
  import { getAppendToResponseKeys } from '../helpers/getAppendToResponseKeys.ts';
28
+ import { setAppendToResponseSearchParams } from '../helpers/setAppendToResponseSearchParams.ts';
28
29
  import { type RawTv, type RawTvWithAppendToResponse } from '../types.ts';
29
30
 
30
31
  const appendToResponse = {
@@ -51,7 +52,7 @@ export const resolveTv = buildObjArgsResolver<
51
52
  QueryTvArgs,
52
53
  (RawTvWithAppendToResponse & { __headers?: Headers }) | RawTvWithAppendToResponse[keyof RawTvWithAppendToResponse]
53
54
  >(TV, async (obj, args, ctx, info) => {
54
- const { data: ctxData, fragmentDefinitions, restClient } = ctx;
55
+ const { data: ctxData, fragmentDefinitions, languageCode, restClient } = ctx;
55
56
  const { fieldName, fieldNodes } = info;
56
57
  const typedFieldName = snakeCase(fieldName) as keyof RawTv;
57
58
 
@@ -71,7 +72,7 @@ export const resolveTv = buildObjArgsResolver<
71
72
  ...(appendToResponseKeys.length > 0
72
73
  ? {
73
74
  queryParams: {
74
- append_to_response: appendToResponseKeys.join(','),
75
+ ...setAppendToResponseSearchParams(appendToResponseKeys, languageCode),
75
76
  },
76
77
  }
77
78
  : {}),
package/src/types.ts CHANGED
@@ -83,7 +83,9 @@ import { type Except, type SetRequired } from 'type-fest';
83
83
  import { type Logger } from 'winston';
84
84
 
85
85
  export type Context = ExecutionContextValue & {
86
+ countryCode?: string;
86
87
  data: ExecutionContextValueData & { tmdbGuestSessionId: string };
88
+ languageCode?: string;
87
89
  logger: Logger;
88
90
  restClient: Getta & ShortcutProperties<ShortcutMethodNames>;
89
91
  };