@martinmilo/verve
Version:
TypeScript domain modeling library with field-level authorization, business rule validation, and context-aware access control
20 lines • 752 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.model = model;
const constants_1 = require("../../constants");
const FieldBuilder_1 = require("../../field/builder/FieldBuilder");
function model(schema) {
return function (constructor) {
const sourceModel = constructor.name;
constructor.schema = schema;
constructor.modelName = sourceModel;
for (const [key, field] of Object.entries(schema)) {
const fieldName = key;
if (field instanceof FieldBuilder_1.FieldBuilder) {
field[constants_1.FIELD_NAME] = fieldName;
field[constants_1.FIELD_MODEL] = sourceModel;
}
}
};
}
//# sourceMappingURL=model.js.map