schema

package
v0.0.0-...-7bbfb33 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultGeneratorFieldMapper = NewGeneratorFieldMapper()
	// todo: better validation
	GeneratorFieldTypes = lo.Keys(DefaultGeneratorFieldMapper.FieldTypeMapper)
)

Functions

func GetFieldFromData

func GetFieldFromData(fieldPath string, rawData interface{}) (data interface{}, err error)

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

func NewDataPool(schema *config.Schema) DataPool

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL