runtime

package
v2.17.3 Latest Latest
Warning

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

Go to latest
Published: May 28, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddClass

func AddClass(id, className string)

func AddEventListener

func AddEventListener(el JSValue, event string, fn func())

func AddEventListenerWithEvent

func AddEventListenerWithEvent(el JSValue, event string, fn func(JSValue))

func AppendChild

func AppendChild(parent, child JSValue)

func BeginBatch

func BeginBatch()

BeginBatch is a no-op in non-WASM builds.

func BroadcastTopicEncoded

func BroadcastTopicEncoded(keyName, encoded string)

func BroadcastTopicEncodedField

func BroadcastTopicEncodedField(keyName, fieldName, encoded string)

func BroadcastTopicOnline

func BroadcastTopicOnline(keyName, encoded string)

func ClickElement

func ClickElement(el JSValue)

func ConsoleLog

func ConsoleLog(args ...any)

func CookieDelete

func CookieDelete(key string)

func CookieGet

func CookieGet(key string) string

func CookieSet

func CookieSet(key, value string, opts ...CookieOptions)

func CopyBytesToGo

func CopyBytesToGo(dst []byte, src JSValue) int

func CopyBytesToJS

func CopyBytesToJS(dst JSValue, src []byte) int

func CreateTopic

func CreateTopic[T any](zero T, cfg TopicConfig) func() interface{}

CreateTopic declares a topic. The CLI AST scanner detects this call and generates the concrete typed accessor. At runtime this returns a no-op.

func CreateWasmBoolFunc

func CreateWasmBoolFunc(name string, fn func(bool))

func CreateWasmFunc

func CreateWasmFunc(name string, fn func())

func CreateWasmStringFunc

func CreateWasmStringFunc(name string, fn func(string))

func EndBatch

func EndBatch()

EndBatch is a no-op in non-WASM builds.

func ExecJS

func ExecJS(script string)

func Fetch

func Fetch(url string, config ...FetchConfig) (string, error)

func FetchBytes

func FetchBytes(url string, config ...FetchConfig) ([]byte, error)

func GetFileBytes

func GetFileBytes(id string) []byte

func GetValue

func GetValue(id string) string

func GoBack

func GoBack()

func HexDecode

func HexDecode(s string) []byte

func HexEncode

func HexEncode(src []byte) string

func ListenTopicEvent

func ListenTopicEvent(keyName string, fn func(string))

func ListenTopicEventField

func ListenTopicEventField(keyName, fieldName string, fn func(string))

func ListenTopicOnline

func ListenTopicOnline(keyName string, fn func(string))

func ListenTopicPing

func ListenTopicPing(keyName string, fn func())

func ListenTopicSetReq

func ListenTopicSetReq(keyName string, fn func(string))

func ListenTopicSetReqField

func ListenTopicSetReqField(keyName, fieldName string, fn func(string))

func LocalStorageGet

func LocalStorageGet(key string) string

func LocalStorageRemove

func LocalStorageRemove(key string)

func LocalStorageSet

func LocalStorageSet(key, value string)
func Navigate(url string)

func PingTopicManager

func PingTopicManager(keyName string)

func PingUntilOnline

func PingUntilOnline(keyName string, isOnline func() bool)

func PushState

func PushState(url, title string)

func Reload

func Reload()

func RemoveClass

func RemoveClass(id, className string)

func RemoveElement

func RemoveElement(el JSValue)

func RequestTopicSet

func RequestTopicSet(keyName, encoded string)

func RequestTopicSetField

func RequestTopicSetField(keyName, fieldName, encoded string)

func SessionStorageGet

func SessionStorageGet(key string) string

func SessionStorageRemove

func SessionStorageRemove(key string)

func SessionStorageSet

func SessionStorageSet(key, value string)

func SetAttr

func SetAttr(id, attr, value string)

func SetHTML

func SetHTML(id, html string)

func SetStyle

func SetStyle(id, property, value string)

func SetText

func SetText(id, value string)

func SetValue

func SetValue(id, value string)

func ToggleClass

func ToggleClass(id, className string)

func TriggerDownload

func TriggerDownload(filename string, data []byte, mimeType string)

