Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EIFunction ¶
type EIFunction struct { // An implementation must be of type: // `func(context unsafe.Pointer, arguments ...interface{}) interface{}`. // It represents the real function implementation written in Go. Implementation interface{} // The pointer to the cgo function implementation, something // like `C.foo`. CgoPointer unsafe.Pointer // The function implementation signature. FunctionInputs []EIFunctionValue // The function implementation signature. FunctionOutputs []EIFunctionValue // The namespace of the imported function. Namespace string }
EIFunction represents a EI function that gets imported in a constract WASM module.
type EIFunctionReceiver ¶
type EIFunctionReceiver interface { Namespace(namespace string) Append(importName string, implementation interface{}, cgoPointer unsafe.Pointer) error }
EIFunctionReceiver abstracts an EI imports container, where EI functions are registered.
type EIFunctionValue ¶
type EIFunctionValue int
EIFunctionValue represents EI argument types
const ( EIFunctionValueInt32 EIFunctionValue = iota EIFunctionValueInt64 )
type EIFunctions ¶
type EIFunctions struct { FunctionMap map[string]EIFunction // Current namespace where to register the import. CurrentNamespace string }
EIFunctions holds a collection of EI functions.
func NewEIFunctions ¶
func NewEIFunctions() *EIFunctions
NewEIFunctions constructs a new empty `EIFunctions`.
func (*EIFunctions) Append ¶
func (imports *EIFunctions) Append(importName string, implementation interface{}, cgoPointer unsafe.Pointer) error
Append validates and adds a new imported function to the current structure.
func (*EIFunctions) Namespace ¶
func (imports *EIFunctions) Namespace(namespace string)
Namespace changes the current namespace of the next imported functions.
type ImportedFunctionError ¶
type ImportedFunctionError struct {
// contains filtered or unexported fields
}
ImportedFunctionError represents any kind of errors related to a WebAssembly imported function. It is returned by `Import` or `Imports` functions only.
func NewImportedFunctionError ¶
func NewImportedFunctionError(functionName string, message string) *ImportedFunctionError
NewImportedFunctionError constructs a new `ImportedFunctionError`, where `functionName` is the name of the imported function, and `message` is the error message. If the error message contains `%s`, then this parameter will be replaced by `functionName`.
func (*ImportedFunctionError) Error ¶
func (error *ImportedFunctionError) Error() string
ImportedFunctionError is an actual error. The `Error` function returns the error message.