fix broken time functions

This commit is contained in:
2023-08-03 20:32:12 +02:00
parent 9bfda2fb30
commit 488766159a
3 changed files with 18 additions and 18 deletions

2
build
View File

@@ -1 +1 @@
go build -trimpath -ldflags="-s -w" -o bin/argon ./src && docker build -t ugric/argon . && docker push ugric/argon
go build -trimpath -ldflags="-s -w" -o bin/argon ./src

View File

@@ -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)
}
}
}

View File

@@ -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",