import { ClientService } from './client.service'; import { AuthHttp } from 'angular2-jwt'; import { JsonToClientConverter } from './json-to-client.converter'; import { ClientSerializer } from './client.serializer'; import { ClientDeserializer } from './client.deserializer'; import { LeadDeserializer } from '../lead/lead.deserializer'; import { ErrorHandlerService } from '../error/error-handler.service'; import { FallbackErrorHandler } from '../error/fallback-error-handler'; import { ApiErrorHandler } from '../error/api-error-handler'; export function ClientFactory(authHttp: AuthHttp, baseUrl: string): ClientService { const converter: JsonToClientConverter = new JsonToClientConverter(new ClientDeserializer(), new LeadDeserializer()); const errorHandler: ErrorHandlerService = new ErrorHandlerService(new ApiErrorHandler(), new FallbackErrorHandler()); return new ClientService(authHttp, converter, new ClientSerializer(), baseUrl, errorHandler); }