Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultGeneratorFieldMapper = NewGeneratorFieldMapper() // todo: better validation GeneratorFieldTypes = lo.Keys(DefaultGeneratorFieldMapper.FieldTypeMapper) )
Functions ¶
func GetFieldFromData ¶
Types ¶
type DataGenerator ¶
type DataGenerator interface { Generate() (interface{}, error) GenerateFromTemplate(interface{}) (interface{}, error) }
func NewDataGenerator ¶
func NewDataGenerator(schema *config.Schema, dataSize int) DataGenerator
type DataPool ¶
type DataPool interface { Get(string) interface{} Set(interface{}) SetBatch([]interface{}) ExtendGeneratorMapperFields(generator *GeneratorFieldMapper) }
func NewDataPool ¶
type DataProvider ¶
type DataProvider interface { GetSingleItem() interface{} GetSingleItemWithout(string) interface{} GetBatch(uint64) []interface{} GetFilter() interface{} }
func NewDataProvider ¶
func NewDataProvider(job *config.Job, schema *config.Schema) DataProvider
type GeneratorFieldMapper ¶
type GeneratorFieldMapper struct { // todo: make private FieldTypeMapper map[string]func(opts ...options.OptionFunc) string }
todo: add interface
func NewGeneratorFieldMapper ¶
func NewGeneratorFieldMapper() *GeneratorFieldMapper
func (*GeneratorFieldMapper) Generate ¶
func (m *GeneratorFieldMapper) Generate(field string) (result interface{}, err error)
func (*GeneratorFieldMapper) Set ¶
func (m *GeneratorFieldMapper) Set(field string, valueGenerator func(opts ...options.OptionFunc) string)
type InMemoryDataPool ¶
type InMemoryDataPool struct {
// contains filtered or unexported fields
}
func (*InMemoryDataPool) ExtendGeneratorMapperFields ¶
func (d *InMemoryDataPool) ExtendGeneratorMapperFields(generator *GeneratorFieldMapper)
func (*InMemoryDataPool) Get ¶
func (d *InMemoryDataPool) Get(key string) (result interface{})
func (*InMemoryDataPool) Set ¶
func (d *InMemoryDataPool) Set(data interface{})
func (*InMemoryDataPool) SetBatch ¶
func (d *InMemoryDataPool) SetBatch(dataBatch []interface{})
type LiveDataProvider ¶
type LiveDataProvider struct {
// contains filtered or unexported fields
}
func NewLiveDataProvider ¶
func NewLiveDataProvider(job *config.Job, schema *config.Schema) *LiveDataProvider
todo: generate on file and take from pool type PoolDataProvider struct { }
func (*LiveDataProvider) GetBatch ¶
func (d *LiveDataProvider) GetBatch(batchSize uint64) []interface{}
func (*LiveDataProvider) GetFilter ¶
func (d *LiveDataProvider) GetFilter() interface{}
func (*LiveDataProvider) GetSingleItem ¶
func (d *LiveDataProvider) GetSingleItem() interface{}
func (*LiveDataProvider) GetSingleItemWithout ¶
func (d *LiveDataProvider) GetSingleItemWithout(key string) interface{}
todo: remote this, add abstraction with skipped keys or sth like that
type MeasurableDataGenerator ¶
type MeasurableDataGenerator struct {
// contains filtered or unexported fields
}
func (*MeasurableDataGenerator) Generate ¶
func (g *MeasurableDataGenerator) Generate() (interface{}, error)
func (*MeasurableDataGenerator) GenerateFromTemplate ¶
func (g *MeasurableDataGenerator) GenerateFromTemplate(template interface{}) (interface{}, error)
type StructuralizableDataGenerator ¶
type StructuralizableDataGenerator struct {
// contains filtered or unexported fields
}
func (*StructuralizableDataGenerator) Generate ¶
func (g *StructuralizableDataGenerator) Generate() (interface{}, error)
func (*StructuralizableDataGenerator) GenerateFromTemplate ¶
func (g *StructuralizableDataGenerator) GenerateFromTemplate(template interface{}) (interface{}, error)
recurent func for parsing with building nested bson
Click to show internal directories.
Click to hide internal directories.