UNPKG

1.5 kBTypeScriptView Raw
1import { ResolverFn } from "graphql-subscriptions";
2import { TypeValueThunk, TypeOptions, ClassTypeResolver, SubscriptionFilterFunc, SubscriptionTopicFunc } from "../../decorators/types";
3import { ParamMetadata } from "./param-metadata";
4import { Middleware } from "../../interfaces/Middleware";
5import { Complexity } from "../../interfaces";
6export interface BaseResolverMetadata {
7 methodName: string;
8 schemaName: string;
9 target: Function;
10 complexity: Complexity | undefined;
11 resolverClassMetadata?: ResolverClassMetadata;
12 params?: ParamMetadata[];
13 roles?: any[];
14 middlewares?: Array<Middleware<any>>;
15}
16export interface ResolverMetadata extends BaseResolverMetadata {
17 getReturnType: TypeValueThunk;
18 returnTypeOptions: TypeOptions;
19 description?: string;
20 deprecationReason?: string;
21}
22export interface FieldResolverMetadata extends BaseResolverMetadata {
23 kind: "internal" | "external";
24 description?: string;
25 deprecationReason?: string;
26 getType?: TypeValueThunk;
27 typeOptions?: TypeOptions;
28 getObjectType?: ClassTypeResolver;
29}
30export interface SubscriptionResolverMetadata extends ResolverMetadata {
31 topics: string | string[] | SubscriptionTopicFunc | undefined;
32 filter: SubscriptionFilterFunc | undefined;
33 subscribe: ResolverFn | undefined;
34}
35export interface ResolverClassMetadata {
36 target: Function;
37 getObjectType: ClassTypeResolver;
38 isAbstract?: boolean;
39 superResolver?: ResolverClassMetadata;
40}