express-cargo
Version:
express middleware for class-based request parsing
40 lines • 1.58 kB
TypeScript
import 'reflect-metadata';
import type { Request } from 'express';
import { Source, ValidatorRule } from './types';
export declare class CargoClassMetadata {
private target;
constructor(target: any);
getMetadataKey(propertyKey: string | symbol): string;
getFieldKey(): string;
getFieldMetadata(propertyKey: string | symbol): CargoFieldMetadata;
setFieldMetadata(propertyKey: string | symbol, meta: CargoFieldMetadata): void;
getFieldList(): (string | symbol)[];
setFieldList(propertyKey: string | symbol): void;
}
export declare class CargoFieldMetadata {
readonly target: any;
readonly type: any;
private key;
private source;
private optional;
private validators;
private transformer;
private requestTransformer;
private virtualTransformer;
constructor(target: any, key: string | symbol);
getKey(): string | symbol;
setKey(key: string | symbol): void;
getSource(): Source;
setSource(source: Source): void;
getValidators(): ValidatorRule[];
addValidator(rule: ValidatorRule): void;
getOptional(): boolean;
setOptional(optional: boolean): void;
getTransformer(): ((value: any) => any) | undefined;
setTransformer(transformer: (value: any) => any): void;
getRequestTransformer(): ((req: Request) => any) | undefined;
setRequestTransformer(transformer: (req: Request) => any): void;
getVirtualTransformer(): ((...value: any[]) => any) | undefined;
setVirtualTransformer(transformer: (...value: any[]) => any): void;
}
//# sourceMappingURL=metadata.d.ts.map