Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
coordinate-set
Advanced tools
A specialist Set for handling longitude and latitude coordinate arrays. The easiest way to understand the use case for this library is the following code snippet:
const set = new Set();
set.add([32.95, 83.31]);
set.add([32.95, 83.31]);
expect(set.size).toBe(2);
This behaves as we would expect for a JavaScript Set
- it creates two entries for each Array
reference. In simple terms this library allows coordinate Arrays (of type [number, number]
, where [0] is a valid longitude and [1] is valid latitude, which are often seen in formats like GeoJSON) to be treated as values rather than references, like so:
const set = new CoordinateSet();
set.add([32.95, 83.31]);
set.add([32.95, 83.31]);
expect(set.size).toBe(1);
The API matches the original Set
API as closely as possible. The library also does basic validation on the input array to make sure it is a valid longitude, latitude pair.
npm install coordinate-set
import { CoordinateSet } from "./src/coordinate-set";
const coordinateSet = new CoordinateSet();
coordinateSet.add([51.509865, -0.118092]); // undefined
coordinateSet.add([51.509865, -0.118092]); // undefined
coordinateSet.has([42.509865, -0.231312]); // false
coordinateSet.add([42.509865, -0.231312]); // undefined
coordinateSet.size; // 2
coordinateSet.delete([51.509865, -0.118092]); // true
coordinateSet.size; // 1
coordinate.clear(); // undefined
coordinateSet.size; // 0
coordinateSet.forEach((value, index, set) => {
// value: [51.509865, -0.118092]
// index: 0
// set: coordinateMap
});
// Spread syntax
const spread = [...coordinateSet];
// for...of
const values = [];
for (let entry of coordinateSet) {
values.push(entry);
}
MIT
FAQs
A Set that treats coordinate arrays like values rather than references
We found that coordinate-set demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.