
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
latlon-formatter
Advanced tools
A set of functions to format latitude and longitude angles.
npm install latlon-formatter --save
ES6:
import { formatLatitude, formatLongitude } from 'latlon-formatter';
const latitude = formatLatitude(Math.PI / 3); // => 60° 00′ 00″ N
const longitude = formatLongitude(-33.4, {
degrees: true
}); // => 034° 24′ 00″ W
require with Node.js:
var formatter = require('latlon-formatter');
var latitude = formatter.latitude(Math.PI / 3); // => 60° 00′ 00″ N
var longitude = formatter.longitude(-33.4, {
degrees: true
}); // => 034° 24′ 00″ W
in browser include dist/latlon-formatter.js or dist/latlon-formatter.min.js script:
var formatter = window.latlonFormatter;
var latitude = formatter.latitude(Math.PI / 3); // => 60° 00′ 00″ N
var longitude = formatter.longitude(-33.4, {
degrees: true
}); // => 034° 24′ 00″ W
latitude or formatLatitude — format latitude angle.
Arguments:
value — angle's value;options:
template — custom template (optional, default — {degree}° {prime}′ {doublePrime}″ {direction});degrees — specifies whether value is in degrees or in radians (optional, default — false);fixedCount — count of precision digits (optional, default — null leaving precision as is).Examples:
formatter.latitude(33.4); // => 34° 24′ 00″ N
formatter.latitude(-14.75, { degrees: true }); // => 14° 45′ 00″ S
formatter.latitude(-14.75, {
template: '{negativeSign}{value}°',
degrees: true,
fixedCount: 1
}); // => —14.8°
longitude or formatLongitude — format longitude angle.
Arguments:
value — angle's value;options:
template — custom template (optional, default — {degree}° {prime}′ {doublePrime}″ {direction});degrees — specifies whether value is in degrees or in radians (optional, default — false);fixedCount — count of precision digits (optional, default — null leaving precision as is).Examples:
formatter.longitude(33.4); // => 034° 24′ 00″ E
formatter.longitude(-14.75, { degrees: true }); // => 014° 45′ 00″ W
formatter.longitude(-14.75, {
template: '{negativeSign}{value}°',
degrees: true,
fixedCount: 1
}); // => —14.8°
angle or formatAngle — format any custom angle.
Arguments:
value — angle's value;options:
template — custom template (optional, default — {negativeSign}{value}°);degrees — specifies whether value is in degrees or in radians (optional, default — false);fixedCount — count of precision digits (optional, default — null leaving precision as is);customTokens — an object or a function returning an object of additional custom tokens used in template.Examples:
formatter.angle(3.4, {
template: '{degree}° {prime}′ {doublePrime}″ {direction}',
customTokens: f => {
return {
degree: (f.degrees < 10 ? '0' : '') + f.degree,
direction: f.sign >= 0 ? 'N' : 'S'
};
}
}); // => 03° 24′ 00″ N
All three format methods (latitude, longitude and angle) have the following predefined template tokens:
value — angle's absolute value with optional precision specified by fixedCount option;degree — absolute (two-digits and three-digits for latitude and longitude respectively) degree value;prime — absolute two-digits prime value;doublePrime — absolute two-digits double prime value;sign — value's sign:
+ — positive value;— — negative value;negativeSign — the same as sign except that it's empty for both zero and positive values.latitude and longitude methods additionally have direction token:
N — non-negative latitude;S — negative latitude;E — non-negative longitude;W — negative longitude.Any custom additional tokens can be specified by customTokens option of angle method.
In order to build library run:
npm run build
Run unit tests:
npm test
Run tests with coverage:
npm run test:coverage
In order to run tests with Coveralls locally you have to provide COVERALLS_REPO_TOKEN:
COVERALLS_REPO_TOKEN=<token> npm run test:coveralls
Before making a pull request, please, be sure that you start from develop branch.
FAQs
A set of functions to format latitude and longitude angles
The npm package latlon-formatter receives a total of 158 weekly downloads. As such, latlon-formatter popularity was classified as not popular.
We found that latlon-formatter 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.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.