package example

import (
	_ 
	
	
	

	
	
	am 
)

var (
	EnvFooTcpAddr  string
	EnvFooReplAddr string
)

var (
	EnvBarTcpAddr  string
	EnvBarReplAddr string
)

var (
	EnvRelayHttpAddr string
	EnvReplDir       string
)

//go:embed .env
var env string

var ss = states.SharedStates

func init() {
	 := strings.NewReader(env)
	,  := godotenv.Parse()
	if  == nil {
		for ,  := range  {
			os.Setenv(, )
		}
	}

	EnvFooTcpAddr = os.Getenv("FOO_TCP_ADDR")
	EnvFooReplAddr = os.Getenv("FOO_REPL_ADDR")
	EnvBarTcpAddr = os.Getenv("BAR_TCP_ADDR")
	EnvBarReplAddr = os.Getenv("BAR_REPL_ADDR")
	EnvRelayHttpAddr = os.Getenv("RELAY_HTTP_ADDR")
	EnvReplDir = os.Getenv("REPL_DIR")
}

// ///// ///// /////

// ///// ARGS

// ///// ///// /////

const APrefix = "wasm"

type Args struct {
	am.ArgsBase `json:"-"`
}

func (Args) () string {
	return APrefix
}

// -----

type AMsg struct {
	Args `json:"-"`

	Msg string `log:"msg"`
}

func (AMsg) () string {
	return ss.Msg
}

// ----- RPC

// ArgsRpc will be available in the REPL.
var ArgsRpc = []am.ArgsApi{AMsg{}}

func init() {
	for ,  := range ArgsRpc {
		gob.Register()
	}
}