| 1234567891011121314151617181920212223242526272829303132333435363738 | 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<LinkAdapter> {    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);    }}
 |