From 643bae0c334e01358893253308b40f939bee59ad Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 11 May 2021 00:31:11 +0100 Subject: [PATCH] Switch type check to use 'instanceof' instead of constructor.name for supporting extended types --- src/resolvers/connection.ts | 2 +- src/resolvers/count.ts | 4 ++-- src/resolvers/createMany.ts | 2 +- src/resolvers/createOne.ts | 2 +- src/resolvers/dataLoader.ts | 5 ++--- src/resolvers/dataLoaderMany.ts | 5 ++--- src/resolvers/findById.ts | 10 ++++++---- src/resolvers/findByIds.ts | 5 ++--- src/resolvers/findMany.ts | 6 +++--- src/resolvers/findOne.ts | 4 ++-- src/resolvers/helpers/record.ts | 2 +- src/resolvers/helpers/sort.ts | 2 +- src/resolvers/pagination.ts | 2 +- src/resolvers/removeById.ts | 5 ++--- src/resolvers/removeMany.ts | 4 ++-- src/resolvers/removeOne.ts | 4 ++-- src/resolvers/updateById.ts | 5 ++--- src/resolvers/updateMany.ts | 4 ++-- src/resolvers/updateOne.ts | 2 +- 19 files changed, 36 insertions(+), 39 deletions(-) diff --git a/src/resolvers/connection.ts b/src/resolvers/connection.ts index 0bca0bee..b3d1a238 100644 --- a/src/resolvers/connection.ts +++ b/src/resolvers/connection.ts @@ -4,7 +4,7 @@ import { ConnectionResolverOpts as _ConnectionResolverOpts, ConnectionTArgs, } from 'graphql-compose-connection'; -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer } from 'graphql-compose'; import { CountResolverOpts, count } from './count'; import { FindManyResolverOpts, findMany } from './findMany'; import { getUniqueIndexes, extendByReversedIndexes, IndexT } from '../utils/getIndexesFromModel'; diff --git a/src/resolvers/count.ts b/src/resolvers/count.ts index f3bd46e4..59241134 100644 --- a/src/resolvers/count.ts +++ b/src/resolvers/count.ts @@ -1,4 +1,4 @@ -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer } from 'graphql-compose'; import type { Model, Document } from 'mongoose'; import { filterHelper, @@ -29,7 +29,7 @@ export function count({ - type: tc, + type: tc.getTypeName(), name: 'findById', kind: 'query', args: { diff --git a/src/resolvers/findByIds.ts b/src/resolvers/findByIds.ts index 0a20ede0..df4b0334 100644 --- a/src/resolvers/findByIds.ts +++ b/src/resolvers/findByIds.ts @@ -1,5 +1,4 @@ -import { toInputType } from 'graphql-compose'; -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer, toInputType } from 'graphql-compose'; import type { Model, Document } from 'mongoose'; import { limitHelper, @@ -48,7 +47,7 @@ export function findByIds({ - type: tc.NonNull.List.NonNull, + type: tc.schemaComposer.getAnyTC(tc.getTypeName()).NonNull.List.NonNull, name: 'findMany', kind: 'query', args: { diff --git a/src/resolvers/findOne.ts b/src/resolvers/findOne.ts index 5d4e304b..79a7fd8b 100644 --- a/src/resolvers/findOne.ts +++ b/src/resolvers/findOne.ts @@ -1,4 +1,4 @@ -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer } from 'graphql-compose'; import type { Model, Document } from 'mongoose'; import { skipHelper, @@ -53,7 +53,7 @@ export function findOne( tc: ObjectTypeComposer, opts?: RecordHelperArgsOpts ): ObjectTypeComposerArgumentConfigMapDefinition<{ record: any }> { - if (!tc || tc.constructor.name !== 'ObjectTypeComposer') { + if (!tc || !(tc instanceof ObjectTypeComposer)) { throw new Error('First arg for recordHelperArgs() should be instance of ObjectTypeComposer.'); } diff --git a/src/resolvers/helpers/sort.ts b/src/resolvers/helpers/sort.ts index 51a57dd7..58c7a920 100644 --- a/src/resolvers/helpers/sort.ts +++ b/src/resolvers/helpers/sort.ts @@ -28,7 +28,7 @@ export function sortHelperArgs( model: Model, opts?: SortHelperArgsOpts ): ObjectTypeComposerArgumentConfigMapDefinition<{ sort: any }> { - if (!tc || tc.constructor.name !== 'ObjectTypeComposer') { + if (!tc || !(tc instanceof ObjectTypeComposer)) { throw new Error('First arg for sortHelperArgs() should be instance of ObjectTypeComposer.'); } diff --git a/src/resolvers/pagination.ts b/src/resolvers/pagination.ts index 54fdac95..763e18f2 100644 --- a/src/resolvers/pagination.ts +++ b/src/resolvers/pagination.ts @@ -1,4 +1,4 @@ -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer } from 'graphql-compose'; import type { Model, Document } from 'mongoose'; import { preparePaginationResolver, diff --git a/src/resolvers/removeById.ts b/src/resolvers/removeById.ts index 27c0bb0a..0c7851be 100644 --- a/src/resolvers/removeById.ts +++ b/src/resolvers/removeById.ts @@ -1,5 +1,4 @@ -import { toInputType } from 'graphql-compose'; -import type { Resolver, ObjectTypeComposer } from 'graphql-compose'; +import { Resolver, ObjectTypeComposer, toInputType } from 'graphql-compose'; import type { Model, Document } from 'mongoose'; import { findById } from './findById'; import type { ExtendedResolveParams } from './index'; @@ -28,7 +27,7 @@ export function removeById