UNPKG

express-cargo

Version:

express middleware for class-based request parsing

20 lines (19 loc) 805 B
import { CargoClassMetadata } from './metadata'; function createSourceDecorator(source) { return (key)=>{ return (target, propertyKey)=>{ const classMeta = new CargoClassMetadata(target); const fieldMeta = classMeta.getFieldMetadata(propertyKey); fieldMeta.setKey(key ?? propertyKey); fieldMeta.setSource(source); classMeta.setFieldMetadata(propertyKey, fieldMeta); classMeta.setFieldList(propertyKey); }; }; } export const Body = createSourceDecorator('body'); export const Query = createSourceDecorator('query'); export const Params = createSourceDecorator('params'); export const Uri = Params; export const Header = createSourceDecorator('header'); export const Session = createSourceDecorator('session');