// Select Applies a Select transform. func (t *Transformer) Select(filter func(optimus.Row) (bool, error)) *Transformer { return t.Apply(transforms.Select(filter)) }
out <- optimus.Row{} out <- optimus.Row{} out <- optimus.Row{} return nil }, }, { Name: "Select", Source: defaultSource, Actual: func(source optimus.Table, arg interface{}) optimus.Table { filter := arg.(func(optimus.Row) (bool, error)) return New(source).Select(filter).Table() }, Expected: func(source optimus.Table, arg interface{}) optimus.Table { filter := arg.(func(optimus.Row) (bool, error)) return optimus.Transform(source, transforms.Select(filter)) }, Arg: func(row optimus.Row) (bool, error) { return row["header1"] == "value1", nil }, }, { Name: "Valuemap", Source: defaultSource, Actual: func(source optimus.Table, arg interface{}) optimus.Table { mapping := arg.(map[string]map[interface{}]interface{}) return New(source).Valuemap(mapping).Table() }, Expected: func(source optimus.Table, arg interface{}) optimus.Table { mapping := arg.(map[string]map[interface{}]interface{}) return optimus.Transform(source, transforms.Valuemap(mapping))