How to extends GoJS methods in Angular 2+ (ParallelRouteLink extension example)

import { Component } from "@angular/core";
import * as go from 'gojs';

@Component({
    selector: 'app-ParallelRouteLink'
})
export class ParallelRouteLink extends go.Link {

    constructor() {
        super();
    }

    protected computePoints(): boolean {
        console.log('The child function is called')
        if (!this.isOrthogonal && this.curve !== go.Link.Bezier && this.hasCurviness()) {
            console.log('Used the compute')
            let curv = this.computeCurviness();
            if (curv !== 0) {
                let num = this.pointsCount;
                let pidx = 0;
                let qidx = num-1;
                if (num >= 4) {
                    pidx++;
                    qidx--;
                }

                let frompt = this.getPoint(pidx);
                let topt = this.getPoint(qidx);
                let dx = topt.x - frompt.x;
                let dy = topt.y - frompt.y;

                let mx = frompt.x + dx * 1 / 8;
                let my = frompt.y + dy * 1 / 8;
                let px = mx;
                let py = my;
                if (-0.01 < dy && dy < 0.01) {
                    if (dx > 0) py -= curv; else py += curv;
                } else {
                    let slope = -dx / dy;
                    let e = Math.sqrt(curv * curv / (slope * slope + 1));
                    if (curv < 0) e = -e;
                    px = (dy < 0 ? -1 : 1) * e + mx;
                    py = slope * (px - mx) + my;
                }

                mx = frompt.x + dx * 7 / 8;
                my = frompt.y + dy * 7 / 8;
                let qx = mx;
                let qy = my;
                if (-0.01 < dy && dy < 0.01) {
                    if (dx > 0) qy -= curv; else qy += curv;
                } else {
                    let slope = -dx / dy;
                    let e = Math.sqrt(curv * curv / (slope * slope + 1));
                    if (curv < 0) e = -e;
                    qx = (dy < 0 ? -1 : 1) * e + mx;
                    qy = slope * (qx - mx) + my;
                }

                this.insertPointAt(pidx+1, px, py);
                this.insertPointAt(qidx+1, qx, qy);
            }
            return true;
        } else {
            return false;
        }
    };
}

This is the way I’m extending go.Link. I’m sure right now the super function is getting called but the computePoints is not. Not sure what is the correct way of doing this.

I already called this go.Diagram.inherit(ParallelRouteLink, go.Link); when initializing the gojs diagram.

Can’t you just use the extensionsTS/ParallelRouteLink.ts file directly?
And obviously it is demonstrated in Parallel Route Links.

Thanks for the answer! I’m pretty new to GoJS. Just know that there is a extensionTS folder to use. It’s gonna be very helpful!