UNPKG

ddd-tool-kit

Version:

A development tool kit for using Domain Driven Design in your Web API Node.js

25 lines (24 loc) 948 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EmailValueObject = void 0; const class_validator_1 = require("class-validator"); const email_errors_1 = require("./email.errors"); const value_object_abstract_1 = require("../../../abstract/value-object/value-object.abstract"); const output_util_1 = require("../../../utils/output/output.util"); class EmailValueObject extends value_object_abstract_1.ValueObject { sanitizeProps() { this.props.value.trim(); } isValidProps() { return (0, class_validator_1.isEmail)(this.value); } static init(props) { const email = new EmailValueObject(props); const isInvalidProps = !email.isValidProps(); if (isInvalidProps) { return output_util_1.Output.fail(email_errors_1.INVALID_EMAIL); } return output_util_1.Output.success(email); } } exports.EmailValueObject = EmailValueObject;