Navigator
The navigator offers an interface to navigate and edit the filesystem virtual structure. The following APIS can be used:
-
load(fileSystemRep: FileSystemNode, path: string): undefined
: Is used to load a new structure in the file system. This should not be necessery from the most use cases. -
download(): [FileSystemNode, string];
: Return a tuple that rapresent the current structure of the file system and the path where the real file system is mouted -
rollback(): typesNavigator.Navigator;
: Revert all the operetion that has been done on the virtual file system -
move(nearName: string): typesNavigator.Navigator;
: The pointer of the navigator move to the indicated child file or directory. -
up(): typesNavigator.Navigator;
: The pointer of the navigator move to the parent of the current position -
get(): FileSystemNode;
: Return the current pointer, file or directory -
exist(nearName: string): boolean;
: Check if the file or directory exist as child of the current pointer -
write(text: string): undefined;
: Write a new line in the content of the current pointer if the current pointer is a file and not a directory. -
read(): string;
: Read the content of the current pointer if the pointer is not a file. -
overWrite(text: string): undefined;
: Rewrite all the content of the current pointer if the current pointer is a file and not a directory. -
delete(): undefined;
: Delete the current pointer (and all the children) moving the pointer to the parent of the just deleted pointer -
addNode(node: FileSystemNode): typesNavigator.Navigator;
: Attach a node to the current pointer as a child if the pointer is a directory -
editNode(node: FileSystemNode): typesNavigator.Navigator;
: Merge the file system node passed as parameter with the current pointer ignoring parent, children and isDir property. -
goRoot(): typesNavigator.Navigator;
: Move the pointer to the root of the virtual file system -
canMove(nearName: string): boolean;
: Return true if the pointer can move to the given file or directory -
find(filter: string | RegExp): FileSystemNode[];
: Return a list of node that match the filter passed as a parameter with their fullname -
navigateTo(path: string): undefined;
: Move the pointer to the given path (fron the root, not included)
Usage
/* FS structure
/root
/dir
file.js
file.txt
other.txt
*/
// for this example navigator is aviable globaly, see tasker or root documentation
navigator.canMove("dir"); // True
navigator.move("dir").move("file.txt"); // The pointer is now on file.txt
const filetxt = navigator.get(); // The file.txt virtual rappresentation
filetxt.content; // The content of the file
navigator.read(); // The content of the file
filetxt.fullname; // "file.txt"
filetxt.isDir; // False
filetxt.fullname = "anotherName.txt"; // Change the name