Skip to content
This repository was archived by the owner on Dec 8, 2022. It is now read-only.

bxcodec/faker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7547072 · Oct 14, 2022
Aug 24, 2022
Aug 20, 2022
Sep 3, 2022
Feb 9, 2019
Aug 11, 2022
Jan 9, 2020
Jun 22, 2017
Aug 11, 2022
Sep 3, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 21, 2022
Aug 21, 2022
Aug 21, 2022
Aug 21, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Sep 3, 2022
Sep 3, 2022
Oct 14, 2022
Aug 11, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Sep 3, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Jul 1, 2021
Jul 1, 2021
Aug 20, 2022
Aug 20, 2022
Aug 20, 2022
Mar 8, 2019

Repository files navigation

Important Notes

This repository has been archived, and moved to the new repository here https://github.com/go-faker/faker Further development and fixing will be happening in the new repository.


Docs

Struct Data Fake Generator

Faker will generate you a fake data based on your Struct.

Build Status codecov Go Report Card License Go.Dev

Index

Support

You can file an Issue. See documentation in Go.Dev

Getting Started

Download

go get -u github.com/bxcodec/faker/v4

Example


DEMO


Example to use Faker

Benchmark


Bench To Generate Fake Data

Without Tag

BenchmarkFakerDataNOTTagged-4             500000              3049 ns/op             488 B/op         20 allocs/op

Using Tag

 BenchmarkFakerDataTagged-4                100000             17470 ns/op             380 B/op         26 allocs/op

MUST KNOW


The Struct Field must be PUBLIC.
Support Only For :

  • int, int8, int16, int32 & int64
  • []int, []int8, []int16, []int32 & []int64
  • bool & []bool
  • string & []string
  • float32, float64, []float32 &[]float64
  • time.Time & []time.Time
  • Nested Struct Field

Limitation


Unfortunately this library has some limitation

  • It does not support private fields. Make sure your structs fields you intend to generate fake data for are public, it would otherwise trigger a panic. You can however omit fields using a tag skip faker:"-" on your private fields.
  • It does not support the interface{} data type. How could we generate anything without knowing its data type?
  • It does not support the map[interface{}]interface{}, map[any_type]interface{} & map[interface{}]any_type data types. Once again, we cannot generate values for an unknown data type.
  • Custom types are not fully supported. However some custom types are already supported: we are still investigating how to do this the correct way. For now, if you use faker, it's safer not to use any custom types in order to avoid panics.
  • Some extra custom types can be supported IF AND ONLY IF extended with AddProvider() please see example
  • The oneof tag currently only supports string, the int types, and both float32 & float64. Further support is coming soon (i.e. hex numbers, etc). See example for usage.

Contribution


To contrib to this project, you can open a PR or an issue.