From de9d0ef05ba093eda9e9fe7fd75848da66f58739 Mon Sep 17 00:00:00 2001 From: "kacaii.dev" Date: Fri, 10 Jul 2026 20:04:34 -0300 Subject: [PATCH] possum/handle: add doc comments to error variants --- src/possum/handle.gleam | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/possum/handle.gleam b/src/possum/handle.gleam index 4768ffe..51dea9b 100644 --- a/src/possum/handle.gleam +++ b/src/possum/handle.gleam @@ -8,14 +8,28 @@ import gleam/regexp import gleam/result import gleam/string +/// Available on: https://atproto.com/specs/handle#additional-non-syntax-restrictions#handle-identifier-syntax const pattern = "^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$" pub type ParseError { + /// Regex failed to compile InvalidRegexPattern(pattern: String) + /// String does not have a valid handle format InvalidFormat(value: String) /// "Reserved" top-level domains should not fail syntax validation, - /// but they must immediately fail any attempt at registration, - /// resolution, etc. + /// but they must immediately fail any attempt at registration. + /// + /// The following TLD are not allowed: + /// + /// - .alt + /// - .arpa + /// - .internal + /// - .invalid + /// - .local + /// - .localhost + /// - .onion + /// + /// Documentation: [Non-syntax Retrictions](https://atproto.com/specs/handle#additional-non-syntax-restrictions) DisallowedTopLevelDomain(domain: String) } -- 2.51.2