
Research
/Security News
60 Malicious Ruby Gems Used in Targeted Credential Theft Campaign
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
use-position
Advanced tools
React hook usePosition()
allows you to fetch a client's browser geolocation and/or subscribe to all further geolocation changes.
▶︎ Storybook demo of usePosition()
hook.
Using yarn
:
yarn add use-position
Using npm
:
npm i use-position --save
Import the hook:
import { usePosition } from 'use-position';
const {
latitude,
longitude,
speed,
timestamp,
accuracy,
heading,
error,
} = usePosition();
In this case if browser detects geolocation change the latitude
, longitude
and timestamp
values will be updated.
const watch = true;
const {
latitude,
longitude,
speed,
timestamp,
accuracy,
heading,
error,
} = usePosition(watch);
The second parameter of usePosition()
hook is position options.
const watch = true;
const {
latitude,
longitude,
speed,
timestamp,
accuracy,
heading,
error,
} = usePosition(watch, { enableHighAccuracy: true });
import React from 'react';
import { usePosition } from 'use-position';
export const Demo = () => {
const watch = true;
const {
latitude,
longitude,
speed,
timestamp,
accuracy,
heading,
error,
} = usePosition(watch);
return (
<code>
latitude: {latitude}<br/>
longitude: {longitude}<br/>
speed: {speed}<br/>
timestamp: {timestamp}<br/>
accuracy: {accuracy && `${accuracy} meters`}<br/>
heading: {heading && `${heading} degrees`}<br/>
error: {error}
</code>
);
};
usePosition()
inputwatch: boolean
- set it to true
to follow the location.settings: object
- position options
settings.enableHighAccuracy
- indicates the application would like to receive the most accurate results (default false
),settings.timeout
- maximum length of time (in milliseconds) the device is allowed to take in order to return a position (default Infinity
),settings.maximumAge
- the maximum age in milliseconds of a possible cached position that is acceptable to return (default 0
).usePosition()
outputlatitude: number
- latitude (i.e. 52.3172414
),longitude: number
- longitude (i.e. 4.8717809
),speed: number | null
- velocity of the device in meters per second (i.e. 2.5
),timestamp: number
- timestamp when location was detected (i.e. 1561815013194
),accuracy: number
- location accuracy in meters (i.e. 24
),heading: number | null
- direction in which the device is traveling, in degrees (0
degrees - north, 90
degrees - east, 270
degrees - west, and so on),error: string
- error message or null
(i.e. User denied Geolocation
)FAQs
React hook for fetching and following browser location
The npm package use-position receives a total of 583 weekly downloads. As such, use-position popularity was classified as not popular.
We found that use-position 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
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.
Research
/Security News
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.