1 | import { ValidatorOptions } from "class-validator";
|
2 | import { TypeValueThunk, TypeOptions } from "../../decorators/types";
|
3 | import { ResolverData } from "../../interfaces";
|
4 | export interface BasicParamMetadata {
|
5 | target: Function;
|
6 | methodName: string;
|
7 | index: number;
|
8 | }
|
9 | export interface InfoParamMetadata extends BasicParamMetadata {
|
10 | kind: "info";
|
11 | }
|
12 | export interface PubSubParamMetadata extends BasicParamMetadata {
|
13 | kind: "pubSub";
|
14 | triggerKey?: string;
|
15 | }
|
16 | export interface ContextParamMetadata extends BasicParamMetadata {
|
17 | kind: "context";
|
18 | propertyName: string | undefined;
|
19 | }
|
20 | export interface RootParamMetadata extends BasicParamMetadata {
|
21 | kind: "root";
|
22 | propertyName: string | undefined;
|
23 | getType: TypeValueThunk | undefined;
|
24 | }
|
25 | export interface CommonArgMetadata extends BasicParamMetadata {
|
26 | getType: TypeValueThunk;
|
27 | typeOptions: TypeOptions;
|
28 | validate: boolean | ValidatorOptions | undefined;
|
29 | }
|
30 | export interface ArgParamMetadata extends CommonArgMetadata {
|
31 | kind: "arg";
|
32 | name: string;
|
33 | description: string | undefined;
|
34 | }
|
35 | export interface ArgsParamMetadata extends CommonArgMetadata {
|
36 | kind: "args";
|
37 | }
|
38 | export interface CustomParamMetadata extends BasicParamMetadata {
|
39 | kind: "custom";
|
40 | resolver: (resolverData: ResolverData<any>) => any;
|
41 | }
|
42 | export declare type ParamMetadata = InfoParamMetadata | PubSubParamMetadata | ContextParamMetadata | RootParamMetadata | ArgParamMetadata | ArgsParamMetadata | CustomParamMetadata;
|