System

Provides access to file system and paths

type AbsolutePath = string
type LeadingPath = string
type Path = AbsolutePath | RelativePath | UrlPath | OrString
type RelativePath = '.' | LeadingPath
type SystemAddDirectoryFunction = (args: AbsolutePath) => Promise<DataOrError<AbsolutePath>>
type SystemAddFileFunction = (args: SystemAddFileRequest) => Promise<DataOrError<AbsolutePath>>
type SystemBasenameFunction = (path: string, ext?: string) => string
type SystemCopyFunction = (args: SystemCopyRequest) => Promise<DataOrError<AbsolutePath>>
type SystemDirectorySizeFunction = (args: AbsolutePath) => Promise<DataOrError<number>>
type SystemDirnameFunction = (filePath: T) => T
type SystemExtensionFunction = (filePath: string) => string
type SystemExtnameFunction = (filePath: string) => string
type SystemFileModifiedFunction = (args: AbsolutePath) => Promise<DataOrError<Date>>
type SystemFileSizeFunction = (args: AbsolutePath) => Promise<DataOrError<number>>
type SystemIsDirectoryFunction = (args: AbsolutePath) => Promise<DataOrError<boolean>>
type SystemIsFileFunction = (args: AbsolutePath) => Promise<DataOrError<boolean>>
type SystemJoinFunction = (base: T, components: Strings) => T
type SystemJsonFunction = (args: AbsolutePath) => Promise<DataOrError<(JsonRecord|JsonArray)>>
type SystemMoveDirectoryFunction = (args: SystemMoveRequest) => Promise<DataOrError<AbsolutePath>>
type SystemPathFunction = (url: FileFetchUrl) => AbsolutePath
interface SystemPlugin 
extends Plugable {
  addDirectory: SystemAddDirectoryFunction
  addFile: SystemAddFileFunction
  basename: SystemBasenameFunction
  command: SystemCommandFunction
  copy: SystemCopyFunction
  directorySize: SystemDirectorySizeFunction
  dirname: SystemDirnameFunction
  extension: SystemExtensionFunction
  extname: SystemExtnameFunction
  fileModified: SystemFileModifiedFunction
  fileSize: SystemFileSizeFunction
  install: function
  isDirectory: SystemIsDirectoryFunction
  isFile: SystemIsFileFunction
  join: SystemJoinFunction
  json: SystemJsonFunction
  moveDirectory: SystemMoveDirectoryFunction
  path: SystemPathFunction
  readDirectory: SystemReadDirectoryFunction
  readFile: SystemReadFileFunction
  relative: SystemRelativeFunction
  removeDirectory: SystemRemoveDirectoryFunction
  removeFile: SystemRemoveFileFunction
  resolve: SystemResolveFunction
}
type SystemReadDirectoryFunction = (args: AbsolutePath) => Promise<DataOrError<Strings>>
type SystemReadFileFunction = (args: AbsolutePath) => Promise<DataOrError<string>>
type SystemRelativeFunction = (from: string, to: string) => string
type SystemRemoveDirectoryFunction = (args: AbsolutePath) => Promise<DataOrError<AbsolutePath>>
type SystemRemoveFileFunction = (args: AbsolutePath) => Promise<DataOrError<AbsolutePath>>
type SystemResolveFunction = (from: string, to?: string) => AbsolutePath
type UrlPath = string
/** @implements SystemPlugin */
class SystemPluginClass
extends PluginClass {
  addDirectory: SystemAddDirectoryFunction
  addFile: SystemAddFileFunction
  basename: SystemBasenameFunction
  command: SystemCommandFunction
  copy: SystemCopyFunction
  directorySize: SystemDirectorySizeFunction
  dirname: SystemDirnameFunction
  extension: SystemExtensionFunction
  extname: SystemExtnameFunction
  fileModified: SystemFileModifiedFunction
  fileSize: SystemFileSizeFunction
  install: function
  isDirectory: SystemIsDirectoryFunction
  isFile: SystemIsFileFunction
  join: SystemJoinFunction
  json: SystemJsonFunction
  moveDirectory: SystemMoveDirectoryFunction
  path: SystemPathFunction
  readDirectory: SystemReadDirectoryFunction
  readFile: SystemReadFileFunction
  relative: SystemRelativeFunction
  removeDirectory: SystemRemoveDirectoryFunction
  removeFile: SystemRemoveFileFunction
  resolve: SystemResolveFunction
}
/** Type assertion for AbsolutePath */
function assertAbsolutePath(
  value: unknown, 
  name?: string
): void
/** Type guard for AbsolutePath */
function isAbsolutePath(
  value: unknown
): boolean
function svgElementClipPath(
  contentItem: SvgItem, 
  id: string
): SVGClipPathElement
function svgElementPath(
  document: Document, 
  path: string, 
  fill?: string
): SVGPathElement