Lewati ke konten

Mulai

  1. Pasang paketnya. Versi Go butuh Go 1.25 ke atas dan cuma memakai standard library. Versi TypeScript jalan di Node.js 22.18 ke atas, Bun, Deno, edge runtime, dan browser modern.

    Go
    go get github.com/haikalmumtaz233/nusaindex
    TypeScript
    npm install nusaindex
  2. Coba pengecekan pertama. Contoh ini ikut dijalankan setiap build di kedua bahasa, dan hasilnya harus sama.

    package main
    import (
    "fmt"
    "github.com/haikalmumtaz233/nusaindex/nik"
    "github.com/haikalmumtaz233/nusaindex/phone"
    "github.com/haikalmumtaz233/nusaindex/rupiah"
    )
    func main() {
    person, err := nik.Parse("3273275705901349")
    if err == nil {
    fmt.Println(person.BirthDate, person.Sex)
    }
    mobile, err := phone.Parse("0859-5257-171")
    if err == nil {
    fmt.Println(mobile.E164, mobile.Brand)
    }
    words, err := rupiah.Terbilang(1_500_000*rupiah.Rupiah + 50*rupiah.Sen)
    if err == nil {
    fmt.Println(words)
    }
    }
    Keluaran
    1990-05-17 female
    +628595257171 XL
    satu juta lima ratus ribu rupiah lima puluh sen
  3. Import yang kamu perlu saja. Tiap modul punya paket Go (github.com/haikalmumtaz233/nusaindex/<nama>) dan subpath TypeScript (nusaindex/<nama>) sendiri. nusaindex/nik cuma menambah kurang dari 2 KB gzip ke bundle browser, dan data wilayah dimuat per provinsi.

Operasi Go TypeScript
Cek cepat Valid(s) bool isValid(s): boolean
Parse Parse(s) (T, error) parse(s): Result<T>
Normalisasi Format(s) (string, error) format(s): Result<string>
Mask Mask(s) string mask(s): string

Nama fungsinya mengikuti gaya tiap bahasa (WhatsAppLink di Go, whatsappLink di TypeScript). Kedua implementasi diuji dengan test vector yang sama, jadi hasilnya identik. Di TypeScript, fake, zod, dan valibot cuma tersedia lewat subpath.