@tmdb-graphql-api/resolvers 0.0.10 → 0.0.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.
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.11",
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';
@@ -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
- };