geoscape-predictive
v1.0.3
Published
Geoscape predictive address suggestion
Downloads
1
Readme
Geoscape Predictive Address
Client for interfacing with Geoscape Predictive Address API
Install
npm i geoscape-predictive
Usage
This package provides a live client and verified fake closures which can be created with a helper method, or accessed directly
const geoscapePredictive = require('/geoscape-predictive');
const instance = geoscapePredictive.createClient(apiKey, {});
const fakeInstance = geoscapePredictive.createClient('', {useFake: true})
or for direct access
const geoscapePredictive = require('geoscape-predictive');
const predictiveAddress = geoscapePredictive.predictiveAddress;
const instance = predictiveAddress(apiKey);
const predictiveAddressFake = geoscapePredictive.predictiveAddressFake;
const fakeInstance = predictiveAddressFake();
Search for address match
const address = '123 Fake St Faketown SA';
const result = await instance.suggestAddress(address);
Query specific address by id
Use the id
provided in the address match
const result = await instance.getAddressDetails(id);
Tests & Verified Fake
The client contains its own test suite and can be used in either live or fake mode. Set environment variables to dictate test behaviour.
To run live, set environment variable GEOSCAPE_API_KEY='yourApiKey'
to test the fake, set GEOSCAPE_FAKE=true
Fake Client Responses
The fake client exposes the same suggestAddress
and getAddressDetails
methods, but returns pre-defined results without making any external I/O. This can be substituted in during development or testing for fast and reliable mock results.
suggestAddress Responses
The fake will respond with errors when the address parameter is missing, empty or too short. An address of 12f45345646
will return an empty result with no matches. All other queries will return a pre-defined match containing multiple suggestions.
getAddressDetails Responses
Will return a valid response object if passed an id of the form 0000000000000000-0000-0000-0000-000000000000
Missing or non valid inputs will throw appropriate errors.