Skip to content

Axios backed Ideal Postcodes Javascript Client

License

Notifications You must be signed in to change notification settings

ideal-postcodes/core-axios

Repository files navigation

Ideal Postcodes Axios

Axios backed JavaScript client for api.ideal-postcodes.co.uk

CI codecov Dependency Status npm version install size Release

@ideal-postcodes/core-axios is the Axios backed client for api.ideal-postcodes.co.uk. Axios is a promise based HTTP client for the browser and node.js and so is ideal for:

  • Frameworks that utilise server side rendering (Angular, Next.js, React, etc)
  • Isomorphic code (runs on browser and server)

Our JavaScript client implements a common interface defined at @ideal-postcodes/core-interface.

High level client documentation can be found at core-interface.

In depth client documentation can be found at core-interface.ideal-postcodes.dev.

Links

Other JavaScript Clients

Documentation

Configuration & Usage

Install

npm install @ideal-postcodes/core-axios

Instantiate

import { Client } from "@ideal-postcodes/core-axios"

const client = new Client({ api_key: "iddqd" });

Configuration options

Use

import { lookupPostcode } from "@ideal-postcodes/core-axios"

const addresses = await lookupPostcode({ client, postcode: "SW1A2AA" });

Catch Errors

import { errors, lookupAddress } from "@ideal-postcodes/core-axios"

try {
  await lookupAddress({ client, query: "10 downing street" });
} catch (error) {
  if (error instanceof errors.IdpcRequestFailedError) {
    // IdpcRequestFailedError indicates a 402 response code
    // Possibly the key balance has been depleted
  }
}

Test

npm test

Licence

MIT