From 488766159a873b5b48252ceb6ebe64e28c8978f7 Mon Sep 17 00:00:00 2001 From: William Bell Date: Thu, 3 Aug 2023 20:32:12 +0200 Subject: [PATCH] fix broken time functions --- build | 2 +- src/env.go | 13 ++++--------- src/time.go | 21 +++++++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/build b/build index 3940a8c..721870d 100755 --- a/build +++ b/build @@ -1 +1 @@ -go build -trimpath -ldflags="-s -w" -o bin/argon ./src && docker build -t ugric/argon . && docker push ugric/argon \ No newline at end of file +go build -trimpath -ldflags="-s -w" -o bin/argon ./src \ No newline at end of file diff --git a/src/env.go b/src/env.go index 486420c..8f45aba 100644 --- a/src/env.go +++ b/src/env.go @@ -2,7 +2,6 @@ package main import ( "os" - "path/filepath" "strings" "github.com/joho/godotenv" @@ -15,16 +14,12 @@ func getEnv() ArObject { pair := strings.Split(e, "=") env[pair[0]] = ArString(pair[1]) } - cwd, err := os.Getwd() + err := godotenv.Load(".env") if err == nil { - envfile := filepath.Join(cwd, ".env") - err := godotenv.Load(envfile) + values, err := godotenv.Read() if err == nil { - values, err := godotenv.Read() - if err == nil { - for k, v := range values { - env[k] = ArString(v) - } + for k, v := range values { + env[k] = ArString(v) } } } diff --git a/src/time.go b/src/time.go index c5f77de..0db72cd 100644 --- a/src/time.go +++ b/src/time.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "time" ) @@ -102,11 +103,14 @@ func ArTimeClass(N time.Time) ArObject { var ArTime = Map(anymap{ "snooze": builtinFunc{"snooze", func(a ...any) (any, ArErr) { - if len(a) > 0 { + if len(a) == 1 { float, _ := a[0].(number).Float64() time.Sleep(time.Duration(float*1000000000) * time.Nanosecond) } - return nil, ArErr{} + return nil, ArErr{ + TYPE: "Runtime Error", + message: "snooze requires 1 argument", + } }}, "now": builtinFunc{"now", func(a ...any) (any, ArErr) { return ArTimeClass(time.Now()), ArErr{} @@ -129,7 +133,7 @@ var ArTime = Map(anymap{ } } return ArTimeClass(N), ArErr{} - } else if len(a) > 1 { + } else if len(a) == 2 { if typeof(a[0]) != "string" { return nil, ArErr{ TYPE: "Runtime Error", @@ -163,7 +167,7 @@ var ArTime = Map(anymap{ } }}, "parseInLocation": builtinFunc{"parseInLocation", func(a ...any) (any, ArErr) { - if len(a) != 2 { + if len(a) == 2 { if typeof(a[0]) != "string" || typeof(a[1]) != "string" { return nil, ArErr{ TYPE: "Runtime Error", @@ -191,7 +195,8 @@ var ArTime = Map(anymap{ }, }, "date": builtinFunc{"date", func(a ...any) (any, ArErr) { - if len(a) != 1 { + fmt.Println(a, len(a)) + if len(a) == 1 { if typeof(a[0]) != "string" { return nil, ArErr{ TYPE: "Runtime Error", @@ -218,7 +223,7 @@ var ArTime = Map(anymap{ }, }, "unix": builtinFunc{"unix", func(a ...any) (any, ArErr) { - if len(a) != 2 { + if len(a) == 2 { if typeof(a[0]) != "number" || typeof(a[1]) != "number" { return nil, ArErr{ TYPE: "Runtime Error", @@ -238,7 +243,7 @@ var ArTime = Map(anymap{ }, }, "unixMilli": builtinFunc{"unixMilli", func(a ...any) (any, ArErr) { - if len(a) != 1 { + if len(a) == 1 { if typeof(a[0]) != "number" { return nil, ArErr{ TYPE: "Runtime Error", @@ -257,7 +262,7 @@ var ArTime = Map(anymap{ }, }, "unixMicro": builtinFunc{"unixMicro", func(a ...any) (any, ArErr) { - if len(a) > 0 { + if len(a) == 1 { if typeof(a[0]) != "number" { return nil, ArErr{ TYPE: "Runtime Error",