@ideal-postcodes/core-browser
v3.0.1
Published
Browser javascript client for api.ideal-postcodes.co.uk
Downloads
12,839
Maintainers
Readme
JavaScript (browser) client for api.ideal-postcodes.co.uk
@ideal-postcodes/core-browser
is the JavaScript browser client for api.ideal-postcodes.co.uk
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.
Tested against a suite of modern and legacy, mobile and desktop browsers.
@ideal-postcodes/core-browser
should be consumed by a bundler or transpiler (e.g. webpack, parcel, rollup) for minification, module resolution and specific browser support.
core-browser-bundled provides pre-bundled versions of core-browser
, which can be immediately dropped into a page.
Links
- Configuration & Usage
- Quickstart
- Client Documentation
- In Depth Client Documentation
- npm Module
- GitHub Repository
Example Setup
Other JavaScript Clients
Documentation
Configuration & Usage
- Install
- Instantiate and Use client
- Catch Errors
Install
npm install @ideal-postcodes/core-browser
Instantiate
import { Client } from "@ideal-postcodes/core-browser";
const client = new Client({ api_key: "iddqd" });
Use
const addresses = await lookupPostcode({ client: client, postcode: "SW1A2AA" });
Catch Errors
import { errors } from "@ideal-postcodes/core-browser";
const { IdpcRequestFailedError } = errors;
try {
await lookupAddress({ client, query: "10 downing street" });
} catch (error) {
if (error instanceof IdpcRequestFailedError) {
// IdpcRequestFailedError indicates a 402 response code
// Possibly the key balance has been depleted
}
}
HTTP Agent and legacy browser support
core-browser
uses the Fetch API under the hood to facilitate HTTP requests.
A configuration object can be passed to the Client
constructor as a second argument to override certain attributes on the Request of all subsequent fetch requests. Request configuration is documented here.
If you need to support older browsers, please include a fetch polyfill and transpile this library down to ES3. Alternatively use one of our pre-transpiled outputs at ideal-postcodes/core-browser-bundled.
Quickstart
The client exposes a number of simple methods to get at the most common tasks when interacting with the API. Below is a (incomplete) list of commonly used methods.
For a complete list of client methods, including low level resource methods, please see the core-interface documentation
Lookup a Postcode
Return addresses associated with a given postcode
const postcode = "id11qd";
const addresses = await lookupPostcode({ client, postcode });
Search for an Address
Return addresses associated with a given query
const query = "10 downing street sw1a";
const addresses = await lookupAddress({ client, query });
Search for an Address by UDPRN
Return address for a given udprn
Invalid UDPRN will return null
const udprn = 23747771;
const address = await lookupUdprn({ client, udprn });
Test
npm test
Licence
MIT