@martinmilo/verve
Version:
TypeScript domain modeling library with field-level authorization, business rule validation, and context-aware access control
19 lines • 817 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIdWritable = isIdWritable;
exports.id = id;
const compose_1 = require("../builder/compose");
const FieldBuilder_1 = require("../builder/FieldBuilder");
const IdField_1 = require("../fields/IdField");
const WithValidate_1 = require("../builder/mixins/WithValidate");
const WithGenerate_1 = require("../builder/mixins/WithGenerate");
const EnhancedBuilder = (0, compose_1.composeFieldBuilder)((FieldBuilder_1.FieldBuilder), [WithGenerate_1.WithGenerate, WithValidate_1.WithValidate]);
function isIdWritable(_, model) {
return model.isNew();
}
function id() {
const builder = new EnhancedBuilder(IdField_1.IdField);
builder.setOption('writable', isIdWritable);
return builder;
}
//# sourceMappingURL=id.factory.js.map