Versions in this module Expand all Collapse all v4 v4.22.0 Oct 23, 2023 Changes in this version + const MaxInt + const MinInt + var AllFunctions = NewFunctionSet() + var AllMethods = NewMethodSet() + var ErrDivideByZero = errors.New("attempted to divide by zero") + var FunctionCategoryDeprecated = "Deprecated" + var FunctionCategoryEnvironment = "Environment" + var FunctionCategoryFakeData = "Fake Data Generation" + var FunctionCategoryGeneral = "General" + var FunctionCategoryMessage = "Message Info" + var FunctionCategoryPlugin = "Plugin" + var MethodCategoryCoercion = "Type Coercion" + var MethodCategoryDeprecated = "Deprecated" + var MethodCategoryEncoding = "Encoding and Encryption" + var MethodCategoryGeoIP = "GeoIP" + var MethodCategoryJWT = "JSON Web Tokens" + var MethodCategoryNumbers = "Number Manipulation" + var MethodCategoryObjectAndArray = "Object & Array Manipulation" + var MethodCategoryParsing = "Parsing" + var MethodCategoryPlugin = "Plugin" + var MethodCategoryRegexp = "Regular Expressions" + var MethodCategoryStrings = "String Manipulation" + var MethodCategoryTime = "Timestamp Manipulation" + func ErrFrom(err error, from Function) error + func ExecToBytes(fn Function, ctx FunctionContext) ([]byte, error) + func ExecToString(fn Function, ctx FunctionContext) (string, error) + func IClone(root any) any + func ICompare(left, right any) bool + func IGetBool(v any) (bool, error) + func IGetBytes(v any) ([]byte, error) + func IGetFloat32(v any) (float32, error) + func IGetInt(v any) (int64, error) + func IGetNumber(v any) (float64, error) + func IGetString(v any) (string, error) + func IGetTimestamp(v any) (time.Time, error) + func IIsNull(i any) bool + func ISanitize(i any) any + func IToBool(v any) (bool, error) + func IToBytes(i any) []byte + func IToFloat32(v any) (float32, error) + func IToFloat64(v any) (float64, error) + func IToInt(v any) (int64, error) + func IToInt16(v any) (int16, error) + func IToInt32(v any) (int32, error) + func IToInt8(v any) (int8, error) + func IToNumber(v any) (float64, error) + func IToString(i any) string + func IToUint(v any) (uint64, error) + func IToUint16(v any) (uint16, error) + func IToUint32(v any) (uint32, error) + func IToUint8(v any) (uint8, error) + func NewArrayLiteral(values ...any) any + func NewMapLiteral(values [][2]any) (any, error) + func SliceToDotPath(path ...string) string + type ArithmeticOperator int + const ArithmeticAdd + const ArithmeticAnd + const ArithmeticDiv + const ArithmeticEq + const ArithmeticGt + const ArithmeticGte + const ArithmeticLt + const ArithmeticLte + const ArithmeticMod + const ArithmeticMul + const ArithmeticNeq + const ArithmeticOr + const ArithmeticPipe + const ArithmeticSub + func (o ArithmeticOperator) String() string + type Delete *struct + type ElseIf struct + MapFn Function + QueryFn Function + type ErrNoContext struct + FieldName string + func (e ErrNoContext) Error() string + type ExampleSpec struct + Mapping string + Results [][2]string + SkipTesting bool + Summary string + func NewExampleSpec(summary, mapping string, results ...string) ExampleSpec + func NewNotTestedExampleSpec(summary, mapping string, results ...string) ExampleSpec + type Function interface + Annotation func() string + Exec func(ctx FunctionContext) (any, error) + QueryTargets func(ctx TargetsContext) (TargetsContext, []TargetPath) + func ClosureFunction(annotation string, exec func(ctx FunctionContext) (any, error), ...) Function + func InitFunctionHelper(name string, args ...any) (Function, error) + func InitMethodHelper(name string, target Function, args ...any) (Function, error) + func NewArithmeticExpression(fns []Function, ops []ArithmeticOperator) (Function, error) + func NewFieldFunction(pathStr string) Function + func NewGetMethod(target Function, pathStr string) (Function, error) + func NewIfFunction(queryFn, ifFn Function, elseIfs []ElseIf, elseFn Function) Function + func NewMapMethod(target, mapFn Function) (Function, error) + func NewMatchFunction(contextFn Function, cases ...MatchCase) Function + func NewMetaFunction(key string) Function + func NewNamedContextFieldFunction(namedContext, pathStr string) Function + func NewNamedContextFunction(name string, fn Function) Function + func NewRootFieldFunction(pathStr string) Function + func NewVarFunction(name string) Function + func Not(fn Function) Function + type FunctionContext struct + Index int + Maps map[string]Function + MsgBatch MessageBatch + NewMeta MetaMsg + NewValue *any + Vars map[string]any + func (ctx FunctionContext) IncrStackCount() (FunctionContext, int) + func (ctx FunctionContext) NamedValue(name string) (any, bool) + func (ctx FunctionContext) PopValue() (*any, FunctionContext) + func (ctx FunctionContext) Value() *any + func (ctx FunctionContext) WithNamedValue(name string, value any) FunctionContext + func (ctx FunctionContext) WithValue(value any) FunctionContext + func (ctx FunctionContext) WithValueFunc(fn func() *any) FunctionContext + type FunctionCtor func(args *ParsedParams) (Function, error) + type FunctionSet struct + func NewFunctionSet() *FunctionSet + func (f *FunctionSet) Add(spec FunctionSpec, ctor FunctionCtor) error + func (f *FunctionSet) Deactivated() *FunctionSet + func (f *FunctionSet) Docs() []FunctionSpec + func (f *FunctionSet) Init(name string, args *ParsedParams) (Function, error) + func (f *FunctionSet) NoMessage() *FunctionSet + func (f *FunctionSet) OnlyPure() *FunctionSet + func (f *FunctionSet) Params(name string) (Params, error) + func (f *FunctionSet) Without(functions ...string) *FunctionSet + type FunctionSpec struct + Category string + Description string + Examples []ExampleSpec + Impure bool + Name string + Params Params + Status Status + Version string + func FunctionDocs() []FunctionSpec + func NewDeprecatedFunctionSpec(name, description string, examples ...ExampleSpec) FunctionSpec + func NewFunctionSpec(category, name, description string, examples ...ExampleSpec) FunctionSpec + func NewHiddenFunctionSpec(name string) FunctionSpec + func (s FunctionSpec) AtVersion(v string) FunctionSpec + func (s FunctionSpec) Beta() FunctionSpec + func (s FunctionSpec) Experimental() FunctionSpec + func (s FunctionSpec) MarkImpure() FunctionSpec + func (s FunctionSpec) Param(def ParamDefinition) FunctionSpec + type Iterable interface + TryIterate func(ctx FunctionContext) (Iterator, any, error) + type Iterator interface + Len func() (int, bool) + Next func() (any, error) + type Literal struct + Value any + func NewLiteralFunction(annotation string, v any) *Literal + func (l *Literal) Annotation() string + func (l *Literal) Close(ctx context.Context) error + func (l *Literal) Exec(ctx FunctionContext) (any, error) + func (l *Literal) QueryTargets(ctx TargetsContext) (TargetsContext, []TargetPath) + func (l *Literal) String() string + type MatchCase struct + func NewMatchCase(caseFn, queryFn Function) MatchCase + type MessageBatch interface + Get func(p int) *message.Part + Len func() int + type MetaMsg interface + MetaDelete func(key string) + MetaGetMut func(key string) (any, bool) + MetaGetStr func(key string) string + MetaIterMut func(f func(k string, v any) error) error + MetaIterStr func(f func(k, v string) error) error + MetaSetMut func(key string, value any) + type MethodCatSpec struct + Category string + Description string + Examples []ExampleSpec + type MethodCtor func(target Function, args *ParsedParams) (Function, error) + type MethodSet struct + func NewMethodSet() *MethodSet + func (m *MethodSet) Add(spec MethodSpec, ctor MethodCtor) error + func (m *MethodSet) Deactivated() *MethodSet + func (m *MethodSet) Docs() []MethodSpec + func (m *MethodSet) Init(name string, target Function, args *ParsedParams) (Function, error) + func (m *MethodSet) OnlyPure() *MethodSet + func (m *MethodSet) Params(name string) (Params, error) + func (m *MethodSet) Without(methods ...string) *MethodSet + type MethodSpec struct + Categories []MethodCatSpec + Description string + Examples []ExampleSpec + Impure bool + Name string + Params Params + Status Status + Version string + func MethodDocs() []MethodSpec + func NewDeprecatedMethodSpec(name, description string, examples ...ExampleSpec) MethodSpec + func NewHiddenMethodSpec(name string) MethodSpec + func NewMethodSpec(name, description string, examples ...ExampleSpec) MethodSpec + func (m MethodSpec) AtVersion(v string) MethodSpec + func (m MethodSpec) Beta() MethodSpec + func (m MethodSpec) Experimental() MethodSpec + func (m MethodSpec) InCategory(category, description string, examples ...ExampleSpec) MethodSpec + func (m MethodSpec) MarkImpure() MethodSpec + func (m MethodSpec) Param(def ParamDefinition) MethodSpec + func (m MethodSpec) VariadicParams() MethodSpec + type NamedContextFunction struct + func (n *NamedContextFunction) Annotation() string + func (n *NamedContextFunction) Exec(ctx FunctionContext) (any, error) + func (n *NamedContextFunction) Name() string + func (n *NamedContextFunction) QueryTargets(ctx TargetsContext) (TargetsContext, []TargetPath) + type Nothing *struct + type ParamDefinition struct + DefaultValue *any + Description string + IsOptional bool + Name string + NoDynamic bool + ValueType ValueType + func ParamAny(name, description string) ParamDefinition + func ParamArray(name, description string) ParamDefinition + func ParamBool(name, description string) ParamDefinition + func ParamFloat(name, description string) ParamDefinition + func ParamInt64(name, description string) ParamDefinition + func ParamObject(name, description string) ParamDefinition + func ParamQuery(name, description string, wrapScalars bool) ParamDefinition + func ParamString(name, description string) ParamDefinition + func ParamTimestamp(name, description string) ParamDefinition + func (d ParamDefinition) Default(v any) ParamDefinition + func (d ParamDefinition) DisableDynamic() ParamDefinition + func (d ParamDefinition) Optional() ParamDefinition + func (d ParamDefinition) PrettyDefault() string + type Params struct + Definitions []ParamDefinition + Variadic bool + func NewParams() Params + func VariadicParams() Params + func (p Params) Add(def ParamDefinition) Params + func (p Params) PopulateNamed(args map[string]any) (*ParsedParams, error) + func (p Params) PopulateNameless(args ...any) (*ParsedParams, error) + type ParsedParams struct + func (p *ParsedParams) Field(n string) (any, error) + func (p *ParsedParams) FieldArray(n string) ([]any, error) + func (p *ParsedParams) FieldBool(n string) (bool, error) + func (p *ParsedParams) FieldFloat(n string) (float64, error) + func (p *ParsedParams) FieldInt64(n string) (int64, error) + func (p *ParsedParams) FieldOptionalArray(n string) (*[]any, error) + func (p *ParsedParams) FieldOptionalBool(n string) (*bool, error) + func (p *ParsedParams) FieldOptionalFloat(n string) (*float64, error) + func (p *ParsedParams) FieldOptionalInt64(n string) (*int64, error) + func (p *ParsedParams) FieldOptionalQuery(n string) (Function, error) + func (p *ParsedParams) FieldOptionalString(n string) (*string, error) + func (p *ParsedParams) FieldOptionalTimestamp(n string) (*time.Time, error) + func (p *ParsedParams) FieldQuery(n string) (Function, error) + func (p *ParsedParams) FieldString(n string) (string, error) + func (p *ParsedParams) FieldTimestamp(n string) (time.Time, error) + func (p *ParsedParams) Index(i int) (any, error) + func (p *ParsedParams) Raw() []any + func (p *ParsedParams) ResolveDynamic(ctx FunctionContext) (*ParsedParams, error) + type Status string + var StatusBeta Status = "beta" + var StatusDeprecated Status = "deprecated" + var StatusExperimental Status = "experimental" + var StatusHidden Status = "hidden" + var StatusStable Status = "stable" + type TargetPath struct + Path []string + Type TargetType + func NewTargetPath(t TargetType, path ...string) TargetPath + type TargetType int + const TargetMetadata + const TargetRoot + const TargetValue + const TargetVariable + type TargetsContext struct + Maps map[string]Function + func (ctx TargetsContext) MainContext() []TargetPath + func (ctx TargetsContext) NamedContext(name string) []TargetPath + func (ctx TargetsContext) PopContext() TargetsContext + func (ctx TargetsContext) Value() []TargetPath + func (ctx TargetsContext) WithContextAsNamed(name string) TargetsContext + func (ctx TargetsContext) WithValues(paths []TargetPath) TargetsContext + func (ctx TargetsContext) WithValuesAsContext() TargetsContext + type TypeError struct + Actual ValueType + Expected []ValueType + From string + Value string + func NewTypeError(value any, exp ...ValueType) *TypeError + func NewTypeErrorFrom(from string, value any, exp ...ValueType) *TypeError + func (t *TypeError) Error() string + type TypeMismatch struct + Left ValueType + Lfn Function + Operation string + Rfn Function + Right ValueType + func NewTypeMismatch(operation string, lfn, rfn Function, left, right any) *TypeMismatch + func (t *TypeMismatch) Error() string + type ValueType string + var ValueArray ValueType = "array" + var ValueBool ValueType = "bool" + var ValueBytes ValueType = "bytes" + var ValueDelete ValueType = "delete" + var ValueFloat ValueType = "float" + var ValueInt ValueType = "integer" + var ValueNothing ValueType = "nothing" + var ValueNull ValueType = "null" + var ValueNumber ValueType = "number" + var ValueObject ValueType = "object" + var ValueQuery ValueType = "query expression" + var ValueString ValueType = "string" + var ValueTimestamp ValueType = "timestamp" + var ValueUnknown ValueType = "unknown" + func ITypeOf(i any) ValueType