refactor(pipe) onError -> func