Skip to content

v9.1.0

Latest

Choose a tag to compare

@mourner mourner released this 03 Sep 08:35

Adds a flat tile envelope matching geojson-vt v5's getTileRaw, and moves TypeScript declarations into
the package.

API changes

  • New getTileRaw(z, x, y) returns the same tiles as getTile, but with each feature's coordinates
    inline — {type: 4, x, y, tags} instead of {type: 1, geometry: [[x, y]], tags}. Every clustered
    feature is a single point, so this is geojson-vt's raw envelope narrowed to its lone-point variant,
    and consumers that unwrap geometry[0] immediately can skip two array allocations per feature.
    getTile is unchanged.
  • TypeScript declarations ship with the package. Remove @types/supercluster if you have it
    installed.

TypeScript migration

The bundled declarations cover the same surface as @types/supercluster@7.1.3, with three
differences:

  • Breaking for @types users: types are named exports rather than members of a merged
    Supercluster namespace. Replace Supercluster.Options<P, C> with an
    import type {Options} from 'supercluster'. Using Supercluster<P, C> itself in type position
    still works. This matches how geojson-vt's declarations are shaped.
  • Tile tags are typed | null | undefined. Supercluster passes each input feature's properties
    through verbatim, so tags is null when the input had properties: null and undefined when it
    omitted the member — both need a guard before use. The old declarations claimed tags was always
    present.
  • load() accepts MultiPoint features as well as Point, matching the support added in v9.0.0.