diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-07-02 20:42:51 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-07-02 20:42:51 +0900 |
| commit | eb22a8bcc1ac03357d4073e5d3ed6d0ab5246a37 (patch) | |
| tree | d27d1f724a18bb47bf48816a444dccac28b5248c /internal/app/id.go | |
| parent | 31aef905fa819310ee7694775a836c294ff742e4 (diff) | |
cmd/hakurei: move to cmd
Having it at the project root never made sense since the "ego" name was deprecated. This change finally addresses it.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/app/id.go')
| -rw-r--r-- | internal/app/id.go | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/internal/app/id.go b/internal/app/id.go deleted file mode 100644 index e674c7dd..00000000 --- a/internal/app/id.go +++ /dev/null @@ -1,48 +0,0 @@ -package app - -import ( - "crypto/rand" - "encoding/hex" - "errors" - "fmt" -) - -type ID [16]byte - -var ( - ErrInvalidLength = errors.New("string representation must have a length of 32") -) - -func (a *ID) String() string { - return hex.EncodeToString(a[:]) -} - -func NewAppID(id *ID) error { - _, err := rand.Read(id[:]) - return err -} - -func ParseAppID(id *ID, s string) error { - if len(s) != 32 { - return ErrInvalidLength - } - - for i, b := range s { - if b < '0' || b > 'f' { - return fmt.Errorf("invalid char %q at byte %d", b, i) - } - - v := uint8(b) - if v > '9' { - v = 10 + v - 'a' - } else { - v -= '0' - } - if i%2 == 0 { - v <<= 4 - } - id[i/2] += v - } - - return nil -} |
