idt: เครื่องมือ CLI สำหรับจัดการฟอร์แมต ID หลากหลายแบบ
(github.com/sh-cho)ระหว่างการพัฒนา มักมีหลายกรณีที่ต้องใช้ฟอร์แมต ID หลากหลายแบบ เช่น UUID, ULID, Snowflake เป็นต้น ซึ่งการต้องคอยหาเครื่องมือแปลงออนไลน์ทุกครั้งหรือเขียนสคริปต์สำหรับแปลงเองก็ยุ่งยาก ผมจึงทำเครื่องมือ CLI ที่ใช้งานได้ทันทีจากเทอร์มินัลขึ้นมา
ฟีเจอร์หลัก
- สร้าง: UUID(v1/v4/v6/v7), ULID, NanoID, Snowflake, KSUID, TypeID เป็นต้น
- วิเคราะห์: ใส่ ID อะไรก็ได้ แล้วระบบจะคาดเดาประเภทและวิเคราะห์โครงสร้างภายใน เช่น ไทม์สแตมป์และบิตสุ่ม
- แปลง: แปลงระหว่างการเข้ารหัสหลายแบบ เช่น hex, base32, base58, base64
- รองรับ pipe: ใช้งานแบบผสมกันได้ เช่น
idt gen uuid | idt inspect
วิธีติดตั้ง
# Using cargo
cargo install idt
# Using homebrew
brew install sh-cho/tap/idt
ตัวอย่างการใช้งาน
# Generate a UUIDv7
$ idt gen uuidv7
019c04e5-6118-7b22-95cb-a10e84dad469
# Inspect the generated ID
$ idt inspect 019c04e5-6118-7b22-95cb-a10e84dad469
UUIDV7
019c04e5-6118-7b22-95cb-a10e84dad469
Time 2026-01-28T13:57:47.416Z
Version 7
Variant RFC4122
Random 62 bits
Hex 019c04e561187b2295cba10e84dad469
Base64 AZwE5WEYeyKVy6EOhNrUaQ==
Int 2139325608653621017571381452845274217
# Convert to different formats
$ idt convert 019c04e5-6118-7b22-95cb-a10e84dad469 -f base64
AZwE5WEYeyKVy6EOhNrUaQ==
2 ความคิดเห็น
เป็นผลงานที่น่าประทับใจมากเลยครับ!!
จะลองใช้ดูแล้วจะฝาก issue หรือ feedback ไว้นะครับ 555
ขอบคุณครับ ฮ่าๆ