UNPKG

express-cargo

Version:

express middleware for class-based request parsing

28 lines (27 loc) 1.1 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.setFieldList(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.setFieldList(propertyKey); }; }