UNPKG

@tsed/common

Version:
33 lines (32 loc) 1.09 kB
import { Type } from "@tsed/core"; import { JsonEntityStore, JsonEntityStoreOptions, JsonParameter } from "@tsed/schema"; import { ParamTypes } from "./ParamTypes"; export interface ParamConstructorOptions extends JsonEntityStoreOptions { expression?: string; useType?: Type<any>; paramType?: string | ParamTypes; pipes?: Type<IPipe>[]; } export interface IPipe<T = any, R = any> { transform(value: T, metadata: ParamMetadata): R; } export declare class ParamMetadata extends JsonEntityStore implements ParamConstructorOptions { /** * */ expression: string; /** * */ paramType: string | ParamTypes; pipes: Type<IPipe>[]; constructor(options: ParamConstructorOptions); /** * Return the JsonOperation */ get parameter(): JsonParameter; get service(): string | ParamTypes; set service(service: string | ParamTypes); static get(target: Type<any>, propertyKey: string | symbol, index: number): ParamMetadata; static getParams(target: Type<any>, propertyKey: string | symbol): ParamMetadata[]; }