contensis-delivery-api
Version:
Client for retrieving content using the read-only Contensis Delivery API
36 lines (35 loc) • 1.09 kB
JavaScript
import { ListResolver } from './list-resolver';
export class LinkResolver {
entryOrList;
paths;
versionStatus;
search;
constructor(entryOrList, paths, versionStatus, search) {
this.entryOrList = entryOrList;
this.paths = paths;
this.versionStatus = versionStatus;
this.search = search;
}
resolve() {
let entries = this.getEntries();
let promise = Promise.resolve([]);
if (entries.length > 0) {
let listResolver = new ListResolver(entries, this.paths, this.versionStatus, this.search);
promise = listResolver.resolve();
}
return promise.then(() => this.entryOrList);
}
getEntries() {
let entryOrList = this.entryOrList;
if (!entryOrList) {
return [];
}
if (Array.isArray(entryOrList)) {
return entryOrList;
}
if (entryOrList.items && Array.isArray(entryOrList.items)) {
return entryOrList.items;
}
return [entryOrList];
}
}