0.9.0 • Published 4 years ago

@jvfs/navigator v0.9.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

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