fix arvalid bug

This commit is contained in:
2023-03-28 17:03:39 +01:00
parent 584841030c
commit c881d06cb5
5 changed files with 19 additions and 7 deletions

2
merge Executable file
View File

@@ -0,0 +1,2 @@
git fetch upstream
git merge upstream/master master

2
serve
View File

@@ -1,2 +0,0 @@
cd ./wasm
npx serve

View File

@@ -13,6 +13,7 @@ func ArgonString(args ...any) (any, ArErr) {
if len(args) == 0 { if len(args) == 0 {
return ArString(""), ArErr{} return ArString(""), ArErr{}
} }
args[0] = ArValidToAny(args[0])
return ArString(anyToArgon(args[0], true, false, 3, 0, false, 0)), ArErr{} return ArString(anyToArgon(args[0], true, false, 3, 0, false, 0)), ArErr{}
} }
@@ -20,6 +21,7 @@ func ArgonNumber(args ...any) (any, ArErr) {
if len(args) == 0 { if len(args) == 0 {
return newNumber(), ArErr{} return newNumber(), ArErr{}
} }
args[0] = ArValidToAny(args[0])
switch x := args[0].(type) { switch x := args[0].(type) {
case string: case string:
if !isNumber(UNPARSEcode{code: x}) { if !isNumber(UNPARSEcode{code: x}) {

View File

@@ -114,8 +114,12 @@ func windowElement(element js.Value) ArObject {
var ArDocument = Map( var ArDocument = Map(
anymap{ anymap{
"body": windowElement(js.Global().Get("document").Get("body")), "body": builtinFunc{"getElementById", func(args ...any) (any, ArErr) {
"head": windowElement(js.Global().Get("document").Get("head")), return windowElement(js.Global().Get("document").Get("body")), ArErr{}
}},
"head": builtinFunc{"getElementById", func(args ...any) (any, ArErr) {
return windowElement(js.Global().Get("document").Get("head")), ArErr{}
}},
"getElementById": builtinFunc{"getElementById", func(args ...any) (any, ArErr) { "getElementById": builtinFunc{"getElementById", func(args ...any) (any, ArErr) {
if len(args) < 1 { if len(args) < 1 {
return nil, ArErr{"Argument Error", "Not enough arguments for getElementById", 0, "", "", true} return nil, ArErr{"Argument Error", "Not enough arguments for getElementById", 0, "", "", true}

View File

@@ -3,6 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"os" "os"
"syscall/js"
"golang.org/x/term" "golang.org/x/term"
) )
@@ -11,10 +12,15 @@ func input(args ...any) string {
output := []any{} output := []any{}
for i := 0; i < len(args); i++ { for i := 0; i < len(args); i++ {
output = append(output, anyToArgon(args[i], false, true, 3, 0, true, 0)) output = append(output, anyToArgon(args[i], false, true, 3, 0, true, 0))
if i != len(args)-1 {
output = append(output, " ")
}
} }
fmt.Print(output...) text := fmt.Sprint(output...)
inputData := []byte{} fmt.Print(text)
return string(inputData) inputData := js.Global().Get("getInput").Invoke(fmt.Sprint(output...)).String()
fmt.Println(inputData)
return (inputData)
} }
func getPassword(args ...any) (string, error) { func getPassword(args ...any) (string, error) {