func UpdateTopicOnlineStore

func UpdateTopicOnlineStore(keyName string, encoded []byte)

func WriteClipboard

func WriteClipboard(text string)

Types

type Compression

type Compression int

Compression is the compression algorithm used for a topic's WASM payload.

const (
	GZIP   Compression = iota // default
	BROTLI Compression = iota
)

type CookieOptions

type CookieOptions struct {
	MaxAge   int
	Path     string
	SameSite string
	Secure   bool
}

type Decoder

type Decoder struct {
	Buf []byte
	Pos int
	Err error
}

Decoder reads a little-endian binary stream. Err accumulates the first decode error — check it once at the end rather than per call.

func (*Decoder) Bool

func (d *Decoder) Bool() bool

func (*Decoder) Bytes

func (d *Decoder) Bytes() []byte

func (*Decoder) F32

func (d *Decoder) F32() float32

func (*Decoder) F64

func (d *Decoder) F64() float64

func (*Decoder) I32

func (d *Decoder) I32() int32

func (*Decoder) I64

func (d *Decoder) I64() int64

func (*Decoder) String

func (d *Decoder) String() string

func (*Decoder) U8

func (d *Decoder) U8() uint8

func (*Decoder) U16

func (d *Decoder) U16() uint16

func (*Decoder) U32

func (d *Decoder) U32() uint32

func (*Decoder) U64

func (d *Decoder) U64() uint64

type Encoder

type Encoder struct{ Buf []byte }

Encoder writes a little-endian binary stream into Buf. Preallocate with NewEncoder to avoid repeated append growth.

func NewEncoder

func NewEncoder(cap int) *Encoder

func (*Encoder) Bool

func (e *Encoder) Bool(v bool)

func (*Encoder) Bytes

func (e *Encoder) Bytes(v []byte)

func (*Encoder) F32

func (e *Encoder) F32(v float32)

func (*Encoder) F64

func (e *Encoder) F64(v float64)

func (*Encoder) I32

func (e *Encoder) I32(v int32)

func (*Encoder) I64

func (e *Encoder) I64(v int64)

func (*Encoder) String

func (e *Encoder) String(v string)

func (*Encoder) U8

func (e *Encoder) U8(v uint8)

func (*Encoder) U16

func (e *Encoder) U16(v uint16)

func (*Encoder) U32

func (e *Encoder) U32(v uint32)

func (*Encoder) U64

func (e *Encoder) U64(v uint64)

type FetchConfig

type FetchConfig struct {
	Method    string
	Headers   map[string]string
	Body      string
	BodyBytes []byte
	Query     map[string]string
}

type JSValue

type JSValue struct{}

func CreateElement

func CreateElement(tag string) JSValue

func Document

func Document() JSValue

func GetElementById

func GetElementById(id string) JSValue

func JS

func JS() JSValue

func QuerySelector

func QuerySelector(sel string) JSValue

func QuerySelectorAll

func QuerySelectorAll(sel string) JSValue

func Window

func Window() JSValue

func (JSValue) Bool

func (v JSValue) Bool() bool

func (JSValue) Call

func (v JSValue) Call(method string, args ...any) JSValue

func (JSValue) Float

func (v JSValue) Float() float64

func (JSValue) Get

func (v JSValue) Get(key string) JSValue

func (JSValue) Index

func (v JSValue) Index(i int) JSValue

func (JSValue) Int

func (v JSValue) Int() int

func (JSValue) IsNull

func (v JSValue) IsNull() bool

func (JSValue) IsUndefined

func (v JSValue) IsUndefined() bool

func (JSValue) Length

func (v JSValue) Length() int

func (JSValue) New

func (v JSValue) New(args ...any) JSValue

func (JSValue) Set

func (v JSValue) Set(key string, val any)

func (JSValue) SetIndex

func (v JSValue) SetIndex(i int, val any)

func (JSValue) String

func (v JSValue) String() string

func (JSValue) Truthy

func (v JSValue) Truthy() bool

type Observable

type Observable[T any] struct {
	// contains filtered or unexported fields
}

func CreateObservable

func CreateObservable[T any](initial T) *Observable[T]

func (*Observable[T]) Get

