mahal_map 1.1.9 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -80,6 +80,7 @@ declare class MahalMap {
80
80
  static create(options: IMahalMapOptions, maplibreObject?: {
81
81
  Map: typeof Map;
82
82
  } | typeof Map): MahalMap;
83
+ destroy(): void;
83
84
  static getInstance(): MahalMap;
84
85
  getMap(): Map;
85
86
  setStyle(theme: "dark" | "light"): void;
package/dist/index.d.ts CHANGED
@@ -80,6 +80,7 @@ declare class MahalMap {
80
80
  static create(options: IMahalMapOptions, maplibreObject?: {
81
81
  Map: typeof Map;
82
82
  } | typeof Map): MahalMap;
83
+ destroy(): void;
83
84
  static getInstance(): MahalMap;
84
85
  getMap(): Map;
85
86
  setStyle(theme: "dark" | "light"): void;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x1e0992=a0_0x3492;(function(_0x34318e,_0x4c3430){var _0x32c13a=a0_0x3492,_0x2adc14=_0x34318e();while(!![]){try{var _0x4d7c1b=-parseInt(_0x32c13a(0x18b))/0x1+parseInt(_0x32c13a(0x180))/0x2+parseInt(_0x32c13a(0x154))/0x3*(-parseInt(_0x32c13a(0x151))/0x4)+parseInt(_0x32c13a(0x18f))/0x5*(-parseInt(_0x32c13a(0x19a))/0x6)+-parseInt(_0x32c13a(0x14e))/0x7+-parseInt(_0x32c13a(0x195))/0x8+parseInt(_0x32c13a(0x14a))/0x9;if(_0x4d7c1b===_0x4c3430)break;else _0x2adc14['push'](_0x2adc14['shift']());}catch(_0x1d1049){_0x2adc14['push'](_0x2adc14['shift']());}}}(a0_0xf2fe,0xe8c4c));var C=Object[a0_0x1e0992(0x12f)],u=Object['defineProperty'],v=Object['getOwnPropertyDescriptor'],N=Object[a0_0x1e0992(0x161)],U=Object[a0_0x1e0992(0x16d)],F=Object[a0_0x1e0992(0x16f)][a0_0x1e0992(0x132)],f=(_0x4044bb,_0x6bfe17)=>{var _0x235029=a0_0x1e0992,_0x549134={'tJwJB':function(_0x34c7aa,_0x4c903b,_0xc4d79e,_0x53b5cf){return _0x34c7aa(_0x4c903b,_0xc4d79e,_0x53b5cf);}};for(var _0x59a9f4 in _0x6bfe17)_0x549134[_0x235029(0x18e)](u,_0x4044bb,_0x59a9f4,{'get':_0x6bfe17[_0x59a9f4],'enumerable':!0x0});},S=(_0x10446b,_0x26c117,_0x365324,_0xb95914)=>{var _0x533364=a0_0x1e0992,_0x304020={'kTRrl':function(_0x13f3f8,_0x44f205){return _0x13f3f8==_0x44f205;},'ZmfOr':function(_0x451a45,_0x1f5aa9){return _0x451a45==_0x1f5aa9;},'apWmQ':function(_0x475026,_0x345afb){return _0x475026(_0x345afb);},'WTHXU':function(_0x24c0dc,_0x2bd35e){return _0x24c0dc!==_0x2bd35e;},'TBDGA':function(_0x2dc614,_0x46fe56,_0x19955f){return _0x2dc614(_0x46fe56,_0x19955f);}};if(_0x26c117&&_0x304020[_0x533364(0x185)](typeof _0x26c117,_0x533364(0x16b))||_0x304020[_0x533364(0x148)](typeof _0x26c117,_0x533364(0x179))){for(let _0x1eedb2 of _0x304020[_0x533364(0x12e)](N,_0x26c117))!F['call'](_0x10446b,_0x1eedb2)&&_0x304020[_0x533364(0x190)](_0x1eedb2,_0x365324)&&u(_0x10446b,_0x1eedb2,{'get':()=>_0x26c117[_0x1eedb2],'enumerable':!(_0xb95914=_0x304020[_0x533364(0x138)](v,_0x26c117,_0x1eedb2))||_0xb95914[_0x533364(0x17c)]});}return _0x10446b;},D=(_0x4a8d3c,_0x277a4d,_0x388cbd)=>(_0x388cbd=_0x4a8d3c!=null?C(U(_0x4a8d3c)):{},S(_0x277a4d||!_0x4a8d3c||!_0x4a8d3c['__esModule']?u(_0x388cbd,a0_0x1e0992(0x1a0),{'value':_0x4a8d3c,'enumerable':!0x0}):_0x388cbd,_0x4a8d3c)),O=_0x56ea46=>S(u({},a0_0x1e0992(0x18d),{'value':!0x0}),_0x56ea46),q={};f(q,{'MahalMap':()=>d,'keyUtils':()=>b,'routerUtils':()=>M,'searchUtils':()=>w}),module[a0_0x1e0992(0x19b)]=O(q);var A=a0_0x1e0992(0x13e),I=a0_0x1e0992(0x12b),P=a0_0x1e0992(0x13c),T='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function E(_0x1468e4){var _0x116520=a0_0x1e0992,_0x21e0c4={'BXGZa':function(_0x137937,_0x180539){return _0x137937<_0x180539;},'vjWNq':function(_0x31aeb8,_0x3986f){return _0x31aeb8>=_0x3986f;},'rmrna':function(_0x50105e,_0x362d83){return _0x50105e&_0x362d83;},'mFcUB':function(_0x3d47dc,_0x189a73){return _0x3d47dc>>_0x189a73;},'mfzPb':function(_0x32b907,_0x4701ac){return _0x32b907>>_0x4701ac;},'ZiSlf':function(_0x29118e,_0x62b96d){return _0x29118e-_0x62b96d;},'FKcdv':function(_0x471738,_0x29831a){return _0x471738<<_0x29831a;},'sZIeT':function(_0x1876ab,_0x5e8f32){return _0x1876ab>>_0x5e8f32;},'lGvFL':function(_0x11f966,_0x19e911){return _0x11f966>>_0x19e911;},'yFCwR':function(_0x1f238c,_0x481761){return _0x1f238c*_0x481761;},'cmfpi':function(_0x501e87,_0x279fbb){return _0x501e87*_0x279fbb;}};let _0x3ea8dd=[],_0x36cdb6=0x0,_0x39d9fd=_0x1468e4[_0x116520(0x19c)],_0x390aa1=0x0,_0xd2fc81=0x0;for(;_0x21e0c4['BXGZa'](_0x36cdb6,_0x39d9fd);){let _0x264726,_0x4a2ed6=0x0,_0xe885cd=0x0;do _0x264726=_0x1468e4[_0x116520(0x197)](_0x36cdb6++)-0x3f,_0xe885cd|=(_0x264726&0x1f)<<_0x4a2ed6,_0x4a2ed6+=0x5;while(_0x21e0c4[_0x116520(0x134)](_0x264726,0x20));let _0xdc8b4c=_0x21e0c4[_0x116520(0x147)](_0xe885cd,0x1)?~_0x21e0c4[_0x116520(0x184)](_0xe885cd,0x1):_0x21e0c4[_0x116520(0x199)](_0xe885cd,0x1);_0x390aa1+=_0xdc8b4c,_0x4a2ed6=0x0,_0xe885cd=0x0;do _0x264726=_0x21e0c4[_0x116520(0x12d)](_0x1468e4[_0x116520(0x197)](_0x36cdb6++),0x3f),_0xe885cd|=_0x21e0c4[_0x116520(0x14c)](_0x264726&0x1f,_0x4a2ed6),_0x4a2ed6+=0x5;while(_0x264726>=0x20);let _0x43bfbe=_0x21e0c4[_0x116520(0x147)](_0xe885cd,0x1)?~_0x21e0c4[_0x116520(0x128)](_0xe885cd,0x1):_0x21e0c4[_0x116520(0x150)](_0xe885cd,0x1);_0xd2fc81+=_0x43bfbe,_0x3ea8dd['push']([_0x21e0c4[_0x116520(0x129)](_0xd2fc81,0.00001),_0x21e0c4[_0x116520(0x178)](_0x390aa1,0.00001)]);}return _0x3ea8dd;}var h={'dark':I,'light':P},p=class p{constructor(){}static['create'](_0x4a1343,_0x2a4dfa){var _0x2765ab=a0_0x1e0992,_0x5ad84c={'HFGuS':_0x2765ab(0x189),'DuBZv':function(_0x1dc32c,_0x1fc64f){return _0x1dc32c===_0x1fc64f;},'ayEwc':_0x2765ab(0x131),'Osvof':'map'};if(p[_0x2765ab(0x1a2)])return p['instance'];let _0x964c96=window[_0x2765ab(0x175)]||_0x2a4dfa;if(!_0x964c96)throw new Error(_0x5ad84c[_0x2765ab(0x183)]);let _0x361b30=_0x4a1343['autoAddVectorSource']?T:_0x4a1343[_0x2765ab(0x19f)]?_0x4a1343[_0x2765ab(0x19f)]:_0x5ad84c[_0x2765ab(0x163)](_0x4a1343[_0x2765ab(0x15c)],_0x5ad84c[_0x2765ab(0x17f)])?h['dark']:h[_0x2765ab(0x155)],_0x3af409=new p();return _0x3af409[_0x2765ab(0x156)]=_0x4a1343,_0x3af409[_0x2765ab(0x19d)]=new _0x964c96[(_0x2765ab(0x17a))]({'container':_0x4a1343[_0x2765ab(0x136)]||_0x5ad84c['Osvof'],'style':_0x361b30,'center':_0x4a1343[_0x2765ab(0x162)]||[69.624024,40.279687],'zoom':_0x4a1343[_0x2765ab(0x17d)]||0x5}),p['instance']=_0x3af409,_0x3af409;}static['getInstance'](){var _0x54b74d=a0_0x1e0992,_0x26d545={'DMfLn':'[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана'};if(!p[_0x54b74d(0x1a2)])throw new Error(_0x26d545['DMfLn']);return p[_0x54b74d(0x1a2)];}[a0_0x1e0992(0x133)](){var _0x4805d4=a0_0x1e0992;return this[_0x4805d4(0x19d)];}[a0_0x1e0992(0x13d)](_0x1f3e6c){var _0x18362d=a0_0x1e0992,_0x44fa7d={'TPKkY':function(_0x4910be,_0xf5274a){return _0x4910be===_0xf5274a;}};this[_0x18362d(0x19d)][_0x18362d(0x13d)](_0x44fa7d[_0x18362d(0x140)](_0x1f3e6c,_0x18362d(0x131))?h[_0x18362d(0x131)]:h[_0x18362d(0x155)]);}[a0_0x1e0992(0x173)](_0x35407d){var _0x17ae3b=a0_0x1e0992;this[_0x17ae3b(0x19d)][_0x17ae3b(0x173)](_0x35407d);}['setZoom'](_0x5af4b9){var _0x48c43f=a0_0x1e0992;this[_0x48c43f(0x19d)]['setZoom'](_0x5af4b9);}};p['instance']=null;var d=p,L=D(require('axios')),c=L[a0_0x1e0992(0x1a0)]['create']({'baseURL':A});c[a0_0x1e0992(0x17e)][a0_0x1e0992(0x19e)][a0_0x1e0992(0x142)](_0x5b4730=>_0x5b4730,_0x387612=>(_0x387612['request']?.[a0_0x1e0992(0x141)]===0x191&&y(),Promise[a0_0x1e0992(0x17b)](_0x387612)));var b={};f(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x8335cf){var _0x58ce44=a0_0x1e0992,_0xdac011={'crJEw':function(_0x49ee21,_0x18c3e6){return _0x49ee21!==_0x18c3e6;}};_0xdac011['crJEw'](_0x8335cf,'')&&(g=_0x8335cf,c['defaults'][_0x58ce44(0x127)][_0x58ce44(0x16a)][_0x58ce44(0x165)]='Bearer\x20'+_0x8335cf);}function y(){var _0x3d5dcf=a0_0x1e0992,_0x1cbed6={'nDYDU':function(_0x8907e2,_0x20fab6){return _0x8907e2-_0x20fab6;},'nHBHM':function(_0x5e4077,_0x45666e){return _0x5e4077<<_0x45666e;},'qnCBy':function(_0x126528,_0x2f45ab){return _0x126528&_0x2f45ab;},'rHMWG':function(_0x2c5ab5,_0x31b6e0){return _0x2c5ab5>=_0x31b6e0;},'KrWSJ':function(_0x281723,_0x4b55f0){return _0x281723>>_0x4b55f0;},'uhMNG':function(_0x44f420,_0x461000){return _0x44f420<<_0x461000;},'dBizb':function(_0x3123f0,_0x4fd167){return _0x3123f0*_0x4fd167;},'xQaxV':_0x3d5dcf(0x153),'CwtfU':_0x3d5dcf(0x164),'mMxYY':'warn','VuAeB':_0x3d5dcf(0x182),'FRarZ':'error','vRDqz':_0x3d5dcf(0x169),'VDguQ':_0x3d5dcf(0x130),'YlDsa':_0x3d5dcf(0x15b),'OSLNX':function(_0x1d5657,_0x56a115){return _0x1d5657(_0x56a115);},'ZjzMc':'return\x20(function()\x20','MGoKZ':function(_0x424b54){return _0x424b54();},'wiXEu':function(_0x3a2372,_0x5ab835){return _0x3a2372<_0x5ab835;},'IRdIZ':function(_0xf9150c,_0x15bc16,_0x2e979b){return _0xf9150c(_0x15bc16,_0x2e979b);}},_0x35347d=(function(){var _0x1f8f17=!![];return function(_0x2a8773,_0x381159){var _0x204bf4=_0x1f8f17?function(){var _0x203140=a0_0x3492;if(_0x381159){var _0x170444=_0x381159[_0x203140(0x168)](_0x2a8773,arguments);return _0x381159=null,_0x170444;}}:function(){};return _0x1f8f17=![],_0x204bf4;};}()),_0x52f2a8=_0x1cbed6[_0x3d5dcf(0x15e)](_0x35347d,this,function(){var _0x3dc6d4=_0x3d5dcf;if(_0x1cbed6[_0x3dc6d4(0x13a)]!==_0x1cbed6[_0x3dc6d4(0x135)]){var _0x54dc9f=_0x3dc6d4(0x158)[_0x3dc6d4(0x15d)]('|'),_0x2af2c9=0x0;while(!![]){switch(_0x54dc9f[_0x2af2c9++]){case'0':var _0x30b2f9=['log',_0x1cbed6[_0x3dc6d4(0x171)],_0x1cbed6[_0x3dc6d4(0x139)],_0x1cbed6['FRarZ'],_0x1cbed6['vRDqz'],_0x1cbed6[_0x3dc6d4(0x12a)],_0x1cbed6['YlDsa']];continue;case'1':try{var _0x3fde11=_0x1cbed6['OSLNX'](Function,_0x1cbed6['ZjzMc']+_0x3dc6d4(0x16e)+');');_0x5ac695=_0x1cbed6[_0x3dc6d4(0x170)](_0x3fde11);}catch(_0x43f24b){_0x5ac695=window;}continue;case'2':for(var _0x5c628c=0x0;_0x1cbed6[_0x3dc6d4(0x167)](_0x5c628c,_0x30b2f9[_0x3dc6d4(0x19c)]);_0x5c628c++){var _0x1ff4a8=_0x35347d[_0x3dc6d4(0x166)][_0x3dc6d4(0x16f)][_0x3dc6d4(0x18c)](_0x35347d),_0x3c69ad=_0x30b2f9[_0x5c628c],_0xee665c=_0x589123[_0x3c69ad]||_0x1ff4a8;_0x1ff4a8[_0x3dc6d4(0x14f)]=_0x35347d[_0x3dc6d4(0x18c)](_0x35347d),_0x1ff4a8[_0x3dc6d4(0x16c)]=_0xee665c[_0x3dc6d4(0x16c)][_0x3dc6d4(0x18c)](_0xee665c),_0x589123[_0x3c69ad]=_0x1ff4a8;}continue;case'3':var _0x589123=_0x5ac695[_0x3dc6d4(0x172)]=_0x5ac695[_0x3dc6d4(0x172)]||{};continue;case'4':var _0x5ac695;continue;}break;}}else{var _0x404252,_0x1aed4f=0x0,_0x11061f=0x0;do _0x404252=_0x1cbed6[_0x3dc6d4(0x149)](_0x5e39a1[_0x3dc6d4(0x197)](_0x3233b7++),0x3f),_0x11061f|=_0x1cbed6[_0x3dc6d4(0x144)](_0x1cbed6[_0x3dc6d4(0x176)](_0x404252,0x1f),_0x1aed4f),_0x1aed4f+=0x5;while(_0x1cbed6[_0x3dc6d4(0x15a)](_0x404252,0x20));var _0x4c09fa=_0x1cbed6[_0x3dc6d4(0x176)](_0x11061f,0x1)?~(_0x11061f>>0x1):_0x1cbed6[_0x3dc6d4(0x192)](_0x11061f,0x1);_0x15e9bd+=_0x4c09fa,_0x1aed4f=0x0,_0x11061f=0x0;do _0x404252=_0x51b4ad[_0x3dc6d4(0x197)](_0x54aee1++)-0x3f,_0x11061f|=_0x1cbed6[_0x3dc6d4(0x193)](_0x1cbed6[_0x3dc6d4(0x176)](_0x404252,0x1f),_0x1aed4f),_0x1aed4f+=0x5;while(_0x1cbed6[_0x3dc6d4(0x15a)](_0x404252,0x20));var _0x56c523=_0x1cbed6['qnCBy'](_0x11061f,0x1)?~_0x1cbed6[_0x3dc6d4(0x192)](_0x11061f,0x1):_0x1cbed6['KrWSJ'](_0x11061f,0x1);_0x5c8105+=_0x56c523,_0x3bd18d[_0x3dc6d4(0x146)]([_0x1cbed6[_0x3dc6d4(0x174)](_0x37fcd2,0.00001),_0x1cbed6[_0x3dc6d4(0x174)](_0x121794,0.00001)]);}});_0x1cbed6[_0x3d5dcf(0x170)](_0x52f2a8),(g='',c[_0x3d5dcf(0x1a1)][_0x3d5dcf(0x127)][_0x3d5dcf(0x16a)][_0x3d5dcf(0x165)]='');}function a0_0xf2fe(){var _0x56fb8d=['Authorization','constructor','wiXEu','apply','exception','common','object','toString','getPrototypeOf','{}.constructor(\x22return\x20this\x22)(\x20)','prototype','MGoKZ','mMxYY','console','setCenter','dBizb','maplibregl','qnCBy','Sujbi','cmfpi','function','Map','reject','enumerable','zoom','interceptors','ayEwc','1474616pxusSs','YazQr','info','HFGuS','mFcUB','kTRrl','src','getElementsByTagName','post','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','zSBTq','1300106agPDoq','bind','__esModule','tJwJB','5gfBjHm','WTHXU','geojson','KrWSJ','uhMNG','vbviu','10463448RNrPUI','get','charCodeAt','sHvOX','mfzPb','814146wVXmFC','exports','length','map','request','style','default','defaults','instance','string','headers','sZIeT','yFCwR','VDguQ','https://mtile.gram.tj/custom-styles/dark-style.json','mahal_map.sdk.js','ZiSlf','apWmQ','create','table','dark','hasOwnProperty','getMap','vjWNq','CwtfU','container','pmkEm','TBDGA','VuAeB','xQaxV','data','https://mtile.gram.tj/custom-styles/mapstyle.json','setStyle','https://platform.mahal.tj/api/','routes','TPKkY','status','use','qVwIe','nHBHM','script','push','rmrna','ZmfOr','nDYDU','54113661UoEqDM','route','FKcdv','GUYyh','9694580WnNhRC','__proto__','lGvFL','6671396ZxVQaw','geometry','wwflg','3CncAQX','light','options','rKOGz','4|1|3|0|2','error','rHMWG','trace','theme','split','IRdIZ','services/getRoutes','includes','getOwnPropertyNames','center','DuBZv','eIOeS'];a0_0xf2fe=function(){return _0x56fb8d;};return a0_0xf2fe();}var l=()=>g;function R(_0x56de83,_0x4bb2a5){var _0x31078f={'sHvOX':function(_0x48e3c4,_0x16496f){return _0x48e3c4(_0x16496f);},'vhfaO':function(_0x413175,_0x3b2471,_0x1f8f74){return _0x413175(_0x3b2471,_0x1f8f74);}};let _0x35064e;return(..._0x5480f5)=>(_0x35064e&&clearTimeout(_0x35064e),new Promise(_0x47e034=>{var _0x3c7f0b={'pmkEm':function(_0x367a51,_0x1da03d){var _0x4bc67c=a0_0x3492;return _0x31078f[_0x4bc67c(0x198)](_0x367a51,_0x1da03d);}};_0x35064e=_0x31078f['vhfaO'](setTimeout,async()=>{var _0x12e898=a0_0x3492,_0x5517dc=await _0x56de83(..._0x5480f5);_0x3c7f0b[_0x12e898(0x137)](_0x47e034,_0x5517dc);},_0x4bb2a5);}));}var k=async(_0x47d981,_0x3755ba)=>{var _0x48198c=a0_0x1e0992,_0x34fab3={'rKOGz':_0x48198c(0x15f)};try{let _0x5d776c=[];return _0x47d981['forEach'](_0x4f5188=>{var _0x219842=_0x48198c;_0x5d776c[_0x219842(0x146)]({'lng':_0x4f5188[0x0],'lat':_0x4f5188[0x1]});}),(await c[_0x48198c(0x188)](_0x34fab3[_0x48198c(0x157)],{'points':_0x5d776c,'token':_0x3755ba||l()}))[_0x48198c(0x13b)];}catch(_0x5938c6){throw console[_0x48198c(0x159)](_0x5938c6),_0x5938c6;}},M={};f(M,{'getrouter':()=>X});async function X(_0x5ba3c2,_0x3531fe,_0x2be728){var _0x41462b=a0_0x1e0992,_0x8467db={'qVwIe':function(_0x6eabc8,_0x32e80a,_0x3e48a6){return _0x6eabc8(_0x32e80a,_0x3e48a6);}};try{let _0xb408f6=await _0x8467db[_0x41462b(0x143)](k,_0x5ba3c2,_0x2be728);return _0xb408f6?.[_0x41462b(0x13b)]?_0xb408f6[_0x41462b(0x13b)][_0x41462b(0x19d)](_0x129c72=>{var _0x3fcc1d=_0x41462b;let _0x20bf74={..._0x129c72};return _0x20bf74[_0x3fcc1d(0x14b)]?.[_0x3fcc1d(0x13f)]?.[_0x3fcc1d(0x19c)]&&(_0x20bf74['route'][_0x3fcc1d(0x13f)]=_0x20bf74['route'][_0x3fcc1d(0x13f)][_0x3fcc1d(0x19d)](_0x1d12a7=>({..._0x1d12a7,'geometry':_0x3531fe===_0x3fcc1d(0x191)&&typeof _0x1d12a7['geometry']==_0x3fcc1d(0x1a3)?E(_0x1d12a7[_0x3fcc1d(0x152)]):_0x1d12a7[_0x3fcc1d(0x152)]}))),_0x20bf74;}):_0xb408f6;}catch(_0x3d52c6){throw _0x3d52c6;}}function a0_0x3492(_0x12f75e,_0x1312fc){var _0x2b7fe7=a0_0xf2fe();return a0_0x3492=function(_0x5dc689,_0x293ba9){_0x5dc689=_0x5dc689-0x127;var _0x6fda23=_0x2b7fe7[_0x5dc689];return _0x6fda23;},a0_0x3492(_0x12f75e,_0x1312fc);}var K=async _0x5e0b9c=>{var _0x2ce2c6=a0_0x1e0992,_0x59826a={'Sujbi':'services/getAddress'};try{return(await c[_0x2ce2c6(0x188)](_0x59826a[_0x2ce2c6(0x177)],_0x5e0b9c))[_0x2ce2c6(0x13b)];}catch(_0x14adcc){throw console[_0x2ce2c6(0x159)]('Ошибка\x20при\x20поиске\x20адреса:',_0x14adcc),_0x14adcc;}},w={};f(w,{'search':()=>$});async function z(_0x5deff0,_0x241b30,_0x2adcab){var _0x5e9f80=a0_0x1e0992,_0x18f197={'vbviu':function(_0x1be1e2,_0x5d6d77){return _0x1be1e2(_0x5d6d77);}};let _0x4c0c77={'text':_0x5deff0,'token':_0x241b30||l(),..._0x2adcab};try{return await _0x18f197[_0x5e9f80(0x194)](K,_0x4c0c77);}catch(_0x48ca3f){throw _0x48ca3f;}}var B=R(z,0x1f4);async function $(_0x1846b7,_0x47239d,_0x5a8ff8){var _0x42a734=a0_0x1e0992,_0x2f804e={'zSBTq':function(_0x9a14aa,_0x261c03,_0xe5c901,_0x5d3837){return _0x9a14aa(_0x261c03,_0xe5c901,_0x5d3837);}};return await _0x2f804e[_0x42a734(0x18a)](B,_0x1846b7,_0x47239d,_0x5a8ff8);}function V(){var _0x10fdad=a0_0x1e0992,_0x3323f3={'GUYyh':_0x10fdad(0x145),'zBHfd':_0x10fdad(0x12c),'YazQr':'apikey'};let _0x5d9a37=document[_0x10fdad(0x187)](_0x3323f3[_0x10fdad(0x14d)]);for(let _0x41015f of _0x5d9a37)if(_0x41015f[_0x10fdad(0x186)][_0x10fdad(0x160)](_0x3323f3['zBHfd'])){let _0x162120=new URL(_0x41015f[_0x10fdad(0x186)])['searchParams'][_0x10fdad(0x196)](_0x3323f3[_0x10fdad(0x181)]);if(_0x162120)return _0x162120;}return'';}x(V()),0x0&&(module[a0_0x1e0992(0x19b)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ 'use strict';var a0_0x1665a5=a0_0x2b25;(function(_0x532108,_0x525724){var _0x1b0021=a0_0x2b25,_0x4a17b2=_0x532108();while(!![]){try{var _0x17f71d=parseInt(_0x1b0021(0x1cc))/0x1*(parseInt(_0x1b0021(0x148))/0x2)+-parseInt(_0x1b0021(0x162))/0x3*(parseInt(_0x1b0021(0x1a4))/0x4)+-parseInt(_0x1b0021(0x135))/0x5*(-parseInt(_0x1b0021(0x1c6))/0x6)+parseInt(_0x1b0021(0x1c7))/0x7+-parseInt(_0x1b0021(0x168))/0x8+-parseInt(_0x1b0021(0x199))/0x9+-parseInt(_0x1b0021(0x13e))/0xa;if(_0x17f71d===_0x525724)break;else _0x4a17b2['push'](_0x4a17b2['shift']());}catch(_0x553b26){_0x4a17b2['push'](_0x4a17b2['shift']());}}}(a0_0xd596,0x29dad));var v=Object[a0_0x1665a5(0x16a)],u=Object[a0_0x1665a5(0x16b)],C=Object[a0_0x1665a5(0x1ab)],N=Object['getOwnPropertyNames'],U=Object[a0_0x1665a5(0x15d)],F=Object[a0_0x1665a5(0x1ac)][a0_0x1665a5(0x1ca)],f=(_0x27a9e6,_0x5eec9d)=>{var _0xaaf782=a0_0x1665a5,_0x209d31={'CHRRp':function(_0x29e475,_0xba4d2f,_0x56405f,_0x2bef45){return _0x29e475(_0xba4d2f,_0x56405f,_0x2bef45);}};for(var _0x51f185 in _0x5eec9d)_0x209d31[_0xaaf782(0x18b)](u,_0x27a9e6,_0x51f185,{'get':_0x5eec9d[_0x51f185],'enumerable':!0x0});},S=(_0x7ff0ba,_0x7211fd,_0x57cd17,_0x37ad79)=>{var _0x3c9bd1=a0_0x1665a5,_0x1c54f9={'gIMAb':function(_0x33f7c1,_0xff05b0){return _0x33f7c1==_0xff05b0;},'ChHqo':_0x3c9bd1(0x1d6),'YpweY':_0x3c9bd1(0x152),'vmHJW':function(_0x488e00,_0xd0876){return _0x488e00(_0xd0876);},'NhrTS':function(_0x237953,_0x1e4aac){return _0x237953!==_0x1e4aac;},'HFQTM':function(_0x21511d,_0xf93a0f,_0xcb013c){return _0x21511d(_0xf93a0f,_0xcb013c);}};if(_0x7211fd&&_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9[_0x3c9bd1(0x13b)])||_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9['YpweY'])){for(let _0x231d6 of _0x1c54f9[_0x3c9bd1(0x1a1)](N,_0x7211fd))!F[_0x3c9bd1(0x151)](_0x7ff0ba,_0x231d6)&&_0x1c54f9[_0x3c9bd1(0x159)](_0x231d6,_0x57cd17)&&u(_0x7ff0ba,_0x231d6,{'get':()=>_0x7211fd[_0x231d6],'enumerable':!(_0x37ad79=_0x1c54f9[_0x3c9bd1(0x143)](C,_0x7211fd,_0x231d6))||_0x37ad79['enumerable']});}return _0x7ff0ba;},D=(_0x36c9a1,_0x40adff,_0x4e3fe1)=>(_0x4e3fe1=_0x36c9a1!=null?v(U(_0x36c9a1)):{},S(_0x40adff||!_0x36c9a1||!_0x36c9a1[a0_0x1665a5(0x17f)]?u(_0x4e3fe1,a0_0x1665a5(0x16c),{'value':_0x36c9a1,'enumerable':!0x0}):_0x4e3fe1,_0x36c9a1)),O=_0x4d3806=>S(u({},a0_0x1665a5(0x17f),{'value':!0x0}),_0x4d3806),q={};f(q,{'MahalMap':()=>d,'keyUtils':()=>b,'routerUtils':()=>M,'searchUtils':()=>w}),module[a0_0x1665a5(0x19d)]=O(q);var A=a0_0x1665a5(0x14e),I='https://mtile.gram.tj/custom-styles/dark-style.json',P=a0_0x1665a5(0x184),T='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function E(_0x330d84){var _0x4db528=a0_0x1665a5,_0x298b0b={'saNFO':function(_0x47a5bb,_0x1d32a1){return _0x47a5bb<_0x1d32a1;},'smuST':function(_0x169625,_0x3e0dda){return _0x169625-_0x3e0dda;},'GOJsC':function(_0x43643f,_0xf3b68c){return _0x43643f<<_0xf3b68c;},'eLMoo':function(_0x544bdb,_0x4b3475){return _0x544bdb&_0x4b3475;},'OBmcI':function(_0x2001fa,_0x459648){return _0x2001fa>=_0x459648;},'HLNvY':function(_0x237554,_0x4adbb8){return _0x237554>>_0x4adbb8;},'qpaqj':function(_0x5a6ca1,_0x1f6e67){return _0x5a6ca1>>_0x1f6e67;},'riatc':function(_0x30d72d,_0x502b6f){return _0x30d72d-_0x502b6f;},'Utwpu':function(_0x3f030d,_0x16d34d){return _0x3f030d<<_0x16d34d;},'JQskL':function(_0x38b565,_0x3b6fcb){return _0x38b565>=_0x3b6fcb;},'zPxzN':function(_0x45ed6f,_0x278a9a){return _0x45ed6f>>_0x278a9a;},'HocEl':function(_0x433d0a,_0x59676e){return _0x433d0a*_0x59676e;},'LIlxV':function(_0x5331ff,_0x564d00){return _0x5331ff*_0x564d00;}};let _0x549447=[],_0x581fa5=0x0,_0x56eba0=_0x330d84[_0x4db528(0x1b4)],_0x47802b=0x0,_0x4cd36f=0x0;for(;_0x298b0b['saNFO'](_0x581fa5,_0x56eba0);){let _0x2f43a8,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x187)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b['GOJsC'](_0x298b0b[_0x4db528(0x137)](_0x2f43a8,0x1f),_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b['OBmcI'](_0x2f43a8,0x20));let _0x336099=_0x42c098&0x1?~_0x298b0b['HLNvY'](_0x42c098,0x1):_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1);_0x47802b+=_0x336099,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x1ce)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b[_0x4db528(0x177)](_0x2f43a8&0x1f,_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b[_0x4db528(0x13f)](_0x2f43a8,0x20));let _0x485b85=_0x298b0b[_0x4db528(0x137)](_0x42c098,0x1)?~_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1):_0x298b0b[_0x4db528(0x18d)](_0x42c098,0x1);_0x4cd36f+=_0x485b85,_0x549447[_0x4db528(0x16e)]([_0x298b0b['HocEl'](_0x4cd36f,0.00001),_0x298b0b[_0x4db528(0x192)](_0x47802b,0.00001)]);}return _0x549447;}var h={'dark':I,'light':P},i=class i{constructor(){}static[a0_0x1665a5(0x16a)](_0x2f4796,_0x53905a){var _0x19143f=a0_0x1665a5,_0x1b7328={'AssHc':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','AMjNP':function(_0x11491b,_0x510292){return _0x11491b===_0x510292;},'PlKkO':_0x19143f(0x130),'ACmUN':_0x19143f(0x179)};if(i[_0x19143f(0x1bb)])return i['instance'];let _0x24c4ff=window['maplibregl']||_0x53905a;if(!_0x24c4ff)throw new Error(_0x1b7328['AssHc']);let _0x4a1bf7=_0x2f4796[_0x19143f(0x153)]?T:_0x2f4796[_0x19143f(0x13a)]?_0x2f4796[_0x19143f(0x13a)]:_0x1b7328[_0x19143f(0x15b)](_0x2f4796[_0x19143f(0x1bf)],_0x1b7328['PlKkO'])?h['dark']:h['light'],_0x1240b7=new i();return _0x1240b7[_0x19143f(0x1b6)]=_0x2f4796,_0x1240b7['map']=new _0x24c4ff[(_0x19143f(0x174))]({'container':_0x2f4796['container']||_0x1b7328[_0x19143f(0x164)],'style':_0x4a1bf7,'center':_0x2f4796[_0x19143f(0x149)]||[69.624024,40.279687],'zoom':_0x2f4796[_0x19143f(0x163)]||0x5}),i[_0x19143f(0x1bb)]=_0x1240b7,_0x1240b7;}[a0_0x1665a5(0x1b2)](){var _0x5c3d85=a0_0x1665a5;this[_0x5c3d85(0x179)][_0x5c3d85(0x17d)](),i['instance']=null;}static[a0_0x1665a5(0x190)](){var _0x16b403=a0_0x1665a5;if(!i[_0x16b403(0x1bb)])throw new Error('[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана');return i[_0x16b403(0x1bb)];}[a0_0x1665a5(0x1ae)](){var _0x4c1b86=a0_0x1665a5;return this[_0x4c1b86(0x179)];}[a0_0x1665a5(0x1a0)](_0x1a978f){var _0x6ccbfb=a0_0x1665a5,_0x5d81d4={'isXuM':function(_0x1fb2a5,_0x52e69c){return _0x1fb2a5===_0x52e69c;},'Emfan':_0x6ccbfb(0x130)};this[_0x6ccbfb(0x179)][_0x6ccbfb(0x1a0)](_0x5d81d4[_0x6ccbfb(0x173)](_0x1a978f,_0x5d81d4[_0x6ccbfb(0x1b8)])?h[_0x6ccbfb(0x130)]:h[_0x6ccbfb(0x176)]);}[a0_0x1665a5(0x154)](_0x4945d9){var _0x367c07=a0_0x1665a5;this[_0x367c07(0x179)][_0x367c07(0x154)](_0x4945d9);}[a0_0x1665a5(0x1d3)](_0x520762){var _0x1dfcbb=a0_0x1665a5;this[_0x1dfcbb(0x179)][_0x1dfcbb(0x1d3)](_0x520762);}};i[a0_0x1665a5(0x1bb)]=null;var d=i,L=D(require(a0_0x1665a5(0x14a))),c=L[a0_0x1665a5(0x16c)][a0_0x1665a5(0x16a)]({'baseURL':A});c[a0_0x1665a5(0x141)]['request'][a0_0x1665a5(0x195)](_0x2a5258=>_0x2a5258,_0x514ec9=>(_0x514ec9[a0_0x1665a5(0x181)]?.[a0_0x1665a5(0x1aa)]===0x191&&y(),Promise[a0_0x1665a5(0x131)](_0x514ec9)));var b={};f(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x83b11a){var _0xe098d8=a0_0x1665a5,_0x162fca={'MafYc':function(_0xb0d154,_0x2d2e83){return _0xb0d154!==_0x2d2e83;}};_0x162fca[_0xe098d8(0x1d2)](_0x83b11a,'')&&(g=_0x83b11a,c[_0xe098d8(0x17c)][_0xe098d8(0x1a5)]['common'][_0xe098d8(0x1a8)]=_0xe098d8(0x19e)+_0x83b11a);}function y(){var _0x20ce8e=a0_0x1665a5,_0x200164={'fdErs':function(_0x24d3ee,_0x4b8d89){return _0x24d3ee===_0x4b8d89;},'cFqjh':_0x20ce8e(0x1ba),'UEjEu':function(_0x19c93d,_0x3592e8){return _0x19c93d==_0x3592e8;},'GJwBr':function(_0x2bec84,_0x2ca732,_0x32e406){return _0x2bec84(_0x2ca732,_0x32e406);},'STmiL':_0x20ce8e(0x1b0),'qAQPf':function(_0x451c99,_0x18c3d0){return _0x451c99===_0x18c3d0;},'NIIUl':_0x20ce8e(0x1be),'WpEcW':function(_0x35b408,_0xd6653a){return _0x35b408(_0xd6653a);},'zScZB':'{}.constructor(\x22return\x20this\x22)(\x20)','ayJZm':function(_0x33053b,_0x4beca8){return _0x33053b!==_0x4beca8;},'GAjyu':_0x20ce8e(0x136),'DMbQD':_0x20ce8e(0x157),'hmhsn':_0x20ce8e(0x1c8),'fhVNy':'info','QqfcC':_0x20ce8e(0x1c2),'kymLl':_0x20ce8e(0x196),'YCvwr':'table','jigwK':_0x20ce8e(0x1d5),'VJtAC':function(_0xd7ee5d,_0x398594){return _0xd7ee5d<_0x398594;},'jcViL':_0x20ce8e(0x185),'NwizU':function(_0x355c76){return _0x355c76();}},_0x342199=(function(){var _0x254b96=_0x20ce8e,_0x50d94f={'HUzVx':function(_0x26a5a4,_0x4c3199){var _0x33d20e=a0_0x2b25;return _0x200164[_0x33d20e(0x198)](_0x26a5a4,_0x4c3199);},'zCwwl':_0x200164[_0x254b96(0x15a)],'YChZi':function(_0xcec705,_0x4a46b7){var _0x225217=_0x254b96;return _0x200164[_0x225217(0x1ad)](_0xcec705,_0x4a46b7);},'wgtBu':'object','pVSSA':function(_0x6f9e3a,_0x13ab21){var _0x2800b9=_0x254b96;return _0x200164[_0x2800b9(0x1ad)](_0x6f9e3a,_0x13ab21);},'AQCar':function(_0x1aabe0,_0x3c3f34){return _0x1aabe0(_0x3c3f34);},'Lzzss':function(_0x604790,_0x1d88c9,_0x4b2a55,_0x2b63bc){return _0x604790(_0x1d88c9,_0x4b2a55,_0x2b63bc);},'BUwvL':function(_0x526c0a,_0x36b6ad,_0x49e1e5){var _0x4a01a7=_0x254b96;return _0x200164[_0x4a01a7(0x1af)](_0x526c0a,_0x36b6ad,_0x49e1e5);}},_0x29db18=!![];return function(_0x3e40e4,_0x55a23f){var _0x23710e=_0x254b96,_0x37e9e2={'FMYqa':function(_0x550fb5,_0x59686c){return _0x50d94f['YChZi'](_0x550fb5,_0x59686c);},'PfDdD':_0x50d94f[_0x23710e(0x147)],'pjAeM':function(_0x2f3fe8,_0x5b204e){return _0x50d94f['pVSSA'](_0x2f3fe8,_0x5b204e);},'iNxZE':function(_0x5b59c9,_0x4536f0){var _0x6420d6=_0x23710e;return _0x50d94f[_0x6420d6(0x182)](_0x5b59c9,_0x4536f0);},'eIPuj':function(_0x19de06,_0x5bdced){return _0x19de06!==_0x5bdced;},'TiUOS':function(_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf){var _0xbd741c=_0x23710e;return _0x50d94f[_0xbd741c(0x19b)](_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf);},'YFZUY':function(_0x1136a4,_0x1020b0,_0x44d9cb){var _0x45488e=_0x23710e;return _0x50d94f[_0x45488e(0x1d1)](_0x1136a4,_0x1020b0,_0x44d9cb);}},_0x485105=_0x29db18?function(){var _0x2bbf23=_0x23710e;if(_0x50d94f[_0x2bbf23(0x1c1)](_0x50d94f[_0x2bbf23(0x12d)],_0x50d94f[_0x2bbf23(0x12d)])){if(_0x55a23f){var _0x1bc1bf=_0x55a23f[_0x2bbf23(0x1d8)](_0x3e40e4,arguments);return _0x55a23f=null,_0x1bc1bf;}}else{if(_0x49374f&&_0x37e9e2[_0x2bbf23(0x1da)](typeof _0x2ec7dd,_0x37e9e2[_0x2bbf23(0x1d9)])||_0x37e9e2[_0x2bbf23(0x16d)](typeof _0x5922c0,_0x2bbf23(0x152))){for(let _0xfc9710 of _0x37e9e2[_0x2bbf23(0x17a)](_0x48e8c5,_0x2bb4ee))!_0x45f6b3[_0x2bbf23(0x151)](_0x12d9b2,_0xfc9710)&&_0x37e9e2[_0x2bbf23(0x19a)](_0xfc9710,_0x23ffc7)&&_0x37e9e2[_0x2bbf23(0x16f)](_0x146b6e,_0xf5f01b,_0xfc9710,{'get':()=>_0x58a986[_0xfc9710],'enumerable':!(_0x5ebf1e=_0x37e9e2[_0x2bbf23(0x158)](_0x1feec5,_0x47d866,_0xfc9710))||_0x3d75c3[_0x2bbf23(0x188)]});}return _0x3486dd;}}:function(){};return _0x29db18=![],_0x485105;};}()),_0x11c062=_0x342199(this,function(){var _0x1783fd=_0x20ce8e,_0x2bf68d;try{if(_0x200164['qAQPf'](_0x200164[_0x1783fd(0x1dd)],_0x200164[_0x1783fd(0x1dd)])){var _0xeaf50=_0x200164[_0x1783fd(0x17b)](Function,_0x1783fd(0x150)+_0x200164[_0x1783fd(0x139)]+');');_0x2bf68d=_0xeaf50();}else{let _0x30bfab=new _0x332209(_0xeeaa00[_0x1783fd(0x1a7)])[_0x1783fd(0x155)][_0x1783fd(0x170)](_0x200164[_0x1783fd(0x13c)]);if(_0x30bfab)return _0x30bfab;}}catch(_0x27efd7){if(_0x200164[_0x1783fd(0x191)](_0x200164[_0x1783fd(0x142)],_0x1783fd(0x165)))_0x2bf68d=window;else throw _0x57f0e7;}var _0x30d276=_0x2bf68d['console']=_0x2bf68d[_0x1783fd(0x1cb)]||{},_0x4e2497=[_0x200164['DMbQD'],_0x200164['hmhsn'],_0x200164[_0x1783fd(0x169)],_0x200164[_0x1783fd(0x175)],_0x200164[_0x1783fd(0x1d4)],_0x200164[_0x1783fd(0x140)],_0x200164[_0x1783fd(0x12e)]];for(var _0xb52df7=0x0;_0x200164['VJtAC'](_0xb52df7,_0x4e2497[_0x1783fd(0x1b4)]);_0xb52df7++){var _0x544f72=_0x200164[_0x1783fd(0x161)][_0x1783fd(0x1d7)]('|'),_0xdff54c=0x0;while(!![]){switch(_0x544f72[_0xdff54c++]){case'0':_0x410fa6[_0x1783fd(0x197)]=_0x342199[_0x1783fd(0x14c)](_0x342199);continue;case'1':_0x410fa6[_0x1783fd(0x12f)]=_0x352ec2[_0x1783fd(0x12f)][_0x1783fd(0x14c)](_0x352ec2);continue;case'2':var _0x352ec2=_0x30d276[_0x396aa1]||_0x410fa6;continue;case'3':var _0x410fa6=_0x342199[_0x1783fd(0x1a2)]['prototype'][_0x1783fd(0x14c)](_0x342199);continue;case'4':_0x30d276[_0x396aa1]=_0x410fa6;continue;case'5':var _0x396aa1=_0x4e2497[_0xb52df7];continue;}break;}}});_0x200164[_0x20ce8e(0x18c)](_0x11c062),(g='',c['defaults']['headers']['common']['Authorization']='');}function a0_0x2b25(_0x554d61,_0x5e8e71){var _0x40a6f2=a0_0xd596();return a0_0x2b25=function(_0x105824,_0x17899b){_0x105824=_0x105824-0x12d;var _0x2aa973=_0x40a6f2[_0x105824];return _0x2aa973;},a0_0x2b25(_0x554d61,_0x5e8e71);}var l=()=>g;function R(_0x4d0369,_0x4f6ce3){var _0x22087e={'kehzh':function(_0x389af5,..._0x2fa80f){return _0x389af5(..._0x2fa80f);},'XxLeU':function(_0x37f711,_0x4de7c2){return _0x37f711(_0x4de7c2);},'bPUIT':function(_0x48055f,_0x28b757,_0x52921b){return _0x48055f(_0x28b757,_0x52921b);}};let _0x23d279;return(..._0x3aa628)=>(_0x23d279&&clearTimeout(_0x23d279),new Promise(_0x309463=>{_0x23d279=_0x22087e['bPUIT'](setTimeout,async()=>{var _0x131dc6=a0_0x2b25,_0x11738b=await _0x22087e[_0x131dc6(0x166)](_0x4d0369,..._0x3aa628);_0x22087e[_0x131dc6(0x138)](_0x309463,_0x11738b);},_0x4f6ce3);}));}var k=async(_0x3e2648,_0x24cabc)=>{var _0x290302=a0_0x1665a5,_0x53de51={'kCBrw':function(_0x363b56,_0x1f443f){return _0x363b56(_0x1f443f);},'AWnba':function(_0x2e3149,_0x4b0759){return _0x2e3149+_0x4b0759;},'cvqpX':_0x290302(0x1b3),'DONkD':function(_0x5565cb){return _0x5565cb();},'pQmTU':_0x290302(0x1c8),'WBxWt':'info','XSzxp':_0x290302(0x18a),'kcOrZ':_0x290302(0x17e),'HMXdx':_0x290302(0x1d0),'FaVTj':_0x290302(0x193)};try{let _0x4b3b82=[];return _0x3e2648[_0x290302(0x13d)](_0x4e972d=>{var _0x5694a2=_0x290302,_0x11537e={'CaUOd':function(_0x2341f3,_0x204b7f){var _0x4d20fc=a0_0x2b25;return _0x53de51[_0x4d20fc(0x144)](_0x2341f3,_0x204b7f);},'UCiks':function(_0x184bf3,_0x6639f3){var _0x33c122=a0_0x2b25;return _0x53de51[_0x33c122(0x1c5)](_0x184bf3,_0x6639f3);},'xtIan':_0x53de51[_0x5694a2(0x1b5)],'qjmXj':function(_0x5de688){return _0x53de51['DONkD'](_0x5de688);},'hUKff':_0x5694a2(0x157),'fUinK':_0x53de51[_0x5694a2(0x18f)],'UUWdE':_0x53de51[_0x5694a2(0x132)],'VydYy':_0x5694a2(0x1c2),'FVPYs':_0x53de51[_0x5694a2(0x160)],'OUClX':_0x5694a2(0x1d5),'ooCXx':_0x53de51[_0x5694a2(0x1c9)]};if(_0x53de51['HMXdx']!==_0x53de51[_0x5694a2(0x15e)]){var _0xe7dd83;try{var _0x257c9d=toTKtY[_0x5694a2(0x1cf)](_0x1cc759,toTKtY[_0x5694a2(0x1b9)](_0x5694a2(0x150),toTKtY['xtIan'])+');');_0xe7dd83=toTKtY[_0x5694a2(0x172)](_0x257c9d);}catch(_0xe37c2b){_0xe7dd83=_0x181f30;}var _0x38b064=_0xe7dd83[_0x5694a2(0x1cb)]=_0xe7dd83['console']||{},_0x58aba0=[toTKtY['hUKff'],toTKtY[_0x5694a2(0x156)],toTKtY[_0x5694a2(0x186)],toTKtY[_0x5694a2(0x167)],_0x5694a2(0x196),toTKtY[_0x5694a2(0x180)],toTKtY[_0x5694a2(0x1c4)]];for(var _0x466cd4=0x0;_0x466cd4<_0x58aba0[_0x5694a2(0x1b4)];_0x466cd4++){var _0x10a97c=toTKtY[_0x5694a2(0x1dc)]['split']('|'),_0x5e2f84=0x0;while(!![]){switch(_0x10a97c[_0x5e2f84++]){case'0':_0xcaff4[_0x5694a2(0x12f)]=_0x53e273[_0x5694a2(0x12f)][_0x5694a2(0x14c)](_0x53e273);continue;case'1':var _0x53e273=_0x38b064[_0x8a6d21]||_0xcaff4;continue;case'2':_0x38b064[_0x8a6d21]=_0xcaff4;continue;case'3':var _0x8a6d21=_0x58aba0[_0x466cd4];continue;case'4':_0xcaff4[_0x5694a2(0x197)]=_0x104f18[_0x5694a2(0x14c)](_0x53896a);continue;case'5':var _0xcaff4=_0x1ada69[_0x5694a2(0x1a2)]['prototype'][_0x5694a2(0x14c)](_0x57aade);continue;}break;}}}else _0x4b3b82[_0x5694a2(0x16e)]({'lng':_0x4e972d[0x0],'lat':_0x4e972d[0x1]});}),(await c[_0x290302(0x1a6)](_0x53de51[_0x290302(0x189)],{'points':_0x4b3b82,'token':_0x24cabc||_0x53de51[_0x290302(0x1bc)](l)}))['data'];}catch(_0x270b4d){throw console['error'](_0x270b4d),_0x270b4d;}},M={};f(M,{'getrouter':()=>X});async function X(_0x2e9518,_0xe2c3c4,_0x1544dd){var _0x289d1b=a0_0x1665a5,_0x1818f7={'NMcql':function(_0x4a3cf4,_0x4edf16){return _0x4a3cf4===_0x4edf16;},'NpXgY':_0x289d1b(0x130),'JoTsI':'3|4|5|1|0|2','lgKzR':_0x289d1b(0x14d),'gBjgt':_0x289d1b(0x1c0),'uTPhn':'uTCyY','ttFSS':'KtEaa','xaNzA':function(_0x122f8c,_0x3c5fa1,_0x6cb312){return _0x122f8c(_0x3c5fa1,_0x6cb312);}};try{if(_0x1818f7['NMcql'](_0x1818f7[_0x289d1b(0x14f)],_0x1818f7[_0x289d1b(0x1cd)]))this[_0x289d1b(0x179)][_0x289d1b(0x1a0)](_0x1818f7['NMcql'](_0x49d81b,_0x1818f7[_0x289d1b(0x15f)])?_0xc77dc6[_0x289d1b(0x130)]:_0x11f33c['light']);else{let _0x56474c=await _0x1818f7[_0x289d1b(0x146)](k,_0x2e9518,_0x1544dd);return _0x56474c?.[_0x289d1b(0x133)]?_0x56474c[_0x289d1b(0x133)]['map'](_0x1804d1=>{var _0x4d0d48=_0x289d1b,_0x1b17de={'TACtM':_0x1818f7[_0x4d0d48(0x14b)]};if(_0x1818f7[_0x4d0d48(0x1b7)]===_0x1818f7['gBjgt']){var _0x1312ed=_0x1b17de[_0x4d0d48(0x194)][_0x4d0d48(0x1d7)]('|'),_0x5586da=0x0;while(!![]){switch(_0x1312ed[_0x5586da++]){case'0':_0x3fee29[_0x4d0d48(0x12f)]=_0x4c5c90[_0x4d0d48(0x12f)][_0x4d0d48(0x14c)](_0x4c5c90);continue;case'1':_0x3fee29['__proto__']=_0x2e322f[_0x4d0d48(0x14c)](_0x3d294d);continue;case'2':_0x157e49[_0x3ee417]=_0x3fee29;continue;case'3':var _0x3fee29=_0x504d36[_0x4d0d48(0x1a2)][_0x4d0d48(0x1ac)][_0x4d0d48(0x14c)](_0x443c90);continue;case'4':var _0x3ee417=_0x80c353[_0x354f84];continue;case'5':var _0x4c5c90=_0x15a0ce[_0x3ee417]||_0x3fee29;continue;}break;}}else{let _0x44adc3={..._0x1804d1};return _0x44adc3[_0x4d0d48(0x178)]?.[_0x4d0d48(0x145)]?.['length']&&(_0x44adc3[_0x4d0d48(0x178)][_0x4d0d48(0x145)]=_0x44adc3['route']['routes'][_0x4d0d48(0x179)](_0xbbc121=>({..._0xbbc121,'geometry':_0xe2c3c4===_0x4d0d48(0x1b1)&&typeof _0xbbc121['geometry']==_0x4d0d48(0x1a3)?E(_0xbbc121[_0x4d0d48(0x1a9)]):_0xbbc121[_0x4d0d48(0x1a9)]}))),_0x44adc3;}}):_0x56474c;}}catch(_0x4d9342){throw _0x4d9342;}}var K=async _0x123706=>{var _0x899e18=a0_0x1665a5,_0x39c9b1={'cDjRo':'Ошибка\x20при\x20поиске\x20адреса:'};try{return(await c['post'](_0x899e18(0x15c),_0x123706))[_0x899e18(0x133)];}catch(_0x389503){throw console[_0x899e18(0x1c2)](_0x39c9b1[_0x899e18(0x134)],_0x389503),_0x389503;}},w={};f(w,{'search':()=>$});async function z(_0x45de32,_0xdaec52,_0x20fc5a){var _0x634334={'DaJUc':function(_0x20747d,_0x3ad8f0){return _0x20747d(_0x3ad8f0);}};let _0x14d0b1={'text':_0x45de32,'token':_0xdaec52||l(),..._0x20fc5a};try{return await _0x634334['DaJUc'](K,_0x14d0b1);}catch(_0x4e0ef6){throw _0x4e0ef6;}}var B=R(z,0x1f4);function a0_0xd596(){var _0x188cce=['VydYy','1504128xQXYUT','fhVNy','create','defineProperty','default','pjAeM','push','TiUOS','get','tUSJB','qjmXj','isXuM','Map','QqfcC','light','Utwpu','route','map','iNxZE','WpEcW','defaults','remove','5|3|1|4|0|2','__esModule','FVPYs','request','AQCar','QnmHq','https://mtile.gram.tj/custom-styles/mapstyle.json','3|5|2|0|1|4','UUWdE','smuST','enumerable','FaVTj','table','CHRRp','NwizU','zPxzN','script','pQmTU','getInstance','ayJZm','LIlxV','services/getRoutes','TACtM','use','exception','__proto__','fdErs','130023nibkvp','eIPuj','Lzzss','getElementsByTagName','exports','Bearer\x20','charCodeAt','setStyle','vmHJW','constructor','string','312bTqJmU','headers','post','src','Authorization','geometry','status','getOwnPropertyDescriptor','prototype','UEjEu','getMap','GJwBr','apikey','geojson','destroy','{}.constructor(\x22return\x20this\x22)(\x20)','length','cvqpX','options','lgKzR','Emfan','UCiks','CfBpu','instance','DONkD','qpaqj','EBHBl','theme','VUthJ','HUzVx','error','includes','OUClX','AWnba','66306pkyiqD','1012144XKloOX','warn','kcOrZ','hasOwnProperty','console','748JDxCXT','ttFSS','riatc','CaUOd','xZHQO','BUwvL','MafYc','setZoom','kymLl','trace','object','split','apply','PfDdD','FMYqa','mahal_map.sdk.js','ooCXx','NIIUl','zCwwl','jigwK','toString','dark','reject','WBxWt','data','cDjRo','65uMwiHM','KaLAz','eLMoo','XxLeU','zScZB','style','ChHqo','STmiL','forEach','518830iTknwh','JQskL','YCvwr','interceptors','GAjyu','HFQTM','kCBrw','routes','xaNzA','wgtBu','706TQwrzC','center','axios','JoTsI','bind','mBoeS','https://platform.mahal.tj/api/','uTPhn','return\x20(function()\x20','call','function','autoAddVectorSource','setCenter','searchParams','fUinK','log','YFZUY','NhrTS','cFqjh','AMjNP','services/getAddress','getPrototypeOf','HMXdx','NpXgY','XSzxp','jcViL','4866ndbcZD','zoom','ACmUN','yfLYB','kehzh'];a0_0xd596=function(){return _0x188cce;};return a0_0xd596();}async function $(_0xc97302,_0x50105b,_0x2ffabd){var _0x17fe62=a0_0x1665a5,_0x20a164={'QnmHq':function(_0x1d4c42,_0x87e84d,_0x7805e8,_0x166d2e){return _0x1d4c42(_0x87e84d,_0x7805e8,_0x166d2e);}};return await _0x20a164[_0x17fe62(0x183)](B,_0xc97302,_0x50105b,_0x2ffabd);}function V(){var _0x48a46a=a0_0x1665a5,_0x25c62c={'tUSJB':_0x48a46a(0x1db)};let _0x33d6e7=document[_0x48a46a(0x19c)](_0x48a46a(0x18e));for(let _0x20a940 of _0x33d6e7)if(_0x20a940[_0x48a46a(0x1a7)][_0x48a46a(0x1c3)](_0x25c62c[_0x48a46a(0x171)])){let _0x593ccf=new URL(_0x20a940[_0x48a46a(0x1a7)])[_0x48a46a(0x155)][_0x48a46a(0x170)](_0x48a46a(0x1b0));if(_0x593ccf)return _0x593ccf;}return'';}x(V()),0x0&&(module[a0_0x1665a5(0x19d)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var K=Object.defineProperty;var f=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",M="https://mtile.gram.tj/custom-styles/mapstyle.json",w="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function S(e){let t=[],r=0,o=e.length,n=0,m=0;for(;r<o;){let a,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let R=i&1?~(i>>1):i>>1;n+=R,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let k=i&1?~(i>>1):i>>1;m+=k,t.push([m*1e-5,n*1e-5])}return t}var u={dark:b,light:M},p=class p{constructor(){}static create(t,r){if(p.instance)return p.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?w:t.style?t.style:t.theme==="dark"?u.dark:u.light,a=new p;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),p.instance=a,a}static getInstance(){if(!p.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return p.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};p.instance=null;var h=p;import j from"axios";var c=j.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var A={};f(A,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function I(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var P=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var T={};f(T,{getrouter:()=>G});async function G(e,t,r){try{let o=await P(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?S(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var E=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var L={};f(L,{search:()=>N});async function C(e,t,r){let o={text:e,token:t||l(),...r};try{return await E(o)}catch(n){throw n}}var v=I(C,500);async function N(e,t,r){return await v(e,t,r)}function U(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(U());export{h as MahalMap,A as keyUtils,T as routerUtils,L as searchUtils};
1
+ var K=Object.defineProperty;var f=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",M="https://mtile.gram.tj/custom-styles/mapstyle.json",w="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function S(e){let t=[],r=0,o=e.length,n=0,m=0;for(;r<o;){let a,s=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;n+=R,s=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let k=p&1?~(p>>1):p>>1;m+=k,t.push([m*1e-5,n*1e-5])}return t}var u={dark:b,light:M},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?w:t.style?t.style:t.theme==="dark"?u.dark:u.light,a=new i;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}destroy(){this.map.remove(),i.instance=null}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var h=i;import j from"axios";var c=j.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var A={};f(A,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function I(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var P=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var T={};f(T,{getrouter:()=>G});async function G(e,t,r){try{let o=await P(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?S(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var E=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var L={};f(L,{search:()=>N});async function v(e,t,r){let o={text:e,token:t||l(),...r};try{return await E(o)}catch(n){throw n}}var C=I(v,500);async function N(e,t,r){return await C(e,t,r)}function U(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(U());export{h as MahalMap,A as keyUtils,T as routerUtils,L as searchUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"0FAAA,IAAMA,EAAW,iCASjB,IAAMC,EAAO,sDACPC,EAAQ,oDACRC,EACJ,mECZF,SAASC,EAAgBC,EAA6B,CACpD,IAAIC,EAAS,CAAC,EACVC,EAAQ,EACVC,EAAMH,EAAQ,OACZI,EAAM,EACRC,EAAM,EAER,KAAOH,EAAQC,GAAK,CAClB,IAAIG,EACFC,EAAQ,EACRC,EAAS,EACX,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAIG,EAAOD,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDJ,GAAOK,EAEPF,EAAQ,EACRC,EAAS,EACT,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAII,EAAOF,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDH,GAAOK,EAEPT,EAAO,KAAK,CAACI,EAAM,KAAMD,EAAM,IAAI,CAAC,CACtC,CAEA,OAAOH,CACT,CC7BA,IAAMU,EAAgB,CAAE,KAAMC,EAAM,MAAOC,CAAM,EAEpCC,EAAN,MAAMA,CAAS,CAMZ,aAAc,CAAC,CAEvB,OAAO,OACLC,EACAC,EACA,CACA,GAAIF,EAAS,SAAU,OAAOA,EAAS,SAGvC,IAAMG,EADkB,OAAe,YACJD,EAEnC,GAAI,CAACC,EACH,MAAM,IAAI,MACR,0VACF,EAGF,IAAMC,EAAaH,EAAQ,oBACvBI,EACAJ,EAAQ,MACNA,EAAQ,MACRA,EAAQ,QAAU,OAChBJ,EAAc,KACdA,EAAc,MAEhBS,EAAW,IAAIN,EAErB,OAAAM,EAAS,QAAUL,EACnBK,EAAS,IAAM,IAAIH,EAAS,IAAI,CAC9B,UAAWF,EAAQ,WAAa,MAChC,MAAOG,EACP,OAAQH,EAAQ,QAAU,CAAC,UAAW,SAAS,EAC/C,KAAMA,EAAQ,MAAQ,CACxB,CAAC,EAEDD,EAAS,SAAWM,EACbA,CACT,CAEA,OAAO,aAAwB,CAC7B,GAAI,CAACN,EAAS,SACZ,MAAM,IAAI,MAAM,0HAAqC,EAEvD,OAAOA,EAAS,QAClB,CAEA,QAAkB,CAChB,OAAO,KAAK,GACd,CAEA,SAASO,EAAyB,CAChC,KAAK,IAAI,SACPA,IAAU,OAASV,EAAc,KAAOA,EAAc,KACxD,CACF,CAEA,UAAUW,EAA0B,CAClC,KAAK,IAAI,UAAUA,CAAM,CAC3B,CAEA,QAAQC,EAAc,CACpB,KAAK,IAAI,QAAQA,CAAI,CACvB,CACF,EArEaT,EACI,SAA4B,KADtC,IAAMU,EAANV,ECNP,OAAOW,MAAW,QAIX,IAAMC,EAAMC,EAAM,OAAO,CAC9B,QAASC,CACX,CAAC,EAEDF,EAAI,aAAa,QAAQ,IACtBG,GAAaA,EACbC,IACKA,EAAM,SAAS,SAAW,KAC5BC,EAAS,EAEJ,QAAQ,OAAOD,CAAK,EAE/B,EChBA,IAAAE,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,YAAAC,ICEA,IAAIC,EAAiB,GAErB,SAASC,EAAQC,EAAe,CAC1BA,IAAU,KACdF,EAASE,EACTC,EAAI,SAAS,QAAQ,OAAO,cAAmB,UAAUD,CAAK,GAChE,CAEA,SAASE,GAAW,CAClBJ,EAAS,GACTG,EAAI,SAAS,QAAQ,OAAO,cAAmB,EACjD,CAEA,IAAME,EAAY,IAAML,ECfxB,SAASM,EACPC,EACAC,EACA,CACA,IAAIC,EAEJ,MAAO,IAAIC,KACLD,GAAO,aAAaA,CAAK,EACtB,IAAI,QAASE,GAAY,CAC9BF,EAAQ,WAAW,SAAY,CAC7B,IAAMG,EAAS,MAAML,EAAG,GAAGG,CAAI,EAC/BC,EAAQC,CAAM,CAChB,EAAGJ,CAAK,CACV,CAAC,EAEL,CCbA,IAAMK,EAAa,MAAOC,EAAmBC,IAAkB,CAC7D,GAAI,CACF,IAAMC,EAAyC,CAAC,EAEhD,OAAAF,EAAM,QAASG,GAAM,CACnBD,EAAO,KAAK,CAAE,IAAKC,EAAE,CAAC,EAAG,IAAKA,EAAE,CAAC,CAAE,CAAC,CACtC,CAAC,GACgB,MAAMC,EAAI,KAAK,qBAAsB,CACpD,OAAAF,EACA,MAAOD,GAAgBI,EAAU,CACnC,CAAC,GACe,IAClB,OAASC,EAAK,CACZ,cAAQ,MAAMA,CAAG,EACXA,CACR,CACF,EClBA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAIA,eAAeC,EACbC,EACAC,EACAC,EACmB,CACnB,GAAI,CACF,IAAMC,EAAM,MAAMC,EAAWJ,EAAOE,CAAK,EAEzC,OAAKC,GAAK,KAEaA,EAAI,KAEf,IAAKE,GAAU,CACzB,IAAMC,EAAU,CAAE,GAAGD,CAAM,EAE3B,OAAIC,EAAQ,OAAO,QAAQ,SACzBA,EAAQ,MAAM,OAASA,EAAQ,MAAM,OAAO,IAAKC,IAAO,CACtD,GAAGA,EACH,SACEN,IAAa,WAAa,OAAOM,EAAE,UAAa,SAC5CC,EAAgBD,EAAE,QAAQ,EAC1BA,EAAE,QACV,EAAE,GAGGD,CACT,CAAC,EAlBsBH,CAmBzB,OAASM,EAAO,CACd,MAAMA,CACR,CACF,CC/BO,IAAMC,EAAa,MAAOC,GAA6C,CAC5E,GAAI,CAEF,OADiB,MAAMC,EAAI,KAAK,sBAAuBD,CAAM,GAC7C,IAClB,OAASE,EAAO,CACd,cAAQ,MAAM,qIAA6BA,CAAK,EAC1CA,CACR,CACF,ECXA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAMA,eAAeC,EACbC,EACAC,EACAC,EACoB,CACpB,IAAIC,EAA2B,CAC7B,KAAMH,EACN,MAAOC,GAAgBG,EAAU,EACjC,GAAGF,CACL,EAkBA,GAAI,CAEF,OADuB,MAAMG,EAAWF,CAAU,CAEpD,OAASG,EAAO,CACd,MAAMA,CACR,CACF,CAEA,IAAMC,EAAcC,EAAST,EAAW,GAAG,EAE3C,eAAeU,EACbT,EACAC,EACAC,EACA,CACA,OAAO,MAAMK,EAAYP,EAAOC,EAAOC,CAAe,CACxD,CC1CA,SAASQ,GAAuB,CAC9B,IAAMC,EAAU,SAAS,qBAAqB,QAAQ,EACtD,QAAWC,KAAUD,EACnB,GAAIC,EAAO,IAAI,SAAS,kBAAkB,EAAG,CAE3C,IAAMC,EADM,IAAI,IAAID,EAAO,GAAG,EACX,aAAa,IAAI,QAAQ,EAC5C,GAAIC,EAAQ,OAAOA,CACrB,CAEF,MAAO,EACT,CACSC,EAAQJ,EAAqB,CAAC","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}