UNPKG

@firestitch/address

Version:
32 lines 3.8 kB
import { AddressFormat } from './../enums/address-format.enum'; export function addressFormat(address, options = {}) { options = { format: AddressFormat.OneLine, ...options, }; const parts = ['name', 'street', 'address2', 'address3', 'city', 'region', 'zip', 'country']; let addressParts = []; let lines = []; if (address) { parts.forEach((part) => { if (address[part]) { addressParts.push(address[part]); } }); } if (options.includeFirst) { addressParts = addressParts.slice(0, options.includeFirst); } if (addressParts.length) { if (options.format === AddressFormat.TwoLine) { lines = [[addressParts.shift()]]; } lines.push(addressParts); } return lines .map((line) => { return line.join(', '); }) .join('\n'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvYWRkcmVzcy1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRy9ELE1BQU0sVUFBVSxhQUFhLENBQzNCLE9BQU8sRUFDUCxVQUdJLEVBQUU7SUFFTixPQUFPLEdBQUc7UUFDUixNQUFNLEVBQUUsYUFBYSxDQUFDLE9BQU87UUFDN0IsR0FBRyxPQUFPO0tBQ1gsQ0FBQztJQUVGLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdGLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN0QixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFZixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0MsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLEtBQUs7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZHJlc3NGb3JtYXQgfSBmcm9tICcuLy4uL2VudW1zL2FkZHJlc3MtZm9ybWF0LmVudW0nO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRyZXNzRm9ybWF0KFxuICBhZGRyZXNzLFxuICBvcHRpb25zOiB7XG4gICAgZm9ybWF0PzogQWRkcmVzc0Zvcm1hdDtcbiAgICBpbmNsdWRlRmlyc3Q/OiBudW1iZXI7XG4gIH0gPSB7fSk6IHN0cmluZyB7XG5cbiAgb3B0aW9ucyA9IHtcbiAgICBmb3JtYXQ6IEFkZHJlc3NGb3JtYXQuT25lTGluZSxcbiAgICAuLi5vcHRpb25zLFxuICB9O1xuXG4gIGNvbnN0IHBhcnRzID0gWyduYW1lJywgJ3N0cmVldCcsICdhZGRyZXNzMicsICdhZGRyZXNzMycsICdjaXR5JywgJ3JlZ2lvbicsICd6aXAnLCAnY291bnRyeSddO1xuICBsZXQgYWRkcmVzc1BhcnRzID0gW107XG4gIGxldCBsaW5lcyA9IFtdO1xuXG4gIGlmIChhZGRyZXNzKSB7XG4gICAgcGFydHMuZm9yRWFjaCgocGFydCkgPT4ge1xuICAgICAgaWYgKGFkZHJlc3NbcGFydF0pIHtcbiAgICAgICAgYWRkcmVzc1BhcnRzLnB1c2goYWRkcmVzc1twYXJ0XSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5pbmNsdWRlRmlyc3QpIHtcbiAgICBhZGRyZXNzUGFydHMgPSBhZGRyZXNzUGFydHMuc2xpY2UoMCwgb3B0aW9ucy5pbmNsdWRlRmlyc3QpO1xuICB9XG5cbiAgaWYgKGFkZHJlc3NQYXJ0cy5sZW5ndGgpIHtcbiAgICBpZiAob3B0aW9ucy5mb3JtYXQgPT09IEFkZHJlc3NGb3JtYXQuVHdvTGluZSkge1xuICAgICAgbGluZXMgPSBbW2FkZHJlc3NQYXJ0cy5zaGlmdCgpXV07XG4gICAgfVxuXG4gICAgbGluZXMucHVzaChhZGRyZXNzUGFydHMpO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVzXG4gICAgLm1hcCgobGluZSkgPT4ge1xuICAgICAgcmV0dXJuIGxpbmUuam9pbignLCAnKTtcbiAgICB9KVxuICAgIC5qb2luKCdcXG4nKTtcbn1cbiJdfQ==