Documentation
¶
Overview ¶
Package r3yaml provides bidirectional conversion between r3 query types and YAML.
Category: Serialization dialect.
It serializes r3.Filters, r3.Sorts, r3.PaginationSpec, and r3.Fields to YAML for configuration files, and parses them back. Unlike the JSON dialect which uses compact field names (f/op/v), the YAML dialect uses human-readable names (field/operator/value) suitable for configuration files.
Index ¶
- Variables
- func IsErrDialectorFailure(err error) bool
- func YAMLToField(yf YAMLField) *r3.FieldSpec
- func YAMLToFilter(yf *YAMLFilter) (*r3.FilterSpec, error)
- func YAMLToFilters(yfs YAMLFilters) (r3.Filters, error)
- func YAMLToPagination(yp *YAMLPagination) (*r3.PaginationSpec, error)
- func YAMLToSort(ys *YAMLSort) (*r3.SortSpec, error)
- type YAMLCursorPagination
- type YAMLField
- type YAMLFields
- type YAMLFilter
- type YAMLFilters
- type YAMLPagination
- type YAMLSort
Constants ¶
This section is empty.
Variables ¶
var ErrYAMLDialectorFailed = errors.New("yaml dialector failed")
ErrYAMLDialectorFailed is a generic error for r3yaml dialector failures.
Functions ¶
func IsErrDialectorFailure ¶
IsErrDialectorFailure checks if the given error is a r3yaml failure.
func YAMLToField ¶
YAMLToField converts a YAMLField to a FieldSpec.
func YAMLToFilter ¶
func YAMLToFilter(yf *YAMLFilter) (*r3.FilterSpec, error)
YAMLToFilter converts a YAMLFilter to a FilterSpec.
func YAMLToFilters ¶
func YAMLToFilters(yfs YAMLFilters) (r3.Filters, error)
YAMLToFilters converts a slice of YAMLFilters to r3.Filters.
func YAMLToPagination ¶
func YAMLToPagination(yp *YAMLPagination) (*r3.PaginationSpec, error)
YAMLToPagination converts a YAMLPagination to a PaginationSpec.
Types ¶
type YAMLCursorPagination ¶
type YAMLCursorPagination struct {
After string `yaml:"after,omitempty"`
Before string `yaml:"before,omitempty"`
Limit int `yaml:"limit,omitempty"`
}
YAMLCursorPagination represents cursor-based pagination in YAML format.
func (*YAMLCursorPagination) ToCursorSpec ¶
func (yc *YAMLCursorPagination) ToCursorSpec() *r3.CursorSpec
ToCursorSpec converts YAMLCursorPagination to an r3.CursorSpec. Returns nil if no cursor parameters are set.
type YAMLField ¶
type YAMLField string
YAMLField is a string value representing a field name in YAML.
func FieldToYAML ¶
FieldToYAML converts a FieldSpec to a YAMLField.
type YAMLFilter ¶
type YAMLFilter struct {
Field string `yaml:"field,omitempty"`
Operator string `yaml:"operator,omitempty"` // canonical: "eq", "gt", etc.
Value any `yaml:"value,omitempty"`
And []*YAMLFilter `yaml:"and,omitempty"`
Or []*YAMLFilter `yaml:"or,omitempty"`
}
YAMLFilter represents a filter criteria in YAML format. Uses human-readable field names (field/operator/value) for configuration files.
func FilterToYAML ¶
func FilterToYAML(f *r3.FilterSpec) (*YAMLFilter, error)
FilterToYAML converts a FilterSpec to a YAMLFilter.
func (*YAMLFilter) ToFilterSpec ¶
func (yf *YAMLFilter) ToFilterSpec() (*r3.FilterSpec, error)
ToFilterSpec converts a YAMLFilter to an r3.FilterSpec.
type YAMLPagination ¶
type YAMLPagination struct {
PageNum int `yaml:"page_num,omitempty"`
PageSize int `yaml:"page_size,omitempty"`
}
YAMLPagination represents pagination in YAML format.
func PaginationToYAML ¶
func PaginationToYAML(p *r3.PaginationSpec) *YAMLPagination
PaginationToYAML converts a PaginationSpec to a YAMLPagination.
func (*YAMLPagination) ToPaginationSpec ¶
func (yp *YAMLPagination) ToPaginationSpec() (*r3.PaginationSpec, error)
ToPaginationSpec converts a YAMLPagination to an r3.PaginationSpec.