aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/app/id.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-07-02 20:42:51 +0900
committerOphestra <cat@gensokyo.uk>2025-07-02 20:42:51 +0900
commiteb22a8bcc1ac03357d4073e5d3ed6d0ab5246a37 (patch)
treed27d1f724a18bb47bf48816a444dccac28b5248c /internal/app/id.go
parent31aef905fa819310ee7694775a836c294ff742e4 (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.go48
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
-}