19 lines
615 B
JavaScript
19 lines
615 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Email = void 0;
|
|
const ValueObject_1 = require("../../../../shared/domain/ValueObject");
|
|
class Email extends ValueObject_1.ValueObject {
|
|
static create(value) {
|
|
const normalized = value.trim().toLowerCase();
|
|
if (!Email.EMAIL_REGEX.test(normalized)) {
|
|
throw new Error(`Invalid email address: ${value}`);
|
|
}
|
|
return new Email({ value: normalized });
|
|
}
|
|
get value() {
|
|
return this.props.value;
|
|
}
|
|
}
|
|
exports.Email = Email;
|
|
Email.EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|