getaddress-autocomplete
Version:
GetAddress.io - Autocomplete plug-in
457 lines (449 loc) • 398 kB
JavaScript
var _a$2;class Storage{}_a$2=Storage,Storage['key']='getaddress_local_addresses',Storage['save']=(_0x45a257,_0x2516ed)=>{let _0x44a9de=localStorage['getItem'](_a$2['key']);if(!_0x44a9de||_a$2['isObjectEmpty'](_0x44a9de)){const _0x1ad73f=new Map(),_0x109a9a=new StoredAddress(_0x45a257,_0x2516ed,new Date()['getTime']());_0x1ad73f['set'](_0x45a257['id'],_0x109a9a);const _0x5d4d5f=JSON['stringify']([..._0x1ad73f]);localStorage['setItem'](_a$2['key'],_0x5d4d5f);}else {const _0x362e32=new Map(JSON['parse'](_0x44a9de));if(!_0x362e32['get'](_0x45a257['id'])){if(_0x362e32['size']>=0x6){const _0x4cc99d=[..._0x362e32['entries']()]['sort']((_0xc80394,_0x527a09)=>{const _0x216c87=_0xc80394[0x1],_0x2fa8e0=_0x527a09[0x1];return _0x216c87['timestamp']-_0x2fa8e0['timestamp'];});_0x362e32['delete'](_0x4cc99d[0x0][0x0]);}const _0x4e5f57=new StoredAddress(_0x45a257,_0x2516ed,new Date()['getTime']());_0x362e32['set'](_0x45a257['id'],_0x4e5f57);const _0x2307a8=JSON['stringify']([..._0x362e32]);localStorage['setItem'](_a$2['key'],_0x2307a8);}}},Storage['list']=()=>{let _0x2cb008=localStorage['getItem'](_a$2['key']);if(!_0x2cb008||_a$2['isObjectEmpty'](_0x2cb008))return [];const _0x54c7ca=new Map(JSON['parse'](_0x2cb008)),_0x58eb85=[..._0x54c7ca['entries']()]['map'](_0x412f61=>{const _0x31c4e7=_0x412f61[0x1];return _0x31c4e7;});return _0x58eb85['reverse']();},Storage['isObjectEmpty']=_0x16ab2e=>{if(!_0x16ab2e)return !![];return _0x16ab2e==='{}'||_0x16ab2e==='\x22{}\x22';},Storage['clear']=()=>{localStorage['removeItem'](_a$2['key']);},Storage['clearExpired']=()=>{let _0x1dd3b2=localStorage['getItem'](_a$2['key']);if(!_0x1dd3b2||_a$2['isObjectEmpty'](_0x1dd3b2))return;const _0xa32d37=new Map(JSON['parse'](_0x1dd3b2));let _0xfe3bda=![];_0xa32d37['forEach']((_0x46f6f5,_0x402669)=>{const _0x17f9aa=_0x46f6f5;let _0x18536e=new Date();var _0x13efd5=new Date(new Date()['setDate'](_0x18536e['getDate']()-0x7));_0x13efd5['getTime']()>_0x17f9aa['timestamp']&&(_0xa32d37['delete'](_0x402669),_0xfe3bda=!![]);});if(_0xfe3bda){if(_0xa32d37['size']>0x0){const _0x84cb97=JSON['stringify']([..._0xa32d37]);localStorage['setItem'](_a$2['key'],_0x84cb97);}else localStorage['removeItem'](_a$2['key']);}},Storage['remove']=_0x3ed721=>{let _0x105059=localStorage['getItem'](_a$2['key']);if(!_0x105059||_a$2['isObjectEmpty'](_0x105059))return;const _0xe37de1=new Map(JSON['parse'](_0x105059));let _0x354fb7=![];_0xe37de1['forEach']((_0x4e5bf8,_0x30b612)=>{_0x30b612===_0x3ed721&&(_0xe37de1['delete'](_0x3ed721),_0x354fb7=!![]);});if(_0x354fb7){if(_0xe37de1['size']>0x0){const _0x326390=JSON['stringify']([..._0xe37de1]);localStorage['setItem'](_a$2['key'],_0x326390);}else localStorage['removeItem'](_a$2['key']);}};class StoredAddress{constructor(_0x59b6f7,_0x1b21b4,_0x1156f8){this['suggestion']=_0x59b6f7,this['address']=_0x1b21b4,this['timestamp']=_0x1156f8;}}
class List{constructor(options,_0x430dda){this['options']=options,this['instance']=_0x430dda,this['list']=document['createElement']('DIV'),this['style']=document['createElement']('style'),this['element']=this['list'],this['selectedIndex']=-0x1,this['handleKeyDown']=_0xfc40dd=>{switch(_0xfc40dd['key']){case'PageUp':this['handlePageUp'](_0xfc40dd);break;case'PageDown':this['handlePageDown'](_0xfc40dd);break;}},this['handlePageDown']=_0x3f96ad=>{this['element']['children']['length']>0x0&&(this['setSelectedIndex'](this['lastIndex']()),_0x3f96ad['preventDefault']());},this['handlePageUp']=_0x4ba69f=>{this['element']['children']['length']>0x0&&(this['setSelectedIndex'](0x0),_0x4ba69f['preventDefault']());},this['populate']=_0x67ff1f=>{this['clear']();_0x67ff1f['length']>0x0&&this['show']();_0x67ff1f['forEach'](_0x488ee0=>{this['list']['insertBefore'](_0x488ee0,null);});if(this['options']['footer_template']){var _0x1f0400=document['createElement']('DIV');_0x1f0400['innerHTML']=this['options']['footer_template'](_0x67ff1f),this['list']['insertBefore'](_0x1f0400,null);}},this['show']=()=>{this['list']['style']['visibility']='visible';},this['removeFocusedClassName']=()=>{List['removeFocusedClassName'](this);},this['clear']=()=>{this['list']['replaceChildren'](...[]),this['hide'](),this['resetSelectedIndex']();},this['hide']=()=>{this['list']['style']['visibility']='hidden';},this['listItemCss']=_0x5b8f73=>{if(_0x5b8f73!==0x0)return '';const _0x8e0c47='\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.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-color,#f3f3f3);\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20var(--ga-autocomplete-list-item-cursor,pointer);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20outline:var(--ga-autocomplete-list-item-outline,0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}';return _0x8e0c47;},this['iconCss']=_0x388cca=>{if(_0x388cca!==0x0)return '';const _0x21ef06='\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 _0x21ef06;},this['list']['id']='ga-autocomplete-list-'+_0x430dda,this['list']['setAttribute']('role','listbox'),this['list']['addEventListener']('keydown',this['handleKeyDown']),this['list']['className']='ga-autocomplete-list',Storage['clearExpired']();}['destroy'](){this['list']['removeEventListener']('keydown',this['handleKeyDown']),this['list']['remove'](),this['style']['remove']();}static['setFocus'](_0x3c81bd,_0x1f7fcc,_0x1db4af){if(_0x3c81bd>-0x1&&_0x1f7fcc['list']['children']['length']>0x0){List['removeFocusedClassName'](_0x1f7fcc);let _0x2ee69c=_0x1f7fcc['list']['children'][_0x3c81bd];List['addFocusedClassName'](_0x2ee69c),_0x2ee69c['focus']({'focusVisible':!![]});return;}_0x1db4af['setFocus']();}['resetSelectedIndex'](){this['removeFocusedClassName'](),this['selectedIndex']=-0x1;}static['setSelectedIndex'](_0x1c95db,_0x7be0e5,_0x3c2f73){if(_0x1c95db==-0x1){_0x3c2f73['setFocus']();return;}if(_0x1c95db>_0x7be0e5['lastIndex']()){_0x7be0e5['selectedIndex']=_0x7be0e5['lastIndex']();return;}_0x7be0e5['selectedIndex']=_0x1c95db,_0x7be0e5['setFocus']();}['lastIndex'](){let _0x3c0b94=0x1;return this['options']['footer_template']&&(_0x3c0b94=0x2),this['list']['children']['length']-_0x3c0b94;}['getSelectedIndex'](){return this['selectedIndex'];}['containsActiveElment'](){return this['list']['contains'](document['activeElement']);}['dispatchSelected'](_0x345724,_0x1cc9cd,_0x443acd){const _0x56f304=_0x1cc9cd,_0xedad48=new Event('getaddress-autocomplete-selected',{'bubbles':!![]});_0xedad48['address']=_0x443acd,_0xedad48['data']=_0x56f304,_0xedad48['id']=_0x345724,this['element']['dispatchEvent'](_0xedad48);}['dispatchSelectedFailed'](_0x23b3d4,_0x45dad0,_0x26bf7a){const _0x438fe6=new Event('getaddress-autocomplete-selected-failed',{'bubbles':!![]});_0x438fe6['status']=_0x45dad0,_0x438fe6['message']=_0x26bf7a,_0x438fe6['id']=_0x23b3d4,this['element']['dispatchEvent'](_0x438fe6);}['dispatchSuggestions'](_0x5653ac,_0x52463e){const _0x11cd6b=_0x5653ac,_0x34b179=new Event('getaddress-autocomplete-suggestions',{'bubbles':!![]});_0x34b179['suggestions']=_0x52463e,_0x34b179['data']=_0x11cd6b,this['element']['dispatchEvent'](_0x34b179);}['dispatchSuggestionsFailed'](_0x175fb3,_0x1b9734,_0x3f865f){const _0x361dfc=new Event('getaddress-autocomplete-modal-suggestions-failed',{'bubbles':!![]});_0x361dfc['status']=_0x1b9734,_0x361dfc['message']=_0x3f865f,_0x361dfc['data']=_0x175fb3,this['element']['dispatchEvent'](_0x361dfc);}}List['addFocusedClassName']=_0x394dc1=>{_0x394dc1['classList']['add']('ga-autocomplete-list-item-focused');},List['removeFocusedClassName']=_0x4228af=>{const _0x42c14f=_0x4228af['list']['children'];for(let _0x30863c=0x0;_0x30863c<_0x42c14f['length'];_0x30863c++){_0x42c14f[_0x30863c]['classList']['remove']('ga-autocomplete-list-item-focused');}};
class ItemContainer{constructor(_0x308685,_0x986d9f){this['input']=_0x308685,this['index']=_0x986d9f,this['container']=document['createElement']('DIV'),this['element']=this['container'],this['handleFocus']=_0x2a5f0b=>{this['input']['list']['setSelectedIndex'](this['index']);},this['handleKeyDown']=_0x5d7055=>{switch(_0x5d7055['key']){case'ArrowUp':this['handleUpKey'](_0x5d7055);break;case'ArrowDown':this['handleDownKey'](_0x5d7055);break;case'Enter':this['handleEnterKey'](_0x5d7055);break;}},this['handleDownKey']=_0x45a969=>{this['input']['list']['setSelectedIndex'](this['index']+0x1),_0x45a969['preventDefault']();},this['handleUpKey']=_0x366a78=>{this['input']['list']['setSelectedIndex'](this['index']-0x1),_0x366a78['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']=(_0x49bec1,_0x4499af,_0x2da45e)=>{_0x49bec1['dispatchSelected'](_0x4499af['id'],_0x2da45e),_0x49bec1['clearList']();};
var __awaiter$b=undefined&&undefined['__awaiter']||function(_0x1305ce,_0x17e744,_0x274f7b,_0x31e347){function _0x4f42d2(_0x4f0fa0){return _0x4f0fa0 instanceof _0x274f7b?_0x4f0fa0:new _0x274f7b(function(_0x38ba76){_0x38ba76(_0x4f0fa0);});}return new(_0x274f7b||(_0x274f7b=Promise))(function(_0x320f31,_0x4327bc){function _0x38923f(_0x3ceaaf){try{_0x3e6d36(_0x31e347['next'](_0x3ceaaf));}catch(_0x10134f){_0x4327bc(_0x10134f);}}function _0x3e0b92(_0x52b4e1){try{_0x3e6d36(_0x31e347['throw'](_0x52b4e1));}catch(_0x58f58d){_0x4327bc(_0x58f58d);}}function _0x3e6d36(_0x5f19ba){_0x5f19ba['done']?_0x320f31(_0x5f19ba['value']):_0x4f42d2(_0x5f19ba['value'])['then'](_0x38923f,_0x3e0b92);}_0x3e6d36((_0x31e347=_0x31e347['apply'](_0x1305ce,_0x17e744||[]))['next']());});};class AnchoredItemContainer extends ItemContainer{constructor(_0x39395a,_0x328be8,_0x375d84,options,_0x54741a){super(_0x328be8,_0x54741a),this['client']=_0x39395a,this['suggestion']=_0x375d84,this['options']=options,this['handleEnterKey']=_0x1ff895=>__awaiter$b(this,void 0x0,void 0x0,function*(){_0x1ff895['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x32166c=>__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 _0x1bfab5=yield this['client']['get'](this['suggestion']['id']);if(!_0x1bfab5['isSuccess']){const _0x19a960=_0x1bfab5['toFailed']();this['input']['dispatchSelectedFailed'](this['suggestion']['id'],_0x19a960['status'],_0x19a960['message']);return;}let _0x52a133=_0x1bfab5['toSuccess']();this['options']['enable_history']&&Storage['save'](this['suggestion'],_0x52a133['address']),ItemContainer['getAddress'](this['input'],this['suggestion'],_0x52a133['address']);}),this['container']['innerHTML']=options['item_template'](_0x375d84),this['container']['classList']['add']('ga-autocomplete-anchored-list-item'),options['list_item_style']&&this['container']['setAttribute']('style',options['list_item_style']),this['container']['addEventListener']('click',this['handleClick']);}}
var __awaiter$a=undefined&&undefined['__awaiter']||function(_0x5ca4fb,_0x45ee03,_0x1fc793,_0x380149){function _0x830c15(_0x34c8cb){return _0x34c8cb instanceof _0x1fc793?_0x34c8cb:new _0x1fc793(function(_0xcb0551){_0xcb0551(_0x34c8cb);});}return new(_0x1fc793||(_0x1fc793=Promise))(function(_0x483518,_0x2bb134){function _0x51ec2f(_0x23ad83){try{_0x17a8ba(_0x380149['next'](_0x23ad83));}catch(_0x53e82a){_0x2bb134(_0x53e82a);}}function _0x106ecb(_0x36543f){try{_0x17a8ba(_0x380149['throw'](_0x36543f));}catch(_0x56eb4b){_0x2bb134(_0x56eb4b);}}function _0x17a8ba(_0x222f04){_0x222f04['done']?_0x483518(_0x222f04['value']):_0x830c15(_0x222f04['value'])['then'](_0x51ec2f,_0x106ecb);}_0x17a8ba((_0x380149=_0x380149['apply'](_0x5ca4fb,_0x45ee03||[]))['next']());});};class AnchoredHistoryContainer extends ItemContainer{constructor(_0x28e9db,_0x47e7d4,options,_0x16a2fa){var _0x140d31;super(_0x28e9db,_0x16a2fa),this['storedAddress']=_0x47e7d4,this['options']=options,this['handleEnterKey']=_0x3ee5e4=>__awaiter$a(this,void 0x0,void 0x0,function*(){_0x3ee5e4['preventDefault'](),yield this['getAddress'](),this['input']['repopulate']=![],this['input']['setFocus']();}),this['destroy']=()=>{this['container']['removeEventListener']('click',this['handleClick']),super['destroy']();},this['handleClick']=_0x1b6cbe=>__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 _0x3bda38=(_0x140d31=options['history_item_template'])!==null&&_0x140d31!==void 0x0?_0x140d31:options['item_template'];this['container']['innerHTML']=_0x3bda38(_0x47e7d4['suggestion']),this['container']['classList']['add']('ga-autocomplete-history-item'),this['container']['classList']['add']('ga-autocomplete-anchored-history-item'),options['history_item_style']&&this['container']['setAttribute']('style',options['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 = (undefined && undefined.__awaiter) || 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.getResponse = undefined;
this.getLocationAbortController.abort();
this.getLocationAbortController = new AbortController();
}
this.getResponse = yield fetch(url, {
method: 'get',
signal: this.getLocationAbortController.signal,
headers: {
'Content-Type': 'application/json',
},
});
if (this.getResponse.status === 200) {
const json = yield this.getResponse.json();
const loaction = json;
return new GetLocationSuccess(loaction);
}
const json = yield this.getResponse.json();
return new GetLocationFailed(this.getResponse.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.autocompleteAbortController.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(_0x22a196,_0x24bc36,_0x327682,_0x5a2db6){function _0x2bec3a(_0x3d969f){return _0x3d969f instanceof _0x327682?_0x3d969f:new _0x327682(function(_0x2f406e){_0x2f406e(_0x3d969f);});}return new(_0x327682||(_0x327682=Promise))(function(_0x55bfea,_0x5040d7){function _0x48fee3(_0x5b0741){try{_0x55d162(_0x5a2db6['next'](_0x5b0741));}catch(_0x541615){_0x5040d7(_0x541615);}}function _0x3e405a(_0x186c6a){try{_0x55d162(_0x5a2db6['throw'](_0x186c6a));}catch(_0x1bba2e){_0x5040d7(_0x1bba2e);}}function _0x55d162(_0x55ba80){_0x55ba80['done']?_0x55bfea(_0x55ba80['value']):_0x2bec3a(_0x55ba80['value'])['then'](_0x48fee3,_0x3e405a);}_0x55d162((_0x5a2db6=_0x5a2db6['apply'](_0x22a196,_0x24bc36||[]))['next']());});};class Suggester{constructor(apiKey,_0x25f284,options){this['input']=_0x25f284,this['options']=options,this['suggestions']=_0x4fe072=>__awaiter$8(this,void 0x0,void 0x0,function*(){return new Promise((_0x57a57d,_0xb03e20)=>__awaiter$8(this,void 0x0,void 0x0,function*(){try{let _0xa9a10f=_0x4fe072?0x0:this['options']['delay'];clearTimeout(this['filterTimer']),this['filterTimer']=setTimeout(()=>__awaiter$8(this,void 0x0,void 0x0,function*(){const _0x571bfa=yield this['getElements']();_0x57a57d(_0x571bfa);return;}),_0xa9a10f);}catch(_0x469b53){_0xb03e20(_0x469b53);}}));}),this['hasMinimumCharacters']=_0x4e0636=>{var _0x4f9e35;!_0x4e0636&&(_0x4e0636='');var _0x315bc7=(_0x4f9e35=this['options']['minimum_characters'])!==null&&_0x4f9e35!==void 0x0?_0x4f9e35:0x2;return _0x4e0636['length']>=_0x315bc7;},this['getSuggestions']=_0x1b547e=>{return new Promise((_0x569daa,_0x25c5f8)=>__awaiter$8(this,void 0x0,void 0x0,function*(){var _0x56ca7e,_0x2ce9d5,_0x22b941;try{const _0x5f5ded={'all':!![],'top':this['options']['suggestion_count'],'template':this['options']['suggestion_template']};this['options']['filter']&&(_0x5f5ded['filter']=this['options']['filter']);this['options']['show_postcode']&&(_0x5f5ded['show_postcode']=this['options']['show_postcode']);if(!_0x5f5ded['location']){const _0x87ad9c=Storage['list']();if(_0x87ad9c['length']>0x0){const _0x441358=_0x87ad9c[0x0];_0x5f5ded['location']={'latitude':_0x441358['address']['latitude'],'longitude':_0x441358['address']['longitude']};}}const _0x403256=yield this['client']['autocomplete'](_0x1b547e,_0x5f5ded);if(!_0x403256['isSuccess']){const _0x3c2d4f=_0x403256['toFailed']();_0x25c5f8(_0x3c2d4f),(_0x56ca7e=this['input']['list'])===null||_0x56ca7e===void 0x0?void 0x0:_0x56ca7e['dispatchSuggestionsFailed'](_0x1b547e,_0x3c2d4f['status'],_0x3c2d4f['message']);return;}const _0x13eae9=_0x403256['toSuccess']()['suggestions'];if(this['options']['highlight_search_text'])for(let _0x36da83 of _0x13eae9){_0x36da83['address']=this['highlightSuggestion'](_0x1b547e,_0x36da83['address']);}_0x569daa(_0x13eae9),(_0x2ce9d5=this['input']['list'])===null||_0x2ce9d5===void 0x0?void 0x0:_0x2ce9d5['dispatchSuggestions'](_0x1b547e,_0x13eae9);return;}catch(_0x507327){_0x25c5f8(_0x507327),(_0x22b941=this['input']['list'])===null||_0x22b941===void 0x0?void 0x0:_0x22b941['dispatchSuggestionsFailed'](_0x1b547e,0x190,_0x507327);return;}}));},this['highlightSuggestion']=(_0x3b538b,_0x3ae96b)=>{const _0x529abe='<mark>',_0x23f79f='</mark>';let _0x2b5c98=_0x3b538b['trim']()['replace'](/ /g,',*\x20+');const _0x291783=new RegExp('\x5cb('+_0x2b5c98+')','gi');return _0x3ae96b=_0x3ae96b['replace'](_0x291783,_0x529abe+'$1'+_0x23f79f),_0x3ae96b;},this['client']=new Client(apiKey);}}
var __awaiter$7=undefined&&undefined['__awaiter']||function(_0xdbe33f,_0x15fd15,_0x48886c,_0x1b2080){function _0x49d076(_0x1afee2){return _0x1afee2 instanceof _0x48886c?_0x1afee2:new _0x48886c(function(_0xa44294){_0xa44294(_0x1afee2);});}return new(_0x48886c||(_0x48886c=Promise))(function(_0x45d42f,_0x60f61b){function _0x2299e7(_0x20477c){try{_0x2c10d1(_0x1b2080['next'](_0x20477c));}catch(_0x4ea077){_0x60f61b(_0x4ea077);}}function _0x3057e5(_0xe4b270){try{_0x2c10d1(_0x1b2080['throw'](_0xe4b270));}catch(_0x4d781d){_0x60f61b(_0x4d781d);}}function _0x2c10d1(_0x54f74f){_0x54f74f['done']?_0x45d42f(_0x54f74f['value']):_0x49d076(_0x54f74f['value'])['then'](_0x2299e7,_0x3057e5);}_0x2c10d1((_0x1b2080=_0x1b2080['apply'](_0xdbe33f,_0x15fd15||[]))['next']());});};class AnchoredSuggester extends Suggester{constructor(apiKey,_0x503bdf,options){super(apiKey,_0x503bdf,options),this['getElements']=()=>__awaiter$7(this,void 0x0,void 0x0,function*(){const _0x40e23c=this['input']['textbox']['value'];if(this['options']['enable_history']&&!_0x40e23c){const _0x400015=Storage['list']();return _0x400015['map']((_0x3a8ebd,_0x1295be)=>{return new AnchoredHistoryContainer(this['input'],_0x3a8ebd,this['options'],_0x1295be)['element'];});}if(!this['hasMinimumCharacters'](_0x40e23c))return [];const _0x5b48af=yield this['getSuggestions'](_0x40e23c);return _0x5b48af['map']((_0x5