domain-objects
Version:
A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.
28 lines (27 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DomainEntityUpdatablePropertiesMustBeDefinedError = void 0;
const helpful_errors_1 = require("helpful-errors");
// .why = an absent `static updatable` is a developer misconfiguration of the class, not a caller's
// bad input — so it is a MalfunctionError (exit 1, http 500), the system's fault to fix
class DomainEntityUpdatablePropertiesMustBeDefinedError extends helpful_errors_1.MalfunctionError {
constructor({ entityName, nameOfFunctionNeededFor, }) {
const message = `
\`${entityName}.updatable\` must be defined, to be able to \`${nameOfFunctionNeededFor}\`.
Example:
\`\`\`
interface RocketShip {
serialNumber: string;
fuelQuantity: number;
passengers: number;
}
class RocketShip extends DomainEntity<RocketShip> implements RocketShip {
public static updatable = ['fuelQuantity', 'passengers];
}
\`\`\`
`.trim();
super(message);
}
}
exports.DomainEntityUpdatablePropertiesMustBeDefinedError = DomainEntityUpdatablePropertiesMustBeDefinedError;
//# sourceMappingURL=DomainEntityUpdatablePropertiesMustBeDefinedError.js.map