054af09032
This updates ESLint and our shared eslint-config-openlayers to use Prettier. Most formatting changes were automatically applied with this:
npm run lint -- --fix
A few manual changes were required:
* In `examples/offscreen-canvas.js`, the `//eslint-disable-line` comment needed to be moved to the appropriate line to disable the error about the `'worker-loader!./offscreen-canvas.worker.js'` import.
* In `examples/webpack/exapmle-builder.js`, spaces could not be added after a couple `function`s for some reason. While editing this, I reworked `ExampleBuilder` to be a class.
* In `src/ol/format/WMSGetFeatureInfo.js`, the `// @ts-ignore` comment needed to be moved down one line so it applied to the `parsersNS` argument.
25 lines
730 B
JavaScript
25 lines
730 B
JavaScript
/**
|
|
* @module ol/geom/flat/topology
|
|
*/
|
|
import {linearRing as linearRingArea} from './area.js';
|
|
|
|
/**
|
|
* Check if the linestring is a boundary.
|
|
* @param {Array<number>} flatCoordinates Flat coordinates.
|
|
* @param {number} offset Offset.
|
|
* @param {number} end End.
|
|
* @param {number} stride Stride.
|
|
* @return {boolean} The linestring is a boundary.
|
|
*/
|
|
export function lineStringIsClosed(flatCoordinates, offset, end, stride) {
|
|
const lastCoord = end - stride;
|
|
if (
|
|
flatCoordinates[offset] === flatCoordinates[lastCoord] &&
|
|
flatCoordinates[offset + 1] === flatCoordinates[lastCoord + 1] &&
|
|
(end - offset) / stride > 3
|
|
) {
|
|
return !!linearRingArea(flatCoordinates, offset, end, stride);
|
|
}
|
|
return false;
|
|
}
|