{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-voronoi/dist/cjs/index.cjs","../../index.ts"],"names":["voronoi"],"mappings":"AAAA;ACQA,wCAAqD;AACrD,4CAA6B;AAC7B,oCAAgC;AAChC,4FAA2B;AAS3B,SAAS,eAAA,CAAgB,MAAA,EAAoB;AAC3C,EAAA,OAAA,EAAS,MAAA,CAAO,KAAA,CAAM,CAAA;AACtB,EAAA,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAC,CAAA;AACrB,EAAA,OAAO,8BAAA,CAAS,MAAM,CAAC,CAAA;AACzB;AAuBA,SAASA,QAAAA,CACP,MAAA,EACA,OAAA,EAC4B;AAE5B,EAAA,QAAA,EAAU,QAAA,GAAW,CAAC,CAAA;AACtB,EAAA,GAAA,CAAI,CAAC,+BAAA,OAAgB,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,oBAAoB,CAAA;AAC5D,EAAA,MAAM,KAAA,EAAO,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,GAAA,EAAM,CAAA,EAAA,EAAK,GAAA,EAAK,EAAE,CAAA;AAGhD,EAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,MAAM,IAAI,KAAA,CAAM,oBAAoB,CAAA;AACjD,EAAA,GAAA,CAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,iBAAiB,CAAA;AAC3D,EAAA,qCAAA,MAAa,EAAQ,OAAA,EAAS,QAAQ,CAAA;AAGtC,EAAA,OAAO,wCAAA;AAAA,IAEF,SAAA,CAAA,OAAA,CAAwB,CAAA,CACxB,CAAA,CAAE,CAAC,OAAA,EAAA,GAAY,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAC,CAAC,CAAA,CAC9C,CAAA,CAAE,CAAC,OAAA,EAAA,GAAY,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAC,CAAC,CAAA,CAC9C,MAAA,CAAO;AAAA,MACN,CAAC,IAAA,CAAK,CAAC,CAAA,EAAG,IAAA,CAAK,CAAC,CAAC,CAAA;AAAA,MACjB,CAAC,IAAA,CAAK,CAAC,CAAA,EAAG,IAAA,CAAK,CAAC,CAAC;AAAA,IACnB,CAAC,CAAA,CACA,QAAA,CAAS,MAAA,CAAO,QAAQ,CAAA,CACxB,GAAA,CAAI,QAAA,CAAU,MAAA,EAAQ,KAAA,EAAO;AAC5B,MAAA,OAAO,MAAA,CAAO,MAAA,CAAO,eAAA,CAAgB,MAAM,CAAA,EAAG;AAAA,QAC5C,UAAA,EAAY,oCAAA,MAAgB,CAAO,QAAA,CAAS,KAAK,CAAA,CAAE,UAAU;AAAA,MAC/D,CAAC,CAAA;AAAA,IACH,CAAC;AAAA,EACL,CAAA;AACF;AAGA,IAAO,qBAAA,EAAQA,QAAAA;ADpDf;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/turf/turf/packages/turf-voronoi/dist/cjs/index.cjs","sourcesContent":[null,"import {\n BBox,\n Feature,\n FeatureCollection,\n Point,\n Polygon,\n Position,\n} from \"geojson\";\nimport { polygon, featureCollection, isObject } from \"@turf/helpers\";\nimport { collectionOf } from \"@turf/invariant\";\nimport { cloneProperties } from \"@turf/clone\";\nimport * as d3voronoi from \"d3-voronoi\";\n\n/**\n * Creates a polygon from a list of coordinates. Ensures the polygon is closed.\n *\n * @private\n * @param {Position[]} coords representing a polygon\n * @returns {Feature} polygon\n */\nfunction coordsToPolygon(coords: Position[]) {\n coords = coords.slice();\n coords.push(coords[0]);\n return polygon([coords]);\n}\n\n/**\n * Takes a collection of points and a bounding box, and returns a collection\n * of Voronoi polygons.\n *\n * The Voronoi algorithim used comes from the d3-voronoi package.\n *\n * @function\n * @param {FeatureCollection} points points around which to calculate the Voronoi polygons\n * @param {Object} [options={}] Optional parameters\n * @param {BBox} [options.bbox=[-180, -85, 180, -85]] clipping rectangle, in [minX, minY, maxX, MaxY] order\n * @returns {FeatureCollection} a set of polygons, one per input point\n * @example\n * const options = {\n * bbox: [-70, 40, -60, 60]\n * };\n * const points = turf.randomPoint(100, options);\n * const voronoiPolygons = turf.voronoi(points, options);\n *\n * //addToMap\n * const addToMap = [voronoiPolygons, points];\n */\nfunction voronoi(\n points: FeatureCollection,\n options?: { bbox?: BBox }\n): FeatureCollection {\n // Optional params\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n const bbox = options.bbox || [-180, -85, 180, 85];\n\n // Input Validation\n if (!points) throw new Error(\"points is required\");\n if (!Array.isArray(bbox)) throw new Error(\"bbox is invalid\");\n collectionOf(points, \"Point\", \"points\");\n\n // Main\n return featureCollection(\n d3voronoi\n .voronoi>()\n .x((feature) => feature.geometry.coordinates[0])\n .y((feature) => feature.geometry.coordinates[1])\n .extent([\n [bbox[0], bbox[1]],\n [bbox[2], bbox[3]],\n ])\n .polygons(points.features)\n .map(function (coords, index) {\n return Object.assign(coordsToPolygon(coords), {\n properties: cloneProperties(points.features[index].properties),\n });\n })\n );\n}\n\nexport { voronoi };\nexport default voronoi;\n"]}