code: def unwrap_errors(path_replace):
      # type: (Union[Text, Mapping[Text, Text]]) -> Iterator[None]
      
      try:
          yield
      except errors.ResourceError as e:
          if hasattr(e, "path"):
              if isinstance(path_replace, Mapping):
                  e.path = path_replace.get(e.path, e.path)
              else:
                  e.path = path_replace
          reraise(type(e), e)
docs: Get a context to map OS errors to their `fs.errors` counterpart.
  
      The context will re-write the paths in resource exceptions to be
      in the same context as the wrapped filesystem.
  
      The only parameter may be the path from the parent, if only one path
      is to be unwrapped. Or it may be a dictionary that maps wrapped
      paths on to unwrapped paths.