usps-webtools-promise
Version:
API wrapper for the USPS Web-Tools, with Promises!
35 lines (34 loc) • 1.2 kB
JavaScript
import properCase from "../utils/proper-case.js";
import callUSPS from "../utils/request.js";
export default async function (address) {
let response;
try {
response = (await callUSPS("ZipCodeLookup", "ZipCodeLookup", "Address", this.config, {
Address: {
Address1: address.Address2 ?? "",
Address2: address.Address1,
City: address.City,
State: address.State,
},
}));
if (response) {
if (this.config.properCase) {
response.Address1 = response.Address2
? properCase(response.Address2)
: undefined;
response.Address2 = response.Address1
? properCase(response.Address1)
: undefined;
response.City = response.City ? properCase(response.City) : undefined;
response.FirmName = response.FirmName
? properCase(response.FirmName)
: undefined;
}
return response;
}
throw new Error("Can't find results");
}
catch (error) {
return error;
}
}