@bva/ipgeo

2.1.4 • Public • Published

IPGeo

IPGeo is a promise based JavaScript wrapper around popular IP Geolocation APIs.

Initial Setup

To setup an instance of IPGeo you'll need to import the library and then create an instance from the IPGeo class.

First add it to your repo:

yarn add @bva/ipgeo

Then use it in your JavaScript:

import IPGeo from "@bva/ipgeo";

const geo = new IPGeo();

geo.getGeo().then(data => console.log(data));

Options

When initializing a new IPGeo instance an optional options argument can be passed to the Class instantiation. The options argument is an Object can have the following properties:

service

Service is the web service you want to use and can be any of the following values:

Methods

getGeo()

This method makes a request to the geo service and returns JSON response wrapped in a promise.

Example

geo.getGeo().then(data => console.log(data));

If using GeoJS the above code will log a JSON object that looks like this. Otherwise, it will log the chosen service's JSON structure.

Note: The first call to .getGeo() will result in an API call which will store the data in sessionStorage under ipgeo. All subsequent calls will pull data from sessionStorage unless it is not supported in the browser.

removeSessionGeoData()

This will remove geo data stored in sessionStorage under ipgeo. If the browser doesn't support it nothing will happen.

Dealing with sessionStorage Data

The data stored in sessionStorage is under the name ipgeo and is base64 encoded. To view the actual data you'll need to decode it using atob().

Example:

console.log(JSON.parse(atob(sessionStorage.getItem("ipgeo"))));

Readme

Keywords

Package Sidebar

Install

npm i @bva/ipgeo

Weekly Downloads

10

Version

2.1.4

License

MIT

Unpacked Size

7.88 kB

Total Files

21

Last publish

Collaborators

  • bvaadmin