Documentation ¶
Overview ¶
Package goos isolates code from runtime.GOOS=js in a way that avoids cyclic dependencies when re-used from other packages.
Index ¶
Constants ¶
const ( IdValueNaN uint32 = iota IdValueZero IdValueNull IdValueTrue IdValueFalse IdValueGlobal IdJsGo IdObjectConstructor IdArrayConstructor IdJsProcess IdJsfs IdJsfsConstants IdUint8ArrayConstructor IdJsCrypto IdJsDateConstructor IdJsDate IdHttpFetch IdHttpHeaders NextID )
const ( RefValueUndefined = Ref(0) RefValueNaN = (NanHead|Ref(TypeFlagNone))<<32 | Ref(IdValueNaN) RefValueZero = (NanHead|Ref(TypeFlagNone))<<32 | Ref(IdValueZero) RefValueNull = (NanHead|Ref(TypeFlagNone))<<32 | Ref(IdValueNull) RefValueTrue = (NanHead|Ref(TypeFlagNone))<<32 | Ref(IdValueTrue) RefValueFalse = (NanHead|Ref(TypeFlagNone))<<32 | Ref(IdValueFalse) RefValueGlobal = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdValueGlobal) RefJsGo = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdJsGo) RefObjectConstructor = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdObjectConstructor) RefArrayConstructor = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdArrayConstructor) RefJsProcess = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdJsProcess) RefJsfs = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdJsfs) RefJsfsConstants = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdJsfsConstants) RefUint8ArrayConstructor = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdUint8ArrayConstructor) RefJsCrypto = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdJsCrypto) RefJsDateConstructor = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdJsDateConstructor) RefJsDate = (NanHead|Ref(TypeFlagObject))<<32 | Ref(IdJsDate) RefHttpFetch = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdHttpFetch) RefHttpHeadersConstructor = (NanHead|Ref(TypeFlagFunction))<<32 | Ref(IdHttpHeaders) )
const NanHead = 0x7FF80000
NanHead are the upper 32 bits of a Ref which are set if the value is not encoded as an IEEE 754 number (see above).
Variables ¶
This section is empty.
Functions ¶
Types ¶
type GetLastEventArgs ¶
GetLastEventArgs returns the arguments to the last event created by custom.NameSyscallValueCall.
type Ref ¶
type Ref uint64
Ref is used to identify a JavaScript value, since the value itself cannot be passed to WebAssembly.
The JavaScript value "undefined" is represented by the value 0.
A JavaScript number (64-bit float, except 0 and NaN) is represented by its IEEE 754 binary representation.
All other values are represented as an IEEE 754 binary representation of NaN with bits 0-31 used as an ID and bits 32-34 used to differentiate between string, symbol, function and object.
func (Ref) ParseFloat ¶
type Stack ¶
type Stack interface { goarch.Stack ParamRef(i int) Ref ParamRefs(mem api.Memory, i int) []Ref ParamVal(ctx context.Context, i int, loader ValLoader) interface{} // ParamVals is used by functions whose final parameter is an arg array. ParamVals(ctx context.Context, mem api.Memory, i int, loader ValLoader) []interface{} SetResultRef(i int, v Ref) }