Documentation ¶
Index ¶
- func FlattenRow(row types.Row) types.Row
- type AddFieldMiddleware
- type ColumnMiddlewareConfig
- type FieldsFilterMiddleware
- type FlattenObjectMiddleware
- type RegexReplacement
- type RegexpReplacement
- type RegexpReplacements
- type RegexpSkip
- type RemoveDuplicatesMiddleware
- type RemoveNullsMiddleware
- type RenameColumnMiddleware
- func NewFieldRenameColumnMiddleware(renames map[types.FieldName]types.FieldName) *RenameColumnMiddleware
- func NewRegexpRenameColumnMiddleware(renames RegexpReplacements) *RenameColumnMiddleware
- func NewRenameColumnMiddleware(renames map[types.FieldName]types.FieldName, regexpRenames RegexpReplacements) *RenameColumnMiddleware
- func NewRenameColumnMiddlewareFromYAML(decoder *yaml.Decoder) (*RenameColumnMiddleware, error)
- type ReorderColumnOrderMiddleware
- type ReplaceMiddleware
- type Replacement
- type Skip
- type SortColumnsMiddleware
- type TemplateMiddleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AddFieldMiddleware ¶
func NewAddFieldMiddleware ¶
func NewAddFieldMiddleware(fields map[string]string) *AddFieldMiddleware
type ColumnMiddlewareConfig ¶
type ColumnMiddlewareConfig struct { FieldRenames map[types.FieldName]types.FieldName `yaml:"renames"` // FIXME regex renames actually need to ordered RegexpRenames RegexpReplacements `yaml:"regexpRenames"` }
type FieldsFilterMiddleware ¶
type FieldsFilterMiddleware struct {
// contains filtered or unexported fields
}
FieldsFilterMiddleware keeps columns that are in the fields list and removes columns that are in the filters list.
empty lists means that all columns are accepted.
The returned rows are SimpleRows
func NewFieldsFilterMiddleware ¶
func NewFieldsFilterMiddleware(fields []string, filters []string) *FieldsFilterMiddleware
type FlattenObjectMiddleware ¶
type FlattenObjectMiddleware struct { }
func NewFlattenObjectMiddleware ¶
func NewFlattenObjectMiddleware() *FlattenObjectMiddleware
type RegexReplacement ¶
type RegexpReplacement ¶
type RegexpReplacements ¶
type RegexpReplacements []*RegexpReplacement
func (*RegexpReplacements) UnmarshalYAML ¶
func (rr *RegexpReplacements) UnmarshalYAML(value *yaml.Node) error
type RegexpSkip ¶
type RemoveDuplicatesMiddleware ¶
type RemoveDuplicatesMiddleware struct {
// contains filtered or unexported fields
}
func NewRemoveDuplicatesMiddleware ¶
func NewRemoveDuplicatesMiddleware(columns ...string) *RemoveDuplicatesMiddleware
type RemoveNullsMiddleware ¶
type RemoveNullsMiddleware struct { }
func NewRemoveNullsMiddleware ¶
func NewRemoveNullsMiddleware() *RemoveNullsMiddleware
type RenameColumnMiddleware ¶
type RenameColumnMiddleware struct { Renames map[types.FieldName]types.FieldName // orderedmap *regexp.Regexp -> string RegexpRenames RegexpReplacements // contains filtered or unexported fields }
func NewFieldRenameColumnMiddleware ¶
func NewFieldRenameColumnMiddleware(renames map[types.FieldName]types.FieldName) *RenameColumnMiddleware
func NewRegexpRenameColumnMiddleware ¶
func NewRegexpRenameColumnMiddleware(renames RegexpReplacements) *RenameColumnMiddleware
func NewRenameColumnMiddleware ¶
func NewRenameColumnMiddleware( renames map[types.FieldName]types.FieldName, regexpRenames RegexpReplacements, ) *RenameColumnMiddleware
func NewRenameColumnMiddlewareFromYAML ¶
func NewRenameColumnMiddlewareFromYAML(decoder *yaml.Decoder) (*RenameColumnMiddleware, error)
type ReorderColumnOrderMiddleware ¶
type ReorderColumnOrderMiddleware struct {
// contains filtered or unexported fields
}
func NewReorderColumnOrderMiddleware ¶
func NewReorderColumnOrderMiddleware(columns []types.FieldName) *ReorderColumnOrderMiddleware
type ReplaceMiddleware ¶
type ReplaceMiddleware struct { Replacements map[types.FieldName][]*Replacement RegexReplacements map[types.FieldName][]*RegexpReplacement RegexSkips map[types.FieldName][]*RegexpSkip Skips map[types.FieldName][]*Skip }
func NewReplaceMiddleware ¶
func NewReplaceMiddleware( replacements map[types.FieldName][]*Replacement, regexReplacements map[types.FieldName][]*RegexpReplacement, regexSkips map[types.FieldName][]*RegexpSkip, skips map[types.FieldName][]*Skip, ) *ReplaceMiddleware
func NewReplaceMiddlewareFromYAML ¶
func NewReplaceMiddlewareFromYAML(b []byte) (*ReplaceMiddleware, error)
type Replacement ¶
type SortColumnsMiddleware ¶
type SortColumnsMiddleware struct { }
func NewSortColumnsMiddleware ¶
func NewSortColumnsMiddleware() *SortColumnsMiddleware
type TemplateMiddleware ¶
type TemplateMiddleware struct { // this field is used to replace "." in keys before passing them to the template, // in order to avoid having to use the `index` template function to access fields // that contain a ".", which is frequent due to flattening. RenameSeparator string // contains filtered or unexported fields }
func NewTemplateMiddleware ¶
func NewTemplateMiddleware( templateStrings map[types.FieldName]string, renameSeparator string) (*TemplateMiddleware, error)
NewTemplateMiddleware creates a new TemplateMiddleware which is the simplest go template middleware.
It will render the template for each row and return the result as a new column called with the given title.
Because nested objects will be flattened to individual columns using the . separator, this will make fields inaccessible to the template. One way around this is to use {{ index . "field.subfield" }} in the template. Another is to pass a separator rename option.
TODO(manuel, 2023-02-02) Add support for passing in custom funcmaps See #110 https://github.com/go-go-golems/glazed/issues/110