typescript - Supraincarcarea operatorilor AssemblyScript cu evidențierea sintaxei


Am scris o clasă simplă Vector3 în assemblyscript. Codul se compilează perfect, dar evidențiatorul de sintaxă TypeScript, desigur, nu înțelege supraîncărcările de operatori. Există vreo modalitate ca TypeScript să rezolve tipul din supraîncărcarea operatorilor în AssemblyScript?

  • documentație pentru supraincarcarea operatorilor

Cod:

const a = new Vector3()
const b = new Vector3()

const c = a + b //red squigglies

//escape hatch method - works but unideal
//@ts-ignore
const d = <Vector3>a + b 


Mesaj de eroare:

Definiția Clasei:

export class Vector3{
    x: f32
    y: f32
    z: f32
    constructor(x: f32 = 0, y: f32 = 0, z: f32 = 0){
        this.x = x
        this.y = y
        this.z = z
    }

    @operator('+')
    __op(other: Vector3): Vector3  {
        return new Vector3(
            this.x + other.x,
            this.y + other.y,
            this.z + other.z
        )
    }
}