UNPKG

@siren-js/client

Version:
20 lines (19 loc) 538 B
import { DefaultSirenElementVisitor } from '../visitor'; /** * Default {@linkcode SelectionPolicy} that collects all the {@linkcode Link}s and * {@linkcode EmbeddedLink}s in an {@linkcode Entity} */ export class DefaultSelectionPolicy extends DefaultSirenElementVisitor { urls = []; visitEmbeddedLink(link) { this.urls.push(link); } visitLink(link) { this.urls.push(link); } async selectFrom(entity) { this.urls = []; await entity.accept(this); return this.urls; } }