Documentation
¶
Overview ¶
Package object re-exports error types from the errors package for convenience.
Package object provides the standard set of Risor object types.
For external users of Risor, often an object.Object interface will be type asserted to a specific object type, such as *object.Float.
For example:
switch obj := obj.(type) {
case *object.String:
// do something with obj.Value()
case *object.Float:
// do something with obj.Value()
}
The Type() method of each object may also be used to get a string name of the object type, such as "string" or "float".
Index ¶
- Constants
- Variables
- func Arg[T Object](args []Object, index int, methodName string) (T, error)
- func AsBool(obj Object) (bool, error)
- func AsByte(obj Object) (byte, error)
- func AsBytes(obj Object) ([]byte, error)
- func AsFloat(obj Object) (float64, error)
- func AsInt(obj Object) (int64, error)
- func AsObjects(m map[string]any) (map[string]Object, error)
- func AsObjectsWithRegistry(m map[string]any, registry *TypeRegistry) (map[string]Object, error)
- func AsReader(obj Object) (io.Reader, error)
- func AsString(obj Object) (string, error)
- func AsStringSlice(obj Object) ([]string, error)
- func AsTime(obj Object) (time.Time, error)
- func AsWriter(obj Object) (io.Writer, error)
- func AttrNames(attrs []AttrSpec) []string
- func CompareTypes(a, b Object) int
- func Equals(a, b Object) bool
- func IsError(obj Object) bool
- func Keys(m map[string]Object) []string
- func ObjectToRune(obj Object) (rune, error)
- func PrintableValue(obj Object) interface{}
- func RegisterType(t Type, description string, attrsFn func() []AttrSpec)
- func ResolveIndex(idx int64, size int64) (int64, error)
- func ResolveIntSlice(slice Slice, size int64) (start int64, stop int64, err error)
- func TypeDocsMap() map[string]TypeSpec
- func WithCallFunc(ctx context.Context, fn CallFunc) context.Context
- type ArgsError
- type AttrBuilder
- func (b *AttrBuilder[T]) Arg(name string) *AttrBuilder[T]
- func (b *AttrBuilder[T]) Args(names ...string) *AttrBuilder[T]
- func (b *AttrBuilder[T]) Doc(doc string) *AttrBuilder[T]
- func (b *AttrBuilder[T]) Getter(fn func(T) Object)
- func (b *AttrBuilder[T]) Impl(fn func(T, context.Context, ...Object) (Object, error))
- func (b *AttrBuilder[T]) OptionalArg(name string) *AttrBuilder[T]
- func (b *AttrBuilder[T]) Returns(typ string) *AttrBuilder[T]
- type AttrDef
- type AttrRegistry
- type AttrResolver
- type AttrSpec
- type Bool
- func (b *Bool) Attrs() []AttrSpec
- func (b *Bool) Compare(other Object) (int, error)
- func (b *Bool) Equals(other Object) bool
- func (b *Bool) GetAttr(name string) (Object, bool)
- func (b *Bool) Inspect() string
- func (b *Bool) Interface() interface{}
- func (b *Bool) IsTruthy() bool
- func (b *Bool) MarshalJSON() ([]byte, error)
- func (b *Bool) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (b *Bool) SetAttr(name string, value Object) error
- func (b *Bool) String() string
- func (b *Bool) Type() Type
- func (b *Bool) Value() bool
- type Builtin
- func (b *Builtin) Attrs() []AttrSpec
- func (b *Builtin) Call(ctx context.Context, args ...Object) (Object, error)
- func (b *Builtin) Equals(other Object) bool
- func (b *Builtin) GetAttr(name string) (Object, bool)
- func (b *Builtin) InModule(moduleName string) *Builtin
- func (b *Builtin) Inspect() string
- func (b *Builtin) Interface() interface{}
- func (b *Builtin) IsTruthy() bool
- func (b *Builtin) Key() string
- func (b *Builtin) MarshalJSON() ([]byte, error)
- func (b *Builtin) Name() string
- func (b *Builtin) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (b *Builtin) SetAttr(name string, value Object) error
- func (b *Builtin) String() string
- func (b *Builtin) Type() Type
- func (b *Builtin) Value() BuiltinFunction
- func (b *Builtin) WithModule(module *Module) *Builtin
- type BuiltinFunction
- type Byte
- func (b *Byte) Attrs() []AttrSpec
- func (b *Byte) Compare(other Object) (int, error)
- func (b *Byte) Equals(other Object) bool
- func (b *Byte) GetAttr(name string) (Object, bool)
- func (b *Byte) Inspect() string
- func (b *Byte) Interface() interface{}
- func (b *Byte) IsTruthy() bool
- func (b *Byte) MarshalJSON() ([]byte, error)
- func (b *Byte) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (b *Byte) SetAttr(name string, value Object) error
- func (b *Byte) String() string
- func (b *Byte) Type() Type
- func (b *Byte) Value() byte
- type Bytes
- func (b *Bytes) Attrs() []AttrSpec
- func (b *Bytes) Clone() *Bytes
- func (b *Bytes) Compare(other Object) (int, error)
- func (b *Bytes) Contains(obj Object) *Bool
- func (b *Bytes) ContainsAny(obj Object) (Object, error)
- func (b *Bytes) ContainsRune(obj Object) (Object, error)
- func (b *Bytes) Count(obj Object) (Object, error)
- func (b *Bytes) DelItem(key Object) *Error
- func (b *Bytes) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (b *Bytes) Equals(other Object) bool
- func (b *Bytes) GetAttr(name string) (Object, bool)
- func (b *Bytes) GetItem(key Object) (Object, *Error)
- func (b *Bytes) GetSlice(slice Slice) (Object, *Error)
- func (b *Bytes) HasPrefix(obj Object) (Object, error)
- func (b *Bytes) HasSuffix(obj Object) (Object, error)
- func (b *Bytes) Index(obj Object) (Object, error)
- func (b *Bytes) IndexAny(obj Object) (Object, error)
- func (b *Bytes) IndexByte(obj Object) (Object, error)
- func (b *Bytes) IndexRune(obj Object) (Object, error)
- func (b *Bytes) Inspect() string
- func (b *Bytes) Integers() []Object
- func (b *Bytes) Interface() interface{}
- func (b *Bytes) IsTruthy() bool
- func (b *Bytes) Len() *Int
- func (b *Bytes) MarshalJSON() ([]byte, error)
- func (b *Bytes) Repeat(obj Object) (Object, error)
- func (b *Bytes) Replace(old, new, count Object) (Object, error)
- func (b *Bytes) ReplaceAll(old, new Object) (Object, error)
- func (b *Bytes) Reversed() *Bytes
- func (b *Bytes) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (b *Bytes) SetAttr(name string, value Object) error
- func (b *Bytes) SetItem(key, value Object) *Error
- func (b *Bytes) String() string
- func (b *Bytes) Type() Type
- func (b *Bytes) Value() []byte
- type CallFunc
- type Callable
- type Cell
- func (c *Cell) Attrs() []AttrSpec
- func (c *Cell) Equals(other Object) bool
- func (c *Cell) GetAttr(name string) (Object, bool)
- func (c *Cell) Inspect() string
- func (c *Cell) Interface() interface{}
- func (c *Cell) IsTruthy() bool
- func (c *Cell) MarshalJSON() ([]byte, error)
- func (c *Cell) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (c *Cell) Set(value Object)
- func (c *Cell) SetAttr(name string, value Object) error
- func (c *Cell) String() string
- func (c *Cell) Type() Type
- func (c *Cell) Value() Object
- type Closure
- func (f *Closure) Attrs() []AttrSpec
- func (f *Closure) BytecodeFunction() *bytecode.Function
- func (f *Closure) Call(ctx context.Context, args ...Object) (Object, error)
- func (f *Closure) Code() *bytecode.Code
- func (f *Closure) Default(index int) Object
- func (f *Closure) DefaultCount() int
- func (f *Closure) Equals(other Object) bool
- func (f *Closure) FreeVar(index int) *Cell
- func (f *Closure) FreeVarCount() int
- func (f *Closure) GetAttr(name string) (Object, bool)
- func (f *Closure) HasRestParam() bool
- func (f *Closure) Inspect() string
- func (f *Closure) Interface() interface{}
- func (f *Closure) IsTruthy() bool
- func (f *Closure) LocalsCount() int
- func (f *Closure) MarshalJSON() ([]byte, error)
- func (f *Closure) Name() string
- func (f *Closure) Parameter(index int) string
- func (f *Closure) ParameterCount() int
- func (f *Closure) RequiredArgsCount() int
- func (f *Closure) RestParam() string
- func (f *Closure) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (f *Closure) SetAttr(name string, value Object) error
- func (f *Closure) String() string
- func (f *Closure) Type() Type
- type Color
- func (c *Color) Attrs() []AttrSpec
- func (c *Color) Equals(other Object) bool
- func (c *Color) GetAttr(name string) (Object, bool)
- func (c *Color) Inspect() string
- func (c *Color) Interface() interface{}
- func (c *Color) IsTruthy() bool
- func (c *Color) MarshalJSON() ([]byte, error)
- func (c *Color) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (c *Color) SetAttr(name string, value Object) error
- func (c *Color) String() string
- func (c *Color) Type() Type
- func (c *Color) Value() color.Color
- type Comparable
- type Container
- type DynamicAttr
- func (d *DynamicAttr) Attrs() []AttrSpec
- func (d *DynamicAttr) Equals(other Object) bool
- func (d *DynamicAttr) GetAttr(name string) (Object, bool)
- func (d *DynamicAttr) Inspect() string
- func (d *DynamicAttr) Interface() interface{}
- func (d *DynamicAttr) IsTruthy() bool
- func (d *DynamicAttr) MarshalJSON() ([]byte, error)
- func (d *DynamicAttr) ResolveAttr(ctx context.Context, name string) (Object, error)
- func (d *DynamicAttr) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (d *DynamicAttr) SetAttr(name string, value Object) error
- func (d *DynamicAttr) String() string
- func (d *DynamicAttr) Type() Type
- type Enumerable
- type Error
- func ArgsErrorf(format string, args ...interface{}) *Error
- func AsError(obj Object) (*Error, error)
- func Errorf(format string, a ...interface{}) *Error
- func EvalErrorf(format string, args ...interface{}) *Error
- func IndexErrorf(format string, args ...interface{}) *Error
- func NewArgsError(fn string, takes, given int) *Error
- func NewArgsRangeError(fn string, takesMin, takesMax, given int) *Error
- func NewError(err error) *Error
- func NewErrorFromStructured(se *StructuredError) *Error
- func Require(funcName string, count int, args []Object) *Error
- func RequireRange(funcName string, min, max int, args []Object) *Error
- func Sort(items []Object) *Error
- func TypeErrorf(format string, args ...interface{}) *Error
- func ValueErrorf(format string, args ...interface{}) *Error
- func (e *Error) Attrs() []AttrSpec
- func (e *Error) Compare(other Object) (int, error)
- func (e *Error) Equals(other Object) bool
- func (e *Error) Error() string
- func (e *Error) FriendlyErrorMessage() string
- func (e *Error) GetAttr(name string) (Object, bool)
- func (e *Error) Inspect() string
- func (e *Error) Interface() interface{}
- func (e *Error) IsTruthy() bool
- func (e *Error) MarshalJSON() ([]byte, error)
- func (e *Error) Message() *String
- func (e *Error) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (e *Error) SetAttr(name string, value Object) error
- func (e *Error) String() string
- func (e *Error) Structured() *StructuredError
- func (e *Error) Type() Type
- func (e *Error) Unwrap() error
- func (e *Error) Value() error
- type ErrorKind
- type EvalError
- type Float
- func (f *Float) Attrs() []AttrSpec
- func (f *Float) Compare(other Object) (int, error)
- func (f *Float) Equals(other Object) bool
- func (f *Float) GetAttr(name string) (Object, bool)
- func (f *Float) Inspect() string
- func (f *Float) Interface() interface{}
- func (f *Float) IsTruthy() bool
- func (f *Float) MarshalJSON() ([]byte, error)
- func (f *Float) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (f *Float) SetAttr(name string, value Object) error
- func (f *Float) String() string
- func (f *Float) Type() Type
- func (f *Float) Value() float64
- type FriendlyError
- type FromGoFunc
- type FuncSpec
- type GoFunc
- func (g *GoFunc) Attrs() []AttrSpec
- func (g *GoFunc) Call(ctx context.Context, args ...Object) (result Object, err error)
- func (g *GoFunc) Equals(other Object) bool
- func (g *GoFunc) GetAttr(name string) (Object, bool)
- func (g *GoFunc) Inspect() string
- func (g *GoFunc) Interface() any
- func (g *GoFunc) IsTruthy() bool
- func (g *GoFunc) Name() string
- func (g *GoFunc) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (g *GoFunc) SetAttr(name string, value Object) error
- func (g *GoFunc) String() string
- func (g *GoFunc) Type() Type
- type GoStruct
- func (g *GoStruct) Attrs() []AttrSpec
- func (g *GoStruct) CallMethod(ctx context.Context, name string, args ...Object) (Object, error)
- func (g *GoStruct) Equals(other Object) bool
- func (g *GoStruct) GetAttr(name string) (Object, bool)
- func (g *GoStruct) Inspect() string
- func (g *GoStruct) Interface() any
- func (g *GoStruct) IsTruthy() bool
- func (g *GoStruct) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (g *GoStruct) SetAttr(name string, value Object) error
- func (g *GoStruct) String() string
- func (g *GoStruct) StructType() reflect.Type
- func (g *GoStruct) Type() Type
- func (g *GoStruct) Value() reflect.Value
- type IndexError
- type Int
- func (i *Int) Attrs() []AttrSpec
- func (i *Int) Compare(other Object) (int, error)
- func (i *Int) Equals(other Object) bool
- func (i *Int) GetAttr(name string) (Object, bool)
- func (i *Int) Inspect() string
- func (i *Int) Interface() interface{}
- func (i *Int) IsTruthy() bool
- func (i *Int) MarshalJSON() ([]byte, error)
- func (i *Int) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (i *Int) SetAttr(name string, value Object) error
- func (i *Int) String() string
- func (i *Int) Type() Type
- func (i *Int) Value() int64
- type Introspectable
- type Iter
- func (it *Iter) Attrs() []AttrSpec
- func (it *Iter) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (it *Iter) Equals(other Object) bool
- func (it *Iter) GetAttr(name string) (Object, bool)
- func (it *Iter) Inspect() string
- func (it *Iter) Interface() any
- func (it *Iter) IsTruthy() bool
- func (it *Iter) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (it *Iter) SetAttr(name string, value Object) error
- func (it *Iter) String() string
- func (it *Iter) Type() Type
- type List
- func (ls *List) Append(obj Object)
- func (ls *List) Attrs() []AttrSpec
- func (ls *List) Clear()
- func (ls *List) Compare(other Object) (int, error)
- func (ls *List) Contains(item Object) *Bool
- func (ls *List) Copy() *List
- func (ls *List) Count(obj Object) int64
- func (ls *List) DelItem(key Object) *Error
- func (ls *List) Each(ctx context.Context, fn Object) (Object, error)
- func (ls *List) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (ls *List) Equals(other Object) bool
- func (ls *List) Extend(other *List)
- func (ls *List) Filter(ctx context.Context, fn Object) (Object, error)
- func (ls *List) GetAttr(name string) (Object, bool)
- func (ls *List) GetItem(key Object) (Object, *Error)
- func (ls *List) GetSlice(s Slice) (Object, *Error)
- func (ls *List) Index(obj Object) int64
- func (ls *List) Insert(index int64, obj Object)
- func (ls *List) Inspect() string
- func (ls *List) Interface() interface{}
- func (ls *List) IsTruthy() bool
- func (ls *List) Keys() Object
- func (ls *List) Len() *Int
- func (ls *List) Map(ctx context.Context, fn Object) (Object, error)
- func (ls *List) MarshalJSON() ([]byte, error)
- func (ls *List) Pop(index int64) (Object, error)
- func (ls *List) Reduce(ctx context.Context, initial Object, fn Object) (Object, error)
- func (ls *List) Remove(obj Object)
- func (ls *List) Reverse()
- func (ls *List) Reversed() *List
- func (ls *List) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (ls *List) SetAttr(name string, value Object) error
- func (ls *List) SetItem(key, value Object) *Error
- func (ls *List) Size() int
- func (ls *List) String() string
- func (ls *List) Type() Type
- func (ls *List) Value() []Object
- type Map
- func (m *Map) Attrs() []AttrSpec
- func (m *Map) Clear()
- func (m *Map) Contains(key Object) *Bool
- func (m *Map) Copy() *Map
- func (m *Map) DelItem(key Object) *Error
- func (m *Map) Delete(key string) Object
- func (m *Map) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (m *Map) Equals(other Object) bool
- func (m *Map) Get(key string) Object
- func (m *Map) GetAttr(name string) (Object, bool)
- func (m *Map) GetItem(key Object) (Object, *Error)
- func (m *Map) GetSlice(s Slice) (Object, *Error)
- func (m *Map) GetWithDefault(key string, defaultValue Object) Object
- func (m *Map) GetWithObject(key *String) Object
- func (m *Map) Inspect() string
- func (m *Map) Interface() interface{}
- func (m *Map) IsTruthy() bool
- func (m *Map) Keys() *List
- func (m *Map) Len() *Int
- func (m *Map) ListItems() *List
- func (m *Map) MarshalJSON() ([]byte, error)
- func (m *Map) Pop(key string, def Object) Object
- func (m *Map) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (m *Map) Set(key string, value Object)
- func (m *Map) SetAttr(name string, value Object) error
- func (m *Map) SetDefault(key string, value Object) Object
- func (m *Map) SetItem(key, value Object) *Error
- func (m *Map) Size() int
- func (m *Map) SortedKeys() []string
- func (m *Map) String() string
- func (m *Map) StringKeys() []string
- func (m *Map) Type() Type
- func (m *Map) Update(other *Map)
- func (m *Map) Value() map[string]Object
- func (m *Map) Values() *List
- type MethodBuilder
- type MethodDef
- type MethodRegistry
- type Module
- func (m *Module) Attrs() []AttrSpec
- func (m *Module) Call(ctx context.Context, args ...Object) (Object, error)
- func (m *Module) Code() *bytecode.Code
- func (m *Module) Compare(other Object) (int, error)
- func (m *Module) Equals(other Object) bool
- func (m *Module) GetAttr(name string) (Object, bool)
- func (m *Module) Inspect() string
- func (m *Module) Interface() interface{}
- func (m *Module) IsTruthy() bool
- func (m *Module) MarshalJSON() ([]byte, error)
- func (m *Module) Name() *String
- func (m *Module) Override(name string, value Object) error
- func (m *Module) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (m *Module) SetAttr(name string, value Object) error
- func (m *Module) String() string
- func (m *Module) Type() Type
- func (m *Module) UseGlobals(globals []Object)
- type NilType
- func (n *NilType) Attrs() []AttrSpec
- func (n *NilType) Compare(other Object) (int, error)
- func (n *NilType) Equals(other Object) bool
- func (n *NilType) GetAttr(name string) (Object, bool)
- func (n *NilType) Inspect() string
- func (n *NilType) Interface() interface{}
- func (n *NilType) IsTruthy() bool
- func (n *NilType) MarshalJSON() ([]byte, error)
- func (n *NilType) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (n *NilType) SetAttr(name string, value Object) error
- func (n *NilType) String() string
- func (n *NilType) Type() Type
- type Object
- type Partial
- func (p *Partial) Args() []Object
- func (p *Partial) Attrs() []AttrSpec
- func (p *Partial) Equals(other Object) bool
- func (p *Partial) Function() Object
- func (p *Partial) GetAttr(name string) (Object, bool)
- func (p *Partial) Inspect() string
- func (p *Partial) Interface() interface{}
- func (p *Partial) IsTruthy() bool
- func (p *Partial) MarshalJSON() ([]byte, error)
- func (p *Partial) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (p *Partial) SetAttr(name string, value Object) error
- func (p *Partial) Type() Type
- type Range
- func (r *Range) Attrs() []AttrSpec
- func (r *Range) Each(ctx context.Context, fn Object) (Object, error)
- func (r *Range) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (r *Range) Equals(other Object) bool
- func (r *Range) Filter(ctx context.Context, fn Object) (Object, error)
- func (r *Range) GetAttr(name string) (Object, bool)
- func (r *Range) Inspect() string
- func (r *Range) Interface() any
- func (r *Range) IsTruthy() bool
- func (r *Range) Map(ctx context.Context, fn Object) (Object, error)
- func (r *Range) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (r *Range) SetAttr(name string, value Object) error
- func (r *Range) Start() int64
- func (r *Range) Step() int64
- func (r *Range) Stop() int64
- func (r *Range) Type() Type
- type RegistryBuilder
- type ResolveAttrFunc
- type RisorValuer
- type Slice
- type SourceLocation
- type StackFrame
- type String
- func (s *String) Attrs() []AttrSpec
- func (s *String) Compare(other Object) (int, error)
- func (s *String) Contains(obj Object) *Bool
- func (s *String) Count(obj Object) (Object, error)
- func (s *String) DelItem(key Object) *Error
- func (s *String) Enumerate(ctx context.Context, fn func(key, value Object) bool)
- func (s *String) Equals(other Object) bool
- func (s *String) Fields() Object
- func (s *String) GetAttr(name string) (Object, bool)
- func (s *String) GetItem(key Object) (Object, *Error)
- func (s *String) GetSlice(slice Slice) (Object, *Error)
- func (s *String) HasPrefix(obj Object) (Object, error)
- func (s *String) HasSuffix(obj Object) (Object, error)
- func (s *String) Index(obj Object) (Object, error)
- func (s *String) Inspect() string
- func (s *String) Interface() interface{}
- func (s *String) IsTruthy() bool
- func (s *String) Join(obj Object) (Object, error)
- func (s *String) LastIndex(obj Object) (Object, error)
- func (s *String) Len() *Int
- func (s *String) MarshalJSON() ([]byte, error)
- func (s *String) Repeat(obj Object) (Object, error)
- func (s *String) ReplaceAll(old, new Object) (Object, error)
- func (s *String) Reversed() *String
- func (s *String) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (s *String) Runes() []Object
- func (s *String) SetAttr(name string, value Object) error
- func (s *String) SetItem(key, value Object) *Error
- func (s *String) Split(obj Object) (Object, error)
- func (s *String) String() string
- func (s *String) ToLower() Object
- func (s *String) ToUpper() Object
- func (s *String) Trim(obj Object) (Object, error)
- func (s *String) TrimPrefix(obj Object) (Object, error)
- func (s *String) TrimSpace() Object
- func (s *String) TrimSuffix(obj Object) (Object, error)
- func (s *String) Type() Type
- func (s *String) Value() string
- type StructuredError
- type Time
- func (t *Time) AddDate(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) After(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) Attrs() []AttrSpec
- func (t *Time) Before(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) Compare(other Object) (int, error)
- func (t *Time) Equals(other Object) bool
- func (t *Time) Format(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) GetAttr(name string) (Object, bool)
- func (t *Time) Inspect() string
- func (t *Time) Interface() interface{}
- func (t *Time) IsTruthy() bool
- func (t *Time) MarshalJSON() ([]byte, error)
- func (t *Time) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
- func (t *Time) SetAttr(name string, value Object) error
- func (t *Time) String() string
- func (t *Time) Type() Type
- func (t *Time) UTC(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) Unix(ctx context.Context, args ...Object) (Object, error)
- func (t *Time) Value() time.Time
- type ToGoFunc
- type Type
- type TypeError
- type TypeRegistry
- type TypeSpec
- type ValueError
Constants ¶
const ( ErrSyntax = errors.ErrSyntax ErrType = errors.ErrType ErrName = errors.ErrName ErrValue = errors.ErrValue ErrRuntime = errors.ErrRuntime ErrImport = errors.ErrImport )
Re-export error kind constants
Variables ¶
var ( FormatStackTrace = errors.FormatStackTrace NewEvalError = errors.NewEvalError NewArgsErrorType = errors.NewArgsError NewTypeError = errors.NewTypeError NewValueError = errors.NewValueError NewIndexError = errors.NewIndexError NewStructuredError = errors.NewStructuredError NewStructuredErrorf = errors.NewStructuredErrorf )
Re-export functions for convenience
Functions ¶
func Arg ¶
Arg extracts and type-asserts an argument from the args slice. Returns a descriptive error if the index is out of bounds or the type doesn't match.
func AsObjects ¶
AsObjects transforms a map containing arbitrary Go types to a map of Risor objects, using the default registry. If an item in the map is of a type that can't be converted, an error is returned.
func AsObjectsWithRegistry ¶
AsObjectsWithRegistry transforms a map containing arbitrary Go types to a map of Risor objects using the specified registry.
func AsStringSlice ¶
func AttrNames ¶
AttrNames returns just the attribute names from a slice of AttrSpec. This is a convenience helper for common use cases.
func CompareTypes ¶
func ObjectToRune ¶
ObjectToRune converts a Risor Object to a rune.
func PrintableValue ¶
func PrintableValue(obj Object) interface{}
PrintableValue returns a value that should be used when printing an object.
func RegisterType ¶
RegisterType registers a type with its documentation. This should be called from init() functions in type implementation files.
func ResolveIndex ¶
ResolveIndex checks that the index is inbounds and transforms a negative index into the corresponding positive index. If the index is out of bounds, an error is returned.
func ResolveIntSlice ¶
ResolveIntSlice checks that the slice start and stop indices are inbounds and transforms negative indices into the corresponding positive indices. If the slice is out of bounds, an error is returned.
func TypeDocsMap ¶
TypeDocsMap returns documentation for all registered types as a map.
Types ¶
type AttrBuilder ¶
type AttrBuilder[T any] struct { // contains filtered or unexported fields }
AttrBuilder provides a fluent API for defining a single attribute.
func (*AttrBuilder[T]) Arg ¶
func (b *AttrBuilder[T]) Arg(name string) *AttrBuilder[T]
Arg adds a required argument by name (for methods). Panics if called after OptionalArg (required args must come first).
func (*AttrBuilder[T]) Args ¶
func (b *AttrBuilder[T]) Args(names ...string) *AttrBuilder[T]
Args adds multiple required arguments (for methods). Panics if called after OptionalArg (required args must come first).
func (*AttrBuilder[T]) Doc ¶
func (b *AttrBuilder[T]) Doc(doc string) *AttrBuilder[T]
Doc sets the attribute's documentation string.
func (*AttrBuilder[T]) Getter ¶
func (b *AttrBuilder[T]) Getter(fn func(T) Object)
Getter sets the property getter and registers the attribute. Use this for read-only properties that return a value directly. Panics if an attribute with the same name is already registered.
func (*AttrBuilder[T]) Impl ¶
Impl sets the method implementation and registers the attribute. Use this for callable methods that take arguments. Panics if an attribute with the same name is already registered.
func (*AttrBuilder[T]) OptionalArg ¶
func (b *AttrBuilder[T]) OptionalArg(name string) *AttrBuilder[T]
OptionalArg adds an optional argument by name (for methods). Optional args must come after all required args.
func (*AttrBuilder[T]) Returns ¶
func (b *AttrBuilder[T]) Returns(typ string) *AttrBuilder[T]
Returns sets the return type (for documentation/tooling).
type AttrDef ¶
type AttrDef[T any] struct { Spec AttrSpec IsProperty bool MinArgs int // Minimum required arguments (for optional arg support) // For methods: MethodImpl func(self T, ctx context.Context, args ...Object) (Object, error) // For properties: PropertyImpl func(self T) Object }
AttrDef combines an attribute's specification with its implementation. It supports both properties (direct value access) and methods (callable).
type AttrRegistry ¶
type AttrRegistry[T any] struct { // contains filtered or unexported fields }
AttrRegistry holds all attributes (properties and methods) for a given object type.
func NewAttrRegistry ¶
func NewAttrRegistry[T any](typeName string) *AttrRegistry[T]
NewAttrRegistry creates a registry for the given type name.
func NewMethodRegistry ¶
func NewMethodRegistry[T any](typeName string) *AttrRegistry[T]
func (*AttrRegistry[T]) Define ¶
func (r *AttrRegistry[T]) Define(name string) *AttrBuilder[T]
Define starts building a new attribute definition. Returns an AttrBuilder for fluent configuration.
func (*AttrRegistry[T]) GetAttr ¶
func (r *AttrRegistry[T]) GetAttr(self T, name string) (Object, bool)
GetAttr returns the named attribute bound to self. For properties, returns the value directly. For methods, returns a Builtin wrapper. Returns nil, false if the attribute doesn't exist.
func (*AttrRegistry[T]) Specs ¶
func (r *AttrRegistry[T]) Specs() []AttrSpec
Specs returns a copy of all registered attribute specifications in registration order.
type AttrResolver ¶
AttrResolver is an interface used to resolve dynamic attributes on an object.
type AttrSpec ¶
type AttrSpec struct {
// Name is the attribute name (e.g., "split", "append").
Name string
// Doc is a short description of what the attribute does.
Doc string
// Args lists parameter names (e.g., ["sep"] or ["old", "new"]).
// Empty for attributes that take no arguments.
Args []string
// Returns describes the return type (e.g., "list", "string", "bool").
Returns string
}
AttrSpec describes an attribute available on an object. This provides metadata for introspection, documentation, and tooling.
type Bool ¶
type Bool struct {
// contains filtered or unexported fields
}
Bool wraps bool and implements Object and Hashable interface.
func (*Bool) MarshalJSON ¶
func (*Bool) RunOperation ¶
type Builtin ¶
type Builtin struct {
// contains filtered or unexported fields
}
Builtin wraps func and implements Object interface.
func NewBuiltin ¶
func NewBuiltin(name string, fn BuiltinFunction) *Builtin
NewBuiltin creates a new builtin function with the given name and function. Use the builder methods InModule() or WithModule() to associate the builtin with a module.
func NewNoopBuiltin ¶
NewNoopBuiltin creates a builtin function that has no effect. Use WithModule() to associate it with a module if needed.
func (*Builtin) InModule ¶
InModule sets the module name for this builtin. This is used for the Key() method which returns the fully-qualified name (e.g., "math.sqrt").
func (*Builtin) MarshalJSON ¶
func (*Builtin) RunOperation ¶
func (*Builtin) Value ¶
func (b *Builtin) Value() BuiltinFunction
func (*Builtin) WithModule ¶
WithModule sets the module for this builtin. The module name is derived from the module's name. Use this when you have a module reference.
type BuiltinFunction ¶
BuiltinFunction holds the type of a built-in function.
type Byte ¶
type Byte struct {
// contains filtered or unexported fields
}
Byte wraps byte and implements Object and Hashable interface.
func (*Byte) MarshalJSON ¶
func (*Byte) RunOperation ¶
type Bytes ¶
type Bytes struct {
// contains filtered or unexported fields
}
func (*Bytes) MarshalJSON ¶
func (*Bytes) RunOperation ¶
type CallFunc ¶
CallFunc is a function type for invoking closures. The VM registers its implementation via WithCallFunc, and Closure.Call() retrieves it to execute the closure's bytecode.
External code should use the Callable interface instead of CallFunc directly. Both *Builtin and *Closure implement Callable, providing a uniform way to invoke functions without knowing their concrete type.
type Callable ¶
type Callable interface {
// Call invokes the callable with the given arguments and returns the result.
Call(ctx context.Context, args ...Object) (Object, error)
}
Callable is an interface for objects that can be invoked as functions. Both *Builtin and *Closure implement this interface, allowing code to call functions without knowing their concrete type.
For closures, Call() uses the CallFunc stored in the context (set by the VM) to execute the closure's bytecode. For builtins, Call() invokes the wrapped Go function directly.
List methods like Map, Filter, Each, and Reduce accept any Callable, enabling both builtins and closures to be used as callbacks.
type Cell ¶
type Cell struct {
// contains filtered or unexported fields
}
Internal: do not use. Cell is an implementation detail for closure variable capture.
func (*Cell) MarshalJSON ¶
func (*Cell) RunOperation ¶
type Closure ¶
type Closure struct {
// contains filtered or unexported fields
}
Closure is a runtime function instance with captured variables. It references an immutable bytecode.Function for its signature and code, and holds runtime state like default values (as Objects) and free variables.
func CloneWithCaptures ¶
CloneWithCaptures creates a new closure from an existing closure with captured variables. The defaults slice is shared (not copied) since it's immutable after construction. The freeVars slice is copied to ensure the closure owns its captures.
func NewClosure ¶
NewClosure creates a Closure from a bytecode.Function template. The defaults are converted from Go types to Object types.
func (*Closure) BytecodeFunction ¶
BytecodeFunction returns the underlying bytecode.Function.
func (*Closure) DefaultCount ¶
DefaultCount returns the number of default parameter values.
func (*Closure) FreeVarCount ¶
FreeVarCount returns the number of captured variables.
func (*Closure) HasRestParam ¶
HasRestParam returns true if the function has a rest parameter.
func (*Closure) LocalsCount ¶
LocalsCount returns the number of local variables.
func (*Closure) MarshalJSON ¶
func (*Closure) Parameter ¶
Parameter returns the parameter name at the given index (delegates to bytecode.Function).
func (*Closure) ParameterCount ¶
ParameterCount returns the number of parameters (delegates to bytecode.Function).
func (*Closure) RequiredArgsCount ¶
RequiredArgsCount returns the minimum number of arguments required.
func (*Closure) RestParam ¶
RestParam returns the rest parameter name (delegates to bytecode.Function).
func (*Closure) RunOperation ¶
type Color ¶
type Color struct {
// contains filtered or unexported fields
}
func (*Color) MarshalJSON ¶
func (*Color) RunOperation ¶
type Comparable ¶
Comparable is an interface used to compare two objects.
-1 if this < other 0 if this == other 1 if this > other
type Container ¶
type Container interface {
Enumerable
// GetItem implements the [key] operator for a container type.
GetItem(key Object) (Object, *Error)
// GetSlice implements the [start:stop] operator for a container type.
GetSlice(s Slice) (Object, *Error)
// SetItem implements the [key] = value operator for a container type.
SetItem(key, value Object) *Error
// DelItem implements the del [key] operator for a container type.
DelItem(key Object) *Error
// Contains returns true if the given item is found in this container.
Contains(item Object) *Bool
// Len returns the number of items in this container.
Len() *Int
}
type DynamicAttr ¶
type DynamicAttr struct {
// contains filtered or unexported fields
}
DynamicAttr is an Object that represents an attribute that can be dynamically resolved to a concrete Object at runtime.
func NewDynamicAttr ¶
func NewDynamicAttr(name string, fn ResolveAttrFunc) *DynamicAttr
func (*DynamicAttr) Attrs ¶
func (d *DynamicAttr) Attrs() []AttrSpec
func (*DynamicAttr) Equals ¶
func (d *DynamicAttr) Equals(other Object) bool
func (*DynamicAttr) Inspect ¶
func (d *DynamicAttr) Inspect() string
func (*DynamicAttr) Interface ¶
func (d *DynamicAttr) Interface() interface{}
func (*DynamicAttr) IsTruthy ¶
func (d *DynamicAttr) IsTruthy() bool
func (*DynamicAttr) MarshalJSON ¶
func (d *DynamicAttr) MarshalJSON() ([]byte, error)
func (*DynamicAttr) ResolveAttr ¶
func (*DynamicAttr) RunOperation ¶
func (d *DynamicAttr) RunOperation(opType op.BinaryOpType, right Object) (Object, error)
func (*DynamicAttr) String ¶
func (d *DynamicAttr) String() string
func (*DynamicAttr) Type ¶
func (d *DynamicAttr) Type() Type
type Enumerable ¶
Enumerable is an interface for types that can be iterated with a callback. The callback receives the key and value for each element. Return false to stop.
type Error ¶
type Error struct {
// contains filtered or unexported fields
}
Error wraps a Go error interface and implements Object.
Errors are values. You can create them, inspect them, store them, and pass them around like any other value. Use "throw" to trigger exception handling.
Example:
let err = error("something went wrong")
print(err.message()) // inspect
print(`Error: ${err}`) // stringify
throw err // only throw triggers exception handling
func ArgsErrorf ¶
ArgsErrorf returns a Risor Error object containing an arguments error.
func EvalErrorf ¶
EvalErrorf returns a Risor Error object containing an eval error.
func IndexErrorf ¶
IndexErrorf returns a Risor Error object containing an index error.
func NewArgsError ¶
func NewArgsRangeError ¶
func NewErrorFromStructured ¶
func NewErrorFromStructured(se *StructuredError) *Error
NewErrorFromStructured creates a new Error from a StructuredError.
func Sort ¶
Sort a list in place. If the list contains a non-comparable object, an error is returned.
func TypeErrorf ¶
TypeErrorf returns a Risor Error object containing a type error.
func ValueErrorf ¶
ValueErrorf returns a Risor Error object containing a value error.
func (*Error) FriendlyErrorMessage ¶
FriendlyErrorMessage returns a human-friendly error message if the error has structured data, otherwise returns the standard error string.
func (*Error) MarshalJSON ¶
func (*Error) RunOperation ¶
func (*Error) Structured ¶
func (e *Error) Structured() *StructuredError
Structured returns the underlying StructuredError if present.
type Float ¶
type Float struct {
// contains filtered or unexported fields
}
Float wraps float64 and implements Object and Hashable interfaces.
func (*Float) MarshalJSON ¶
func (*Float) RunOperation ¶
type FriendlyError ¶
type FriendlyError = errors.FriendlyError
Re-export types from errors package for convenience
type FromGoFunc ¶
FromGoFunc converts a Go value to a Risor Object.
type FuncSpec ¶
type FuncSpec struct {
// Name is the function name (e.g., "len", "sorted").
Name string
// Doc is a short description of what the function does.
Doc string
// Args lists parameter names (e.g., ["obj"] or ["items", "key"]).
Args []string
// Returns describes the return type (e.g., "int", "list").
Returns string
// Example shows a short usage example (optional).
Example string
}
FuncSpec describes a builtin function. This provides metadata for introspection, documentation, and tooling.
type GoFunc ¶
type GoFunc struct {
// contains filtered or unexported fields
}
GoFunc wraps an arbitrary Go function for use in Risor. It uses reflection to handle argument conversion and function calls.
func NewGoFunc ¶
func NewGoFunc(fn reflect.Value, name string, registry *TypeRegistry) *GoFunc
NewGoFunc creates a new GoFunc wrapping the given Go function. The registry is used for converting arguments and return values.
func (*GoFunc) Call ¶
Call invokes the wrapped Go function with the given Risor arguments. It handles context injection, argument conversion, variadic args, and error returns.
func (*GoFunc) RunOperation ¶
type GoStruct ¶
type GoStruct struct {
// contains filtered or unexported fields
}
GoStruct wraps a Go struct for use in Risor. It exposes struct fields and methods via GetAttr/SetAttr.
func NewGoStruct ¶
func NewGoStruct(ptrVal reflect.Value, registry *TypeRegistry) *GoStruct
NewGoStruct creates a new GoStruct wrapping the given Go struct pointer. The value must be a pointer to a struct.
func (*GoStruct) CallMethod ¶
CallMethod calls a method on the struct by name with the given arguments. This is a convenience method that combines GetAttr and Call.
func (*GoStruct) RunOperation ¶
func (*GoStruct) StructType ¶
StructType returns the type of the underlying struct.
type IndexError ¶
type IndexError = errors.IndexError
Re-export types from errors package for convenience
type Int ¶
type Int struct {
// contains filtered or unexported fields
}
Int wraps int64 and implements Object and Hashable interfaces. Int is immutable: the value is set at construction and cannot be changed.
func NewInt ¶
NewInt returns an *Int for the given value. Small integers (-10 to 255) are returned from a pre-allocated cache, so the same pointer may be returned for equal values. This is safe because Int is immutable.
func (*Int) MarshalJSON ¶
func (*Int) RunOperation ¶
type Introspectable ¶
type Introspectable interface {
// Attrs returns the attribute specifications for this object.
Attrs() []AttrSpec
}
Introspectable is implemented by objects that can describe their attributes. This enables tooling like :methods, risor doc, and autocomplete.
type Iter ¶
type Iter struct {
// contains filtered or unexported fields
}
Iter is a lazy iterator that wraps a generator function. It implements Enumerable so it can be used with spread, list(), etc.
func NewMapItemIter ¶
NewMapItemIter creates an iterator over map [key, value] pairs.
func NewMapKeyIter ¶
NewMapKeyIter creates an iterator over map keys.
func NewMapValueIter ¶
NewMapValueIter creates an iterator over map values.
func (*Iter) Enumerate ¶
Enumerate implements Enumerable, allowing Iter to be used with spread, list(), etc.
func (*Iter) RunOperation ¶
type List ¶
type List struct {
// contains filtered or unexported fields
}
List of objects
func NewStringList ¶
func (*List) MarshalJSON ¶
func (*List) RunOperation ¶
type Map ¶
type Map struct {
// contains filtered or unexported fields
}
func (*Map) GetWithObject ¶
func (*Map) MarshalJSON ¶
func (*Map) RunOperation ¶
func (*Map) SortedKeys ¶
func (*Map) StringKeys ¶
type MethodBuilder ¶
type MethodBuilder[T any] = AttrBuilder[T]
Aliases for backward compatibility during migration
type MethodRegistry ¶
type MethodRegistry[T any] = AttrRegistry[T]
Aliases for backward compatibility during migration
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
func NewBuiltinsModule ¶
func NewBuiltinsModule(name string, contents map[string]Object, callableOption ...BuiltinFunction) *Module
func (*Module) MarshalJSON ¶
func (*Module) Override ¶
Override provides a mechanism to modify module attributes after loading. Whether or not this is exposed to Risor scripts changes the security posture of reusing modules. By default, this is not exposed to scripting. Overriding with a value of nil is equivalent to deleting the attribute.
func (*Module) RunOperation ¶
func (*Module) UseGlobals ¶
type Object ¶
type Object interface {
// Type of the object.
Type() Type
// Inspect returns a string representation of the given object.
Inspect() string
// Interface converts the given object to a native Go value.
Interface() interface{}
// Returns true if the given object is equal to this object.
Equals(other Object) bool
// Attrs returns the attribute specifications for this object type.
// Used for introspection, documentation, and tooling (autocomplete, etc.).
// Returns nil for types with no attributes.
Attrs() []AttrSpec
// GetAttr returns the attribute with the given name from this object.
GetAttr(name string) (Object, bool)
// SetAttr sets the attribute with the given name on this object.
SetAttr(name string, value Object) error
// IsTruthy returns true if the object is considered "truthy".
IsTruthy() bool
// RunOperation runs an operation on this object with the given
// right-hand side object.
RunOperation(opType op.BinaryOpType, right Object) (Object, error)
}
Object is the interface that all object types in Risor must implement.
func BinaryOp ¶
func BinaryOp(opType op.BinaryOpType, a, b Object) (Object, error)
BinaryOp performs a binary operation on two objects, given an operator.
func Compare ¶
func Compare(opType op.CompareOpType, a, b Object) (Object, error)
Compare two objects using the given comparison operator. An error is returned if either of the objects is not comparable.
func FromGoType ¶
func FromGoType(obj interface{}) Object
FromGoType converts a Go value to a Risor Object using the default registry. On error, returns an *Error object (for backward compatibility). Prefer using TypeRegistry.FromGo for new code.
func RuneToObject ¶
RuneToObject converts a rune to a Risor String object.
type Partial ¶
type Partial struct {
// contains filtered or unexported fields
}
Partial is a partially applied function
func NewPartial ¶
func (*Partial) MarshalJSON ¶
func (*Partial) RunOperation ¶
type Range ¶
type Range struct {
// contains filtered or unexported fields
}
Range represents a lazy sequence of integers, similar to Python's range. It stores start, stop, and step values and generates integers on demand.
func (*Range) RunOperation ¶
type RegistryBuilder ¶
type RegistryBuilder struct {
// contains filtered or unexported fields
}
RegistryBuilder constructs a TypeRegistry with custom converters.
func NewRegistryBuilder ¶
func NewRegistryBuilder() *RegistryBuilder
NewRegistryBuilder creates a builder starting from the default registry.
func (*RegistryBuilder) Build ¶
func (b *RegistryBuilder) Build() *TypeRegistry
Build creates an immutable TypeRegistry.
func (*RegistryBuilder) RegisterFromGo ¶
func (b *RegistryBuilder) RegisterFromGo(typ reflect.Type, fn FromGoFunc) *RegistryBuilder
RegisterFromGo adds a converter for Go -> Risor.
func (*RegistryBuilder) RegisterToGo ¶
func (b *RegistryBuilder) RegisterToGo(typ reflect.Type, fn ToGoFunc) *RegistryBuilder
RegisterToGo adds a converter for Risor -> Go.
type RisorValuer ¶
type RisorValuer interface {
RisorValue() Object
}
RisorValuer is implemented by Go types that know how to become Risor Objects. When converting Go values to Risor Objects, the TypeRegistry checks for this interface first, allowing custom types to define their own conversion.
type SourceLocation ¶
type SourceLocation = errors.SourceLocation
Re-export types from errors package for convenience
type StackFrame ¶
type StackFrame = errors.StackFrame
Re-export types from errors package for convenience
type String ¶
type String struct {
// contains filtered or unexported fields
}
func (*String) MarshalJSON ¶
func (*String) RunOperation ¶
type StructuredError ¶
type StructuredError = errors.StructuredError
Re-export types from errors package for convenience
type Time ¶
type Time struct {
// contains filtered or unexported fields
}
func (*Time) MarshalJSON ¶
func (*Time) RunOperation ¶
type Type ¶
type Type string
Type of an object as a string.
const ( BOOL Type = "bool" BUILTIN Type = "builtin" BYTE Type = "byte" BYTES Type = "bytes" CELL Type = "cell" COLOR Type = "color" COMPLEX Type = "complex" COMPLEX_SLICE Type = "complex_slice" DYNAMIC_ATTR Type = "dynamic_attr" ERROR Type = "error" FLOAT Type = "float" FUNCTION Type = "function" INT Type = "int" LIST Type = "list" MAP Type = "map" MODULE Type = "module" NIL Type = "null" PARTIAL Type = "partial" RANGE Type = "range" RESULT Type = "result" STRING Type = "string" TIME Type = "time" GOFUNC Type = "go_func" GOSTRUCT Type = "go_struct" )
Type constants
const ITER Type = "iter"
ITER type constant
type TypeRegistry ¶
type TypeRegistry struct {
// contains filtered or unexported fields
}
TypeRegistry handles conversion between Go values and Risor Objects. It is immutable after construction and safe for concurrent use.
func DefaultRegistry ¶
func DefaultRegistry() *TypeRegistry
DefaultRegistry returns a TypeRegistry with converters for all built-in types.
type TypeSpec ¶
type TypeSpec struct {
// Name is the type name (e.g., "string", "list").
Name string
// Doc is a description of the type.
Doc string
// Attrs lists the attributes/methods available on this type.
Attrs []AttrSpec
}
TypeSpec describes a Risor type.
type ValueError ¶
type ValueError = errors.ValueError
Re-export types from errors package for convenience
Source Files
¶
- args.go
- attr.go
- attr_registry.go
- bool.go
- builtin.go
- byte.go
- bytes.go
- cell.go
- closure.go
- color.go
- context_values.go
- dynamic_attr.go
- error.go
- errors.go
- errz.go
- float.go
- go_func.go
- go_struct.go
- int.go
- iter.go
- list.go
- map.go
- module.go
- nil.go
- object.go
- operations.go
- partial.go
- range.go
- sort.go
- string.go
- time.go
- type_docs.go
- type_registry.go
- typeconv.go