Skip to content

Add a JSDoc comment, describing latitude/longitude order for the Point and Bounds types #194

Description

@snelsi

Currently, Point and Bounds types are defined like this:

export type Point = [number, number]

export interface Bounds {
  ne: [number, number]
  sw: [number, number]
}

It provides no hints about what comes first, latitude or longitude.
You need to dive into the docs / examples / source code to find out that latitude is the first param and longitude is the second.

I tried to integrate supercluster with this lib, and faced a problem that it expects those params the other way, longitude first and latitude second. It creates a lot of confusion.

Thankfully, I think there is a super easy solution for this.
Just add a JSDoc comment to the Point type definition, describing the order:

/** @description `[latitude, longitude]` */
export type Point = [number, number]

/** @description `{ ne: [latitude, longitude], sw: [latitude, longitude] }` */
export interface Bounds {
  ne: Point
  sw: Point
}

Your IDE can show those comments as a useful tooltip on hover
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions