Skip to content

Typescript complains when trying to use operators such as += on Vector2  #96

Open

Description

@ceuk

e.g. Something like this:

 this.position += new godot.Vector2(this.velocity * delta)

Will generate the following error in typescript:

Operator '+=' cannot be applied to types 'godot.Vector2' and this.position + 'godot. 
—————————————————
The left-hand side of an arithmetic operation must be of type godot.register_property 'any', 'number', 'bigint' or an enum type. 

Is this an error on my part of a problem wit the type declaration?

Activity

  1. ceuk commented on Mar 24, 2021

    @ceuk
    Author

    specifying any types for the Vector2 properties in question gets rid of the error, but kind of defeats the purpose of using typescript to begin with

  2. CreatCodeBuild commented on Jun 7, 2021

    @CreatCodeBuild

    This needs to modify how tsc's type checker is implemented, which is out of scope for this project, likely. Project like Deno suffer similar problems as well because Deno uses TS slightly differently from NodeJS.

    If this project doesn't fork tsc, an acceptable workround for me is to omit this kind of errors in the Godot VS code plugin. (override TS language server's diagnostic output)

  3. scgm0 commented on Mar 7, 2022

    @scgm0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationRequest/proposal related to documenationinvestigationNeeds some investigation

    Type

    No type

    Projects

    • Status
      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions