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