MCPcopy Index your code
hub / github.com/Preloading/TwitterAPIBridge / NumToTid

Function NumToTid

bridge/tidconversions.go:11–33  ·  view source on GitHub ↗

numToTid converts a 64-bit number into a Bluesky TID.

(number uint64)

Source from the content-addressed store, hash-verified

9
10// numToTid converts a 64-bit number into a Bluesky TID.
11func NumToTid(number uint64) (string, error) {
12 // Ensure the first bit is 0
13 if (number & 0x8000000000000000) != 0 {
14 return "", fmt.Errorf("first bit must be 0")
15 }
16
17 // Convert to base32 manually
18 // the other one kept losing precision
19 var result strings.Builder
20 for i := 0; i < 13; i++ {
21 index := number & 0x1F // Take 5 bits
22 result.WriteByte(tidChars[index])
23 number >>= 5
24 }
25
26 // Reverse the string since we built it backwards
27 runes := []rune(result.String())
28 for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
29 runes[i], runes[j] = runes[j], runes[i]
30 }
31
32 return string(runes), nil
33}
34
35// tidToNum converts a Bluesky TID into a 64-bit number.
36func TidToNum(tid string) (uint64, error) {

Callers 2

GetFollowersFunction · 0.92
GetFollowsFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected