unit

package
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2026 License: BSD-3-Clause Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//go:embed module_unit.d.ts
	UnitDefine []byte
	UnitMap    = map[string]any{
		"root":              engine.GetRoot(),
		"simpleName":        engine.GetName(),
		"ext":               engine.GetExt(),
		"executable":        engine.GetExecutable(),
		"pathSeparator":     engine.GetPathSeparator(),
		"pathListSeparator": engine.GetPathListSeparator(),
		"expand":            engine.EnvExpand,
		"pre":               engine.EnvPrepend,
		"prep":              engine.EnvPrependPath,
		"ap":                engine.EnvAppend,
		"app":               engine.EnvAppendPath,
		"set":               engine.EnvSet,
		"setp":              engine.EnvSetPath,
		"put":               engine.EnvPut,
		"putp":              engine.EnvPutPath,
		"toggle": func(f string, v bool) {
			if v {

				_ = os.Setenv(f, "true")
			} else {

				_ = os.Unsetenv(f)
			}
		},
		"isSet": func(f string) bool {
			val := strings.ToLower(os.Getenv(f))
			return val != "" && val != "false"
		},
		"get":           engine.EnvVar,
		"mkdir":         engine.Mkdir,
		"mkdirAll":      engine.MkdirAll,
		"exists":        engine.FileExists,
		"write":         engine.WriteBinaryFile,
		"writeText":     engine.WriteTextFile,
		"read":          engine.ReadBinaryFile,
		"readText":      engine.ReadTextFile,
		"chdir":         engine.Chdir,
		"pwd":           engine.Pwd,
		"getGID":        os.Geteuid,
		"getUID":        os.Geteuid,
		"getPagesize":   os.Getpagesize,
		"getPid":        os.Getpid,
		"userCacheDir":  os.UserCacheDir,
		"userConfigDir": os.UserConfigDir,
		"userHomeDir":   os.UserHomeDir,
		"hostname":      os.Hostname,
		"tempDir":       os.TempDir,
		"mkdirALL": func(path string, perm string) error {
			return os.MkdirAll(engine.EnvExpand(path), os.FileMode(fn.Panic1(strconv.ParseInt(perm, 8, 32))))
		},
		"rename": func(path, new string) error {
			return os.Rename(engine.EnvExpand(path), engine.EnvExpand(new))
		},
		"remove": func(path string) error {
			return os.Remove(engine.EnvExpand(path))
		},
		"removeAll": func(path string) error {
			return os.RemoveAll(engine.EnvExpand(path))
		},
		"chown": func(path string, uid, gid int) error {
			return os.Chown(engine.EnvExpand(path), uid, gid)
		},
		"chmod": func(path string, mod string) error {
			return os.Chmod(engine.EnvExpand(path), os.FileMode(fn.Panic1(strconv.ParseInt(mod, 8, 32))))
		},
		"ls": func(path string) (r []map[string]any, err error) {
			defer func() {
				if r := recover(); r != nil {
					switch v := r.(type) {
					case error:
						err = v
					default:
						err = fmt.Errorf("%s", v)
					}
				}
			}()
			if path == "" {
				path, _ = engine.Pwd()
			}
			f := fn.Panic1(os.Open(engine.EnvExpand(path)))
			defer fn.IgnoreClose(f)
			dir := fn.Panic1(f.ReadDir(0))
			for _, entry := range dir {
				info := fn.Panic1(entry.Info())
				r = append(r, map[string]any{

					"name":     entry.Name(),
					"mode":     info.Mode().String(),
					"size":     info.Size(),
					"modified": info.ModTime().Format("2006-01-02 15:04:05.000Z07"),
				})
			}
			return
		},
		"stat": engine.Stat,
		"exec": engine.Execute,
		"proc": func(option *engine.ProcOption) (r *SubProc, err error) {
			s, err := engine.OpenProc(option)
			if err != nil {
				return nil, err
			}
			return &SubProc{s: s}, nil
		},

		"isDir":     engine.IsDir,
		"isFile":    engine.IsFile,
		"isSymlink": engine.IsSymlink,
		"mv":        engine.FileMove,
		"cp":        engine.FileCopy,
		"readlink":  engine.ReadSymlink,
		"ln":        engine.CreateSymlink,
		"match": func(pattern, name string) (bool, error) {

			p := engine.EnvExpand(pattern)
			n := engine.EnvExpand(name)
			return filepath.Match(p, n)
		},
		"duration": func(d string) (float64, error) {
			dur, err := time.ParseDuration(d)
			if err != nil {
				return 0, err
			}
			return dur.Seconds(), nil
		},
	}
)

Functions

This section is empty.

Types

type BinaryError

type BinaryError struct {
	Data  []byte
	Error string
}

type SubProc

type SubProc struct {
	// contains filtered or unexported fields
}

func (SubProc) CombinedOutput

func (s SubProc) CombinedOutput() BinaryError

func (SubProc) Exited

func (s SubProc) Exited() bool

func (SubProc) Free

func (s SubProc) Free()

func (SubProc) FromConsole

func (s SubProc) FromConsole(data []byte) []byte

func (SubProc) Kill

func (s SubProc) Kill() string

func (SubProc) Output

func (s SubProc) Output() BinaryError

func (SubProc) ReadStderr

func (s SubProc) ReadStderr() BinaryError

func (SubProc) ReadStdout

func (s SubProc) ReadStdout() BinaryError

func (SubProc) Release

func (s SubProc) Release() string

func (SubProc) Run

func (s SubProc) Run() string

func (SubProc) Start

func (s SubProc) Start() string

func (SubProc) Success

func (s SubProc) Success() bool

func (SubProc) SysNanoTime

func (s SubProc) SysNanoTime() int64

func (SubProc) SysTime

func (s SubProc) SysTime() int64

func (SubProc) ToConsole

func (s SubProc) ToConsole(data []byte) []byte

func (SubProc) UserNanoTime

func (s SubProc) UserNanoTime() int64

func (SubProc) UserTime

func (s SubProc) UserTime() int64

func (SubProc) Wait

func (s SubProc) Wait() string

func (SubProc) WriteStdin

func (s SubProc) WriteStdin(data []byte) WriteError

type Unit

type Unit struct {
}

func (Unit) Exports

func (o Unit) Exports() map[string]any

func (Unit) ExportsWithEngine

func (o Unit) ExportsWithEngine(e *engine.Engine) (m map[string]any)

func (Unit) Identity

func (o Unit) Identity() string

func (Unit) TypeDefine

func (o Unit) TypeDefine() []byte

type WriteError

type WriteError struct {
	Write int
	Error string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL