import { HALConfig } from '../hal.config'; import { Client } from './client.model'; import { ClientDeserializer } from './client.deserializer'; import { LeadDeserializer } from '../lead/lead.deserializer'; export class JsonToClientConverter { public constructor( private clientDeserializer: ClientDeserializer, private leadDeserializer: LeadDeserializer ) {} public toOne(json: any): Client { const client: Client = this.clientDeserializer.deserialize(json); if (json[HALConfig.embedded] && json[HALConfig.embedded]['leads']) { const items: Array<{[key: string]: any}> = json[HALConfig.embedded]['leads']; client.leads = items.map((item: any) => this.leadDeserializer.deserialize(item)); } return client; } }