UNPKG

@itrocks/framework

Version:

RAD framework for intuitive web application development, blending data and domain-driven design with modular architecture

34 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReflectClass = void 0; const reflect_1 = require("@itrocks/reflect"); const uses_1 = require("@itrocks/uses"); const reflect_property_1 = require("./reflect-property"); class ReflectClass extends reflect_1.ReflectClass { inheritedPropertyTypes(propertyTypes) { super.inheritedPropertyTypes(propertyTypes); for (const uses of this.uses) { Object.assign(propertyTypes, new ReflectClass(uses).propertyTypes); } } get parent() { const parent = super.parent; return parent ? Object.setPrototypeOf(parent, ReflectClass.prototype) : parent; } get properties() { const properties = super.properties; for (const reflectProperty of properties) { Object.setPrototypeOf(reflectProperty, reflect_property_1.ReflectProperty.prototype); } return properties; } get uses() { const value = (0, uses_1.usesOf)(this.type); Object.defineProperty(this, 'uses', { configurable: true, enumerable: false, value, writable: true }); return value; } } exports.ReflectClass = ReflectClass; //# sourceMappingURL=reflect-class.js.map