@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
33 lines (29 loc) • 1.22 kB
JavaScript
;
var manualPropertyMetadata_constant = require('../../../../constant/utility/dto/manual-property-metadata.constant.js');
/**
* Returns merged manual DTO decorator metadata for the supplied prototype, including inherited
* properties with child definitions overriding parent ones.
* @param {object} target - DTO prototype.
* @returns {Map<string | symbol, TManualDtoPropertyMetadata>} Merged property metadata map.
*/
function GetManualDtoPropertyMetadata(target) {
const prototypes = [];
let current = target;
while (current && current !== Object.prototype) {
prototypes.unshift(current);
current = Object.getPrototypeOf(current);
}
const merged = new Map();
for (const prototype of prototypes) {
const registry = Reflect.getMetadata?.(manualPropertyMetadata_constant.MANUAL_PROPERTY_METADATA_DTO_UTILITY_CONSTANT.KEY, prototype);
if (!registry) {
continue;
}
for (const [propertyKey, metadata] of registry.entries()) {
merged.set(propertyKey, metadata);
}
}
return merged;
}
exports.GetManualDtoPropertyMetadata = GetManualDtoPropertyMetadata;
//# sourceMappingURL=get.utility.js.map