typechecker

package
v0.0.0-...-7a5fecb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CheckerAnalyzer = &analysis.Analyzer{
	Name: "checker",
	Doc:  "Analyze @check annotations and verify code correctness",
	Run:  run,
}
View Source
var CheckerRegistry = map[string]TypeCheckerFactory{}

Functions

func ExtractValue

func ExtractValue(expr ast.Expr) (interface{}, error)

func MatchPattern

func MatchPattern(value interface{}, pattern string) interface{}

func NotNullable

func NotNullable(value interface{}) interface{}

func ParseComment

func ParseComment(comment string) (name string, params []string, err error)

func Range

func Range(value interface{}, min, max float64) interface{}

func RegisterChecker

func RegisterChecker(name string, factory TypeCheckerFactory)

func RunChecker

func RunChecker(value interface{}, name string, params []string) error

Types

type NotNullableChecker

type NotNullableChecker struct{}

NotNullableChecker is a type that implements the TypeChecker interface.

func NewNotNullableChecker

func NewNotNullableChecker() *NotNullableChecker

func (*NotNullableChecker) Check

func (n *NotNullableChecker) Check(value interface{}) error

type RangeChecker

type RangeChecker struct {
	Min, Max float64
}

RangeChecker is a type that checks if a value is within a specified range.

func NewRangeChecker

func NewRangeChecker(min, max float64) *RangeChecker

func (*RangeChecker) Check

func (r *RangeChecker) Check(value interface{}) error

type StringPatternChecker

type StringPatternChecker struct {
	Pattern *regexp.Regexp
}

func NewStringPatternChecker

func NewStringPatternChecker(pattern string) (*StringPatternChecker, error)

func (*StringPatternChecker) Check

func (s *StringPatternChecker) Check(value interface{}) error

type TypeChecker

type TypeChecker interface {
	// Check checks the value of the interface and returns an error if the value is invalid.
	Check(interface{}) error
}

TypeChecker is an interface that defines a method that the checker should implement.

type TypeCheckerFactory

type TypeCheckerFactory func(params []string) TypeChecker

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL