Versions in this module Expand all Collapse all v1 v1.0.1 Jun 17, 2023 v1.0.0 Jun 15, 2023 Changes in this version + const UnknownValueName + var AppendTags = func(t ITagger, tags ...Tag) Tags + var PerformStandardValueExtraction = func(v Value, cache IValueCache) IValueCache + func ApplyStaticCondition(criteria TypedValue[bool], values ...StaticConditionalValue) + func Describe(v Value) string + func DescribeValueAsFormula(v TypedValue[T]) func() *SyntaxNode + func ExtractTypedValue(tv TypedValue[T]) T + func HasIdentity(v Value) bool + func Identify(v Value) string + func IsNilValue(v Value) bool + func MarshalJSON(values ...Value) ([]byte, error) + func MarshalJSONByFields(data any) ([]byte, error) + func Stringify(v Value) string + func ToString(aVal ...Value) string + type CloseIfFunc func() + var DoNothingCloseIfFunc CloseIfFunc = func() { ... } + func ApplyProgressiveCondition(criteria TypedValue[bool], values ...ProgressiveConditionalValue) CloseIfFunc + type Condition struct + func NewCondition(criteria TypedValue[bool]) *Condition + func NewProgressiveCondition(criteria TypedValue[bool], prevCondition *Condition, openIfStageIdx int) *Condition + func (c *Condition) MarshalJSON() ([]byte, error) + type Constant struct + func NewConstant(value T) *Constant[T] + func NewConstantWithFormat(value T, formatFn func(T) string) *Constant[T] + func (c *Constant[T]) ExtractValues(cache IValueCache) IValueCache + func (c *Constant[T]) GetFormulaFn() func() *SyntaxNode + func (c *Constant[T]) GetTypedValue() T + func (c *Constant[T]) GetValue() any + func (c *Constant[T]) HasFormula() bool + func (c *Constant[T]) IsNil() bool + func (c *Constant[T]) SetAlias(alias string) + func (c *Constant[T]) Stringify() string + func (c *Constant[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + func (f *Constant) GetFormatFn() func(T) string + func (f *Constant) WithFormatFn(formatFn func(T) string) + func (v *Constant) GetAlias() string + func (v *Constant) GetName() string + func (v *Constant) HasIdentity() bool + func (v *Constant) Identify() string + type ICondOps interface + ApplyProgressiveCondition func(criteria TypedValue[bool], values ...ProgressiveConditionalValue) CloseIfFunc + ApplyStaticCondition func(criteria TypedValue[bool], values ...StaticConditionalValue) + type IMarshalOps interface + MarshalJSON func(values ...Value) ([]byte, error) + MarshalJSONByFields func(data any) ([]byte, error) + type ITagger interface + GetTags func() Tags + Tag func(...Tag) + type IValueCache interface + Flatten func() map[string]Value + Take func(v Value) bool + func NewValueCache() IValueCache + type IValueOps interface + Describe func(v Value) string + DescribeValueAsFormula func(v Value) func() *SyntaxNode + HasIdentity func(v Value) bool + Identify func(v Value) string + IsNilValue func(v Value) bool + Stringify func(v Value) string + type Local struct + func NewLocal(name string, original TypedValue[T]) *Local[T] + func (c *Local) AddCondition(condition *Condition) + func (c *Local) GetCondition() *Condition + func (c *Local) IsConditional() bool + func (f *Local) GetFormatFn() func(T) string + func (f *Local) WithFormatFn(formatFn func(T) string) + func (l *Local[T]) DoAnchor(name string) *Simple[T] + func (l *Local[T]) ExtractValues(cache IValueCache) IValueCache + func (l *Local[T]) GetTypedValue() T + func (l *Local[T]) GetValue() any + func (l *Local[T]) IsNil() bool + func (l *Local[T]) MarshalJSON() ([]byte, error) + func (l *Local[T]) Stringify() string + func (l *Local[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + func (t *Local) GetTags() Tags + func (t *Local) Tag(tags ...Tag) + func (v *Local) GetAlias() string + func (v *Local) GetName() string + func (v *Local) HasIdentity() bool + func (v *Local) Identify() string + func (v *Local) SetAlias(alias string) + type MockICondOps struct + func NewMockICondOps(t mockConstructorTestingTNewMockICondOps) *MockICondOps + func (_m *MockICondOps) ApplyProgressiveCondition(criteria TypedValue[bool], values ...ProgressiveConditionalValue) CloseIfFunc + func (_m *MockICondOps) ApplyStaticCondition(criteria TypedValue[bool], values ...StaticConditionalValue) + type MockIMarshalOps struct + func NewMockIMarshalOps(t mockConstructorTestingTNewMockIMarshalOps) *MockIMarshalOps + func (_m *MockIMarshalOps) MarshalJSON(values ...Value) ([]byte, error) + func (_m *MockIMarshalOps) MarshalJSONByFields(data interface{}) ([]byte, error) + type MockITagger struct + func NewMockITagger(t mockConstructorTestingTNewMockITagger) *MockITagger + func (_m *MockITagger) GetTags() Tags + func (_m *MockITagger) Tag(_a0 ...Tag) + type MockIValueCache struct + func NewMockIValueCache(t mockConstructorTestingTNewMockIValueCache) *MockIValueCache + func (_m *MockIValueCache) Flatten() map[string]Value + func (_m *MockIValueCache) Take(v Value) bool + type MockIValueOps struct + func NewMockIValueOps(t mockConstructorTestingTNewMockIValueOps) *MockIValueOps + func (_m *MockIValueOps) Describe(v Value) string + func (_m *MockIValueOps) DescribeValueAsFormula(v Value) func() *SyntaxNode + func (_m *MockIValueOps) HasIdentity(v Value) bool + func (_m *MockIValueOps) Identify(v Value) string + func (_m *MockIValueOps) IsNilValue(v Value) bool + func (_m *MockIValueOps) Stringify(v Value) string + type MockProgressiveConditionalValue struct + func NewMockProgressiveConditionalValue(t mockConstructorTestingTNewMockProgressiveConditionalValue) *MockProgressiveConditionalValue + func (_m *MockProgressiveConditionalValue) AddCondition(_a0 TypedValue[bool]) CloseIfFunc + type MockStaticConditionalValue struct + func NewMockStaticConditionalValue(t mockConstructorTestingTNewMockStaticConditionalValue) *MockStaticConditionalValue + func (_m *MockStaticConditionalValue) AddCondition(_a0 *Condition) + func (_m *MockStaticConditionalValue) GetCondition() *Condition + func (_m *MockStaticConditionalValue) IsConditional() bool + type MockTypedValue struct + func NewMockTypedValue(t mockConstructorTestingTNewMockTypedValue) *MockTypedValue[T] + func (_m *MockTypedValue[T]) ExtractValues(cache IValueCache) IValueCache + func (_m *MockTypedValue[T]) GetAlias() string + func (_m *MockTypedValue[T]) GetName() string + func (_m *MockTypedValue[T]) GetTypedValue() T + func (_m *MockTypedValue[T]) GetValue() interface{} + func (_m *MockTypedValue[T]) HasIdentity() bool + func (_m *MockTypedValue[T]) Identify() string + func (_m *MockTypedValue[T]) IsNil() bool + func (_m *MockTypedValue[T]) SetAlias(_a0 string) + func (_m *MockTypedValue[T]) Stringify() string + func (_m *MockTypedValue[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + type MockValue struct + func NewMockValue(t mockConstructorTestingTNewMockValue) *MockValue + func (_m *MockValue) ExtractValues(cache IValueCache) IValueCache + func (_m *MockValue) GetAlias() string + func (_m *MockValue) GetName() string + func (_m *MockValue) GetValue() interface{} + func (_m *MockValue) HasIdentity() bool + func (_m *MockValue) Identify() string + func (_m *MockValue) IsNil() bool + func (_m *MockValue) SetAlias(_a0 string) + func (_m *MockValue) Stringify() string + func (_m *MockValue) ToSyntaxOperand(nextOp Op) *SyntaxOperand + type Op int + const OpTransparent + func (o Op) IsTransparent() bool + type OpCategory int + const OpCategoryAssignStatic + const OpCategoryAssignVariable + const OpCategoryFunctionCall + const OpCategoryTwoValMiddleOp + type Progressive struct + func NewProgressive(name string) *Progressive[T] + func (f *Progressive) GetFormatFn() func(T) string + func (f *Progressive) WithFormatFn(formatFn func(T) string) + func (p *Progressive[T]) AddCondition(criteria TypedValue[bool]) CloseIfFunc + func (p *Progressive[T]) AsTag() Tag + func (p *Progressive[T]) DoAnchor(name string) *Simple[T] + func (p *Progressive[T]) ExtractValues(cache IValueCache) IValueCache + func (p *Progressive[T]) GetTypedValue() T + func (p *Progressive[T]) GetValue() any + func (p *Progressive[T]) IsNil() bool + func (p *Progressive[T]) MarshalJSON() ([]byte, error) + func (p *Progressive[T]) Stringify() string + func (p *Progressive[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + func (p *Progressive[T]) Update(value TypedValue[T]) + func (t *Progressive) GetTags() Tags + func (t *Progressive) Tag(tags ...Tag) + func (v *Progressive) GetAlias() string + func (v *Progressive) GetName() string + func (v *Progressive) HasIdentity() bool + func (v *Progressive) Identify() string + func (v *Progressive) SetAlias(alias string) + type ProgressiveConditionalValue interface + AddCondition func(TypedValue[bool]) CloseIfFunc + type Remote struct + func NewRemote(name string, value T, remoteFieldName string, remoteLogKey string) *Remote[T] + func (c *Remote) AddCondition(condition *Condition) + func (c *Remote) GetCondition() *Condition + func (c *Remote) IsConditional() bool + func (f *Remote) GetFormatFn() func(T) string + func (f *Remote) WithFormatFn(formatFn func(T) string) + func (r *Remote[T]) DoAnchor(name string) *Simple[T] + func (r *Remote[T]) ExtractValues(cache IValueCache) IValueCache + func (r *Remote[T]) GetTypedValue() T + func (r *Remote[T]) GetValue() any + func (r *Remote[T]) IsNil() bool + func (r *Remote[T]) MarshalJSON() ([]byte, error) + func (r *Remote[T]) Stringify() string + func (r *Remote[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + func (t *Remote) GetTags() Tags + func (t *Remote) Tag(tags ...Tag) + func (v *Remote) GetAlias() string + func (v *Remote) GetName() string + func (v *Remote) HasIdentity() bool + func (v *Remote) Identify() string + func (v *Remote) SetAlias(alias string) + type Simple struct + func NewSimple(name string, value T) *Simple[T] + func NewSimpleFrom(value TypedValue[T]) *Simple[T] + func NewSimpleWithFormula(value T, formulaFn func() *SyntaxNode) *Simple[T] + func ZeroSimple(name string) *Simple[T] + func (c *Simple) AddCondition(condition *Condition) + func (c *Simple) GetCondition() *Condition + func (c *Simple) IsConditional() bool + func (f *Simple) GetFormatFn() func(T) string + func (f *Simple) WithFormatFn(formatFn func(T) string) + func (s *Simple[T]) DoAnchor(name string) (*Simple[T], bool) + func (s *Simple[T]) ExtractValues(cache IValueCache) IValueCache + func (s *Simple[T]) From(source Source) + func (s *Simple[T]) GetFormulaFn() func() *SyntaxNode + func (s *Simple[T]) GetSource() Source + func (s *Simple[T]) GetTypedValue() T + func (s *Simple[T]) GetValue() any + func (s *Simple[T]) HasFormula() bool + func (s *Simple[T]) IsNil() bool + func (s *Simple[T]) MarshalJSON() ([]byte, error) + func (s *Simple[T]) Stringify() string + func (s *Simple[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + func (t *Simple) GetTags() Tags + func (t *Simple) Tag(tags ...Tag) + func (v *Simple) GetAlias() string + func (v *Simple) GetName() string + func (v *Simple) HasIdentity() bool + func (v *Simple) Identify() string + func (v *Simple) SetAlias(alias string) + type Source string + const SourceHardcode + const SourceLogic + const SourceRequest + const SourceUnknown + func (s Source) Apply(targets ...sourcer) + func (s Source) String() string + type Stage struct + func (s *Stage[T]) ExtractValues(cache IValueCache) IValueCache + func (s *Stage[T]) GetAlias() string + func (s *Stage[T]) GetName() string + func (s *Stage[T]) GetTypedValue() T + func (s *Stage[T]) GetValue() any + func (s *Stage[T]) HasIdentity() bool + func (s *Stage[T]) Identify() string + func (s *Stage[T]) IsNil() bool + func (s *Stage[T]) SetAlias(alias string) + func (s *Stage[T]) Stringify() string + func (s *Stage[T]) ToSyntaxOperand(nextOp Op) *SyntaxOperand + type StaticConditionalValue interface + AddCondition func(*Condition) + GetCondition func() *Condition + IsConditional func() bool + type SyntaxNode struct + func NewFormulaForFunctionCall(fnName string, arguments ...any) *SyntaxNode + func NewFormulaForTwoValMiddleOp(v1 Value, v2 Value, op Op, opDesc string) *SyntaxNode + func NewSyntaxNode(category OpCategory, op Op, opDesc string, operands []any) *SyntaxNode + func (n *SyntaxNode) GetCategory() OpCategory + func (n *SyntaxNode) GetOp() Op + func (n *SyntaxNode) GetOpDesc() string + func (n *SyntaxNode) GetOperands() []any + func (n *SyntaxNode) MarshalJSON() ([]byte, error) + type SyntaxOperand struct + Name string + Node *SyntaxNode + StageIdx int + StaticValue string + WrapInParentheses bool + func NewSyntaxOperand(v Value) *SyntaxOperand + func NewSyntaxOperandWithFormula(formula *SyntaxNode, wrapInParentheses bool) *SyntaxOperand + func NewSyntaxOperandWithStageIdx(v Value, stageIdx int) *SyntaxOperand + func NewSyntaxOperandWithStaticValue(value string) *SyntaxOperand + type Tag struct + Name string + Value any + func NewTagFrom(v Value) Tag + func (t Tag) GetName() string + func (t Tag) GetValue() any + type Tags []Tag + func (t Tags) AddTags(tags ...Tag) Tags + func (t Tags) MarshalJSON() ([]byte, error) + func (t Tags) Tag(taggers ...ITagger) + type TypedValue interface + GetTypedValue func() T + func PreProcessOperand(tv TypedValue[T]) TypedValue[T] + type Value interface + GetValue func() any + IsNil func() bool + Stringify func() string