file

package
v0.8.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package file provides file operations for cue tasks.

These are the supported tasks:

// Read reads the contents of a file.
Read: {
	$id: "tool/file.Read"

	// filename names the file to read.
	//
	// Relative names are taken relative to the current working directory.
	// Slashes are converted to the native OS path separator.
	filename: !=""

	// contents is the read contents. If the contents are constraint to bytes
	// (the default), the file is read as is. If it is constraint to a string,
	// the contents are checked to be valid UTF-8.
	contents: *bytes | string
}

// Append writes contents to the given file.
Append: {
	$id: "tool/file.Append"

	// filename names the file to append.
	//
	// Relative names are taken relative to the current working directory.
	// Slashes are converted to the native OS path separator.
	filename: !=""

	// permissions defines the permissions to use if the file does not yet exist.
	permissions: int | *0o666

	// contents specifies the bytes to be written.
	contents: bytes | string
}

// Create writes contents to the given file.
Create: {
	$id: "tool/file.Create"

	// filename names the file to write.
	//
	// Relative names are taken relative to the current working directory.
	// Slashes are converted to the native OS path separator.
	filename: !=""

	// permissions defines the permissions to use if the file does not yet exist.
	permissions: int | *0o666

	// contents specifies the bytes to be written.
	contents: bytes | string
}

// Glob returns a list of files.
Glob: {
	$id: "tool/file.Glob"

	// glob specifies the pattern to match files with.
	//
	// A relative pattern is taken relative to the current working directory.
	// Slashes are converted to the native OS path separator.
	glob: !=""
	files: [...string]
}

// Mkdir creates a directory at the specified path.
Mkdir: {
	$id: "tool/file.Mkdir"

	// The directory path to create.
	// If path is already a directory, Mkdir does nothing.
	// If path already exists and is not a directory, Mkdir will return an error.
	path: string

	// When true any necessary parents are created as well.
	createParents: bool | *false

	// Directory mode and permission bits (before umask).
	permissions: int | *0o755
}

// MkdirAll creates a directory at the specified path along with any necessary
// parents.
// If path is already a directory, MkdirAll does nothing.
// If path already exists and is not a directory, MkdirAll will return an error.
MkdirAll: Mkdir & {
	createParents: true
}

// MkdirTemp creates a new temporary directory in the directory dir and sets
// the pathname of the new directory in path.
// It is the caller's responsibility to remove the directory when it is no
// longer needed.
MkdirTemp: {
	$id: "tool/file.MkdirTemp"

	// The temporary directory is created in the directory specified by dir.
	// If dir is the empty string, MkdirTemp uses the default directory for
	// temporary files.
	dir: string | *""

	// The directory name is generated by adding a random string to the end of pattern.
	// If pattern includes a "*", the random string replaces the last "*" instead.
	pattern: string | *""

	// The absolute path of the created directory.
	path: string
}

// RemoveAll removes path and any children it contains.
// It removes everything it can but returns the first error it encounters.
RemoveAll: {
	$id: "tool/file.RemoveAll"

	// The path to remove.
	// If the path does not exist, RemoveAll does nothing.
	path: string

	// success contains the status of the removal.
	// If path was removed success is set to true.
	// If path didn't exists success is set to false.
	success: bool
}

Jump to

Keyboard shortcuts

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