object

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2022 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Number          = "number"
	String          = "string"
	List            = "list"
	Function        = "function"
	BuiltInFunction = "built-in function"
	Unknow          = "Unknow"
)

Variables

This section is empty.

Functions

func CanHashed

func CanHashed(arg JValue) bool

func GetJValueType added in v0.1.1

func GetJValueType(arg JValue) string

Types

type ExecuteFunc

type ExecuteFunc func(function *JBuiltInFunction, args []JValue) (JValue, error)

type JBaseValue

type JBaseValue struct {
	Value    interface{} // used to number(only support int and float64) or function name
	StartPos *common.JPosition
	EndPos   *common.JPosition
	Context  *common.JContext
}

func (*JBaseValue) AddTo

func (v *JBaseValue) AddTo(other JValue) (JValue, error)

func (*JBaseValue) AndBy

func (v *JBaseValue) AndBy(other JValue) (JValue, error)

func (*JBaseValue) Copy

func (v *JBaseValue) Copy() JValue

func (*JBaseValue) DivBy

func (v *JBaseValue) DivBy(other JValue) (JValue, error)

func (*JBaseValue) EqualTo

func (v *JBaseValue) EqualTo(other JValue) (JValue, error)

func (*JBaseValue) Execute

func (v *JBaseValue) Execute(args []JValue) (JValue, error)

func (*JBaseValue) GetContext

func (v *JBaseValue) GetContext() *common.JContext

func (*JBaseValue) GetEndPos

func (v *JBaseValue) GetEndPos() *common.JPosition

func (*JBaseValue) GetStartPos

func (v *JBaseValue) GetStartPos() *common.JPosition

func (*JBaseValue) GetValue

func (v *JBaseValue) GetValue() interface{}

func (*JBaseValue) GreaterThan

func (v *JBaseValue) GreaterThan(other JValue) (JValue, error)

func (*JBaseValue) GreaterThanOrEqualTo

func (v *JBaseValue) GreaterThanOrEqualTo(other JValue) (JValue, error)

func (*JBaseValue) IndexAccess

func (v *JBaseValue) IndexAccess(arg JValue) (JValue, error)

func (*JBaseValue) IndexAssign

func (v *JBaseValue) IndexAssign(indexArg, indexValue JValue) (JValue, error)

func (*JBaseValue) IsTrue

func (v *JBaseValue) IsTrue() bool

func (*JBaseValue) LessThan

func (v *JBaseValue) LessThan(other JValue) (JValue, error)

func (*JBaseValue) LessThanOrEqualTo

func (v *JBaseValue) LessThanOrEqualTo(other JValue) (JValue, error)

func (*JBaseValue) MulBy

func (v *JBaseValue) MulBy(other JValue) (JValue, error)

func (*JBaseValue) Not

func (v *JBaseValue) Not() (JValue, error)

func (*JBaseValue) NotEqualTo

func (v *JBaseValue) NotEqualTo(other JValue) (JValue, error)

func (*JBaseValue) OrBy

func (v *JBaseValue) OrBy(other JValue) (JValue, error)

func (*JBaseValue) PowBy

func (v *JBaseValue) PowBy(other JValue) (JValue, error)

func (*JBaseValue) SetJContext

func (v *JBaseValue) SetJContext(context *common.JContext) JValue

func (*JBaseValue) SetJPos

func (v *JBaseValue) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JBaseValue) String

func (v *JBaseValue) String() string

func (*JBaseValue) SubBy

func (v *JBaseValue) SubBy(other JValue) (JValue, error)

type JBuiltInFunction

type JBuiltInFunction struct {
	*JFunction
	ExecuteCb ExecuteFunc
}

func NewJBuiltInFunction

func NewJBuiltInFunction(funcName interface{}, argNames []string, executeFunc ExecuteFunc) *JBuiltInFunction

func (*JBuiltInFunction) Copy

func (bif *JBuiltInFunction) Copy() JValue

func (*JBuiltInFunction) Execute

func (bif *JBuiltInFunction) Execute(args []JValue) (JValue, error)

func (*JBuiltInFunction) SetJContext

func (bif *JBuiltInFunction) SetJContext(context *common.JContext) JValue

func (*JBuiltInFunction) SetJPos

func (bif *JBuiltInFunction) SetJPos(startPos, endPos *common.JPosition) JValue

type JFunction

type JFunction struct {
	*JBaseValue
	ArgNames []string
	BodyNode parser.JNode
}

func NewJFunction

func NewJFunction(funcName interface{}, argNames []string, bodyNode parser.JNode) *JFunction

func (*JFunction) CheckArgs

func (f *JFunction) CheckArgs(argValues []JValue) error

func (*JFunction) Copy

func (f *JFunction) Copy() JValue

func (*JFunction) SetJContext

func (f *JFunction) SetJContext(context *common.JContext) JValue

func (*JFunction) SetJPos

func (f *JFunction) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JFunction) String

func (f *JFunction) String() string

type JList

type JList struct {
	*JBaseValue
	ElementValues []JValue
}

func NewJList

func NewJList(elementValues []JValue) *JList

func (*JList) AddTo

func (l *JList) AddTo(other JValue) (JValue, error)

func (*JList) Copy

func (l *JList) Copy() JValue

func (*JList) IndexAccess

func (l *JList) IndexAccess(arg JValue) (JValue, error)

func (*JList) IndexAssign

func (l *JList) IndexAssign(indexArg, indexValue JValue) (JValue, error)

func (*JList) IsAllNil

func (l *JList) IsAllNil() bool

func (*JList) MulBy

func (l *JList) MulBy(other JValue) (JValue, error)

func (*JList) SetJContext

func (l *JList) SetJContext(context *common.JContext) JValue

func (*JList) SetJPos

func (l *JList) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JList) String

func (l *JList) String() string

func (*JList) SubBy

func (l *JList) SubBy(other JValue) (JValue, error)

type JMap

type JMap struct {
	*JBaseValue
	ElementMap *safemap.SafeMap[JValue]
}

func NewJMap

func NewJMap(elementMap *safemap.SafeMap[JValue]) *JMap

func (*JMap) Copy

func (m *JMap) Copy() JValue

func (*JMap) IndexAccess

func (m *JMap) IndexAccess(arg JValue) (JValue, error)

func (*JMap) IndexAssign

func (m *JMap) IndexAssign(indexArg, indexValue JValue) (JValue, error)

func (*JMap) SetJContext

func (m *JMap) SetJContext(context *common.JContext) JValue

func (*JMap) SetJPos

func (m *JMap) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JMap) String

func (m *JMap) String() string

type JNull

type JNull struct {
	*JBaseValue
}

func NewJNull

func NewJNull() *JNull

func (*JNull) Copy

func (n *JNull) Copy() JValue

func (*JNull) EqualTo

func (n *JNull) EqualTo(other JValue) (JValue, error)

func (*JNull) NotEqualTo

func (n *JNull) NotEqualTo(other JValue) (JValue, error)

func (*JNull) SetJContext

func (n *JNull) SetJContext(context *common.JContext) JValue

func (*JNull) SetJPos

func (n *JNull) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JNull) String

func (n *JNull) String() string

type JNumber

type JNumber struct {
	*JBaseValue
}

func NewJNumber

func NewJNumber(value interface{}) *JNumber

func (*JNumber) AddTo

func (n *JNumber) AddTo(other JValue) (JValue, error)

func (*JNumber) AndBy

func (n *JNumber) AndBy(other JValue) (JValue, error)

func (*JNumber) Copy

func (n *JNumber) Copy() JValue

func (*JNumber) DivBy

func (n *JNumber) DivBy(other JValue) (JValue, error)

func (*JNumber) EqualTo

func (n *JNumber) EqualTo(other JValue) (JValue, error)

func (*JNumber) GreaterThan

func (n *JNumber) GreaterThan(other JValue) (JValue, error)

func (*JNumber) GreaterThanOrEqualTo

func (n *JNumber) GreaterThanOrEqualTo(other JValue) (JValue, error)

func (*JNumber) IsTrue

func (n *JNumber) IsTrue() bool

func (*JNumber) LessThan

func (n *JNumber) LessThan(other JValue) (JValue, error)

func (*JNumber) LessThanOrEqualTo

func (n *JNumber) LessThanOrEqualTo(other JValue) (JValue, error)

func (*JNumber) MulBy

func (n *JNumber) MulBy(other JValue) (JValue, error)

func (*JNumber) Not

func (n *JNumber) Not() (JValue, error)

func (*JNumber) NotEqualTo

func (n *JNumber) NotEqualTo(other JValue) (JValue, error)

func (*JNumber) OrBy

func (n *JNumber) OrBy(other JValue) (JValue, error)

func (*JNumber) PowBy

func (n *JNumber) PowBy(other JValue) (JValue, error)

func (*JNumber) SetJContext

func (n *JNumber) SetJContext(context *common.JContext) JValue

func (*JNumber) SetJPos

func (n *JNumber) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JNumber) SubBy

func (n *JNumber) SubBy(other JValue) (JValue, error)

type JNumberType

type JNumberType int

type JString

type JString struct {
	*JBaseValue
}

func NewJString

func NewJString(value interface{}) *JString

func (*JString) AddTo

func (s *JString) AddTo(other JValue) (JValue, error)

func (*JString) Copy

func (s *JString) Copy() JValue

func (*JString) IndexAccess

func (s *JString) IndexAccess(arg JValue) (JValue, error)

func (*JString) IsTrue

func (s *JString) IsTrue() bool

func (*JString) MulBy

func (s *JString) MulBy(other JValue) (JValue, error)

func (*JString) Not

func (s *JString) Not() (JValue, error)

func (*JString) SetJContext

func (s *JString) SetJContext(context *common.JContext) JValue

func (*JString) SetJPos

func (s *JString) SetJPos(startPos, endPos *common.JPosition) JValue

func (*JString) String

func (s *JString) String() string

type JValue

type JValue interface {
	fmt.Stringer
	GetValue() interface{}
	SetJPos(startPos, endPos *common.JPosition) JValue
	SetJContext(context *common.JContext) JValue
	GetContext() *common.JContext
	GetStartPos() *common.JPosition
	GetEndPos() *common.JPosition
	Copy() JValue
	AddTo(other JValue) (JValue, error)
	SubBy(other JValue) (JValue, error)
	MulBy(other JValue) (JValue, error)
	DivBy(other JValue) (JValue, error)
	PowBy(other JValue) (JValue, error)
	EqualTo(other JValue) (JValue, error)
	NotEqualTo(other JValue) (JValue, error)
	LessThan(other JValue) (JValue, error)
	LessThanOrEqualTo(other JValue) (JValue, error)
	GreaterThan(other JValue) (JValue, error)
	GreaterThanOrEqualTo(other JValue) (JValue, error)
	AndBy(other JValue) (JValue, error)
	OrBy(other JValue) (JValue, error)
	Not() (JValue, error)
	IsTrue() bool
	Execute(args []JValue) (JValue, error)
	IndexAccess(arg JValue) (JValue, error)
	IndexAssign(indexArg, indexValue JValue) (JValue, error)
}

Jump to

Keyboard shortcuts

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