UNPKG

@getaddress/autocomplete

Version:

GetAddress.io - Autocomplete plug-in

459 lines (450 loc) 271 kB
'use strict'; var _a$2;class Storage{}_a$2=Storage,Storage['key']='getaddress_local_addresses',Storage['save']=(_0x5a16ec,_0x552ef0)=>{let _0x3be762=localStorage['getItem'](_a$2['key']);if(!_0x3be762||_a$2['isObjectEmpty'](_0x3be762)){const _0x59d6bf=new Map(),_0x2b4f73=new StoredAddress(_0x5a16ec,_0x552ef0,new Date()['getTime']());_0x59d6bf['set'](_0x5a16ec['id'],_0x2b4f73);const _0x2722d7=JSON['stringify']([..._0x59d6bf]);localStorage['setItem'](_a$2['key'],_0x2722d7);}else {const _0x55129e=new Map(JSON['parse'](_0x3be762));if(!_0x55129e['get'](_0x5a16ec['id'])){if(_0x55129e['size']>=0x6){const _0xdb2d4=[..._0x55129e['entries']()]['sort']((_0x24e3cb,_0x299fd0)=>{const _0xb23204=_0x24e3cb[0x1],_0x584387=_0x299fd0[0x1];return _0xb23204['timestamp']-_0x584387['timestamp'];});_0x55129e['delete'](_0xdb2d4[0x0][0x0]);}const _0x1deff3=new StoredAddress(_0x5a16ec,_0x552ef0,new Date()['getTime']());_0x55129e['set'](_0x5a16ec['id'],_0x1deff3);const _0x5870b6=JSON['stringify']([..._0x55129e]);localStorage['setItem'](_a$2['key'],_0x5870b6);}}},Storage['list']=()=>{let _0x525beb=localStorage['getItem'](_a$2['key']);if(!_0x525beb||_a$2['isObjectEmpty'](_0x525beb))return [];const _0x5c06f2=new Map(JSON['parse'](_0x525beb)),_0x19af4a=[..._0x5c06f2['entries']()]['map'](_0x136e08=>{const _0xfe6d49=_0x136e08[0x1];return _0xfe6d49;});return _0x19af4a['reverse']();},Storage['isObjectEmpty']=_0x2409ac=>{if(!_0x2409ac)return !![];return _0x2409ac==='{}'||_0x2409ac==='\x22{}\x22';},Storage['clear']=()=>{localStorage['removeItem'](_a$2['key']);},Storage['clearExpired']=()=>{let _0x57bbd6=localStorage['getItem'](_a$2['key']);if(!_0x57bbd6||_a$2['isObjectEmpty'](_0x57bbd6))return;const _0x318f21=new Map(JSON['parse'](_0x57bbd6));let _0x56f3c9=![];_0x318f21['forEach']((_0x1bbedb,_0x3d8635)=>{const _0x74cef9=_0x1bbedb;let _0x286f61=new Date();var _0x4644c7=new Date(new Date()['setDate'](_0x286f61['getDate']()-0x7));_0x4644c7['getTime']()>_0x74cef9['timestamp']&&(_0x318f21['delete'](_0x3d8635),_0x56f3c9=!![]);});if(_0x56f3c9){if(_0x318f21['size']>0x0){const _0x51ec9a=JSON['stringify']([..._0x318f21]);localStorage['setItem'](_a$2['key'],_0x51ec9a);}else localStorage['removeItem'](_a$2['key']);}},Storage['remove']=_0x29d527=>{let _0x3d8724=localStorage['getItem'](_a$2['key']);if(!_0x3d8724||_a$2['isObjectEmpty'](_0x3d8724))return;const _0x577299=new Map(JSON['parse'](_0x3d8724));let _0xa954b1=![];_0x577299['forEach']((_0x4dbd32,_0x269cd6)=>{_0x269cd6===_0x29d527&&(_0x577299['delete'](_0x29d527),_0xa954b1=!![]);});if(_0xa954b1){if(_0x577299['size']>0x0){const _0xe85c54=JSON['stringify']([..._0x577299]);localStorage['setItem'](_a$2['key'],_0xe85c54);}else localStorage['removeItem'](_a$2['key']);}};class StoredAddress{constructor(_0x1fadb2,_0x299994,_0x59f13e){this['suggestion']=_0x1fadb2,this['address']=_0x299994,this['timestamp']=_0x59f13e;}} class List{constructor(_0x1cb80d,_0x44198b){this['options']=_0x1cb80d,this['instance']=_0x44198b,this['list']=document['createElement']('DIV'),this['ul']=document['createElement']('DIV'),this['style']=document['createElement']('style'),this['iconStyle']=document['createElement']('style'),this['element']=this['list'],this['selectedIndex']=-0x1,this['handleKeyDown']=_0x18c98e=>{switch(_0x18c98e['key']){case'PageUp':this['handlePageUp'](_0x18c98e);break;case'PageDown':this['handlePageDown'](_0x18c98e);break;}},this['handlePageDown']=_0x5491f2=>{this['ul']['children']['length']>0x0&&(this['setSelectedIndex'](this['lastIndex']()),_0x5491f2['preventDefault']());},this['handlePageUp']=_0x3f89f5=>{this['ul']['children']['length']>0x0&&(this['setSelectedIndex'](0x0),_0x3f89f5['preventDefault']());},this['populate']=_0x5b6fff=>{this['clear']();_0x5b6fff['length']>0x0&&this['show']();_0x5b6fff['forEach'](_0x4f4c76=>{this['ul']['insertBefore'](_0x4f4c76,null);});if(this['options']['footer_template']){var _0x55a272=document['createElement']('DIV');_0x55a272['innerHTML']=this['options']['footer_template'](_0x5b6fff),this['list']['insertAdjacentElement']('beforeend',_0x55a272);}},this['show']=()=>{this['list']['style']['visibility']='visible';},this['removeFocusedClassName']=()=>{List['removeFocusedClassName'](this);},this['clear']=()=>{this['ul']['replaceChildren'](...[]),this['hide'](),this['resetSelectedIndex']();},this['hide']=()=>{this['list']['style']['visibility']='hidden';},this['listItemCss']=_0x1077ad=>{if(_0x1077ad!==0x0)return '';const _0x358dda='\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20List\x20Item\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20.ga-autocomplete-list-item:hover\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:var(--ga-autocomplete-list-item-background-hover-color,rgba(10,\x2010,\x2010,\x20.04));\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20var(--ga-autocomplete-list-item-hover-cursor,pointer);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outline:var(--ga-autocomplete-list-item-hover-outline,0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20.ga-autocomplete-list-item-focused\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background-color:var(--ga-autocomplete-list-item-background-focused-color,rgba(10,\x2010,\x2010,\x20.12));\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outline:var(--ga-autocomplete-list-item-focused-outline,0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}';return _0x358dda;},this['iconCss']=_0x448b00=>{if(_0x448b00!==0x0)return '';const _0x5a3745='\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*icons*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@font-face\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20\x27getAddress\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20src:\x20url(\x27data:application/octet-stream;base64,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\x27)\x20format(\x27woff\x27),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20url(\x27data:application/octet-stream;base64,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\x27)\x20format(\x27truetype\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.ga-autocomplete-list-item\x20.ga-autocomplete-location-icon:before\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20var(--ga-autocomplete-location-icon-font-familiy,getAddress);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content:\x20\x27\x5cf031\x27;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--ga-autocomplete-location-item-color,#EA4335);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.ga-autocomplete-history-item\x20.ga-autocomplete-location-icon:before\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20var(--ga-autocomplete-location-icon-font-familiy,getAddress);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content:\x20\x27\x5ce802\x27;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--ga-autocomplete-location-history-item-color,grey);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}';return _0x5a3745;},this['list']['id']='ga-autocomplete-list-'+_0x44198b,this['list']['setAttribute']('role','listbox'),this['list']['addEventListener']('keydown',this['handleKeyDown']),this['list']['className']='ga-autocomplete-list',this['ul']['classList']['add']('ga-autocomplete-scroll'),this['list']['appendChild'](this['ul']),Storage['clearExpired']();}['destroy'](){this['list']['removeEventListener']('keydown',this['handleKeyDown']),this['list']['remove'](),this['style']['remove']();}static['setFocus'](_0x268b49,_0x56df24,_0x1a48d0){if(_0x268b49>-0x1&&_0x56df24['ul']['children']['length']>0x0){List['removeFocusedClassName'](_0x56df24);let _0x386541=_0x56df24['ul']['children'][_0x268b49];List['addFocusedClassName'](_0x386541),_0x386541['focus']({'focusVisible':!![]});return;}_0x1a48d0['setFocus']();}['resetSelectedIndex'](){this['removeFocusedClassName'](),this['selectedIndex']=-0x1;}static['setSelectedIndex'](_0x5280d1,_0xbac6ef,_0x2117d4){if(_0x5280d1==-0x1){_0x2117d4['setFocus']();return;}if(_0x5280d1>_0xbac6ef['lastIndex']()){_0xbac6ef['selectedIndex']=_0xbac6ef['lastIndex']();return;}_0xbac6ef['selectedIndex']=_0x5280d1,_0xbac6ef['setFocus']();}['lastIndex'](){let _0x59c104=0x1;return this['options']['footer_template']&&(_0x59c104=0x2),this['ul']['children']['length']-_0x59c104;}['getSelectedIndex'](){return this['selectedIndex'];}['containsActiveElment'](){return this['ul']['contains'](document['activeElement']);}['dispatchSelected'](_0x1760b2,_0x499299,_0x346eb8){const _0x1313bd=_0x499299,_0x31aed7=new Event('getaddress-autocomplete-selected',{'bubbles':!![]});_0x31aed7['address']=_0x346eb8,_0x31aed7['data']=_0x1313bd,_0x31aed7['id']=_0x1760b2,this['element']['dispatchEvent'](_0x31aed7),this['options']['selected']&&this['options']['selected'](_0x346eb8);}['dispatchSelectedFailed'](_0x77ea3b,_0x13332c,_0x37f8bf){const _0x5f569b=new Event('getaddress-autocomplete-selected-failed',{'bubbles':!![]});_0x5f569b['status']=_0x13332c,_0x5f569b['message']=_0x37f8bf,_0x5f569b['id']=_0x77ea3b,this['element']['dispatchEvent'](_0x5f569b),this['options']['selected_failed']&&this['options']['selected_failed'](_0x77ea3b,_0x13332c,_0x37f8bf);}['dispatchSuggestions'](_0x50db9b,_0x4531ea){const _0x3ed1a9=_0x50db9b,_0x3b46fb=new Event('getaddress-autocomplete-suggestions',{'bubbles':!![]});_0x3b46fb['suggestions']=_0x4531ea,_0x3b46fb['data']=_0x3ed1a9,this['element']['dispatchEvent'](_0x3b46fb),this['options']['suggested']&&this['options']['suggested'](_0x4531ea);}['dispatchSuggestionsFailed'](_0x210350,_0x4e07cf,_0x4cbb0e){const _0x32836b=new Event('getaddress-autocomplete-suggestions-failed',{'bubbles':!![]});_0x32836b['status']=_0x4e07cf,_0x32836b['message']=_0x4cbb0e,_0x32836b['data']=_0x210350,this['element']['dispatchEvent'](_0x32836b),this['options']['suggested_failed']&&this['options']['suggested_failed'](_0x210350,_0x4e07cf,_0x4cbb0e);}}List['addFocusedClassName']=_0x1b4a98=>{_0x1b4a98['classList']['add']('ga-autocomplete-list-item-focused');},List['removeFocusedClassName']=_0x438a34=>{const _0x516dc8=_0x438a34['ul']['children'];for(let _0xa4504f=0x0;_0xa4504f<_0x516dc8['length'];_0xa4504f++){_0x516dc8[_0xa4504f]['classList']['remove']('ga-autocomplete-list-item-focused');}}; class ItemContainer{constructor(_0x4ebc57,_0xe7938d){this['input']=_0x4ebc57,this['index']=_0xe7938d,this['container']=document['createElement']('DIV'),this['element']=this['container'],this['handleFocus']=_0x569fb8=>{this['input']['list']['setSelectedIndex'](this['index']);},this['handleKeyDown']=_0x830b26=>{switch(_0x830b26['key']){case'ArrowUp':this['handleUpKey'](_0x830b26);break;case'ArrowDown':this['handleDownKey'](_0x830b26);break;case'Enter':this['handleEnterKey'](_0x830b26);break;}},this['handleDownKey']=_0x4b4232=>{this['input']['list']['setSelectedIndex'](this['index']+0x1),_0x4b4232['preventDefault']();},this['handleUpKey']=_0x49bccd=>{this['input']['list']['setSelectedIndex'](this['index']-0x1),_0x49bccd['preventDefault']();},this['container']['addEventListener']('keydown',this['handleKeyDown']),this['container']['addEventListener']('focus',this['handleFocus']),this['container']['tabIndex']=-0x1,this['container']['className']='ga-autocomplete-list-item';}['destroy'](){this['container']['removeEventListener']('keydown',this['handleKeyDown']),this['container']['removeEventListener']('focus',this['handleFocus']),this['container']['remove']();}}ItemContainer['getAddress']=(_0xf348ee,_0x26bb61,_0x121bdf)=>{_0xf348ee['dispatchSelected'](_0x26bb61['id'],_0x121bdf),_0xf348ee['clearList']();}; var __awaiter$b=undefined&&undefined['__awaiter']||function(_0x1a2876,_0x472a68,_0x432c09,_0x2d9f93){function _0x4dca16(_0x1277b9){return _0x1277b9 instanceof _0x432c09?_0x1277b9:new _0x432c09(function(_0xcf759e){_0xcf759e(_0x1277b9);});}return new(_0x432c09||(_0x432c09=Promise))(function(_0x461d86,_0x32d473){function _0x1e1cdc(_0x5c421f){try{_0x5aacf8(_0x2d9f93['next'](_0x5c421f));}catch(_0x10dce0){_0x32d473(_0x10dce0);}}function _0x4de523(_0x130ef6){try{_0x5aacf8(_0x2d9f93['throw'](_0x130ef6));}catch(_0x3b920f){_0x32d473(_0x3b920f);}}function _0x5aacf8(_0x1a7e5a){_0x1a7e5a['done']?_0x461d86(_0x1a7e5a['value']):_0x4dca16(_0x1a7e5a['value'])['then'](_0x1e1cdc,_0x4de523);}_0x5aacf8((_0x2d9f93=_0x2d9f93['apply'](_0x1a2876,_0x472a68||[]))['next']());});};class AnchoredItemContainer extends ItemContainer{constructor(_0x31a6a2,_0x127f7f,_0x3d7c5e,_0x5da380,_0x5a55f3){super(_0x127f7f,_0x5a55f3),this['client']=_0x31a6a2,this['suggestion']=_0x3d7c5e,this['options']=_0x5da380,this['handleEnterKey']=_0x1ea2c7=>__awaiter$b(this,void 0x0,void 0x0,function*(){_0x1ea2c7['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x1b8a7a=>__awaiter$b(this,void 0x0,void 0x0,function*(){yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['getAddress']=()=>__awaiter$b(this,void 0x0,void 0x0,function*(){const _0x2f75ee=yield this['client']['get'](this['suggestion']['id']);if(!_0x2f75ee['isSuccess']){const _0x4c7f3f=_0x2f75ee['toFailed']();this['input']['dispatchSelectedFailed'](this['suggestion']['id'],_0x4c7f3f['status'],_0x4c7f3f['message']);return;}let _0x4d65ff=_0x2f75ee['toSuccess']();this['options']['enable_history']&&Storage['save'](this['suggestion'],_0x4d65ff['address']),ItemContainer['getAddress'](this['input'],this['suggestion'],_0x4d65ff['address']);}),this['container']['innerHTML']=_0x5da380['item_template'](_0x3d7c5e),this['container']['classList']['add']('ga-autocomplete-anchored-list-item'),_0x5da380['list_item_style']&&this['container']['setAttribute']('style',_0x5da380['list_item_style']),this['container']['addEventListener']('click',this['handleClick']);}} var __awaiter$a=undefined&&undefined['__awaiter']||function(_0x4456df,_0x4a5dcf,_0x320f35,_0x201b89){function _0x56ee39(_0x54e4f0){return _0x54e4f0 instanceof _0x320f35?_0x54e4f0:new _0x320f35(function(_0x78bf01){_0x78bf01(_0x54e4f0);});}return new(_0x320f35||(_0x320f35=Promise))(function(_0x4d6b95,_0x28d6e1){function _0xdc5b6c(_0xc01279){try{_0x4cb779(_0x201b89['next'](_0xc01279));}catch(_0x1e0a44){_0x28d6e1(_0x1e0a44);}}function _0x5d804b(_0x54b35a){try{_0x4cb779(_0x201b89['throw'](_0x54b35a));}catch(_0x57b02f){_0x28d6e1(_0x57b02f);}}function _0x4cb779(_0x189e20){_0x189e20['done']?_0x4d6b95(_0x189e20['value']):_0x56ee39(_0x189e20['value'])['then'](_0xdc5b6c,_0x5d804b);}_0x4cb779((_0x201b89=_0x201b89['apply'](_0x4456df,_0x4a5dcf||[]))['next']());});};class AnchoredHistoryContainer extends ItemContainer{constructor(_0x430deb,_0x54c45a,_0x446a3c,_0x3c91cc){var _0x20f409;super(_0x430deb,_0x3c91cc),this['storedAddress']=_0x54c45a,this['options']=_0x446a3c,this['handleEnterKey']=_0x178b7e=>__awaiter$a(this,void 0x0,void 0x0,function*(){_0x178b7e['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x27fc62=>__awaiter$a(this,void 0x0,void 0x0,function*(){yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['getAddress']=()=>__awaiter$a(this,void 0x0,void 0x0,function*(){yield ItemContainer['getAddress'](this['input'],this['storedAddress']['suggestion'],this['storedAddress']['address']);});const _0x4f85b6=(_0x20f409=_0x446a3c['history_item_template'])!==null&&_0x20f409!==void 0x0?_0x20f409:_0x446a3c['item_template'];this['container']['innerHTML']=_0x4f85b6(_0x54c45a['suggestion']),this['container']['classList']['add']('ga-autocomplete-history-item'),this['container']['classList']['add']('ga-autocomplete-anchored-history-item'),_0x446a3c['history_item_style']&&this['container']['setAttribute']('style',_0x446a3c['history_item_style']),this['container']['addEventListener']('click',this['handleClick']);}} /* eslint-disable class-methods-use-this */ class Result { constructor(isSuccess) { this.isSuccess = isSuccess; } } class Success extends Result { constructor() { super(true); } } class AutocompleteSuccess extends Success { constructor(suggestions) { super(); this.suggestions = suggestions; } toSuccess() { return this; } toFailed() { throw new Error('Did not fail'); } } class LocationSuccess extends Success { constructor(suggestions) { super(); this.suggestions = suggestions; } toSuccess() { return this; } toFailed() { throw new Error('Did not fail'); } } class GetSuccess extends Success { constructor(address) { super(); this.address = address; } toSuccess() { return this; } toFailed() { throw new Error('Did not fail'); } } class GetLocationSuccess extends Success { constructor(location) { super(); this.location = location; } toSuccess() { return this; } toFailed() { throw new Error('Did not fail'); } } class GetLocationFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('Not a success'); } toFailed() { return this; } } class AutocompleteFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('Not a success'); } toFailed() { return this; } } class LocationFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('Not a success'); } toFailed() { return this; } } class GetFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('Not a success'); } toFailed() { return this; } } class FindSuccess extends Success { constructor(addresses) { super(); this.addresses = addresses; } toSuccess() { return this; } toFailed() { throw new Error('failed'); } } class FindFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('failed'); } toFailed() { return this; } } class TypeaheadSuccess extends Success { constructor(results) { super(); this.results = results; } toSuccess() { return this; } toFailed() { throw new Error('failed'); } } class TypeaheadFailed extends Result { constructor(status, message) { super(false); this.status = status; this.message = message; } toSuccess() { throw new Error('failed'); } toFailed() { return this; } } var __awaiter$9 = function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; class Client { constructor(api_key, autocomplete_url = 'https://api.getaddress.io/autocomplete/{query}', get_url = 'https://api.getaddress.io/get/{id}', location_url = 'https://api.getaddress.io/location/{query}', get_location_url = 'https://api.getaddress.io/get-location/{id}', typeahead_url = 'https://api.getaddress.io/typeahead/{term}') { this.api_key = api_key; this.autocomplete_url = autocomplete_url; this.get_url = get_url; this.location_url = location_url; this.get_location_url = get_location_url; this.typeahead_url = typeahead_url; this.autocompleteResponse = undefined; this.getResponse = undefined; this.locationResponse = undefined; this.getLocationResponse = undefined; this.typeaheadResponse = undefined; this.autocompleteAbortController = new AbortController(); this.getAbortController = new AbortController(); this.typeaheadAbortController = new AbortController(); this.locationAbortController = new AbortController(); this.getLocationAbortController = new AbortController(); } location(query_1) { return __awaiter$9(this, arguments, void 0, function* (query, options = {}) { try { const combinedOptions = Object.assign({ all: true }, options); let url = this.location_url.replace(/{query}/i, query); if (this.api_key) { if (url.includes('?')) { url = `${url}&api-key=${this.api_key}`; } else { url = `${url}?api-key=${this.api_key}`; } } if (this.locationResponse !== undefined) { this.locationResponse = undefined; this.locationAbortController.abort(); this.locationAbortController = new AbortController(); } this.locationResponse = yield fetch(url, { method: 'post', signal: this.locationAbortController.signal, headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(combinedOptions), }); if (this.locationResponse.status === 200) { const json = yield this.locationResponse.json(); const suggestions = json.suggestions; return new LocationSuccess(suggestions); } const json = yield this.locationResponse.json(); return new LocationFailed(this.locationResponse.status, json.Message); } catch (err) { if (err instanceof Error) { if (err.name === 'AbortError') { return new LocationSuccess([]); } return new LocationFailed(401, err.message); } return new LocationFailed(401, 'Unauthorised'); } finally { this.locationResponse = undefined; } }); } getLocation(id) { return __awaiter$9(this, void 0, void 0, function* () { try { let url = this.get_location_url.replace(/{id}/i, id); if (this.api_key) { if (url.includes('?')) { url = `${url}&api-key=${this.api_key}`; } else { url = `${url}?api-key=${this.api_key}`; } } if (this.getLocationResponse !== undefined) { this.getLocationResponse = undefined; this.getLocationAbortController.abort(); this.getLocationAbortController = new AbortController(); } this.getLocationResponse = yield fetch(url, { method: 'get', signal: this.getLocationAbortController.signal, headers: { 'Content-Type': 'application/json', }, }); if (this.getLocationResponse.status === 200) { const json = yield this.getLocationResponse.json(); const loaction = json; return new GetLocationSuccess(loaction); } const json = yield this.getLocationResponse.json(); return new GetLocationFailed(this.getLocationResponse.status, json.Message); } catch (err) { if (err instanceof Error) { return new GetLocationFailed(401, err.message); } return new GetLocationFailed(401, 'Unauthorised'); } finally { this.getResponse = undefined; } }); } autocomplete(query_1) { return __awaiter$9(this, arguments, void 0, function* (query, options = {}) { try { const combinedOptions = Object.assign({ all: true }, options); let url = this.autocomplete_url.replace(/{query}/i, query); if (this.api_key) { if (url.includes('?')) { url = `${url}&api-key=${this.api_key}`; } else { url = `${url}?api-key=${this.api_key}`; } } if (this.autocompleteResponse !== undefined) { this.autocompleteResponse = undefined; this.autocompleteAbortController.abort(); this.autocompleteAbortController = new AbortController(); } this.autocompleteResponse = yield fetch(url, { method: 'post', signal: this.autocompleteAbortController.signal, headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(combinedOptions) }); if (this.autocompleteResponse.status === 200) { const json = yield this.autocompleteResponse.json(); const suggestions = json.suggestions; return new AutocompleteSuccess(suggestions); } const json = yield this.autocompleteResponse.json(); return new AutocompleteFailed(this.autocompleteResponse.status, json.Message); } catch (err) { if (err instanceof Error) { if (err.name === 'AbortError') { return new AutocompleteSuccess([]); } return new AutocompleteFailed(401, err.message); } return new AutocompleteFailed(401, 'Unauthorised'); } finally { this.autocompleteResponse = undefined; } }); } get(id_1) { return __awaiter$9(this, arguments, void 0, function* (id, options = {}) { try { let url = this.get_url.replace(/{id}/i, id); if (this.api_key) { if (url.includes('?')) { url = `${url}&api-key=${this.api_key}`; } else { url = `${url}?api-key=${this.api_key}`; } } if (options.remember === false) { url = `${url}&remember=false`; } if (this.getResponse !== undefined) { this.getResponse = undefined; this.getAbortController.abort(); this.getAbortController = new AbortController(); } this.getResponse = yield fetch(url, { method: 'get', signal: this.getAbortController.signal, headers: { 'Content-Type': 'application/json', }, }); if (this.getResponse.status === 200) { const json = yield this.getResponse.json(); const address = json; return new GetSuccess(address); } const json = yield this.getResponse.json(); return new GetFailed(this.getResponse.status, json.Message); } catch (err) { if (err instanceof Error) { return new GetFailed(401, err.message); } return new GetFailed(401, 'Unauthorised'); } finally { this.getResponse = undefined; } }); } find(postcode) { return __awaiter$9(this, void 0, void 0, function* () { try { const response = yield fetch(`https://api.getaddress.io/find/${postcode}?api-key=${this.api_key}&expand=true`); if (response.status === 200) { const json = yield response.json(); const addresses = json; return new FindSuccess(addresses); } const json = yield response.json(); return new FindFailed(response.status, json.Message); } catch (err) { if (err instanceof Error) { return new FindFailed(401, err.message); } return new FindFailed(401, 'Unauthorised'); } }); } typeahead(term_1) { return __awaiter$9(this, arguments, void 0, function* (term, options = {}) { try { let url = this.typeahead_url.replace(/{term}/i, term); if (this.api_key) { if (url.includes('?')) { url = `${url}&api-key=${this.api_key}`; } else { url = `${url}?api-key=${this.api_key}`; } } if (this.typeaheadResponse !== undefined) { this.typeaheadResponse = undefined; this.typeaheadAbortController.abort(); this.typeaheadAbortController = new AbortController(); } this.typeaheadResponse = yield fetch(url, { method: 'post', signal: this.typeaheadAbortController.signal, headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(options), }); if (this.typeaheadResponse.status === 200) { const json = yield this.typeaheadResponse.json(); const results = json; return new TypeaheadSuccess(results); } const json = yield this.typeaheadResponse.json(); return new TypeaheadFailed(this.typeaheadResponse.status, json.Message); } catch (err) { if (err instanceof Error) { if (err.name === 'AbortError') { return new TypeaheadSuccess([]); } return new TypeaheadFailed(401, err.message); } return new TypeaheadFailed(401, 'Unauthorised'); } finally { this.typeaheadResponse = undefined; } }); } } var __awaiter$8=undefined&&undefined['__awaiter']||function(_0xfb978d,_0x581b10,_0x31aa18,_0x48e9e4){function _0x4dc43f(_0x1393a1){return _0x1393a1 instanceof _0x31aa18?_0x1393a1:new _0x31aa18(function(_0x14666c){_0x14666c(_0x1393a1);});}return new(_0x31aa18||(_0x31aa18=Promise))(function(_0x528789,_0x1b82c9){function _0x5b0680(_0x4224af){try{_0x277646(_0x48e9e4['next'](_0x4224af));}catch(_0x18f802){_0x1b82c9(_0x18f802);}}function _0x448906(_0x5940c4){try{_0x277646(_0x48e9e4['throw'](_0x5940c4));}catch(_0x569903){_0x1b82c9(_0x569903);}}function _0x277646(_0x8ebd11){_0x8ebd11['done']?_0x528789(_0x8ebd11['value']):_0x4dc43f(_0x8ebd11['value'])['then'](_0x5b0680,_0x448906);}_0x277646((_0x48e9e4=_0x48e9e4['apply'](_0xfb978d,_0x581b10||[]))['next']());});};class Suggester{constructor(_0x548bdd,_0x3def2b,_0x546692){this['input']=_0x3def2b,this['options']=_0x546692,this['suggestions']=_0x2a16c0=>__awaiter$8(this,void 0x0,void 0x0,function*(){return new Promise((_0x486806,_0x52da8e)=>__awaiter$8(this,void 0x0,void 0x0,function*(){try{let _0x1d82a3=_0x2a16c0?0x0:this['options']['delay'];clearTimeout(this['filterTimer']),this['filterTimer']=setTimeout(()=>__awaiter$8(this,void 0x0,void 0x0,function*(){const _0x1f5483=yield this['getElements']();_0x486806(_0x1f5483);return;}),_0x1d82a3);}catch(_0x5c7ce9){_0x52da8e(_0x5c7ce9);}}));}),this['hasMinimumCharacters']=_0x467c60=>{var _0x40ec84;!_0x467c60&&(_0x467c60='');var _0x3a95b7=(_0x40ec84=this['options']['minimum_characters'])!==null&&_0x40ec84!==void 0x0?_0x40ec84:0x2;return _0x467c60['length']>=_0x3a95b7;},this['getSuggestions']=_0xe6661d=>{return new Promise((_0x271eef,_0x227cf7)=>__awaiter$8(this,void 0x0,void 0x0,function*(){var _0x129eba,_0x1bd09b,_0x2fd661;try{const _0x1883f6={'all':!![],'top':this['options']['suggestion_count'],'template':this['options']['suggestion_template']};this['options']['filter']&&(_0x1883f6['filter']=this['options']['filter']);this['options']['show_postcode']&&(_0x1883f6['show_postcode']=this['options']['show_postcode']);if(!_0x1883f6['location']){const _0x158961=Storage['list']();if(_0x158961['length']>0x0){const _0x1a3ba4=_0x158961[0x0];_0x1883f6['location']={'latitude':_0x1a3ba4['address']['latitude'],'longitude':_0x1a3ba4['address']['longitude']};}}const _0x37fa01=yield this['client']['autocomplete'](_0xe6661d,_0x1883f6);if(!_0x37fa01['isSuccess']){const _0x5e6f9e=_0x37fa01['toFailed']();_0x227cf7(_0x5e6f9e),(_0x129eba=this['input']['list'])===null||_0x129eba===void 0x0?void 0x0:_0x129eba['dispatchSuggestionsFailed'](_0xe6661d,_0x5e6f9e['status'],_0x5e6f9e['message']);return;}const _0x23f0cd=_0x37fa01['toSuccess']()['suggestions'];if(this['options']['highlight_search_text'])for(let _0x5aa7bb of _0x23f0cd){_0x5aa7bb['address']=this['highlightSuggestion'](_0xe6661d,_0x5aa7bb['address']);}_0x271eef(_0x23f0cd),(_0x1bd09b=this['input']['list'])===null||_0x1bd09b===void 0x0?void 0x0:_0x1bd09b['dispatchSuggestions'](_0xe6661d,_0x23f0cd);return;}catch(_0x2ea62e){_0x227cf7(_0x2ea62e),(_0x2fd661=this['input']['list'])===null||_0x2fd661===void 0x0?void 0x0:_0x2fd661['dispatchSuggestionsFailed'](_0xe6661d,0x190,_0x2ea62e);return;}}));},this['highlightSuggestion']=(_0x4e55ea,_0x18aaa5)=>{const _0x3aaf3b='<mark>',_0x6d5ae8='</mark>';let _0x19c3a6=_0x4e55ea['trim']()['replace'](/ /g,',*\x20+');const _0x5c1eae=new RegExp('\x5cb('+_0x19c3a6+')','gi');return _0x18aaa5=_0x18aaa5['replace'](_0x5c1eae,_0x3aaf3b+'$1'+_0x6d5ae8),_0x18aaa5;},this['client']=new Client(_0x548bdd);}} var __awaiter$7=undefined&&undefined['__awaiter']||function(_0x47f3f3,_0x1e97c5,_0x50af8d,_0x1a00e6){function _0x5451a2(_0x948457){return _0x948457 instanceof _0x50af8d?_0x948457:new _0x50af8d(function(_0x1b0f0a){_0x1b0f0a(_0x948457);});}return new(_0x50af8d||(_0x50af8d=Promise))(function(_0x3c84af,_0x249b2f){function _0x36e84d(_0x80da4){try{_0x4619c2(_0x1a00e6['next'](_0x80da4));}catch