core tests
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m51s
Contract Testing / contract-snapshot (pull_request) Has been skipped

This commit is contained in:
2026-01-22 18:44:01 +01:00
parent 093eece3d7
commit 280d6fc199
7 changed files with 96 additions and 7 deletions

View File

@@ -3,7 +3,15 @@ export interface EntityProps<Id = string> {
}
export abstract class Entity<Id> implements EntityProps<Id> {
protected constructor(readonly id: Id) {}
protected constructor(readonly id: Id) {
// Make the id property truly immutable at runtime
Object.defineProperty(this, 'id', {
value: id,
writable: false,
enumerable: true,
configurable: false
});
}
equals(other?: Entity<Id>): boolean {
return !!other && this.id === other.id;