func (s *Observable[T]) Get() T

func (*Observable[T]) Set

func (s *Observable[T]) Set(v T)

type ObservableField

type ObservableField[T any] struct {
	// contains filtered or unexported fields
}

ObservableField stub — no-op broadcast and tracking for server-side compilation.

func NewObservableField

func NewObservableField[T any](initial T) *ObservableField[T]

func (*ObservableField[T]) ApplyExternal

func (f *ObservableField[T]) ApplyExternal(v T)

func (*ObservableField[T]) Get

func (f *ObservableField[T]) Get() T

func (*ObservableField[T]) Peek

func (f *ObservableField[T]) Peek() T

func (*ObservableField[T]) Set

func (f *ObservableField[T]) Set(v T)

func (*ObservableField[T]) SetBroadcast

func (f *ObservableField[T]) SetBroadcast(fn func())

type SharedTopicObservable

type SharedTopicObservable[T any] struct {
	// contains filtered or unexported fields
}

func (*SharedTopicObservable[T]) Get

func (s *SharedTopicObservable[T]) Get() T

func (*SharedTopicObservable[T]) Set

func (s *SharedTopicObservable[T]) Set(v T)

type Subscription

type Subscription struct {
	// contains filtered or unexported fields
}

func Observe

func Observe(fn func(), deps ...any) *Subscription

func ObserveWithCleanup

func ObserveWithCleanup(fn func() func(), deps ...any) *Subscription

func (*Subscription) Stop

func (e *Subscription) Stop()

type TopicConfig

type TopicConfig struct {
	Name             string
	Compression      Compression  // GZIP (default) or BROTLI
	Compiler         WasmCompiler // GothicTinyGo (default), LocalTinyGo, or Golang
	SubscriberFnName string       // overrides generated accessor func name (default: <StructName>Topic)
	ComponentFnName  string       // overrides generated mount component func name (default: Add<StructName>Topic)
}

TopicConfig holds per-topic configuration.

type TopicKey

type TopicKey[T any] struct {
	Name string
	// contains filtered or unexported fields
}

TopicKey is a typed topic identifier that carries its own codec.

func AutoKey

func AutoKey[T any](name string) TopicKey[T]

AutoKey is rewritten to BinaryKey by the CLI before TinyGo compiles. This stub exists so server-side code compiles without error.

func BinaryKey

func BinaryKey[T any](name string, encode func(T, *Encoder), decode func(*Decoder) T) TopicKey[T]

func BoolKey

func BoolKey(name string) TopicKey[bool]

func ByteKey

func ByteKey(name string) TopicKey[byte]

ByteKey is UintKey for byte (= uint8).

func CustomKey

func CustomKey[T any](name string, encode func(T) string, decode func(string) T) TopicKey[T]

func Float32Key

func Float32Key(name string) TopicKey[float32]

func Float64Key

func Float64Key(name string) TopicKey[float64]

func Int8Key

func Int8Key(name string) TopicKey[int8]

func Int16Key

func Int16Key(name string) TopicKey[int16]

func Int32Key

func Int32Key(name string) TopicKey[int32]

func Int64Key

func Int64Key(name string) TopicKey[int64]

func IntKey

func IntKey(name string) TopicKey[int]

func RuneKey

func RuneKey(name string) TopicKey[rune]

RuneKey is IntKey for rune (= int32).

func StringKey

func StringKey(name string) TopicKey[string]

func Uint8Key

func Uint8Key(name string) TopicKey[uint8]

func Uint16Key

func Uint16Key(name string) TopicKey[uint16]

func Uint32Key

func Uint32Key(name string) TopicKey[uint32]

func Uint64Key

func Uint64Key(name string) TopicKey[uint64]

func UintKey

func UintKey(name string) TopicKey[uint]

type WasmCompiler added in v2.17.2

type WasmCompiler int

WasmCompiler selects the WASM build toolchain for a topic.

const (
	GothicTinyGo WasmCompiler = iota // default: embedded TinyGo binary
	LocalTinyGo                      // system tinygo binary in PATH
	Golang                           // GOOS=js GOARCH=wasm standard Go compiler
)

Jump to

Keyboard shortcuts

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