Angular - Separación de módulos - Mejores prácticas para código compartido o común

Tengo algunos servicios angulares que tienen métodos idénticos para analizar la respuesta json, manejar errores, etc. (por ejemplo, atrapar si es un error 422, por ejemplo).

Obviamente no quiero que estos métodos se copien y peguen en cada servicio, pero parece que no puedo encontrar ninguna guía sobre dónde debo poner este código.

No son métodos de clase, solo métodos privados actualmente idénticos en cada servicio.

Aquí hay uno por ejemplo:

   private parseToString(jsonResponse: any){
    return Object.keys(jsonResponse).reduce(
      (prev, next) => prev.concat(jsonResponse[next].map(
        v => next + ' ' + v).join(', ')), []).join(', ');
  }  

¿Hay alguna forma de crear un módulo auxiliar o algo así como una preocupación de Rails que pueda incluir?

Digamos por ejemplo que tengo esta carpeta:

aplicación / servicios

que tiene mis diversos archivos de servicio .ts.

Podría crear la carpeta "app / services / helpers" y poner un archivo dentro de eso ... pero ¿qué hay en ese archivo .ts?

p.ej. parser-helper.ts podría ser el nombre del archivo, pero ¿cómo se ve el código que contiene? ¿Debería ser un módulo? Si es así, ¿cómo puedo incluirlo en el servicio?

Por ejemplo, ¿es esta la forma recomendada de hacerlo?

app / services / helpers / parser-helper.module.ts

module parserHelperModule {

  export function helperA(){}
  export function helperB(){}

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta