mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-03-27 00:09:09 +02:00
added jsvm .* helpers
This commit is contained in:
parent
ea4e3128ca
commit
543fb350ec
@ -7,6 +7,8 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
"reflect"
|
||||
"strings"
|
||||
"time"
|
||||
@ -458,6 +460,27 @@ func filesystemBinds(vm *goja.Runtime) {
|
||||
obj.Set("fileFromMultipart", filesystem.NewFileFromMultipart)
|
||||
}
|
||||
|
||||
func osBinds(vm *goja.Runtime) {
|
||||
obj := vm.NewObject()
|
||||
vm.Set("$os", obj)
|
||||
|
||||
obj.Set("exec", exec.Command)
|
||||
obj.Set("exit", os.Exit)
|
||||
obj.Set("getenv", os.Getenv)
|
||||
obj.Set("dirFS", os.DirFS)
|
||||
obj.Set("readFile", os.ReadFile)
|
||||
obj.Set("writeFile", os.WriteFile)
|
||||
obj.Set("readDir", os.ReadDir)
|
||||
obj.Set("tempDir", os.TempDir)
|
||||
obj.Set("truncate", os.Truncate)
|
||||
obj.Set("getwd", os.Getwd)
|
||||
obj.Set("mkdir", os.Mkdir)
|
||||
obj.Set("mkdirAll", os.MkdirAll)
|
||||
obj.Set("rename", os.Rename)
|
||||
obj.Set("remove", os.Remove)
|
||||
obj.Set("removeAll", os.RemoveAll)
|
||||
}
|
||||
|
||||
func formsBinds(vm *goja.Runtime) {
|
||||
registerFactoryAsConstructor(vm, "AdminLoginForm", forms.NewAdminLogin)
|
||||
registerFactoryAsConstructor(vm, "AdminPasswordResetConfirmForm", forms.NewAdminPasswordResetConfirm)
|
||||
|
@ -1228,3 +1228,13 @@ func TestRouterBinds(t *testing.T) {
|
||||
t.Fatalf("Expected PreCount %d, got %d", 1, result.PreCount)
|
||||
}
|
||||
}
|
||||
|
||||
func TestOsBindsCount(t *testing.T) {
|
||||
app, _ := tests.NewTestApp()
|
||||
defer app.Cleanup()
|
||||
|
||||
vm := goja.New()
|
||||
osBinds(vm)
|
||||
|
||||
testBindsCount(vm, "$os", 15, t)
|
||||
}
|
||||
|
8619
plugins/jsvm/internal/types/generated/types.d.ts
vendored
8619
plugins/jsvm/internal/types/generated/types.d.ts
vendored
File diff suppressed because it is too large
Load Diff
@ -515,6 +515,34 @@ declare namespace $filesystem {
|
||||
let fileFromMultipart: filesystem.newFileFromMultipart
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// osBinds
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* ` + "`$os`" + ` defines common helpers for working with the OS level primitives
|
||||
* (eg. deleting directories, executing shell commands, etc.).
|
||||
*
|
||||
* @group PocketBase
|
||||
*/
|
||||
declare namespace $os {
|
||||
export let exec: exec.command
|
||||
export let exit: os.exit
|
||||
export let getenv: os.getenv
|
||||
export let dirFS: os.dirFS
|
||||
export let readFile: os.readFile
|
||||
export let writeFile: os.writeFile
|
||||
export let readDir: os.readDir
|
||||
export let tempDir: os.tempDir
|
||||
export let truncate: os.truncate
|
||||
export let getwd: os.getwd
|
||||
export let mkdir: os.mkdir
|
||||
export let mkdirAll: os.mkdirAll
|
||||
export let rename: os.rename
|
||||
export let remove: os.remove
|
||||
export let removeAll: os.removeAll
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// formsBinds
|
||||
// -------------------------------------------------------------------
|
||||
@ -842,6 +870,8 @@ func main() {
|
||||
"github.com/pocketbase/pocketbase/apis": {"*"},
|
||||
"github.com/pocketbase/pocketbase/forms": {"*"},
|
||||
"github.com/pocketbase/pocketbase": {"*"},
|
||||
"os": {"*"},
|
||||
"os/exec": {"Command"},
|
||||
},
|
||||
FieldNameFormatter: func(s string) string {
|
||||
return mapper.FieldName(nil, reflect.StructField{Name: s})
|
||||
|
Loading…
x
Reference in New Issue
Block a user