amocrm-client
Version:
JS Library for AmoCRM
13 lines (12 loc) • 651 B
text/typescript
import { IEmbedded, IResourceEntity, IResourceFactory } from "../interfaces/api";
import { TFactoryConstructor } from "../types";
import ResourceEntity from "./ResourceEntity";
export class ResourceEntityEmbedded<T extends IResourceFactory<IResourceEntity<T>>, V = IEmbedded> extends ResourceEntity<T, V>
implements
IResourceEntity<T> {
parseEmbedded<T extends IResourceEntity<IResourceFactory<T>>>(items: T[] | undefined, factory: TFactoryConstructor<T>): T[] {
items = items || [];
const instance = new factory(this.getFactory().getRequest());
return items.map((item) => instance.from(item));
}
}