Deprecated in favour of our OpenAPI repository which also ships TypeScript typings
Typings for the Ideal Postcodes API (api.ideal-postcodes.co.uk)
TypeScript typings which define:
- The basic JSON objects returned by our APIs (e.g. addresses
Address
, autocomplete suggestionsAddressSuggestion
, API key statusKeyStatus
) - The overall shape of JSON responses returned by the API (e.g. postcode lookups
PostcodesResponse
, address autocomplete queriesAddressSuggestionResponse
, address search queriesAddressQueryResponse
)
Typings are exported to index.d.ts
when published to npm. The typings in this repository are defined in lib/index.ts
.
Install package
npm install --save-dev @ideal-postcodes/api-typings
Import interfaces and other definitions
// Import Address type
import { Address } from "@ideal-postcodes/api-typings";
let address: Address;
Typings allow IDEs to provide a richer, more productive environment to develop integrations. This includes providing code completions and suggestions.
Our typings also bear documentation which can be rendered in your IDE as you work.
Compile time checks that your library or application appropriately consumes objects and data types returned by our APIs and client libraries
Your integration does not have to be exclusively TypeScript driven to benefit from this typings repository.
Some IDEs (e.g. Visual Studio, Visual Studio Code, Sublime Text) use TypeScript typings to provide inline code completion and documentation for plain JavaScript files.
It is also possible to develop a partial, robust TypeScript integration against our services and subsequently incorporate it in a larger JavaScript project. TypeScript compiles down to plain JavaScript which can conform to ES3 and later. That output can be exported to other JavaScript projects.
The testing process involves attempting to compile a test file which assigns API fixtures generated by the API to the interfaces exported by this typings library. The tests will fail to compile if the API fixtures fail to conform to types.
npm test
MIT