refactor
This commit is contained in:
21
core/racing/domain/value-objects/TrackImageUrl.ts
Normal file
21
core/racing/domain/value-objects/TrackImageUrl.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { RacingDomainValidationError } from '../errors/RacingDomainError';
|
||||
|
||||
export class TrackImageUrl {
|
||||
private constructor(private readonly value: string | undefined) {}
|
||||
|
||||
static create(value: string | undefined): TrackImageUrl {
|
||||
// Allow undefined or valid URL, but for simplicity, just check if string is not empty if provided
|
||||
if (value !== undefined && value.trim().length === 0) {
|
||||
throw new RacingDomainValidationError('Track image URL cannot be empty string');
|
||||
}
|
||||
return new TrackImageUrl(value);
|
||||
}
|
||||
|
||||
toString(): string | undefined {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
equals(other: TrackImageUrl): boolean {
|
||||
return this.value === other.value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user