Files
DefinitelyTyped/types/kdbush/kdbush-tests.ts
2017-07-25 10:34:23 -07:00

37 lines
893 B
TypeScript

import * as kdbush from 'kdbush';
import { KDBush } from 'kdbush';
// API
const points = [[110, 60], [130, 40]];
const index = kdbush(points);
// properties
index.nodeSize;
index.points;
index.ids;
index.coords;
// range
index.range(10, 10, 20, 20);
index.range(10, 10, 20, 20).map(id => points[id]);
// within
index.within(10, 10, 5);
index.within(10, 10, 5).map(id => points[id]);
// custom points (object)
const xy = [{x: 110, y: 60}, {x: 130, y: 40}];
const index2: KDBush<{x: number, y: number}> = kdbush(xy, p => p.x, p => p.y);
index2.points[0].x;
index2.points[0].y;
index2.points.map(p => [p.x, p.y]);
// custom points (latlng)
const latlng = [[60, 110], [40, 130]];
kdbush(latlng, p => p[1], p => p[0]);
kdbush(latlng, p => p[1], p => p[0], 64, Int32Array);
// z coordinate (does not require Get callbacks)
const pointsZ = [[110, 60, 4000], [130, 40, 3000]];
kdbush(pointsZ);