type-graphql
- Version 2.0.0-rc.2
- Published
- 335 kB
- 6 dependencies
- MIT license
Install
npm i type-graphql
yarn add type-graphql
pnpm add type-graphql
Overview
Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
Index
Variables
Functions
- Arg()
- Args()
- ArgsType()
- Authorized()
- buildSchema()
- buildSchemaSync()
- buildTypeDefsAndResolvers()
- buildTypeDefsAndResolversSync()
- createMethodMiddlewareDecorator()
- createParameterDecorator()
- createResolverClassMiddlewareDecorator()
- createResolversMap()
- createUnionType()
- Ctx()
- Directive()
- emitSchemaDefinitionFile()
- emitSchemaDefinitionFileSync()
- ensureInstalledCorrectGraphQLPackage()
- Extensions()
- Field()
- FieldResolver()
- getMetadataStorage()
- Info()
- InputType()
- InterfaceType()
- Mutation()
- ObjectType()
- Query()
- registerEnumType()
- Resolver()
- Root()
- Subscription()
- UseMiddleware()
Classes
Interfaces
Type Aliases
- ArgOptions
- ArgsDictionary
- AuthChecker
- AuthCheckerFn
- AuthMode
- BuildSchemaOptions
- ClassType
- Complexity
- Constructor
- ContainerGetter
- EnumResolver
- Except
- FieldOptions
- InputTypeOptions
- InterfaceTypeOptions
- IsEqual
- Maybe
- MaybePromise
- MergeExclusive
- MiddlewareFn
- NextFn
- NonEmptyArray
- ObjectTypeOptions
- ParameterDecorator
- ResolverInterface
- ResolverObject
- ResolversMap
- SetRequired
- Simplify
- SubscriptionOptions
- TypeResolver
- ValidatorFn
Variables
variable defaultPrintSchemaOptions
const defaultPrintSchemaOptions: PrintSchemaOptions;
variable Float
const Float: any;
variable graphQLPeerDependencyVersion
const graphQLPeerDependencyVersion: string;
variable ID
const ID: any;
variable Int
const Int: any;
Functions
function Arg
Arg: { (name: string, options?: ArgOptions): ParameterDecorator; ( name: string, returnTypeFunc: ReturnTypeFunc, options?: ArgOptions ): ParameterDecorator;};
function Args
Args: { (): ParameterDecorator; (options: ValidateOptions): ParameterDecorator; ( paramTypeFunction: ReturnTypeFunc, options?: ValidateOptions ): ParameterDecorator;};
function ArgsType
ArgsType: () => ClassDecorator;
function Authorized
Authorized: { (): MethodPropClassDecorator; <RoleType = string>(roles: readonly RoleType[]): MethodPropClassDecorator; <RoleType = string>(...roles: readonly RoleType[]): MethodPropClassDecorator;};
function buildSchema
buildSchema: (options: BuildSchemaOptions) => Promise<GraphQLSchema>;
function buildSchemaSync
buildSchemaSync: (options: BuildSchemaOptions) => GraphQLSchema;
function buildTypeDefsAndResolvers
buildTypeDefsAndResolvers: ( options: BuildSchemaOptions) => Promise<{ typeDefs: string; resolvers: import('..').ResolversMap }>;
function buildTypeDefsAndResolversSync
buildTypeDefsAndResolversSync: (options: BuildSchemaOptions) => { typeDefs: string; resolvers: import('..').ResolversMap;};
function createMethodMiddlewareDecorator
createMethodMiddlewareDecorator: <TContextType extends object = object>( resolver: MiddlewareFn<TContextType>) => MethodDecorator;
function createParameterDecorator
createParameterDecorator: <TContextType extends object = object>( resolver: ParameterResolver<TContextType>, paramOptions?: CustomParameterOptions) => ParameterDecorator;
function createResolverClassMiddlewareDecorator
createResolverClassMiddlewareDecorator: <TContextType extends object = object>( resolver: MiddlewareFn<TContextType>) => ClassDecorator;
function createResolversMap
createResolversMap: (schema: GraphQLSchema) => ResolversMap;
function createUnionType
createUnionType: <T extends readonly ClassType<object, any[]>[]>( config: UnionTypeConfig<T>) => UnionFromClasses<T>;
function Ctx
Ctx: (propertyName?: string) => ParameterDecorator;
function Directive
Directive: ( sdl: string) => MethodAndPropDecorator & ClassDecorator & ParameterDecorator;
function emitSchemaDefinitionFile
emitSchemaDefinitionFile: ( schemaFilePath: string, schema: GraphQLSchema, options?: PrintSchemaOptions) => Promise<void>;
function emitSchemaDefinitionFileSync
emitSchemaDefinitionFileSync: ( schemaFilePath: string, schema: GraphQLSchema, options?: PrintSchemaOptions) => void;
function ensureInstalledCorrectGraphQLPackage
ensureInstalledCorrectGraphQLPackage: () => void;
function Extensions
Extensions: ( extensions: ExtensionsMetadata) => MethodAndPropDecorator & ClassDecorator;
function Field
Field: { (): MethodAndPropDecorator; (options: FieldOptions): MethodAndPropDecorator; ( returnTypeFunction?: ReturnTypeFunc, options?: FieldOptions ): MethodAndPropDecorator;};
function FieldResolver
FieldResolver: { (): MethodDecorator; (options: AdvancedOptions): MethodDecorator; ( returnTypeFunction?: ReturnTypeFunc, options?: AdvancedOptions ): MethodDecorator;};
function getMetadataStorage
getMetadataStorage: () => MetadataStorage;
function Info
Info: () => ParameterDecorator;
function InputType
InputType: { (): ClassDecorator; (options: DescriptionOptions): ClassDecorator; (name: string, options?: DescriptionOptions): ClassDecorator;};
function InterfaceType
InterfaceType: { (): ClassDecorator; (options: InterfaceTypeOptions): ClassDecorator; (name: string, options?: InterfaceTypeOptions): ClassDecorator;};
function Mutation
Mutation: { (): MethodDecorator; (options: AdvancedOptions): MethodDecorator; (returnTypeFunc: ReturnTypeFunc, options?: AdvancedOptions): MethodDecorator;};
function ObjectType
ObjectType: { (): ClassDecorator; (options: ObjectTypeOptions): ClassDecorator; (name: string, options?: ObjectTypeOptions): ClassDecorator;};
function Query
Query: { (): MethodDecorator; (options: AdvancedOptions): MethodDecorator; (returnTypeFunc: ReturnTypeFunc, options?: AdvancedOptions): MethodDecorator;};
function registerEnumType
registerEnumType: <TEnum extends object>( enumObj: TEnum, enumConfig: EnumConfig<TEnum>) => void;
function Resolver
Resolver: { (): ClassDecorator; (typeFunc: ClassTypeResolver): ClassDecorator; (objectType: ClassType<object, any[]>): ClassDecorator;};
function Root
Root: (propertyName?: string) => ParameterDecorator;
function Subscription
Subscription: { (options: SubscriptionOptions): MethodDecorator; (returnTypeFunc: ReturnTypeFunc, options: SubscriptionOptions): MethodDecorator;};
function UseMiddleware
UseMiddleware: { (middlewares: Array<Middleware<any>>): MethodPropClassDecorator; (...middlewares: Middleware<any>[]): MethodPropClassDecorator;};
Classes
class ArgumentValidationError
class ArgumentValidationError extends GraphQLError {}
constructor
constructor(validationErrors: ValidationError[]);
property extensions
readonly extensions: { [attributeName: string]: unknown; code: 'BAD_USER_INPUT'; validationErrors: ValidationError[];};
class AuthenticationError
class AuthenticationError extends GraphQLError {}
constructor
constructor(message?: string);
property extensions
readonly extensions: { [attributeName: string]: unknown; code: 'UNAUTHENTICATED';};
class AuthorizationError
class AuthorizationError extends GraphQLError {}
constructor
constructor(message?: string);
property extensions
readonly extensions: { [attributeName: string]: unknown; code: 'UNAUTHORIZED' };
class CannotDetermineGraphQLTypeError
class CannotDetermineGraphQLTypeError extends Error {}
constructor
constructor( typeKind: 'input' | 'output', typeName: string, propertyKey: string, parameterIndex?: number, argName?: string);
class ConflictingDefaultValuesError
class ConflictingDefaultValuesError extends Error {}
constructor
constructor( typeName: string, fieldName: string, defaultValueFromDecorator: {}, defaultValueFromInitializer: {});
class GeneratingSchemaError
class GeneratingSchemaError extends Error {}
constructor
constructor(details: readonly GraphQLError[]);
property details
details: readonly GraphQLError[];
class InterfaceResolveTypeError
class InterfaceResolveTypeError extends Error {}
constructor
constructor(interfaceMetadata: ClassMetadata);
class InvalidDirectiveError
class InvalidDirectiveError extends Error {}
constructor
constructor(msg: string);
class MissingPubSubError
class MissingPubSubError extends Error {}
constructor
constructor();
class MissingSubscriptionTopicsError
class MissingSubscriptionTopicsError extends Error {}
constructor
constructor(target: Function, methodName: string);
class NoExplicitTypeError
class NoExplicitTypeError extends Error {}
constructor
constructor( typeName: string, propertyKey: string, parameterIndex?: number, argName?: string);
class ReflectMetadataMissingError
class ReflectMetadataMissingError extends Error {}
constructor
constructor();
class SymbolKeysNotSupportedError
class SymbolKeysNotSupportedError extends Error {}
constructor
constructor();
class UnionResolveTypeError
class UnionResolveTypeError extends Error {}
constructor
constructor(unionMetadata: UnionMetadata);
class UnmetGraphQLPeerDependencyError
class UnmetGraphQLPeerDependencyError extends Error {}
constructor
constructor(graphQLVersion: string, graphQLPeerDependencyVersion: string);
class WrongNullableListOptionError
class WrongNullableListOptionError extends Error {}
constructor
constructor( targetName: string, propertyName: string, nullable: boolean | NullableListOptions);
Interfaces
interface AuthCheckerInterface
interface AuthCheckerInterface< TContextType extends object = object, TRoleType = string> {}
method check
check: ( resolverData: ResolverData<TContextType>, roles: TRoleType[]) => boolean | Promise<boolean>;
interface ContainerType
interface ContainerType {}
method get
get: (someClass: any, resolverData: ResolverData<any>) => any | Promise<any>;
interface MiddlewareInterface
interface MiddlewareInterface<TContext extends object = object> {}
property use
use: MiddlewareFn<TContext>;
interface PrintSchemaOptions
interface PrintSchemaOptions {}
property sortedSchema
sortedSchema: boolean;
interface PubSub
interface PubSub {}
interface ResolverData
interface ResolverData<TContextType extends object = object> {}
interface ResolverOptions
interface ResolverOptions<TSource = any, TContext = any> {}
interface SubscribeResolverData
interface SubscribeResolverData< TSource = any, TArgs = ArgsDictionary, TContext = {}> {}
interface SubscriptionHandlerData
interface SubscriptionHandlerData< TPayload = any, TArgs = ArgsDictionary, TContext = {}> {}
Type Aliases
type ArgOptions
type ArgOptions = DecoratorTypeOptions & DescriptionOptions & ValidateOptions & DeprecationOptions;
type ArgsDictionary
type ArgsDictionary = Record<string, any>;
type AuthChecker
type AuthChecker<TContextType extends object = object, TRoleType = string> = | AuthCheckerFn<TContextType, TRoleType> | ClassType<AuthCheckerInterface<TContextType, TRoleType>>;
type AuthCheckerFn
type AuthCheckerFn<TContextType extends object = object, TRoleType = string> = ( resolverData: ResolverData<TContextType>, roles: TRoleType[]) => boolean | Promise<boolean>;
type AuthMode
type AuthMode = 'error' | 'null';
type BuildSchemaOptions
type BuildSchemaOptions = { /** Array of resolvers classes to resolver files */ resolvers: NonEmptyArray<Function>; /** * Path to the file to where emit the schema * or config object with print schema options * or `true` for the default `./schema.graphql` one */ emitSchemaFile?: string | boolean | EmitSchemaFileOptions;} & Omit<SchemaGeneratorOptions, 'resolvers'>;
type ClassType
type ClassType< T extends object = object, Arguments extends unknown[] = any[]> = Constructor<T, Arguments> & { prototype: T;};
Matches a [
class
](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes).
type Complexity
type Complexity = ComplexityEstimator | number;
type Constructor
type Constructor<T extends object, Arguments extends unknown[] = any[]> = new ( ...arguments_: Arguments) => T;
Matches a [
class
constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes).
type ContainerGetter
type ContainerGetter<TContext extends object> = ( resolverData: ResolverData<TContext>) => ContainerType;
type EnumResolver
type EnumResolver = Record<string, string | number>;
type Except
type Except< ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = { requireExactProps: false; }> = { [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];} & (Options['requireExactProps'] extends true ? Partial<Record<KeysType, never>> : {});
Create a type from an object type without certain keys.
We recommend setting the
requireExactProps
option totrue
.This type is a stricter version of [
Omit
](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). TheOmit
type does not restrict the omitted keys to be keys present on the given type, whileExcept
does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
Example 1
import {Except} from 'type-fest';type Foo = {a: number;b: string;};type FooWithoutA = Except<Foo, 'a'>;//=> {b: string}const fooWithoutA: FooWithoutA = {a: 1, b: '2'};//=> errors: 'a' does not exist in type '{ b: string; }'type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;//=> {a: number} & Partial<Record<"b", never>>const fooWithoutB: FooWithoutB = {a: 1, b: '2'};//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
type FieldOptions
type FieldOptions = AdvancedOptions & { /** Set to `true` to disable auth and all middlewares stack for this field resolver */ simple?: boolean;};
type InputTypeOptions
type InputTypeOptions = DescriptionOptions;
type InterfaceTypeOptions
type InterfaceTypeOptions = DescriptionOptions & ResolveTypeOptions & ImplementsClassOptions & { /** * Set to false to prevent emitting in schema all object types * that implements this interface type. */ autoRegisterImplementations?: boolean; };
type IsEqual
type IsEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends <G>() => G extends B ? 1 : 2 ? true : false;
Returns a boolean for whether the two given types are equal.
https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650 https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
Use-cases: - If you want to make a conditional branch based on the result of a comparison of two types.
Example 1
import {IsEqual} from 'type-fest';// This type returns a boolean for whether the given array includes the given item.// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.type Includes<Value extends readonly any[], Item> =Value extends readonly [Value[0], ...infer rest]? IsEqual<Value[0], Item> extends true? true: Includes<rest, Item>: false;
type Maybe
type Maybe<T> = T | null | undefined;
type MaybePromise
type MaybePromise<T> = Promise<T> | T;
type MergeExclusive
type MergeExclusive<FirstType, SecondType> = FirstType | SecondType extends object ? | (Without<FirstType, SecondType> & SecondType) | (Without<SecondType, FirstType> & FirstType) : FirstType | SecondType;
Create a type that has mutually exclusive keys.
This type was inspired by [this comment](https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-373782604).
This type works with a helper type, called
Without
.Without<FirstType, SecondType>
produces a type that has only keys fromFirstType
which are not present onSecondType
and sets the value type for these keys tonever
. This helper type is then used inMergeExclusive
to remove keys from eitherFirstType
orSecondType
.Example 1
import {MergeExclusive} from 'type-fest';interface ExclusiveVariation1 {exclusive1: boolean;}interface ExclusiveVariation2 {exclusive2: string;}type ExclusiveOptions = MergeExclusive<ExclusiveVariation1, ExclusiveVariation2>;let exclusiveOptions: ExclusiveOptions;exclusiveOptions = {exclusive1: true};//=> WorksexclusiveOptions = {exclusive2: 'hi'};//=> WorksexclusiveOptions = {exclusive1: true, exclusive2: 'hi'};//=> Error
type MiddlewareFn
type MiddlewareFn<TContext extends object = object> = ( action: ResolverData<TContext>, next: NextFn) => Promise<any>;
type NextFn
type NextFn = () => Promise<any>;
type NonEmptyArray
type NonEmptyArray<T> = readonly [T, ...T[]] | [T, ...T[]];
type ObjectTypeOptions
type ObjectTypeOptions = DescriptionOptions & ImplementsClassOptions & { /** Set to `true` to disable auth and all middlewares stack for all this Object Type fields resolvers */ simpleResolvers?: boolean; };
type ParameterDecorator
type ParameterDecorator = ( target: Object, propertyKey: string | symbol, // Removed 'undefined' from TS 5.0 parameterIndex: number) => void;
type ResolverInterface
type ResolverInterface<T extends object> = { [P in keyof T]?: (root: T, ...args: any[]) => T[P] | Promise<T[P]>;};
Resolver classes can implement this type to provide a proper resolver method signatures for fields of T.
type ResolverObject
type ResolverObject<TSource = any, TContext = any> = Record< string, ResolverOptions<TSource, TContext> | GraphQLFieldResolver<TSource, TContext>>;
type ResolversMap
type ResolversMap<TSource = any, TContext = any> = Record< string, | ResolverObject<TSource, TContext> | ResolverOptions<TSource, TContext> | GraphQLScalarType | EnumResolver>;
type SetRequired
type SetRequired<BaseType, Keys extends keyof BaseType> = Simplify< Except<BaseType, Keys> & Required<Pick<BaseType, Keys>>>;
Create a type that makes the given keys required. The remaining keys are kept as is. The sister of the
SetOptional
type.Use-case: You want to define a single model where the only thing that changes is whether or not some of the keys are required.
Example 1
import {SetRequired} from 'type-fest';type Foo = {a?: number;b: string;c?: boolean;}type SomeRequired = SetRequired<Foo, 'b' | 'c'>;// type SomeRequired = {// a?: number;// b: string; // Was already required and still is.// c: boolean; // Is now required.// }
type Simplify
type Simplify<T> = { [KeyType in keyof T]: T[KeyType];} & {};
Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
Example 1
import {Simplify} from 'type-fest';type PositionProps = {top: number;left: number;};type SizeProps = {width: number;height: number;};// In your editor, hovering over `Props` will show a flattened object with all the properties.type Props = Simplify<PositionProps & SizeProps>;Sometimes it is desired to pass a value as a function argument that has a different type. At first inspection it may seem assignable, and then you discover it is not because the
value
's type definition was defined as an interface. In the following example,fn
requires an argument of typeRecord<string, unknown>
. If the value is defined as a literal, then it is assignable. And if thevalue
is defined as type using theSimplify
utility the value is assignable. But if thevalue
is defined as an interface, it is not assignable because the interface is not sealed and elsewhere a non-string property could be added to the interface.If the type definition must be an interface (perhaps it was defined in a third-party npm package), then the
value
can be defined asconst value: Simplify<SomeInterface> = ...
. Thenvalue
will be assignable to thefn
argument. Or thevalue
can be cast asSimplify<SomeInterface>
if you can't re-declare thevalue
.Example 2
import {Simplify} from 'type-fest';interface SomeInterface {foo: number;bar?: string;baz: number | undefined;}type SomeType = {foo: number;bar?: string;baz: number | undefined;};const literal = {foo: 123, bar: 'hello', baz: 456};const someType: SomeType = literal;const someInterface: SomeInterface = literal;function fn(object: Record<string, unknown>): void {}fn(literal); // Good: literal object type is sealedfn(someType); // Good: type is sealedfn(someInterface); // Error: Index signature for type 'string' is missing in type 'someInterface'. Because `interface` can be re-openedfn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface` into a `type`
type SubscriptionOptions
type SubscriptionOptions = AdvancedOptions & MergeExclusive<PubSubOptions, SubscribeOptions>;
type TypeResolver
type TypeResolver<TSource, TContext> = ( ...args: Parameters<GraphQLTypeResolver<TSource, TContext>>) => MaybePromise<Maybe<string | ClassType>>;
type ValidatorFn
type ValidatorFn<TContext extends object = object> = ( /** * The value of the argument. * It can by of any type, which means: * - undefined or null (if the argument is nullable) * - primitive type (string, number, boolean) * - underlying scalar type (Date, Buffer, etc.) * - object type (arg type class instance) * - array type (array of any of the above) */ argValue: any | undefined, argType: TypeValue, resolverData: ResolverData<TContext>) => void | Promise<void>;
Package Files (71)
- build/typings/decorators/Arg.d.ts
- build/typings/decorators/Args.d.ts
- build/typings/decorators/ArgsType.d.ts
- build/typings/decorators/Authorized.d.ts
- build/typings/decorators/Ctx.d.ts
- build/typings/decorators/Directive.d.ts
- build/typings/decorators/Extensions.d.ts
- build/typings/decorators/Field.d.ts
- build/typings/decorators/FieldResolver.d.ts
- build/typings/decorators/Info.d.ts
- build/typings/decorators/InputType.d.ts
- build/typings/decorators/InterfaceType.d.ts
- build/typings/decorators/Mutation.d.ts
- build/typings/decorators/ObjectType.d.ts
- build/typings/decorators/Query.d.ts
- build/typings/decorators/Resolver.d.ts
- build/typings/decorators/Root.d.ts
- build/typings/decorators/Subscription.d.ts
- build/typings/decorators/UseMiddleware.d.ts
- build/typings/decorators/createMethodMiddlewareDecorator.d.ts
- build/typings/decorators/createParameterDecorator.d.ts
- build/typings/decorators/createResolverClassMiddlewareDecorator.d.ts
- build/typings/decorators/enums.d.ts
- build/typings/decorators/unions.d.ts
- build/typings/errors/CannotDetermineGraphQLTypeError.d.ts
- build/typings/errors/ConflictingDefaultValuesError.d.ts
- build/typings/errors/GeneratingSchemaError.d.ts
- build/typings/errors/InterfaceResolveTypeError.d.ts
- build/typings/errors/InvalidDirectiveError.d.ts
- build/typings/errors/MissingPubSubError.d.ts
- build/typings/errors/MissingSubscriptionTopicsError.d.ts
- build/typings/errors/NoExplicitTypeError.d.ts
- build/typings/errors/ReflectMetadataMissingError.d.ts
- build/typings/errors/SymbolKeysNotSupportedError.d.ts
- build/typings/errors/UnionResolveTypeError.d.ts
- build/typings/errors/UnmetGraphQLPeerDependencyError.d.ts
- build/typings/errors/WrongNullableListOptionError.d.ts
- build/typings/errors/graphql/ArgumentValidationError.d.ts
- build/typings/errors/graphql/AuthenticationError.d.ts
- build/typings/errors/graphql/AuthorizationError.d.ts
- build/typings/index.d.ts
- build/typings/metadata/getMetadataStorage.d.ts
- build/typings/scalars/aliases.d.ts
- build/typings/typings/Complexity.d.ts
- build/typings/typings/ResolverInterface.d.ts
- build/typings/typings/SubscribeResolverData.d.ts
- build/typings/typings/SubscriptionHandlerData.d.ts
- build/typings/typings/TypeResolver.d.ts
- build/typings/typings/ValidatorFn.d.ts
- build/typings/typings/auth-checker.d.ts
- build/typings/typings/legacy-decorators.d.ts
- build/typings/typings/middleware.d.ts
- build/typings/typings/resolver-data.d.ts
- build/typings/typings/resolvers-map.d.ts
- build/typings/typings/subscriptions.d.ts
- build/typings/typings/utils/ClassType.d.ts
- build/typings/typings/utils/Constructor.d.ts
- build/typings/typings/utils/Except.d.ts
- build/typings/typings/utils/IsEqual.d.ts
- build/typings/typings/utils/Maybe.d.ts
- build/typings/typings/utils/MaybePromise.d.ts
- build/typings/typings/utils/MergeExclusive.d.ts
- build/typings/typings/utils/NonEmptyArray.d.ts
- build/typings/typings/utils/SetRequired.d.ts
- build/typings/typings/utils/Simplify.d.ts
- build/typings/utils/buildSchema.d.ts
- build/typings/utils/buildTypeDefsAndResolvers.d.ts
- build/typings/utils/container.d.ts
- build/typings/utils/createResolversMap.d.ts
- build/typings/utils/emitSchemaDefinitionFile.d.ts
- build/typings/utils/graphql-version.d.ts
Dependencies (6)
Dev Dependencies (69)
- @apollo/cache-control-types
- @apollo/gateway
- @apollo/server
- @apollo/server-plugin-response-cache
- @apollo/subgraph
- @cspell/dict-node
- @cspell/dict-npm
- @cspell/dict-shell
- @cspell/dict-typescript
- @cspell/eslint-plugin
- @graphql-tools/schema
- @graphql-tools/utils
- @graphql-yoga/redis-event-target
- @mikro-orm/core
- @mikro-orm/postgresql
- @typegoose/typegoose
- @types/jest
- @types/lodash.merge
- @types/node
- @types/shelljs
- @types/yargs
- @typescript-eslint/eslint-plugin
- @typescript-eslint/parser
- class-validator
- cspell
- dotenv
- eslint
- eslint-config-airbnb-base
- eslint-config-airbnb-typescript
- eslint-config-prettier
- eslint-import-resolver-typescript
- eslint-plugin-import
- eslint-plugin-jest
- eslint-plugin-tsdoc
- expect
- glob
- graphql
- graphql-scalars
- graphql-tag
- graphql-yoga
- husky
- ioredis
- jest
- joiful
- lint-staged
- lodash.merge
- markdownlint
- markdownlint-cli
- mongoose
- npm-run-all
- pg
- prettier
- prettier-plugin-sh
- reflect-metadata
- shellcheck
- shelljs
- shx
- sponsorkit
- ts-jest
- ts-node
- ts-patch
- tsconfig-paths
- tsyringe
- typedi
- typeorm
- typescript
- typescript-transform-paths
- typescript-transformer-esm
- yargs
Peer Dependencies (3)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/type-graphql
.
- Markdown[](https://www.jsdocs.io/package/type-graphql)
- HTML<a href="https://www.jsdocs.io/package/type-graphql"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 5567 ms. - Missing or incorrect documentation? Open an issue for this package.