index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. var boolean_disjoint_1 = __importDefault(require("@turf/boolean-disjoint"));
  7. var meta_1 = require("@turf/meta");
  8. /**
  9. * Boolean-intersects returns (TRUE) two geometries intersect.
  10. *
  11. * @name booleanIntersects
  12. * @param {Geometry|Feature<any>} feature1 GeoJSON Feature or Geometry
  13. * @param {Geometry|Feature<any>} feature2 GeoJSON Feature or Geometry
  14. * @returns {boolean} true/false
  15. * @example
  16. * var point = turf.point([2, 2]);
  17. * var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
  18. *
  19. * turf.booleanIntersects(line, point);
  20. * //=true
  21. */
  22. function booleanIntersects(feature1, feature2) {
  23. var bool = false;
  24. meta_1.flattenEach(feature1, function (flatten1) {
  25. meta_1.flattenEach(feature2, function (flatten2) {
  26. if (bool === true) {
  27. return true;
  28. }
  29. bool = !boolean_disjoint_1.default(flatten1.geometry, flatten2.geometry);
  30. });
  31. });
  32. return bool;
  33. }
  34. exports.default = booleanIntersects;