express-cargo
Version:
express middleware for class-based request parsing
49 lines (48 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: Object.getOwnPropertyDescriptor(all, name).get
});
}
_export(exports, {
get request () {
return request;
},
get transform () {
return transform;
},
get virtual () {
return virtual;
}
});
const _metadata = require("./metadata");
function transform(transformer) {
return (target, propertyKey)=>{
const classMeta = new _metadata.CargoClassMetadata(target);
const fieldMeta = classMeta.getFieldMetadata(propertyKey);
fieldMeta.setTransformer(transformer);
classMeta.setFieldMetadata(propertyKey, fieldMeta);
};
}
function request(transformer) {
return (target, propertyKey)=>{
const classMeta = new _metadata.CargoClassMetadata(target);
const fieldMeta = classMeta.getFieldMetadata(propertyKey);
fieldMeta.setRequestTransformer(transformer);
classMeta.setFieldMetadata(propertyKey, fieldMeta);
classMeta.setFieldList(propertyKey);
};
}
function virtual(transformer) {
return (target, propertyKey)=>{
const classMeta = new _metadata.CargoClassMetadata(target);
const fieldMeta = classMeta.getFieldMetadata(propertyKey);
fieldMeta.setVirtualTransformer(transformer);
classMeta.setFieldMetadata(propertyKey, fieldMeta);
classMeta.setFieldList(propertyKey);
};
}