@siren-js/client
Version:
Siren API client library
13 lines (12 loc) • 493 B
JavaScript
import { plainToInstance } from 'class-transformer';
import { isArray } from 'class-validator';
import { EmbeddedEntity } from './embedded-entity';
import { EmbeddedLink } from './embedded-link';
export function transformSubEntities(subEntities) {
if (!isArray(subEntities))
return subEntities;
return subEntities.map((subEntity) => {
const constructor = subEntity.href ? EmbeddedLink : EmbeddedEntity;
return plainToInstance(constructor, subEntity);
});
}