From 24ebe4149dd8e1f279fe1ab32a3aaaa8063222ab Mon Sep 17 00:00:00 2001 From: George Pickering <29524044+geopic@users.noreply.github.com> Date: Sat, 7 Mar 2020 09:37:46 +0000 Subject: [PATCH] Add types declaration file --- index.d.ts | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..55f209b --- /dev/null +++ b/index.d.ts @@ -0,0 +1,46 @@ +declare module 'polybooljs' { + type Polygon = { + regions: number[][][]; + inverted: boolean; + } + + type Segment = { + segments: Segment[], + inverted: boolean; + } + + type GeoJSON = { + type: string; + geopolys: Polygon[]; + } + + /** + * Getter/setter for buildLog + */ + export function buildLog(bl: boolean): object[] | boolean; + + /** + * Getter/setter for epsilon + */ + export function epsilon(value: number): number; + + export function segments(poly: Polygon): Segment; + export function combine(segment1: Segment, segment2: Segment): { + combined: object; + inverted1: boolean; + inverted2: boolean; + }; + export function selectUnion(combined: object): Segment; + export function selectIntersect(combined: object): Segment; + export function selectDifference(combined: object): Segment; + export function selectDifferenceRev(combined: object): Segment; + export function selectXor(combined: object): Segment; + export function polygon(segments: Segment): Polygon; + export function polygonFromGeoJSON(geojson: GeoJSON): Polygon; + export function polygonToGeoJSON(poly: Polygon): GeoJSON; + export function union(poly1: Polygon, poly2: Polygon): Polygon; + export function intersect(poly1: Polygon, poly2: Polygon): Polygon; + export function difference(poly1: Polygon, poly2: Polygon): Polygon; + export function differenceRev(poly1: Polygon, poly2: Polygon): Polygon; + export function xor(poly1: Polygon, poly2: Polygon): Polygon; +}