UNPKG

@hexadrop/value-object

Version:

Hexagonal architecture utils library

2 lines 888 B
import a from"@hexadrop/error/invalid-argument";var s=class extends a{constructor(t){super(`${t??"StringValueObject"} can not be null or empty`,"EmptyStringValueError","HEX(400)")}},i=class extends a{constructor(t,n){super(`${n??"StringValueObject"} can not contains '${t}' value`,"InvalidStringValueError","HEX(400)")}},o=class extends a{constructor(t){super(`${t??"StringValueObject"} must only contains string values`,"InvalidStringValueTypeError","HEX(400)")}};var l=class r{value;constructor(t,n,e){r.notEmpty(t,e),r.allowedType(t,e),r.allowedValues(t,n,e),this.value=t}static allowedType(t,n){if(typeof t!="string")throw new o(n)}static allowedValues(t,n,e){if(n&&!n.includes(t))throw new i(t,e)}static notEmpty(t,n){if(t==null||t==="")throw new s(n)}isEqualsTo(t){return this.value===t.value}toString(){return this.value}};export{l as a}; //# sourceMappingURL=chunk-5T57MRO5.js.map