Skip to main content
Version: v1

IDirectory Interface

Interface describing actions on a directory.

Signature​

export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable>

Extends: Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable

Remarks​

When used as a Map, operates on its keys.

Properties​

PropertyTypeDescription
absolutePathstringThe absolute path of the directory.

Methods​

MethodModifiersReturn TypeDescription
countSubDirectory()optionalnumberGet the number of sub directory within the directory.
createSubDirectory(subdirName)IDirectoryCreates an IDirectory child of this IDirectory, or retrieves the existing IDirectory child if one with the same name already exists.
deleteSubDirectory(subdirName)booleanDeletes an IDirectory child of this IDirectory, if it exists, along with all descendent keys and directories.
get(key)T | undefinedRetrieves the value stored at the given key from the directory.
getSubDirectory(subdirName)IDirectory | undefinedGets an IDirectory child of this IDirectory, if it exists.
getWorkingDirectory(relativePath)IDirectory | undefinedGet an IDirectory within the directory, in order to use relative paths from that location.
hasSubDirectory(subdirName)booleanChecks whether this directory has a child directory with the given name.
set(key, value)thisSets the value stored at key to the provided value.
subdirectories()IterableIterator<[string, IDirectory]>Gets an iterator over the IDirectory children of this IDirectory.

Property Details​

absolutePath​

The absolute path of the directory.

Signature​

readonly absolutePath: string;

Type: string

Method Details​

countSubDirectory​

Get the number of sub directory within the directory.

Signature​

countSubDirectory?(): number;

Returns​

The number of sub directory within a directory.

Return type: number

createSubDirectory​

Creates an IDirectory child of this IDirectory, or retrieves the existing IDirectory child if one with the same name already exists.

Signature​

createSubDirectory(subdirName: string): IDirectory;

Parameters​

ParameterTypeDescription
subdirNamestringName of the new child directory to create

Returns​

The IDirectory child that was created or retrieved

Return type: IDirectory

deleteSubDirectory​

Deletes an IDirectory child of this IDirectory, if it exists, along with all descendent keys and directories.

Signature​

deleteSubDirectory(subdirName: string): boolean;

Parameters​

ParameterTypeDescription
subdirNamestringName of the child directory to delete

Returns​

True if the IDirectory existed and was deleted, false if it did not exist

Return type: boolean

get​

Retrieves the value stored at the given key from the directory.

Signature​

get<T = any>(key: string): T | undefined;
Type Parameters​
ParameterDefaultDescription
Tany

Parameters​

ParameterTypeDescription
keystringKey to retrieve from

Returns​

The stored value, or undefined if the key is not set

Return type: T | undefined

getSubDirectory​

Gets an IDirectory child of this IDirectory, if it exists.

Signature​

getSubDirectory(subdirName: string): IDirectory | undefined;

Parameters​

ParameterTypeDescription
subdirNamestringName of the child directory to get

Returns​

The requested IDirectory

Return type: IDirectory | undefined

getWorkingDirectory​

Get an IDirectory within the directory, in order to use relative paths from that location.

Signature​

getWorkingDirectory(relativePath: string): IDirectory | undefined;

Parameters​

ParameterTypeDescription
relativePathstringPath of the IDirectory to get, relative to this IDirectory

Returns​

The requested IDirectory

Return type: IDirectory | undefined

hasSubDirectory​

Checks whether this directory has a child directory with the given name.

Signature​

hasSubDirectory(subdirName: string): boolean;

Parameters​

ParameterTypeDescription
subdirNamestringName of the child directory to check

Returns​

True if it exists, false otherwise

Return type: boolean

set​

Sets the value stored at key to the provided value.

Signature​

set<T = any>(key: string, value: T): this;
Type Parameters​
ParameterDefaultDescription
Tany

Parameters​

ParameterTypeDescription
keystringKey to set at
valueTValue to set

Returns​

The IDirectory itself

Return type: this

subdirectories​

Gets an iterator over the IDirectory children of this IDirectory.

Signature​

subdirectories(): IterableIterator<[string, IDirectory]>;

Returns​

The IDirectory iterator

Return type: IterableIterator<[string, IDirectory]>