@ideal-postcodes/postcode-lookup
Version:
UK Postcode Lookup plugin from Ideal Postcodes
69 lines (68 loc) • 1.79 kB
JavaScript
/**
* @module Utility
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeOptions = exports.toValue = exports.preventDefault = exports.addressSearchFormatter = exports.postcodeSearchFormatter = void 0;
const jsutil_1 = require("@ideal-postcodes/jsutil");
/**
* Formats an address as a suggestion to be displayed in postcode lookup select
* menu
*/
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(", ");
};
exports.postcodeSearchFormatter = postcodeSearchFormatter;
/**
* Formats an address as a suggestion to be displayed in address search select
* menu
*/
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(", ");
};
exports.addressSearchFormatter = addressSearchFormatter;
/**
* @hidden
*/
const preventDefault = (e) => {
if (e.preventDefault)
e.preventDefault();
return false;
};
exports.preventDefault = preventDefault;
/**
* Extract string value of address attirube
*
* @hidden
*/
const toValue = (a, key) => {
const v = a[key];
if ((0, jsutil_1.isString)(v))
return v;
if (v === undefined)
return "";
return v.toString();
};
exports.toValue = toValue;
/**
* Drains select elment of options
*
* @hidden
*/
const removeOptions = (e) => {
let i;
const L = e.options.length - 1;
for (i = L; i >= 0; i--)
e.remove(i);
};
exports.removeOptions = removeOptions;
;