07b06053577db3405c88aa3b8e3bf44707414566fdb9e8a909cc3a1f75b5acee.json raw
1 {"ast":null,"code":"/**\n * Value object representing a user-defined nickname for an identity.\n * Self-validating and immutable.\n */\nexport let Nickname = /*#__PURE__*/(() => {\n class Nickname {\n _value;\n static MAX_LENGTH = 50;\n static MIN_LENGTH = 1;\n constructor(_value) {\n this._value = _value;\n }\n /**\n * Create a new Nickname from a string value.\n * Trims whitespace and validates length.\n *\n * @throws Error if nickname is empty or too long\n */\n static create(value) {\n const trimmed = value?.trim() ?? '';\n if (trimmed.length < Nickname.MIN_LENGTH) {\n throw new InvalidNicknameError('Nickname cannot be empty');\n }\n if (trimmed.length > Nickname.MAX_LENGTH) {\n throw new InvalidNicknameError(`Nickname cannot exceed ${Nickname.MAX_LENGTH} characters`);\n }\n return new Nickname(trimmed);\n }\n /**\n * Reconstitute a Nickname from storage without validation.\n * Use only when loading from trusted storage.\n */\n static fromStorage(value) {\n return new Nickname(value);\n }\n get value() {\n return this._value;\n }\n equals(other) {\n return this._value === other._value;\n }\n toString() {\n return this._value;\n }\n toJSON() {\n return this._value;\n }\n }\n return Nickname;\n})();\n/**\n * Error thrown when nickname validation fails.\n */\nexport class InvalidNicknameError extends Error {\n constructor(message) {\n super(message);\n this.name = 'InvalidNicknameError';\n }\n}","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}