@tmdb-graphql-api/resolvers 0.0.10 → 0.0.12

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 (36) hide show
  1. package/dist/cjs/index.cjs +1 -3434
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/index.mjs +1 -3431
  4. package/dist/esm/index.mjs.map +1 -1
  5. package/dist/production.analysis.txt +882 -0
  6. package/dist/types/cjs/helpers/createDefaultFieldResolver.d.cts +4 -0
  7. package/dist/types/cjs/helpers/createDefaultFieldResolver.d.cts.map +1 -0
  8. package/dist/types/cjs/index.d.cts +1 -1
  9. package/dist/types/cjs/index.d.cts.map +1 -1
  10. package/dist/types/cjs/queries/tv.d.cts.map +1 -1
  11. package/dist/types/cjs/queries/tvRecommendations.d.cts +1 -1
  12. package/dist/types/cjs/queries/tvReviews.d.cts +1 -1
  13. package/dist/types/cjs/queries/tvSimilarTvShows.d.cts +1 -1
  14. package/dist/types/cjs/types.d.cts +1 -1
  15. package/dist/types/cjs/types.d.cts.map +1 -1
  16. package/dist/types/esm/helpers/createDefaultFieldResolver.d.ts +4 -0
  17. package/dist/types/esm/helpers/createDefaultFieldResolver.d.ts.map +1 -0
  18. package/dist/types/esm/index.d.ts +1 -1
  19. package/dist/types/esm/index.d.ts.map +1 -1
  20. package/dist/types/esm/queries/tv.d.ts.map +1 -1
  21. package/dist/types/esm/queries/tvRecommendations.d.ts +1 -1
  22. package/dist/types/esm/queries/tvReviews.d.ts +1 -1
  23. package/dist/types/esm/queries/tvSimilarTvShows.d.ts +1 -1
  24. package/dist/types/esm/types.d.ts +1 -1
  25. package/dist/types/esm/types.d.ts.map +1 -1
  26. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +1 -1
  28. package/src/helpers/createDefaultFieldResolver.ts +20 -0
  29. package/src/index.ts +1 -1
  30. package/src/queries/tv.ts +7 -2
  31. package/src/types.ts +1 -1
  32. package/dist/types/cjs/helpers/defaultFieldResolver.d.cts +0 -4
  33. package/dist/types/cjs/helpers/defaultFieldResolver.d.cts.map +0 -1
  34. package/dist/types/esm/helpers/defaultFieldResolver.d.ts +0 -4
  35. package/dist/types/esm/helpers/defaultFieldResolver.d.ts.map +0 -1
  36. package/src/helpers/defaultFieldResolver.ts +0 -19
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.0.10",
4
+ "version": "0.0.12",
5
5
  "author": "Dylan Aubrey",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/badbatch/themoviedb-graphql-api",
@@ -0,0 +1,20 @@
1
+ import { type PlainObject } from '@graphql-box/core';
2
+ import { type GraphQLFieldResolver } from 'graphql';
3
+ import { snakeCase } from 'lodash-es';
4
+
5
+ export const createDefaultFieldResolver =
6
+ <
7
+ Source extends PlainObject = PlainObject,
8
+ Context extends PlainObject = PlainObject,
9
+ Args extends PlainObject = PlainObject
10
+ >(): GraphQLFieldResolver<Source, Context, Args> =>
11
+ (object, _arguments, _context, { fieldNodes }) => {
12
+ const currentField = fieldNodes[0]!;
13
+ const { value: name } = currentField.name;
14
+
15
+ if (Object.prototype.hasOwnProperty.call(object, name)) {
16
+ return object[name];
17
+ }
18
+
19
+ return object[snakeCase(name)];
20
+ };
package/src/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { defaultFieldResolver } from './helpers/defaultFieldResolver.ts';
1
+ export { createDefaultFieldResolver } from './helpers/createDefaultFieldResolver.ts';
2
2
  export { resolvers } from './main.ts';
package/src/queries/tv.ts CHANGED
@@ -47,8 +47,13 @@ const appendToResponse = {
47
47
  };
48
48
 
49
49
  const enrichSeasonData = (obj: RawTv) => {
50
- for (const season of obj.seasons) {
51
- season.tv_show_id = obj.id;
50
+ // Although RawTv should always have seasons there are some
51
+ // instances where this is undefined and causes an exception.
52
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
53
+ if (obj.seasons) {
54
+ for (const season of obj.seasons) {
55
+ season.tv_show_id = obj.id;
56
+ }
52
57
  }
53
58
  };
54
59
 
package/src/types.ts CHANGED
@@ -414,7 +414,7 @@ export type RawTv = SnakeCasedPropertiesDeep<
414
414
  | 'videos'
415
415
  | 'watchProviders'
416
416
  >
417
- > & { seasons: RawSeason[] };
417
+ > & { seasons?: RawSeason[] };
418
418
 
419
419
  export type RawTvWithAppendToResponse = RawTv & {
420
420
  alternative_titles: Omit<RawTvAlternativeTitles, 'id'>;
@@ -1,4 +0,0 @@
1
- import type { PlainObject } from '@graphql-box/core';
2
- import type { GraphQLFieldResolver } from 'graphql';
3
- export declare const defaultFieldResolver: GraphQLFieldResolver<PlainObject, unknown>;
4
- //# sourceMappingURL=defaultFieldResolver.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultFieldResolver.d.cts","sourceRoot":"","sources":["../../../../src/helpers/defaultFieldResolver.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAc3E,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { PlainObject } from '@graphql-box/core';
2
- import type { GraphQLFieldResolver } from 'graphql';
3
- export declare const defaultFieldResolver: GraphQLFieldResolver<PlainObject, unknown>;
4
- //# sourceMappingURL=defaultFieldResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultFieldResolver.d.ts","sourceRoot":"","sources":["../../../../src/helpers/defaultFieldResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAc3E,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { PlainObject } from '@graphql-box/core';
2
- import type { GraphQLFieldResolver } from 'graphql';
3
- import { snakeCase } from 'lodash-es';
4
-
5
- export const defaultFieldResolver: GraphQLFieldResolver<PlainObject, unknown> = (
6
- object,
7
- _arguments,
8
- _context,
9
- { fieldNodes }
10
- ) => {
11
- const currentField = fieldNodes[0]!;
12
- const { value: name } = currentField.name;
13
-
14
- if (Object.prototype.hasOwnProperty.call(object, name)) {
15
- return object[name];
16
- }
17
-
18
- return object[snakeCase(name)];
19
- };