import BaseFoundation, { DefaultAdapter } from '../base/foundation'; import { AnchorAdapter } from './foundation'; export interface LinkAdapter extends DefaultAdapter { addLink: AnchorAdapter['addLink']; removeLink: AnchorAdapter['removeLink']; } export default class LinkFoundation extends BaseFoundation { constructor(adapter: LinkAdapter) { super({ ...adapter }); } init() { // this.setInitValue(); } // eslint-disable-next-line @typescript-eslint/no-empty-function destroy() {} handleAddLink() { const href = this._adapter.getProp('href'); this._adapter.addLink(href); } handleUpdateLink(href: string, prevHref: string) { if (href !== prevHref) { this._adapter.removeLink(prevHref); this._adapter.addLink(href); } } handleRemoveLink() { const href = this._adapter.getProp('href'); this._adapter.removeLink(href); } }