Documentation
¶
Index ¶
- func ColIndex(name string, f *File) int
- func CreateIndex(ctx context.Context, collection *mongo.Collection) error
- func EvalFormula(formula string, sources []string, row []string, f *File) any
- func FillFile(fileA, fileB *File, mappings []ColumnMapping) error
- func ParseFloatSafe(v string) float64
- func SaveMapping(ctx context.Context, collection *mongo.Collection, document *MappingStorage) (*mongo.InsertOneResult, error)
- type ColumnMapping
- type DBColumnMapping
- type File
- type FileIndex
- type MappingFunc
- type MappingStorage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateIndex ¶
func CreateIndex(ctx context.Context, collection *mongo.Collection) error
func FillFile ¶
func FillFile(fileA, fileB *File, mappings []ColumnMapping) error
func ParseFloatSafe ¶
func SaveMapping ¶
func SaveMapping(ctx context.Context, collection *mongo.Collection, document *MappingStorage) (*mongo.InsertOneResult, error)
Types ¶
type ColumnMapping ¶
type ColumnMapping struct {
Target string
Source []string
Transform MappingFunc
Formula string
Params map[string]any
Default any
}
ColumnMapping represents a mapping rule
func (*ColumnMapping) ToDBMapping ¶
func (m *ColumnMapping) ToDBMapping() DBColumnMapping
type DBColumnMapping ¶
type DBColumnMapping struct {
Target string `bson:"target" json:"target"`
Source []string `bson:"source" json:"source"`
Transform string `bson:"transform" json:"transform"`
Formula string `bson:"formula,omitempty" json:"formula,omitempty"`
Params map[string]any `bson:"params,omitempty" json:"params,omitempty"`
Default any `bson:"default,omitempty" json:"default,omitempty"`
Unique bool `bson:"unique,omitempty" json:"unique,omitempty"`
}
func (*DBColumnMapping) ToColumnMapping ¶
func (dbMap *DBColumnMapping) ToColumnMapping() ColumnMapping
type FileIndex ¶
func NewFileIndex ¶
type MappingFunc ¶
MappingFunc generates a value for a FileB column
func AverageColumns ¶
func AverageColumns(cols ...string) MappingFunc
func ConcatColumns ¶
func ConcatColumns(sep string, cols ...string) MappingFunc
func Count ¶ added in v1.2.0
func Count(sources ...string) MappingFunc
func SumColumns ¶
func SumColumns(cols ...string) MappingFunc
func Unique ¶ added in v1.2.0
func Unique(sourceCol string) MappingFunc
type MappingStorage ¶
type MappingStorage struct {
UniqueId string `bson:"unique_id" json:"unique_id"`
Mappings []DBColumnMapping `bson:"mappings" json:"mappings"`
}
func LoadMapping ¶
func LoadMapping(ctx context.Context, collection *mongo.Collection, uniqueId string) (*MappingStorage, error)
Click to show internal directories.
Click to hide internal directories.