mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 15:30:16 +03:00
15 lines
510 B
TypeScript
15 lines
510 B
TypeScript
import { {{name.pascalCase}}RestApiTransportError } from '../errors'
|
||
|
||
/**
|
||
* Выполняет fetch с явной классификацией transport failure.
|
||
*/
|
||
export const {{name.camelCase}}RestApiFetch: typeof fetch = async (...params) => {
|
||
try {
|
||
return await fetch(...params)
|
||
} catch (error) {
|
||
const code = error instanceof DOMException && error.name === 'AbortError' ? 'REQUEST_TIMEOUT' : 'NETWORK_UNAVAILABLE'
|
||
|
||
throw new {{name.pascalCase}}RestApiTransportError(code, error)
|
||
}
|
||
}
|