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.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DomainEntityUniqueKeysMustBeDefinedError = void 0;
const helpful_errors_1 = require("helpful-errors");
// .why = an absent `static unique` 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 DomainEntityUniqueKeysMustBeDefinedError extends helpful_errors_1.MalfunctionError {
constructor({ entityName, nameOfFunctionNeededFor, }) {
const message = `
\`${entityName}.unique\` 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 unique = ['serialNumber'];
}
\`\`\`
`.trim();
super(message);
}
}
exports.DomainEntityUniqueKeysMustBeDefinedError = DomainEntityUniqueKeysMustBeDefinedError;
//# sourceMappingURL=DomainEntityUniqueKeysMustBeDefinedError.js.map