0.9.0 • Published 4 years ago
@jvfs/navigator v0.9.0
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 moutedrollback(): typesNavigator.Navigator;
: Revert all the operetion that has been done on the virtual file systemmove(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 positionget(): FileSystemNode;
: Return the current pointer, file or directoryexist(nearName: string): boolean;
: Check if the file or directory exist as child of the current pointerwrite(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 pointeraddNode(node: FileSystemNode): typesNavigator.Navigator;
: Attach a node to the current pointer as a child if the pointer is a directoryeditNode(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 systemcanMove(nearName: string): boolean;
: Return true if the pointer can move to the given file or directoryfind(filter: string | RegExp): FileSystemNode[];
: Return a list of node that match the filter passed as a parameter with their fullnamenavigateTo(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