import { HALConfig } from '../hal.config'; import { LeadComment } from './lead-comment.model'; import { LeadCommentDeserializer } from './lead-comment.deserializer'; import { MemberDeserializer } from '../member/member.deserializer'; export class LeadCommentConverter { public constructor(private deserializer: LeadCommentDeserializer, private memberDeserializer: MemberDeserializer) { } public toMany(items: Array<{[key: string]: any}>): LeadComment[] { return items.map((item: any) => this.toOne(item)) || []; } public toOne(json: any): LeadComment { const comment: LeadComment = this.deserializer.deserialize(json); const embedded: {[key: string]: any} = json[HALConfig.embedded] || {}; if (embedded['user']) { comment.author = this.memberDeserializer.deserialize(embedded['user']); } return comment; } }