@getaddress/autocomplete
Version:
GetAddress.io - Autocomplete plug-in
457 lines (449 loc) • 270 kB
JavaScript
var _a$2;class Storage{}_a$2=Storage,Storage['key']='getaddress_local_addresses',Storage['save']=(_0x956c5f,_0xe9a976)=>{let _0x3c2c1b=localStorage['getItem'](_a$2['key']);if(!_0x3c2c1b||_a$2['isObjectEmpty'](_0x3c2c1b)){const _0x12d0d8=new Map(),_0x2e10d4=new StoredAddress(_0x956c5f,_0xe9a976,new Date()['getTime']());_0x12d0d8['set'](_0x956c5f['id'],_0x2e10d4);const _0x423031=JSON['stringify']([..._0x12d0d8]);localStorage['setItem'](_a$2['key'],_0x423031);}else {const _0x261bf1=new Map(JSON['parse'](_0x3c2c1b));if(!_0x261bf1['get'](_0x956c5f['id'])){if(_0x261bf1['size']>=0x6){const _0x380f2d=[..._0x261bf1['entries']()]['sort']((_0x136990,_0x21b70a)=>{const _0x3ceaf1=_0x136990[0x1],_0x53a425=_0x21b70a[0x1];return _0x3ceaf1['timestamp']-_0x53a425['timestamp'];});_0x261bf1['delete'](_0x380f2d[0x0][0x0]);}const _0x50e4cd=new StoredAddress(_0x956c5f,_0xe9a976,new Date()['getTime']());_0x261bf1['set'](_0x956c5f['id'],_0x50e4cd);const _0x582843=JSON['stringify']([..._0x261bf1]);localStorage['setItem'](_a$2['key'],_0x582843);}}},Storage['list']=()=>{let _0x56a14c=localStorage['getItem'](_a$2['key']);if(!_0x56a14c||_a$2['isObjectEmpty'](_0x56a14c))return [];const _0xc8f804=new Map(JSON['parse'](_0x56a14c)),_0x1bfba3=[..._0xc8f804['entries']()]['map'](_0xc9e106=>{const _0x365329=_0xc9e106[0x1];return _0x365329;});return _0x1bfba3['reverse']();},Storage['isObjectEmpty']=_0x404622=>{if(!_0x404622)return !![];return _0x404622==='{}'||_0x404622==='\x22{}\x22';},Storage['clear']=()=>{localStorage['removeItem'](_a$2['key']);},Storage['clearExpired']=()=>{let _0x57e728=localStorage['getItem'](_a$2['key']);if(!_0x57e728||_a$2['isObjectEmpty'](_0x57e728))return;const _0x2fee5a=new Map(JSON['parse'](_0x57e728));let _0x3f353f=![];_0x2fee5a['forEach']((_0x44c1ad,_0x103504)=>{const _0x277b54=_0x44c1ad;let _0x5ba73b=new Date();var _0x3f1aaf=new Date(new Date()['setDate'](_0x5ba73b['getDate']()-0x7));_0x3f1aaf['getTime']()>_0x277b54['timestamp']&&(_0x2fee5a['delete'](_0x103504),_0x3f353f=!![]);});if(_0x3f353f){if(_0x2fee5a['size']>0x0){const _0x1e1a55=JSON['stringify']([..._0x2fee5a]);localStorage['setItem'](_a$2['key'],_0x1e1a55);}else localStorage['removeItem'](_a$2['key']);}},Storage['remove']=_0x7d4d3b=>{let _0x58bda2=localStorage['getItem'](_a$2['key']);if(!_0x58bda2||_a$2['isObjectEmpty'](_0x58bda2))return;const _0x212144=new Map(JSON['parse'](_0x58bda2));let _0x4d86fe=![];_0x212144['forEach']((_0x7c255e,_0x295f4c)=>{_0x295f4c===_0x7d4d3b&&(_0x212144['delete'](_0x7d4d3b),_0x4d86fe=!![]);});if(_0x4d86fe){if(_0x212144['size']>0x0){const _0x2c7528=JSON['stringify']([..._0x212144]);localStorage['setItem'](_a$2['key'],_0x2c7528);}else localStorage['removeItem'](_a$2['key']);}};class StoredAddress{constructor(_0x551aaa,_0xb4af7d,_0x3c0ad3){this['suggestion']=_0x551aaa,this['address']=_0xb4af7d,this['timestamp']=_0x3c0ad3;}}
class List{constructor(_0x3ad244,_0x16cc26){this['options']=_0x3ad244,this['instance']=_0x16cc26,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']=_0x2286b0=>{switch(_0x2286b0['key']){case'PageUp':this['handlePageUp'](_0x2286b0);break;case'PageDown':this['handlePageDown'](_0x2286b0);break;}},this['handlePageDown']=_0xd82d27=>{this['ul']['children']['length']>0x0&&(this['setSelectedIndex'](this['lastIndex']()),_0xd82d27['preventDefault']());},this['handlePageUp']=_0x3acbec=>{this['ul']['children']['length']>0x0&&(this['setSelectedIndex'](0x0),_0x3acbec['preventDefault']());},this['populate']=_0x3a534e=>{this['clear']();_0x3a534e['length']>0x0&&this['show']();_0x3a534e['forEach'](_0x2d1c09=>{this['ul']['insertBefore'](_0x2d1c09,null);});if(this['options']['footer_template']){var _0x1c886d=document['createElement']('DIV');_0x1c886d['innerHTML']=this['options']['footer_template'](_0x3a534e),this['list']['insertAdjacentElement']('beforeend',_0x1c886d);}},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']=_0x3749e5=>{if(_0x3749e5!==0x0)return '';const _0x4b953a='\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 _0x4b953a;},this['iconCss']=_0x330a27=>{if(_0x330a27!==0x0)return '';const _0x495c38='\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 _0x495c38;},this['list']['id']='ga-autocomplete-list-'+_0x16cc26,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'](_0x44af24,_0x5728b9,_0x113666){if(_0x44af24>-0x1&&_0x5728b9['ul']['children']['length']>0x0){List['removeFocusedClassName'](_0x5728b9);let _0x2d1946=_0x5728b9['ul']['children'][_0x44af24];List['addFocusedClassName'](_0x2d1946),_0x2d1946['focus']({'focusVisible':!![]});return;}_0x113666['setFocus']();}['resetSelectedIndex'](){this['removeFocusedClassName'](),this['selectedIndex']=-0x1;}static['setSelectedIndex'](_0x7631d2,_0x25ff4a,_0x3a48b3){if(_0x7631d2==-0x1){_0x3a48b3['setFocus']();return;}if(_0x7631d2>_0x25ff4a['lastIndex']()){_0x25ff4a['selectedIndex']=_0x25ff4a['lastIndex']();return;}_0x25ff4a['selectedIndex']=_0x7631d2,_0x25ff4a['setFocus']();}['lastIndex'](){let _0x517817=0x1;return this['options']['footer_template']&&(_0x517817=0x2),this['ul']['children']['length']-_0x517817;}['getSelectedIndex'](){return this['selectedIndex'];}['containsActiveElment'](){return this['ul']['contains'](document['activeElement']);}['dispatchSelected'](_0x3d5038,_0x4b3f89,_0x22e97b){const _0x29546c=_0x4b3f89,_0xae000d=new Event('getaddress-autocomplete-selected',{'bubbles':!![]});_0xae000d['address']=_0x22e97b,_0xae000d['data']=_0x29546c,_0xae000d['id']=_0x3d5038,this['element']['dispatchEvent'](_0xae000d),this['options']['selected']&&this['options']['selected'](_0x22e97b);}['dispatchSelectedFailed'](_0x1323bf,_0x2a547e,_0x53a4f8){const _0xf5ebc8=new Event('getaddress-autocomplete-selected-failed',{'bubbles':!![]});_0xf5ebc8['status']=_0x2a547e,_0xf5ebc8['message']=_0x53a4f8,_0xf5ebc8['id']=_0x1323bf,this['element']['dispatchEvent'](_0xf5ebc8),this['options']['selected_failed']&&this['options']['selected_failed'](_0x1323bf,_0x2a547e,_0x53a4f8);}['dispatchSuggestions'](_0xb26934,_0x2d9de0){const _0x28561c=_0xb26934,_0x1c254f=new Event('getaddress-autocomplete-suggestions',{'bubbles':!![]});_0x1c254f['suggestions']=_0x2d9de0,_0x1c254f['data']=_0x28561c,this['element']['dispatchEvent'](_0x1c254f),this['options']['suggested']&&this['options']['suggested'](_0x2d9de0);}['dispatchSuggestionsFailed'](_0x448043,_0x2cedc9,_0x164417){const _0x4efc72=new Event('getaddress-autocomplete-suggestions-failed',{'bubbles':!![]});_0x4efc72['status']=_0x2cedc9,_0x4efc72['message']=_0x164417,_0x4efc72['data']=_0x448043,this['element']['dispatchEvent'](_0x4efc72),this['options']['suggested_failed']&&this['options']['suggested_failed'](_0x448043,_0x2cedc9,_0x164417);}}List['addFocusedClassName']=_0x1690ec=>{_0x1690ec['classList']['add']('ga-autocomplete-list-item-focused');},List['removeFocusedClassName']=_0x2855c0=>{const _0x1426cb=_0x2855c0['ul']['children'];for(let _0x101a8e=0x0;_0x101a8e<_0x1426cb['length'];_0x101a8e++){_0x1426cb[_0x101a8e]['classList']['remove']('ga-autocomplete-list-item-focused');}};
class ItemContainer{constructor(_0x132c9f,_0xb111b0){this['input']=_0x132c9f,this['index']=_0xb111b0,this['container']=document['createElement']('DIV'),this['element']=this['container'],this['handleFocus']=_0x433599=>{this['input']['list']['setSelectedIndex'](this['index']);},this['handleKeyDown']=_0xd505e7=>{switch(_0xd505e7['key']){case'ArrowUp':this['handleUpKey'](_0xd505e7);break;case'ArrowDown':this['handleDownKey'](_0xd505e7);break;case'Enter':this['handleEnterKey'](_0xd505e7);break;}},this['handleDownKey']=_0xe14527=>{this['input']['list']['setSelectedIndex'](this['index']+0x1),_0xe14527['preventDefault']();},this['handleUpKey']=_0x97fb8d=>{this['input']['list']['setSelectedIndex'](this['index']-0x1),_0x97fb8d['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']=(_0x3ee12c,_0x4ba01f,_0x3044f2)=>{_0x3ee12c['dispatchSelected'](_0x4ba01f['id'],_0x3044f2),_0x3ee12c['clearList']();};
var __awaiter$b=undefined&&undefined['__awaiter']||function(_0x1d2800,_0x17659e,_0x11e4a4,_0x2ab1d9){function _0x2799ad(_0x356832){return _0x356832 instanceof _0x11e4a4?_0x356832:new _0x11e4a4(function(_0x146f2d){_0x146f2d(_0x356832);});}return new(_0x11e4a4||(_0x11e4a4=Promise))(function(_0x57f93a,_0x5eb744){function _0x374045(_0x41cbef){try{_0x1add78(_0x2ab1d9['next'](_0x41cbef));}catch(_0x1992f8){_0x5eb744(_0x1992f8);}}function _0x52d53e(_0x21a615){try{_0x1add78(_0x2ab1d9['throw'](_0x21a615));}catch(_0x1e40f8){_0x5eb744(_0x1e40f8);}}function _0x1add78(_0x50d6d8){_0x50d6d8['done']?_0x57f93a(_0x50d6d8['value']):_0x2799ad(_0x50d6d8['value'])['then'](_0x374045,_0x52d53e);}_0x1add78((_0x2ab1d9=_0x2ab1d9['apply'](_0x1d2800,_0x17659e||[]))['next']());});};class AnchoredItemContainer extends ItemContainer{constructor(_0x5dac1e,_0x23671d,_0xbe6190,_0x3dba29,_0x565f1b){super(_0x23671d,_0x565f1b),this['client']=_0x5dac1e,this['suggestion']=_0xbe6190,this['options']=_0x3dba29,this['handleEnterKey']=_0x468c1e=>__awaiter$b(this,void 0x0,void 0x0,function*(){_0x468c1e['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x4cb701=>__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 _0x968b05=yield this['client']['get'](this['suggestion']['id']);if(!_0x968b05['isSuccess']){const _0x18ff26=_0x968b05['toFailed']();this['input']['dispatchSelectedFailed'](this['suggestion']['id'],_0x18ff26['status'],_0x18ff26['message']);return;}let _0x3e2dc5=_0x968b05['toSuccess']();this['options']['enable_history']&&Storage['save'](this['suggestion'],_0x3e2dc5['address']),ItemContainer['getAddress'](this['input'],this['suggestion'],_0x3e2dc5['address']);}),this['container']['innerHTML']=_0x3dba29['item_template'](_0xbe6190),this['container']['classList']['add']('ga-autocomplete-anchored-list-item'),_0x3dba29['list_item_style']&&this['container']['setAttribute']('style',_0x3dba29['list_item_style']),this['container']['addEventListener']('click',this['handleClick']);}}
var __awaiter$a=undefined&&undefined['__awaiter']||function(_0x4e6c6b,_0x1325b0,_0x2c1cc7,_0xecfcd8){function _0x26e7e2(_0x210b94){return _0x210b94 instanceof _0x2c1cc7?_0x210b94:new _0x2c1cc7(function(_0x4e21a5){_0x4e21a5(_0x210b94);});}return new(_0x2c1cc7||(_0x2c1cc7=Promise))(function(_0xebc252,_0xcc8f16){function _0x20d471(_0xeb451e){try{_0x127be2(_0xecfcd8['next'](_0xeb451e));}catch(_0x1f2444){_0xcc8f16(_0x1f2444);}}function _0x1a4d67(_0x49221e){try{_0x127be2(_0xecfcd8['throw'](_0x49221e));}catch(_0x53aa5e){_0xcc8f16(_0x53aa5e);}}function _0x127be2(_0x566063){_0x566063['done']?_0xebc252(_0x566063['value']):_0x26e7e2(_0x566063['value'])['then'](_0x20d471,_0x1a4d67);}_0x127be2((_0xecfcd8=_0xecfcd8['apply'](_0x4e6c6b,_0x1325b0||[]))['next']());});};class AnchoredHistoryContainer extends ItemContainer{constructor(_0x1de061,_0x5808c7,_0x27cad1,_0xde4b86){var _0xbe548d;super(_0x1de061,_0xde4b86),this['storedAddress']=_0x5808c7,this['options']=_0x27cad1,this['handleEnterKey']=_0x545f94=>__awaiter$a(this,void 0x0,void 0x0,function*(){_0x545f94['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x5e7718=>__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 _0x35527d=(_0xbe548d=_0x27cad1['history_item_template'])!==null&&_0xbe548d!==void 0x0?_0xbe548d:_0x27cad1['item_template'];this['container']['innerHTML']=_0x35527d(_0x5808c7['suggestion']),this['container']['classList']['add']('ga-autocomplete-history-item'),this['container']['classList']['add']('ga-autocomplete-anchored-history-item'),_0x27cad1['history_item_style']&&this['container']['setAttribute']('style',_0x27cad1['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(_0x1a639f,_0x4db242,_0x54b58b,_0xc7570b){function _0xc45193(_0x29795e){return _0x29795e instanceof _0x54b58b?_0x29795e:new _0x54b58b(function(_0x570694){_0x570694(_0x29795e);});}return new(_0x54b58b||(_0x54b58b=Promise))(function(_0x26fd09,_0x5bf3ac){function _0x370887(_0x4555a4){try{_0x29e102(_0xc7570b['next'](_0x4555a4));}catch(_0x125adc){_0x5bf3ac(_0x125adc);}}function _0xcc6afe(_0x4136b3){try{_0x29e102(_0xc7570b['throw'](_0x4136b3));}catch(_0x56d906){_0x5bf3ac(_0x56d906);}}function _0x29e102(_0xd105eb){_0xd105eb['done']?_0x26fd09(_0xd105eb['value']):_0xc45193(_0xd105eb['value'])['then'](_0x370887,_0xcc6afe);}_0x29e102((_0xc7570b=_0xc7570b['apply'](_0x1a639f,_0x4db242||[]))['next']());});};class Suggester{constructor(_0x3cab3b,_0x4c2acd,_0x5eab33){this['input']=_0x4c2acd,this['options']=_0x5eab33,this['suggestions']=_0x301f2e=>__awaiter$8(this,void 0x0,void 0x0,function*(){return new Promise((_0x456229,_0x195cd8)=>__awaiter$8(this,void 0x0,void 0x0,function*(){try{let _0x2b94c2=_0x301f2e?0x0:this['options']['delay'];clearTimeout(this['filterTimer']),this['filterTimer']=setTimeout(()=>__awaiter$8(this,void 0x0,void 0x0,function*(){const _0x4d0d32=yield this['getElements']();_0x456229(_0x4d0d32);return;}),_0x2b94c2);}catch(_0x26837b){_0x195cd8(_0x26837b);}}));}),this['hasMinimumCharacters']=_0x2bfaa2=>{var _0x13eeef;!_0x2bfaa2&&(_0x2bfaa2='');var _0x133b10=(_0x13eeef=this['options']['minimum_characters'])!==null&&_0x13eeef!==void 0x0?_0x13eeef:0x2;return _0x2bfaa2['length']>=_0x133b10;},this['getSuggestions']=_0x4152c3=>{return new Promise((_0xade26d,_0x5453e5)=>__awaiter$8(this,void 0x0,void 0x0,function*(){var _0x15a9f4,_0x587905,_0x12854a;try{const _0x459f73={'all':!![],'top':this['options']['suggestion_count'],'template':this['options']['suggestion_template']};this['options']['filter']&&(_0x459f73['filter']=this['options']['filter']);this['options']['show_postcode']&&(_0x459f73['show_postcode']=this['options']['show_postcode']);if(!_0x459f73['location']){const _0x26f0d4=Storage['list']();if(_0x26f0d4['length']>0x0){const _0x5cbe49=_0x26f0d4[0x0];_0x459f73['location']={'latitude':_0x5cbe49['address']['latitude'],'longitude':_0x5cbe49['address']['longitude']};}}const _0x12d4a4=yield this['client']['autocomplete'](_0x4152c3,_0x459f73);if(!_0x12d4a4['isSuccess']){const _0x27154f=_0x12d4a4['toFailed']();_0x5453e5(_0x27154f),(_0x15a9f4=this['input']['list'])===null||_0x15a9f4===void 0x0?void 0x0:_0x15a9f4['dispatchSuggestionsFailed'](_0x4152c3,_0x27154f['status'],_0x27154f['message']);return;}const _0x3686a5=_0x12d4a4['toSuccess']()['suggestions'];if(this['options']['highlight_search_text'])for(let _0x45bd79 of _0x3686a5){_0x45bd79['address']=this['highlightSuggestion'](_0x4152c3,_0x45bd79['address']);}_0xade26d(_0x3686a5),(_0x587905=this['input']['list'])===null||_0x587905===void 0x0?void 0x0:_0x587905['dispatchSuggestions'](_0x4152c3,_0x3686a5);return;}catch(_0x4dc80d){_0x5453e5(_0x4dc80d),(_0x12854a=this['input']['list'])===null||_0x12854a===void 0x0?void 0x0:_0x12854a['dispatchSuggestionsFailed'](_0x4152c3,0x190,_0x4dc80d);return;}}));},this['highlightSuggestion']=(_0x4073a6,_0x275b81)=>{const _0x18089e='<mark>',_0x63f16e='</mark>';let _0x5f087a=_0x4073a6['trim']()['replace'](/ /g,',*\x20+');const _0x31ccab=new RegExp('\x5cb('+_0x5f087a+')','gi');return _0x275b81=_0x275b81['replace'](_0x31ccab,_0x18089e+'$1'+_0x63f16e),_0x275b81;},this['client']=new Client(_0x3cab3b);}}
var __awaiter$7=undefined&&undefined['__awaiter']||function(_0x3c3c1f,_0x260ffe,_0x2ac039,_0x18d79f){function _0x2ade06(_0x28ac9e){return _0x28ac9e instanceof _0x2ac039?_0x28ac9e:new _0x2ac039(function(_0xb2a627){_0xb2a627(_0x28ac9e);});}return new(_0x2ac039||(_0x2ac039=Promise))(function(_0xc76d8d,_0x285d4b){function _0x169cc2(_0x118e6e){try{_0x2eccd1(_0x18d79f['next'](_0x118e6e));}catch(_0x177e52)