Categorygithub.com/hyperscale-stack/filter
modulepackage
1.0.0
Repository: https://github.com/hyperscale-stack/filter.git
Documentation: pkg.go.dev

# README

Hyperscale Filter Last release Documentation

Go Report Card

BranchStatusCoverage
masterBuild StatusCoveralls

The Hyperscale Filter library provides a set of commonly needed data filters. It also provides a simple filter chaining mechanism by which multiple filters may be applied to a single datum in a user-defined order.

Example

Filter by map[string]interface{}

package main

import (
    "fmt"
    "github.com/hyperscale-stack/filter"
)

func main() {

    i := NewInputFilter(map[string][]Filter{
		"email": {
			NewStringToLowerFilter(),
		},
	})

	value, err := i.FilterMap(map[string]interface{}{
		"email":  "[email protected]",
    })
    // return 
    // map[string]interface{}{
	//     "email":  "[email protected]",
    // }
}

Filter by url.Values

package main

import (
    "fmt"
    "github.com/hyperscale-stack/filter"
)

func main() {

    i := NewInputFilter(map[string][]Filter{
		"email": {
			NewStringToLowerFilter(),
		},
	})

    values := url.Values{}
    values.Set("email", "[email protected]")

	value, err := i.FilterValues(values)
    // return 
    // url.Values{
	//     "email":  []string{"[email protected]"},
    // }
}

License

Hyperscale Filter is licensed under the MIT license.

# Functions

NewBoolFilter constructor.
NewFloatFilter constructor.
NewInputFilter constructor.
NewIntFilter constructor.
NewNicknameFilter constructor.
NewSlugFilter constructor.
NewStringToLowerFilter constructor.
NewStringToUpperFilter constructor.
NewStringTrimFilter constructor.
NewURLFilter constructor.
SlugLanguage config language for SlugFilter.
URLStripUTMParameters remove all utm_* query parameters.

# Interfaces

Filter interface.
InputFilter interface.
Value type.

# Type aliases

InputValue type.
SlugOption type.
URLOption type.