import ImageAdapterInterface from '../../Image/adapter/ImageAdapterInterface'; import File from '../entity/File'; import TransformerInterface from '../../common/interfaces/TransformerInterface'; import Image from '../../Image/entity/Image'; import NoTransformerSupportedException from '../../common/exceptions/NoTransformerSupportedException'; export default class FileFactory implements TransformerInterface { private imageAdapter: ImageAdapterInterface; constructor(imageAdapter: ImageAdapterInterface) { this.imageAdapter = imageAdapter; } transformToEntity(json: any): File { return this.imageAdapter.adapt(json, new Image()); } transformToPayload(instance: File): any { return this.imageAdapter.prepare(instance); } }