Documentation ¶
Index ¶
- func FlattenMapIntoColumns(rows types.MapRow) types.MapRow
- func PreserveColumnOrder(oldColumns []types.FieldName, newColumns map[types.FieldName]interface{}) []types.FieldName
- type AddFieldMiddleware
- type ColumnMiddlewareConfig
- type FieldsFilterMiddleware
- type FlattenObjectMiddleware
- type PreserveColumnOrderMiddleware
- 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 RowGoTemplateMiddleware
- type Skip
- type SortByMiddleware
- type SortColumnsMiddleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AddFieldMiddleware ¶ added in v0.2.60
func NewAddFieldMiddleware ¶ added in v0.2.60
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 PreserveColumnOrderMiddleware ¶
type PreserveColumnOrderMiddleware struct {
// contains filtered or unexported fields
}
func NewPreserveColumnOrderMiddleware ¶
func NewPreserveColumnOrderMiddleware(columns []types.FieldName) *PreserveColumnOrderMiddleware
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 }
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 RowGoTemplateMiddleware ¶
type RowGoTemplateMiddleware 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 NewRowGoTemplateMiddleware ¶
func NewRowGoTemplateMiddleware( templateStrings map[types.FieldName]string, renameSeparator string) (*RowGoTemplateMiddleware, error)
NewRowGoTemplateMiddleware creates a new RowGoTemplateMiddleware 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
type SortByMiddleware ¶
type SortByMiddleware struct {
// contains filtered or unexported fields
}
SortByMiddleware sorts the table by the given columns, in ascending or descending order. If the column contains rows with the same type, the order is undefined.
func NewSortByMiddlewareFromColumns ¶
func NewSortByMiddlewareFromColumns(columns ...string) *SortByMiddleware
NewSortByMiddlewareFromColumns creates a new SortByMiddleware from the given columns. To sort in descending order, prefix the column name with a minus sign.
Example:
NewSortByMiddlewareFromColumns("name", "-age")
This will sort by name in ascending order and by age in descending order.
type SortColumnsMiddleware ¶
type SortColumnsMiddleware struct { }
func NewSortColumnsMiddleware ¶
func NewSortColumnsMiddleware() *SortColumnsMiddleware