mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-19 17:55:17 -04:00
fix: Move content into to frontend directory
Doing this BEFORE the merge prevents a lot of merge conflicts. Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
4e18ce38f3
commit
762a0a850e
1051 changed files with 0 additions and 35 deletions
30
frontend/src/hooks/common/use-effect-with-catch.ts
Normal file
30
frontend/src/hooks/common/use-effect-with-catch.ts
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import type { DependencyList, EffectCallback } from 'react'
|
||||
import { useEffect, useState } from 'react'
|
||||
|
||||
/**
|
||||
* Executes a side effects but catches any thrown error.
|
||||
*
|
||||
* @param effect The side effect to execute
|
||||
* @param deps The dependencies of the effect
|
||||
* @return The produced error (if occurred)
|
||||
*/
|
||||
export const useEffectWithCatch = (effect: EffectCallback, deps: DependencyList = []): Error | undefined => {
|
||||
const [error, setError] = useState<Error | undefined>(undefined)
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
return effect()
|
||||
} catch (error) {
|
||||
setError(error as Error)
|
||||
}
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, deps)
|
||||
|
||||
return error
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue