Метод класса или хелпер-функция?
По какому принципу можно определить, каким образом выносить кусок кода? Хелпер или метод?
Например есть класс для обработки Http-запросов.
class HttpClient {
// ... rest get, post, patch, etc methods
public transformResponse<T>(response: Response, type: string): T {
switch (type) {
case 'json': {
return response.json();
}
case 'text': {
return response.text();
}
case 'blob': {
return response.blob();
}
default: {
return response.json();
}
}
}
}
как видно из примера, метод transformResponse преобразует сырой ответ от сервера (FetchApi) в какой-то конкретный тип данных, в зависимости от агрумента type
Меня смущает, что хоть и этот процесс действительно по смыслу относится к работе HttpClient, но тем не менее, является некой дополнительной логикой, которая должна быть вынесена в обычную helper-функцию. Как минимум потому что, нет абсолюнтно никакого смысла содержать ее в классе, т.к. она не ссылается ни на какой this, по сути не требуя никакого контекста выполнения. Однако и сказать, что эта функция будет выполняться где-то вне класса я тоже не могу.
Возможно стоит ее вообще вынести в декоратор для каждого метода http-запроса?