docx-validate
    Preparing search index...

    Function walkDirectory

    • Walk dir recursively the way walkFiles does, without dropping what that walk silently skips (#426): stored entries that cannot be read — a broken symbolic link, or anything that resolves to neither a regular file nor a directory (a FIFO, a socket, a device) — are reported in unreadable instead of vanishing from the package, and holdsSymlinks marks a tree where any stored entry or directory segment is itself a symbolic link, whose auto-repair write-back must never follow the link (#425). A directory the walk cannot list is reported the same way, naming the directory: every stored file under it would otherwise vanish from the package with it (#543). A symlink whose target is a directory already on the current path — by device and inode — is reported as "a symbolic link loop" at the link's stored name, so the walk stops there instead of descending until the kernel's symlink budget runs out (#546); an ELOOP from resolving a symlink (a chain that loops without reaching a directory) is never labelled a broken link. A link whose target resolves outside the input root is not followed at all: it is reported as "a symbolic link outside the input directory" at the link's stored name, so foreign files never become package parts and a link to an ancestor of the root is named at the link itself (#576). holdsHardLinks marks a regular file with more than one directory entry, whose write-back must not modify an unnamed alias (#545). files is exactly what walkFiles returns.

      Parameters

      • dir: string
      • Optionalextensions: readonly string[]

      Returns {
          files: string[];
          holdsHardLinks: boolean;
          holdsSymlinks: boolean;
          unreadable: UnreadableEntry[];
      }