@ideal-postcodes/postcode-lookup
Version:
UK Postcode Lookup plugin from Ideal Postcodes
61 lines (60 loc) • 1.36 kB
JavaScript
/**
* @module Utility
*/
import { isString } from "@ideal-postcodes/jsutil";
/**
* Formats an address as a suggestion to be displayed in postcode lookup select
* menu
*/
export const postcodeSearchFormatter = (address) => {
const result = [address.line_1];
if (address.line_2 !== "")
result.push(address.line_2);
if (address.line_3 !== "")
result.push(address.line_3);
return result.join(", ");
};
/**
* Formats an address as a suggestion to be displayed in address search select
* menu
*/
export const addressSearchFormatter = (address) => {
const result = [address.line_1];
if (address.line_2 !== "")
result.push(address.line_2);
result.push(address.post_town);
result.push(address.postcode_outward);
return result.join(", ");
};
/**
* @hidden
*/
export const preventDefault = (e) => {
if (e.preventDefault)
e.preventDefault();
return false;
};
/**
* Extract string value of address attirube
*
* @hidden
*/
export const toValue = (a, key) => {
const v = a[key];
if (isString(v))
return v;
if (v === undefined)
return "";
return v.toString();
};
/**
* Drains select elment of options
*
* @hidden
*/
export const removeOptions = (e) => {
let i;
const L = e.options.length - 1;
for (i = L; i >= 0; i--)
e.remove(i);
};