Get started
This guide focuses on the practical first-use flow for Mocaí.
Installation
go get github.com/brazzcore/mocai
Module path:
module github.com/brazzcore/mocai
Minimum Go version:
go 1.23.4
Recommended Entry Point
Use github.com/brazzcore/mocai/pkg/mocai and instantiate a mocker with functional options.
package main
import (
"log"
"github.com/brazzcore/mocai/pkg/mocai"
)
func main() {
mocker := mocai.NewMocker(
mocai.WithLanguage("ptbr"),
mocai.WithFormatted(true),
)
_, err := mocker.NewPerson()
if err != nil {
log.Fatal(err)
}
}
Current Language Support
Mocaí currently supports:
ptbr
The API is structured so more languages can be added later, but the current implementation is centered on Brazilian Portuguese data.
Formatting Behavior
When WithFormatted(true) is enabled, formatted documents are returned where applicable.
Examples:
- CPF formatted:
123.456.789-00 - CPF unformatted:
12345678900
Reproducible Tests
If your tests require stable output, provide a custom random source:
rnd := translations.NewSafeRandSource(myFixedRand)
mocker := mocai.NewMocker(
mocai.WithLanguage("ptbr"),
mocai.WithRandSource(rnd),
)
Example
person, err := mocker.NewPerson()
if err != nil {
log.Fatal(err)
}
company, err := mocker.NewCompany()
if err != nil {
log.Fatal(err)
}
cpfValue, err := mocker.NewCPF()
if err != nil {
log.Fatal(err)
}
log.Printf("%s %s", person.FirstNameMale, person.LastName)
log.Printf("%s", company.BrazilianCompany.Name)
log.Printf("%s", cpfValue.Number)
Where To Go Next
For deeper material, continue with: