UNPKG

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