Class WorkerFS

WorkerFS lets you access a BrowserFS instance that is running in a different JavaScript context (e.g. access BrowserFS in one of your WebWorkers, or access BrowserFS running on the main page from a WebWorker).

For example, to have a WebWorker access files in the main browser thread, do the following:

MAIN BROWSER THREAD:

  // Listen for remote file system requests.
BrowserFS.Backend.WorkerFS.attachRemoteListener(webWorkerObject);

WEBWORKER THREAD:

  // Set the remote file system as the root file system.
BrowserFS.configure({ fs: "WorkerFS", options: { worker: self }}, function(e) {
// Ready!
});

Note that synchronous operations are not permitted on the WorkerFS, regardless of the configuration option of the remote FS.

Hierarchy

  • BaseFileSystem
    • WorkerFS

Constructors

Properties

_currentID: number = 0
_isInitialized: boolean = false
_metadata: FileSystemMetadata
_ready: Promise<WorkerFS>
_requests: Map<number, WorkerRequest> = ...
_worker: Worker
Create: any = ...
Name: "WorkerFS" = 'WorkerFS'

Accessors

  • get metadata(): FileSystemMetadata
  • Returns FileSystemMetadata

Methods

  • Type Parameters

    • T extends "link" | "open" | "truncate" | "metadata" | "rename" | "whenReady" | "access" | "accessSync" | "renameSync" | "stat" | "statSync" | "openSync" | "unlink" | "unlinkSync" | "rmdir" | "rmdirSync" | "mkdir" | "mkdirSync" | "readdir" | "readdirSync" | "exists" | "existsSync" | "realpath" | "realpathSync" | "truncateSync" | "readFile" | "readFileSync" | "writeFile" | "writeFileSync" | "appendFile" | "appendFileSync" | "chmod" | "chmodSync" | "chown" | "chownSync" | "utimes" | "utimesSync" | "linkSync" | "symlink" | "symlinkSync" | "readlink" | "readlinkSync" | "syncClose"

    Parameters

    • method: T
    • Rest ...args: (Extract<RPCMessage & {
          args: [srcpath: string, dstpath: string, cred: Cred];
          method: "link";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, flag: FileFlag, mode: number, cred: Cred];
          method: "open";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, len: number, cred: Cred];
          method: "truncate";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "metadata";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [oldPath: string, newPath: string, cred: Cred];
          method: "rename";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [];
          method: "whenReady";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, mode: number, cred: Cred];
          method: "access";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "accessSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "renameSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "stat";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "statSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "openSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "unlink";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "unlinkSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "rmdir";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "rmdirSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, mode: number, cred: Cred];
          method: "mkdir";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "mkdirSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "readdir";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "readdirSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "exists";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "existsSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "realpath";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "realpathSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "truncateSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [fname: string, flag: FileFlag, cred: Cred];
          method: "readFile";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "readFileSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [fname: string, data: Uint8Array, flag: FileFlag, mode: number, cred: Cred];
          method: "writeFile";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "writeFileSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [fname: string, data: Uint8Array, flag: FileFlag, mode: number, cred: Cred];
          method: "appendFile";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "appendFileSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, mode: number, cred: Cred];
          method: "chmod";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "chmodSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, new_uid: number, new_gid: number, cred: Cred];
          method: "chown";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "chownSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, atime: Date, mtime: Date, cred: Cred];
          method: "utimes";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "utimesSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "linkSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [srcpath: string, dstpath: string, type: string, cred: Cred];
          method: "symlink";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "symlinkSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [p: string, cred: Cred];
          method: "readlink";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: never;
          method: "readlinkSync";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [];
          method: "metadata";
      }, {
          method: T;
      }> | Extract<RPCMessage & {
          args: [string, File];
          method: "syncClose";
      }, {
          method: T;
      }>)["args"]

    Returns _RPCExtractReturnValue<T>

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns void

  • Parameters

    • fname: string
    • data: Uint8Array
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • fname: string
    • data: Uint8Array
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • new_uid: number
    • new_gid: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • new_uid: number
    • new_gid: number
    • cred: Cred

    Returns void

  • Create the file at path p with the given mode. Then, open it with the given flag.

    Parameters

    • p: string
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns Promise<File>

  • Create the file at path p with the given mode. Then, open it with the given flag.

    Parameters

    • p: string
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns File

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<boolean>

  • Parameters

    • p: string
    • cred: Cred

    Returns boolean

  • Parameters

    • srcpath: string
    • dstpath: string
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • srcpath: string
    • dstpath: string
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • mode: number
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns Promise<File>

  • Opens the file at path p with the given flag. The file must exist.

    Parameters

    • p: string

      The path to open.

    • flag: FileFlag

      The flag to use when opening the file.

    • cred: Cred

    Returns Promise<File>

  • Opens the file at path p with the given flag. The file must exist.

    Parameters

    • p: string

      The path to open.

    • flag: FileFlag

      The flag to use when opening the file.

    • cred: Cred

    Returns File

    A File object corresponding to the opened file.

  • Parameters

    • p: string
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns File

  • Parameters

    • fname: string
    • flag: FileFlag
    • cred: Cred

    Returns Promise<Uint8Array>

  • Parameters

    • fname: string
    • flag: FileFlag
    • cred: Cred

    Returns Uint8Array

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<string[]>

  • Parameters

    • p: string
    • cred: Cred

    Returns string[]

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<string>

  • Parameters

    • p: string
    • cred: Cred

    Returns string

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<string>

  • Parameters

    • p: string
    • cred: Cred

    Returns string

  • Parameters

    • oldPath: string
    • newPath: string
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • oldPath: string
    • newPath: string
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<Stats>

  • Parameters

    • p: string
    • cred: Cred

    Returns Stats

  • Parameters

    • srcpath: string
    • dstpath: string
    • type: string
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • srcpath: string
    • dstpath: string
    • type: string
    • cred: Cred

    Returns void

  • Parameters

    • method: string
    • fd: File

    Returns Promise<void>

  • Parameters

    • p: string
    • len: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • len: number
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • cred: Cred

    Returns void

  • Parameters

    • p: string
    • atime: Date
    • mtime: Date
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • p: string
    • atime: Date
    • mtime: Date
    • cred: Cred

    Returns void

  • Returns Promise<WorkerFS>

  • Parameters

    • fname: string
    • data: Uint8Array
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns Promise<void>

  • Parameters

    • fname: string
    • data: Uint8Array
    • flag: FileFlag
    • mode: number
    • cred: Cred

    Returns void

Generated using TypeDoc