js_nowasm.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. //go:build !wasm
  2. // +build !wasm
  3. package app
  4. import (
  5. "net/url"
  6. "runtime"
  7. "github.com/maxence-charriere/go-app/v9/pkg/errors"
  8. )
  9. var (
  10. window = &browserWindow{}
  11. errNoWasm = errors.New("unsupported instruction").
  12. Tag("required-architecture", "wasm").
  13. Tag("current-architecture", runtime.GOARCH)
  14. )
  15. type value struct{}
  16. func (v value) Bool() bool {
  17. return false
  18. }
  19. func (v value) Call(m string, args ...any) Value {
  20. return value{}
  21. }
  22. func (v value) Delete(p string) {
  23. }
  24. func (v value) Equal(w Value) bool {
  25. return v == w
  26. }
  27. func (v value) Float() float64 {
  28. return 0
  29. }
  30. func (v value) Get(p string) Value {
  31. return value{}
  32. }
  33. func (v value) Index(i int) Value {
  34. return value{}
  35. }
  36. func (v value) InstanceOf(t Value) bool {
  37. return false
  38. }
  39. func (v value) Int() int {
  40. return 0
  41. }
  42. func (v value) Invoke(args ...any) Value {
  43. return value{}
  44. }
  45. func (v value) IsNaN() bool {
  46. return false
  47. }
  48. func (v value) IsNull() bool {
  49. return true
  50. }
  51. func (v value) IsUndefined() bool {
  52. return true
  53. }
  54. func (v value) JSValue() Value {
  55. return v
  56. }
  57. func (v value) Length() int {
  58. return 0
  59. }
  60. func (v value) New(args ...any) Value {
  61. return value{}
  62. }
  63. func (v value) Set(p string, x any) {
  64. }
  65. func (v value) SetIndex(i int, x any) {
  66. }
  67. func (v value) String() string {
  68. return ""
  69. }
  70. func (v value) Truthy() bool {
  71. return false
  72. }
  73. func (v value) Type() Type {
  74. panic(errNoWasm)
  75. }
  76. func (v value) Then(f func(Value)) {
  77. }
  78. func (v value) getAttr(k string) string {
  79. return ""
  80. }
  81. func (v value) setAttr(k, val string) {
  82. }
  83. func (v value) delAttr(k string) {
  84. }
  85. func (v value) firstChild() Value {
  86. return value{}
  87. }
  88. func (v value) appendChild(c Wrapper) {
  89. }
  90. func (v value) replaceChild(new, old Wrapper) {
  91. }
  92. func (v value) removeChild(c Wrapper) {
  93. }
  94. func (v value) firstElementChild() Value {
  95. return value{}
  96. }
  97. func (v value) addEventListener(event string, fn Func) {
  98. }
  99. func (v value) removeEventListener(event string, fn Func) {
  100. }
  101. func (v value) setNodeValue(val string) {
  102. }
  103. func (v value) setInnerHTML(val string) {
  104. }
  105. func (v value) setInnerText(val string) {
  106. }
  107. func null() Value {
  108. return value{}
  109. }
  110. func undefined() Value {
  111. return value{}
  112. }
  113. func valueOf(x any) Value {
  114. return value{}
  115. }
  116. type function struct {
  117. value
  118. }
  119. func (f function) Release() {
  120. }
  121. func funcOf(fn func(this Value, args []Value) any) Func {
  122. return function{value: value{}}
  123. }
  124. type browserWindow struct {
  125. value
  126. }
  127. func (w browserWindow) URL() *url.URL {
  128. return &url.URL{}
  129. }
  130. func (w browserWindow) Size() (width, height int) {
  131. return 0, 0
  132. }
  133. func (w browserWindow) CursorPosition() (x, y int) {
  134. return 0, 0
  135. }
  136. func (w browserWindow) setCursorPosition(x, y int) {
  137. }
  138. func (w *browserWindow) GetElementByID(id string) Value {
  139. return value{}
  140. }
  141. func (w *browserWindow) ScrollToID(id string) {
  142. }
  143. func (w *browserWindow) AddEventListener(event string, h EventHandler) func() {
  144. return func() {}
  145. }
  146. func (w *browserWindow) setBody(body UI) {
  147. }
  148. func (w *browserWindow) createElement(tag, xmlns string) (Value, error) {
  149. return value{}, nil
  150. }
  151. func (w *browserWindow) createTextNode(v string) Value {
  152. return value{}
  153. }
  154. func (w *browserWindow) addHistory(u *url.URL) {
  155. }
  156. func (w *browserWindow) replaceHistory(u *url.URL) {
  157. }
  158. func copyBytesToGo(dst []byte, src Value) int {
  159. return 0
  160. }
  161. func copyBytesToJS(dst Value, src []byte) int {
  162. return 0
  163. }