diff options
Diffstat (limited to 'FrontEnd/src/app/utilities/rxjs.ts')
-rw-r--r-- | FrontEnd/src/app/utilities/rxjs.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/FrontEnd/src/app/utilities/rxjs.ts b/FrontEnd/src/app/utilities/rxjs.ts new file mode 100644 index 00000000..0730b899 --- /dev/null +++ b/FrontEnd/src/app/utilities/rxjs.ts @@ -0,0 +1,14 @@ +import { OperatorFunction } from "rxjs"; +import { catchError } from "rxjs/operators"; + +export function convertError<T, NewError>( + oldErrorType: { new (...args: never[]): unknown }, + newErrorType: { new (): NewError } +): OperatorFunction<T, T> { + return catchError((error) => { + if (error instanceof oldErrorType) { + throw new newErrorType(); + } + throw error; + }); +} |