type-initializr
Version:
Uma ferramenta para instanciar classes existentes baseasas em modelos com valores padrões
23 lines (22 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
exports.METADATA_KEY = Symbol('init');
class MetadataUtils {
static registerProperty(target, propertyKey, className) {
let properties = Reflect.getMetadata(exports.METADATA_KEY, target);
if (properties) {
properties.push({ context: target.constructor.name, key: propertyKey, type: className, value: null });
}
else {
properties = [{ context: target.constructor.name, key: propertyKey, type: className, value: null }];
Reflect.defineMetadata(exports.METADATA_KEY, properties, target);
}
}
static getDecoratedProperties(origin) {
const properties = Reflect.getMetadata(exports.METADATA_KEY, origin);
properties === null || properties === void 0 ? void 0 : properties.forEach(p => (p.value = origin[p.key]));
return properties !== null && properties !== void 0 ? properties : [];
}
}
exports.MetadataUtils = MetadataUtils;