@zuu/owl
Version:
Zuu's Experimental GraphQL Implementation
38 lines (37 loc) • 1.27 kB
TypeScript
import { ValidatorOptions } from "class-validator";
import { TypeValueThunk, TypeOptions } from "../../decorators/types";
export interface BasicParamMetadata {
target: Function;
methodName: string;
index: number;
}
export interface InfoParamMetadata extends BasicParamMetadata {
kind: "info";
}
export interface PubSubParamMetadata extends BasicParamMetadata {
kind: "pubSub";
triggerKey?: string;
}
export interface ContextParamMetadata extends BasicParamMetadata {
kind: "context";
propertyName: string | undefined;
}
export interface RootParamMetadata extends BasicParamMetadata {
kind: "root";
propertyName: string | undefined;
getType: TypeValueThunk | undefined;
}
export interface CommonArgMetadata extends BasicParamMetadata {
getType: TypeValueThunk;
typeOptions: TypeOptions;
validate: boolean | ValidatorOptions | undefined;
}
export interface ArgParamMetadata extends CommonArgMetadata {
kind: "arg";
name: string;
description: string | undefined;
}
export interface ArgsParamMetadata extends CommonArgMetadata {
kind: "args";
}
export declare type ParamMetadata = InfoParamMetadata | PubSubParamMetadata | ContextParamMetadata | RootParamMetadata | ArgParamMetadata | ArgsParamMetadata;