UNPKG

js-quadtree

Version:

A simple quadtree implementation for javascript (nodejs or browser with module bundler).

26 lines 923 B
import { Point } from "./Point"; import { Box } from "./Box"; declare type PointsComparator = <T extends Point>(point1: T, point2: T) => boolean; interface QuadTreeConfig { capacity?: number; removeEmptyNodes?: boolean; maximumDepth?: number | -1; arePointsEqual?: PointsComparator; } interface Shape { contains(point: Point): boolean; intersects(range: Box): boolean; } declare type DeepRequired<T> = T extends Function ? T : (T extends object ? { [P in keyof Required<T>]: DeepRequired<T[P]>; } : NonNullable<Required<T>>); declare type QuadTreeConfigComplete = DeepRequired<QuadTreeConfig>; declare type Tree = number | { ne: number | Tree; nw: number | Tree; se: number | Tree; sw: number | Tree; }; declare type UserCustomData = any; export { QuadTreeConfig, QuadTreeConfigComplete, Shape, Tree, UserCustomData }; //# sourceMappingURL=types.d.ts.map