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

Property Type Description
absolutePath string The absolute path of the directory.

Methods

Method Modifiers Return Type Description
countSubDirectory() optional number Get the number of sub directory within the directory.
createSubDirectory(subdirName) IDirectory Creates an IDirectory child of this IDirectory, or retrieves the existing IDirectory child if one with the same name already exists.
deleteSubDirectory(subdirName) boolean Deletes an IDirectory child of this IDirectory, if it exists, along with all descendent keys and directories.
get(key) T | undefined Retrieves the value stored at the given key from the directory.
getSubDirectory(subdirName) IDirectory | undefined Gets an IDirectory child of this IDirectory, if it exists.
getWorkingDirectory(relativePath) IDirectory | undefined Get an IDirectory within the directory, in order to use relative paths from that location.
hasSubDirectory(subdirName) boolean Checks whether this directory has a child directory with the given name.
set(key, value) this Sets 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

Parameter Type Description
subdirName string Name 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

Parameter Type Description
subdirName string Name 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
Parameter Default Description
T any

Parameters

Parameter Type Description
key string Key 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

Parameter Type Description
subdirName string Name 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

Parameter Type Description
relativePath string Path 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

Parameter Type Description
subdirName string Name 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
Parameter Default Description
T any

Parameters

Parameter Type Description
key string Key to set at
value T Value 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]>