UNPKG

express-cargo

Version:

express middleware for class-based request parsing

28 lines (27 loc) 1.12 kB
import { CargoClassMetadata } from './metadata'; export function Transform(transformer) { return (target, propertyKey)=>{ const classMeta = new CargoClassMetadata(target); const fieldMeta = classMeta.getFieldMetadata(propertyKey); fieldMeta.setTransformer(transformer); classMeta.setFieldMetadata(propertyKey, fieldMeta); }; } export function Request(transformer) { return (target, propertyKey)=>{ const classMeta = new CargoClassMetadata(target); const fieldMeta = classMeta.getFieldMetadata(propertyKey); fieldMeta.setRequestTransformer(transformer); classMeta.setFieldMetadata(propertyKey, fieldMeta); classMeta.setRequestFieldList(propertyKey); }; } export function Virtual(transformer) { return (target, propertyKey)=>{ const classMeta = new CargoClassMetadata(target); const fieldMeta = classMeta.getFieldMetadata(propertyKey); fieldMeta.setVirtualTransformer(transformer); classMeta.setFieldMetadata(propertyKey, fieldMeta); classMeta.setVirtualFieldList(propertyKey); }; }