mahal_map 1.2.2 → 1.2.3

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.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x295f01=a0_0x1e58;function a0_0x1e58(_0x2ade27,_0xcf1a56){var _0x30c037=a0_0x4956();return a0_0x1e58=function(_0x37add5,_0x5d5879){_0x37add5=_0x37add5-0x116;var _0x114dcf=_0x30c037[_0x37add5];return _0x114dcf;},a0_0x1e58(_0x2ade27,_0xcf1a56);}(function(_0x141743,_0x2beab5){var _0x4fe9be=a0_0x1e58,_0x1760dc=_0x141743();while(!![]){try{var _0x124a8a=-parseInt(_0x4fe9be(0x171))/0x1+-parseInt(_0x4fe9be(0x19c))/0x2+parseInt(_0x4fe9be(0x11d))/0x3+parseInt(_0x4fe9be(0x182))/0x4+-parseInt(_0x4fe9be(0x143))/0x5+parseInt(_0x4fe9be(0x175))/0x6*(-parseInt(_0x4fe9be(0x187))/0x7)+parseInt(_0x4fe9be(0x15d))/0x8;if(_0x124a8a===_0x2beab5)break;else _0x1760dc['push'](_0x1760dc['shift']());}catch(_0x442475){_0x1760dc['push'](_0x1760dc['shift']());}}}(a0_0x4956,0x78024));var U=Object[a0_0x295f01(0x131)],f=Object['defineProperty'],F=Object['getOwnPropertyDescriptor'],D=Object['getOwnPropertyNames'],O=Object[a0_0x295f01(0x129)],X=Object[a0_0x295f01(0x168)]['hasOwnProperty'],u=(_0x7ddaf0,_0x233a8d)=>{var _0x462b3a={'unbTa':function(_0x668942,_0x52e35a,_0x564a17,_0xb5dd48){return _0x668942(_0x52e35a,_0x564a17,_0xb5dd48);}};for(var _0x4e7ada in _0x233a8d)_0x462b3a['unbTa'](f,_0x7ddaf0,_0x4e7ada,{'get':_0x233a8d[_0x4e7ada],'enumerable':!0x0});},P=(_0x507860,_0x1d01db,_0x12d49f,_0x552df5)=>{var _0x1ed062=a0_0x295f01,_0x5933b3={'tKmef':function(_0xc139b7,_0x4d2c77){return _0xc139b7==_0x4d2c77;},'QxYBg':_0x1ed062(0x165),'naqiE':function(_0x582387,_0x2624b2){return _0x582387==_0x2624b2;},'XZPsr':_0x1ed062(0x18d),'ZzDHm':function(_0x5517dd,_0x5f4fcc){return _0x5517dd(_0x5f4fcc);},'WjEEk':function(_0x15f659,_0x124c84){return _0x15f659!==_0x124c84;},'TteaC':function(_0x2a4e03,_0x32d379,_0x5771b0,_0x3ebaa3){return _0x2a4e03(_0x32d379,_0x5771b0,_0x3ebaa3);},'AIXSE':function(_0x4ecc24,_0x2bbf6e,_0x411c37){return _0x4ecc24(_0x2bbf6e,_0x411c37);}};if(_0x1d01db&&_0x5933b3[_0x1ed062(0x14c)](typeof _0x1d01db,_0x5933b3[_0x1ed062(0x197)])||_0x5933b3['naqiE'](typeof _0x1d01db,_0x5933b3['XZPsr'])){for(let _0x38565e of _0x5933b3[_0x1ed062(0x14f)](D,_0x1d01db))!X['call'](_0x507860,_0x38565e)&&_0x5933b3['WjEEk'](_0x38565e,_0x12d49f)&&_0x5933b3[_0x1ed062(0x14b)](f,_0x507860,_0x38565e,{'get':()=>_0x1d01db[_0x38565e],'enumerable':!(_0x552df5=_0x5933b3[_0x1ed062(0x157)](F,_0x1d01db,_0x38565e))||_0x552df5['enumerable']});}return _0x507860;},B=(_0x38b3e1,_0x57cfa2,_0x5a0cf5)=>(_0x5a0cf5=_0x38b3e1!=null?U(O(_0x38b3e1)):{},P(_0x57cfa2||!_0x38b3e1||!_0x38b3e1[a0_0x295f01(0x13e)]?f(_0x5a0cf5,a0_0x295f01(0x181),{'value':_0x38b3e1,'enumerable':!0x0}):_0x5a0cf5,_0x38b3e1)),Z=_0x7d6a3f=>P(f({},a0_0x295f01(0x13e),{'value':!0x0}),_0x7d6a3f),Q={};u(Q,{'MahalMap':()=>d,'controller':()=>T,'keyUtils':()=>w,'routerUtils':()=>A,'searchUtils':()=>I}),module[a0_0x295f01(0x17e)]=Z(Q);function a0_0x4956(){var _0x3be8aa=['QxYBg','pmLmz','route','apply','dark','1445038bnVuxR','pxhTg','lIaCu','string','QZJtB','mMRQU','PHrPi','TGOoP','center','2624502FZWTIw','setZoom','test','constructor','searchParams','status','services/getRoutes','VKduu','mahal_map.sdk.js','return\x20(function()\x20','remove','Map','getPrototypeOf','info','container','xuCKT','post','autoAddVectorSource','theme','length','create','Ошибка\x20при\x20поиске\x20адреса:','light','mMfwV','request','nvmAb','error','cacuN','src','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','match','https://mtile.gram.tj/custom-styles/dark-style.json','vJDgF','__esModule','style','reject','xiLua','qyPfV','140875LoFWly','SlhSf','qlcGt','vObyw','eStNU','InvEX','getInstance','getMap','TteaC','tKmef','console','ALIdf','ZzDHm','oCElb','IdgHU','YjvET','ekRiX','split','common','Authorization','AIXSE','headers','RkqsK','zbRay','txiMU','table','12829920oELEnQ','bind','oHiyb','geometry','interceptors','fSADC','destroy','includes','object','uFIaU','Tnxyc','prototype','map','toString','__proto__','services/getAddress','log','kmxim','bZaWo','MbLjX','731290zyYsPJ','defaults','Fhfhv','data','3894XnMvmb','zoom','getElementsByTagName','routes','Bearer\x20','apikey','warn','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','vXlTx','exports','instance','iGFeL','default','879596BvaTqf','4|0|2|1|5|3','2|3|4|1|0','AnqCo','maplibregl','7819zVdlwK','WhZHd','kJZwA','setStyle','saPrO','UZlHc','function','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','yHaJM','get','push','nwRkZ','xNtWE','PxskH','aFAHA','rCDIR'];a0_0x4956=function(){return _0x3be8aa;};return a0_0x4956();}var E='https://platform.mahal.tj/api/',x=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,b=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,L=a0_0x295f01(0x13c),R='https://mtile.gram.tj/custom-styles/mapstyle.json',k=a0_0x295f01(0x18e);function K(_0x30cd69){var _0x57bc69=a0_0x295f01,_0x5d6f67={'YjvET':function(_0x50462b,_0x49a704){return _0x50462b<_0x49a704;},'SlhSf':function(_0x5a3adc,_0x9efb9b){return _0x5a3adc-_0x9efb9b;},'AnqCo':function(_0x4f4c7d,_0x5d8f08){return _0x4f4c7d<<_0x5d8f08;},'InvEX':function(_0x5caec1,_0x27b4ee){return _0x5caec1&_0x27b4ee;},'oCElb':function(_0x419c2b,_0x500d62){return _0x419c2b>=_0x500d62;},'UZlHc':function(_0x1d4b1e,_0x575eef){return _0x1d4b1e>>_0x575eef;},'VKduu':function(_0x1cc1a2,_0x4154a3){return _0x1cc1a2-_0x4154a3;},'kzmcy':function(_0x4b5e56,_0x5c49b9){return _0x4b5e56&_0x5c49b9;},'kJZwA':function(_0x1a5b4a,_0x2c5f79){return _0x1a5b4a&_0x2c5f79;},'xuCKT':function(_0x5992d0,_0x6b5335){return _0x5992d0*_0x6b5335;}};let _0x46e5fe=[],_0x534834=0x0,_0x61630f=_0x30cd69['length'],_0x4dab22=0x0,_0xa89a1c=0x0;for(;_0x5d6f67[_0x57bc69(0x152)](_0x534834,_0x61630f);){let _0x11b698,_0x30c930=0x0,_0x424d42=0x0;do _0x11b698=_0x5d6f67[_0x57bc69(0x144)](_0x30cd69['charCodeAt'](_0x534834++),0x3f),_0x424d42|=_0x5d6f67['AnqCo'](_0x5d6f67['InvEX'](_0x11b698,0x1f),_0x30c930),_0x30c930+=0x5;while(_0x5d6f67[_0x57bc69(0x150)](_0x11b698,0x20));let _0x35d961=_0x5d6f67[_0x57bc69(0x148)](_0x424d42,0x1)?~(_0x424d42>>0x1):_0x5d6f67[_0x57bc69(0x18c)](_0x424d42,0x1);_0x4dab22+=_0x35d961,_0x30c930=0x0,_0x424d42=0x0;do _0x11b698=_0x5d6f67[_0x57bc69(0x124)](_0x30cd69['charCodeAt'](_0x534834++),0x3f),_0x424d42|=_0x5d6f67[_0x57bc69(0x185)](_0x5d6f67['kzmcy'](_0x11b698,0x1f),_0x30c930),_0x30c930+=0x5;while(_0x11b698>=0x20);let _0x1cb1ab=_0x5d6f67[_0x57bc69(0x189)](_0x424d42,0x1)?~(_0x424d42>>0x1):_0x5d6f67[_0x57bc69(0x18c)](_0x424d42,0x1);_0xa89a1c+=_0x1cb1ab,_0x46e5fe[_0x57bc69(0x191)]([_0x5d6f67['xuCKT'](_0xa89a1c,0.00001),_0x5d6f67[_0x57bc69(0x12c)](_0x4dab22,0.00001)]);}return _0x46e5fe;}var h={'dark':L,'light':R},i=class i{constructor(){}static[a0_0x295f01(0x131)](_0x37fd1e,_0x295837){var _0x35f2ec=a0_0x295f01,_0x516921={'xgogO':_0x35f2ec(0x13a),'TGOoP':function(_0x4ffc9c,_0x29b920){return _0x4ffc9c===_0x29b920;},'uZnLQ':_0x35f2ec(0x19b),'AKgff':_0x35f2ec(0x169)};if(i[_0x35f2ec(0x17f)])return i[_0x35f2ec(0x17f)];let _0x388c6e=window[_0x35f2ec(0x186)]||_0x295837;if(!_0x388c6e)throw new Error(_0x516921['xgogO']);let _0x341949=_0x37fd1e[_0x35f2ec(0x12e)]?k:_0x37fd1e[_0x35f2ec(0x13f)]?_0x37fd1e[_0x35f2ec(0x13f)]:_0x516921[_0x35f2ec(0x11b)](_0x37fd1e[_0x35f2ec(0x12f)],_0x516921['uZnLQ'])?h[_0x35f2ec(0x19b)]:h[_0x35f2ec(0x133)],_0x1e2787=new i();return _0x1e2787['options']=_0x37fd1e,_0x1e2787[_0x35f2ec(0x169)]=new _0x388c6e[(_0x35f2ec(0x128))]({'container':_0x37fd1e[_0x35f2ec(0x12b)]||_0x516921['AKgff'],'style':_0x341949,'center':_0x37fd1e[_0x35f2ec(0x11c)]||[69.624024,40.279687],'zoom':_0x37fd1e[_0x35f2ec(0x176)]||0x5}),i['instance']=_0x1e2787,_0x1e2787;}static[a0_0x295f01(0x149)](){var _0x184c28=a0_0x295f01;if(!i['instance'])throw new Error(_0x184c28(0x17c));return i[_0x184c28(0x17f)];}[a0_0x295f01(0x163)](){var _0x7721a0=a0_0x295f01;this[_0x7721a0(0x169)][_0x7721a0(0x127)](),i[_0x7721a0(0x17f)]=null;}[a0_0x295f01(0x14a)](){var _0x4709ba=a0_0x295f01;return this[_0x4709ba(0x169)];}[a0_0x295f01(0x18a)](_0x99b721){var _0x377661=a0_0x295f01,_0x489989={'ALIdf':function(_0x53df54,_0x50fb59){return _0x53df54===_0x50fb59;},'fwtVz':_0x377661(0x19b)};this['map'][_0x377661(0x18a)](_0x489989[_0x377661(0x14e)](_0x99b721,_0x489989['fwtVz'])?h[_0x377661(0x19b)]:h[_0x377661(0x133)]);}['setCenter'](_0x13fea4){this['map']['setCenter'](_0x13fea4);}[a0_0x295f01(0x11e)](_0x1c6070){var _0x4b379b=a0_0x295f01;this[_0x4b379b(0x169)][_0x4b379b(0x11e)](_0x1c6070);}};i[a0_0x295f01(0x17f)]=null;var d=i,T={};u(T,{'api':()=>m,'checkCoordinates':()=>$,'clearKey':()=>y,'debounce':()=>S,'getApiKey':()=>l,'saveKey':()=>g});var j=B(require('axios')),m=j[a0_0x295f01(0x181)][a0_0x295f01(0x131)]({'baseURL':E});m[a0_0x295f01(0x161)][a0_0x295f01(0x135)]['use'](_0x23cd03=>_0x23cd03,_0x5474a4=>(_0x5474a4['request']?.[a0_0x295f01(0x122)]===0x191&&y(),Promise[a0_0x295f01(0x140)](_0x5474a4)));function $(_0x5d1474){var _0x296429=a0_0x295f01,_0x35c0d3={'EyPog':'Ошибка\x20при\x20поиске\x20адреса:','pmLmz':function(_0x1d5ebb,_0x457041){return _0x1d5ebb===_0x457041;},'kmxim':_0x296429(0x162),'snvVR':'Неверный\x20формат\x20координат'};let _0x330077,_0x1ef2da;if(x['test'](_0x5d1474)){let _0x3f9754=_0x5d1474[_0x296429(0x13b)](x);_0x3f9754&&([,_0x330077,_0x1ef2da]=_0x3f9754);}else{if(b[_0x296429(0x11f)](_0x5d1474)){if(_0x35c0d3[_0x296429(0x198)](_0x35c0d3[_0x296429(0x16e)],_0x35c0d3[_0x296429(0x16e)])){let _0x5f3f04=_0x5d1474[_0x296429(0x13b)](b);_0x5f3f04&&([,_0x1ef2da,_0x330077]=_0x5f3f04);}else throw _0x549064[_0x296429(0x137)](_0x35c0d3['EyPog'],_0x3f3f99),_0x1c2756;}else return console['log'](_0x35c0d3['snvVR']),null;}return{'lat':_0x330077,'lng':_0x1ef2da};}var w={};u(w,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>g});var M='';function g(_0x1ebdeb){var _0x350286=a0_0x295f01;_0x1ebdeb!==''&&(M=_0x1ebdeb,m[_0x350286(0x172)][_0x350286(0x158)]['common']['Authorization']='Bearer\x20'+_0x1ebdeb);}function y(){var _0x2c9c61=a0_0x295f01,_0x156088={'KDEup':function(_0x492dcd){return _0x492dcd();},'PHrPi':function(_0x155b01,_0x4cff1e){return _0x155b01(_0x4cff1e);},'zbRay':_0x2c9c61(0x126),'orLeq':'{}.constructor(\x22return\x20this\x22)(\x20)','mMRQU':_0x2c9c61(0x12a),'xiLua':'trace','mMfwV':function(_0x3bb275,_0x22c4db){return _0x3bb275<_0x22c4db;},'lIaCu':_0x2c9c61(0x183)},_0x1b83e2=_0x2c9c61(0x184)[_0x2c9c61(0x154)]('|'),_0x3b949d=0x0;while(!![]){switch(_0x1b83e2[_0x3b949d++]){case'0':M='',m[_0x2c9c61(0x172)]['headers']['common'][_0x2c9c61(0x156)]='';continue;case'1':_0x156088['KDEup'](_0x263f2a);continue;case'2':var _0x1e3ac9={'vJDgF':function(_0x2fabb6,_0x2da49e){var _0x36b6ba=_0x2c9c61;return _0x156088[_0x36b6ba(0x11a)](_0x2fabb6,_0x2da49e);},'uFIaU':_0x156088[_0x2c9c61(0x15a)],'PxskH':_0x156088['orLeq'],'vXlTx':function(_0x31f81e){return _0x31f81e();},'ekRiX':_0x156088[_0x2c9c61(0x119)],'iGFeL':_0x2c9c61(0x137),'MbLjX':'exception','qyPfV':_0x2c9c61(0x15c),'tNzfD':_0x156088[_0x2c9c61(0x141)],'tmAVB':function(_0x515d96,_0x23a876){var _0x237668=_0x2c9c61;return _0x156088[_0x237668(0x134)](_0x515d96,_0x23a876);},'lpHXl':_0x156088[_0x2c9c61(0x116)]};continue;case'3':var _0x13b213=(function(){var _0x4173a6=!![];return function(_0xf22231,_0x169c88){var _0x4a71b8=_0x4173a6?function(){var _0x341b64=a0_0x1e58;if(_0x169c88){var _0x59a409=_0x169c88[_0x341b64(0x19a)](_0xf22231,arguments);return _0x169c88=null,_0x59a409;}}:function(){};return _0x4173a6=![],_0x4a71b8;};}());continue;case'4':var _0x263f2a=_0x13b213(this,function(){var _0x3d32ae=_0x2c9c61,_0x1e7946='1|0|3|2|4'[_0x3d32ae(0x154)]('|'),_0x5126f9=0x0;while(!![]){switch(_0x1e7946[_0x5126f9++]){case'0':try{var _0x332d89=_0x1e3ac9[_0x3d32ae(0x13d)](Function,_0x1e3ac9[_0x3d32ae(0x166)]+_0x1e3ac9[_0x3d32ae(0x194)]+');');_0x4a4312=_0x1e3ac9[_0x3d32ae(0x17d)](_0x332d89);}catch(_0x3ff135){_0x4a4312=window;}continue;case'1':var _0x4a4312;continue;case'2':var _0x315ab5=[_0x3d32ae(0x16d),_0x3d32ae(0x17b),_0x1e3ac9[_0x3d32ae(0x153)],_0x1e3ac9[_0x3d32ae(0x180)],_0x1e3ac9[_0x3d32ae(0x170)],_0x1e3ac9[_0x3d32ae(0x142)],_0x1e3ac9['tNzfD']];continue;case'3':var _0x2ead07=_0x4a4312[_0x3d32ae(0x14d)]=_0x4a4312['console']||{};continue;case'4':for(var _0x51344c=0x0;_0x1e3ac9['tmAVB'](_0x51344c,_0x315ab5['length']);_0x51344c++){var _0x105406=_0x1e3ac9['lpHXl'][_0x3d32ae(0x154)]('|'),_0x2c4400=0x0;while(!![]){switch(_0x105406[_0x2c4400++]){case'0':var _0x553c6c=_0x315ab5[_0x51344c];continue;case'1':_0x36926d[_0x3d32ae(0x16b)]=_0x13b213['bind'](_0x13b213);continue;case'2':var _0x8d7baa=_0x2ead07[_0x553c6c]||_0x36926d;continue;case'3':_0x2ead07[_0x553c6c]=_0x36926d;continue;case'4':var _0x36926d=_0x13b213[_0x3d32ae(0x120)]['prototype'][_0x3d32ae(0x15e)](_0x13b213);continue;case'5':_0x36926d['toString']=_0x8d7baa[_0x3d32ae(0x16a)][_0x3d32ae(0x15e)](_0x8d7baa);continue;}break;}}continue;}break;}});continue;}break;}}var l=()=>M;function S(_0x4d87bb,_0x582fd3){var _0x6ba96f={'vObyw':function(_0x5bd24c,..._0xab9b61){return _0x5bd24c(..._0xab9b61);},'omDYr':function(_0x11be3f,_0x5604cf,_0x5242c9){return _0x11be3f(_0x5604cf,_0x5242c9);}};let _0x39bf31;return(..._0x4acf61)=>(_0x39bf31&&clearTimeout(_0x39bf31),new Promise(_0x56fe24=>{_0x39bf31=_0x6ba96f['omDYr'](setTimeout,async()=>{var _0x2f7944=a0_0x1e58,_0x10e0cf=await _0x6ba96f[_0x2f7944(0x146)](_0x4d87bb,..._0x4acf61);_0x56fe24(_0x10e0cf);},_0x582fd3);}));}var v=async(_0x45c349,_0x4e1a22)=>{var _0x2c1e1d=a0_0x295f01,_0x7a8561={'txiMU':_0x2c1e1d(0x17a),'nvmAb':_0x2c1e1d(0x159),'nhkZH':_0x2c1e1d(0x192),'aFAHA':_0x2c1e1d(0x123),'saPrO':function(_0x271cd7){return _0x271cd7();},'EyFfg':function(_0x4f7f11,_0x3e1eaf){return _0x4f7f11!==_0x3e1eaf;},'QZJtB':_0x2c1e1d(0x173)};try{if(_0x7a8561[_0x2c1e1d(0x136)]===_0x7a8561['nhkZH']){let _0x3f06b8=new _0x3352f7(_0x38579d['src'])[_0x2c1e1d(0x121)][_0x2c1e1d(0x190)](_0x7a8561[_0x2c1e1d(0x15b)]);if(_0x3f06b8)return _0x3f06b8;}else{let _0x2af885=[];return _0x45c349['forEach'](_0x4c5b30=>{var _0x410d3e=_0x2c1e1d;_0x2af885[_0x410d3e(0x191)]({'lng':_0x4c5b30[0x0],'lat':_0x4c5b30[0x1]});}),(await m[_0x2c1e1d(0x12d)](_0x7a8561[_0x2c1e1d(0x195)],{'points':_0x2af885,'token':_0x4e1a22||_0x7a8561[_0x2c1e1d(0x18b)](l)}))['data'];}}catch(_0x1f0a1d){if(_0x7a8561['EyFfg'](_0x7a8561['QZJtB'],_0x7a8561[_0x2c1e1d(0x118)])){if(_0x2284f6){var _0x286a1f=_0x5f4d11[_0x2c1e1d(0x19a)](_0x1d8ab5,arguments);return _0x49d74e=null,_0x286a1f;}}else throw console[_0x2c1e1d(0x137)](_0x1f0a1d),_0x1f0a1d;}},A={};u(A,{'getrouter':()=>z});async function z(_0x238754,_0x171e6f,_0x22cbe9){var _0x11a56b=a0_0x295f01;try{let _0x439b91=await v(_0x238754,_0x22cbe9);return _0x439b91?.[_0x11a56b(0x174)]?_0x439b91['data'][_0x11a56b(0x169)](_0x83a9a3=>{var _0x467f22=_0x11a56b;let _0xb50193={..._0x83a9a3};return _0xb50193[_0x467f22(0x199)]?.[_0x467f22(0x178)]?.[_0x467f22(0x130)]&&(_0xb50193[_0x467f22(0x199)][_0x467f22(0x178)]=_0xb50193[_0x467f22(0x199)][_0x467f22(0x178)]['map'](_0x17c291=>({..._0x17c291,'geometry':_0x171e6f==='geojson'&&typeof _0x17c291[_0x467f22(0x160)]==_0x467f22(0x117)?K(_0x17c291[_0x467f22(0x160)]):_0x17c291['geometry']}))),_0xb50193;}):_0x439b91;}catch(_0x2abfcf){throw _0x2abfcf;}}var G=async _0x4c7555=>{var _0x575b1f=a0_0x295f01,_0x450d40={'oHiyb':_0x575b1f(0x16c),'IdgHU':_0x575b1f(0x16f),'pxhTg':_0x575b1f(0x132)};try{return(await m[_0x575b1f(0x12d)](_0x450d40[_0x575b1f(0x15f)],_0x4c7555))['data'];}catch(_0x25829c){if('LXEXy'!==_0x450d40[_0x575b1f(0x151)])throw console[_0x575b1f(0x137)](_0x450d40[_0x575b1f(0x19d)],_0x25829c),_0x25829c;else this[_0x575b1f(0x169)][_0x575b1f(0x127)](),_0x5a9cdc['instance']=null;}},I={};u(I,{'search':()=>H});async function V(_0x5cc295,_0x460553,_0x12726e){var _0x598cd4=a0_0x295f01,_0x1fde05={'yHaJM':function(_0x378810){return _0x378810();},'cacuN':function(_0x3b82a1,_0x21bb2e){return _0x3b82a1(_0x21bb2e);}};let _0xd845fe={'text':_0x5cc295,'token':_0x460553||_0x1fde05[_0x598cd4(0x18f)](l),..._0x12726e};try{return await _0x1fde05[_0x598cd4(0x138)](G,_0xd845fe);}catch(_0x369e85){throw _0x369e85;}}var q=S(V,0x1f4);async function H(_0x19286d,_0x4a2793,_0x3b63ac){var _0x136e21=a0_0x295f01,_0x500ece={'eStNU':function(_0x43d88b,_0x525ff5,_0x209fb4,_0x45cf7c){return _0x43d88b(_0x525ff5,_0x209fb4,_0x45cf7c);}};return await _0x500ece[_0x136e21(0x147)](q,_0x19286d,_0x4a2793,_0x3b63ac);}function J(){var _0x1e871a=a0_0x295f01,_0x4583a8={'IXVbF':function(_0x553323,_0x534bc1){return _0x553323!==_0x534bc1;},'xNtWE':'script','Tnxyc':_0x1e871a(0x125),'WhZHd':_0x1e871a(0x145),'rCDIR':_0x1e871a(0x17a)};let _0x522d40=document[_0x1e871a(0x177)](_0x4583a8[_0x1e871a(0x193)]);for(let _0x4230d9 of _0x522d40)if(_0x4230d9[_0x1e871a(0x139)][_0x1e871a(0x164)](_0x4583a8[_0x1e871a(0x167)])){if(_0x4583a8[_0x1e871a(0x188)]===_0x4583a8['WhZHd']){let _0x47b968=new URL(_0x4230d9[_0x1e871a(0x139)])['searchParams'][_0x1e871a(0x190)](_0x4583a8[_0x1e871a(0x196)]);if(_0x47b968)return _0x47b968;}else _0x4583a8['IXVbF'](_0x1c387a,'')&&(_0x8e479d=_0x15bff9,_0x4c17f6[_0x1e871a(0x172)]['headers'][_0x1e871a(0x155)][_0x1e871a(0x156)]=_0x1e871a(0x179)+_0x58c276);}return'';}g(J()),0x0&&(module[a0_0x295f01(0x17e)]={'MahalMap':MahalMap,'controller':controller,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ 'use strict';var a0_0x4ad0a2=a0_0x4102;(function(_0x5037d3,_0x4a8286){var _0x2b115a=a0_0x4102,_0x58ce01=_0x5037d3();while(!![]){try{var _0x1decb6=-parseInt(_0x2b115a(0x192))/0x1+parseInt(_0x2b115a(0x21e))/0x2+parseInt(_0x2b115a(0x190))/0x3*(parseInt(_0x2b115a(0x1be))/0x4)+-parseInt(_0x2b115a(0x1e1))/0x5+parseInt(_0x2b115a(0x1fe))/0x6+-parseInt(_0x2b115a(0x177))/0x7+parseInt(_0x2b115a(0x1d5))/0x8;if(_0x1decb6===_0x4a8286)break;else _0x58ce01['push'](_0x58ce01['shift']());}catch(_0x1ac193){_0x58ce01['push'](_0x58ce01['shift']());}}}(a0_0x4bc8,0x3c18a));function a0_0x4102(_0x33e617,_0x595ce8){var _0x22d0af=a0_0x4bc8();return a0_0x4102=function(_0x131c03,_0x39a152){_0x131c03=_0x131c03-0x173;var _0x4313ee=_0x22d0af[_0x131c03];return _0x4313ee;},a0_0x4102(_0x33e617,_0x595ce8);}var F=Object[a0_0x4ad0a2(0x1b8)],h=Object['defineProperty'],D=Object[a0_0x4ad0a2(0x21a)],O=Object[a0_0x4ad0a2(0x21b)],X=Object[a0_0x4ad0a2(0x1d8)],B=Object[a0_0x4ad0a2(0x1df)]['hasOwnProperty'],l=(_0x569855,_0x28402e)=>{var _0x4f5bc5={'RoBTH':function(_0x41faad,_0x32f2d9,_0x494088,_0x1d632){return _0x41faad(_0x32f2d9,_0x494088,_0x1d632);}};for(var _0x4c9750 in _0x28402e)_0x4f5bc5['RoBTH'](h,_0x569855,_0x4c9750,{'get':_0x28402e[_0x4c9750],'enumerable':!0x0});},P=(_0x187f48,_0x5aab38,_0x41aaac,_0x3de2f4)=>{var _0x9abec5=a0_0x4ad0a2,_0x302c64={'dVPYZ':function(_0x12ef95,_0x436194){return _0x12ef95==_0x436194;},'ECAQp':_0x9abec5(0x213),'lKrTK':function(_0x5ee994,_0x46b296){return _0x5ee994==_0x46b296;},'wzYwb':function(_0x426d28,_0x5cc00f){return _0x426d28(_0x5cc00f);},'WNAaJ':function(_0x884998,_0xfce685){return _0x884998!==_0xfce685;},'EzosL':function(_0x280210,_0x3e1fe6,_0x36a5cf){return _0x280210(_0x3e1fe6,_0x36a5cf);}};if(_0x5aab38&&_0x302c64[_0x9abec5(0x211)](typeof _0x5aab38,_0x302c64[_0x9abec5(0x1c6)])||_0x302c64[_0x9abec5(0x193)](typeof _0x5aab38,_0x9abec5(0x1a0))){for(let _0x46c949 of _0x302c64['wzYwb'](O,_0x5aab38))!B[_0x9abec5(0x1b0)](_0x187f48,_0x46c949)&&_0x302c64[_0x9abec5(0x205)](_0x46c949,_0x41aaac)&&h(_0x187f48,_0x46c949,{'get':()=>_0x5aab38[_0x46c949],'enumerable':!(_0x3de2f4=_0x302c64['EzosL'](D,_0x5aab38,_0x46c949))||_0x3de2f4[_0x9abec5(0x19e)]});}return _0x187f48;},Z=(_0x29c469,_0xf6505b,_0x4d8bd0)=>(_0x4d8bd0=_0x29c469!=null?F(X(_0x29c469)):{},P(_0xf6505b||!_0x29c469||!_0x29c469[a0_0x4ad0a2(0x1ae)]?h(_0x4d8bd0,'default',{'value':_0x29c469,'enumerable':!0x0}):_0x4d8bd0,_0x29c469)),$=_0x300ea3=>P(h({},a0_0x4ad0a2(0x1ae),{'value':!0x0}),_0x300ea3),H={};l(H,{'MahalMap':()=>u,'controller':()=>I,'keyUtils':()=>M,'routerUtils':()=>S,'searchUtils':()=>A}),module[a0_0x4ad0a2(0x18f)]=$(H);var I={};function a0_0x4bc8(){var _0x3a156b=['UnIOj','warn','light','exports','21SGUuKS','JLppM','250478DUJSPj','lKrTK','uYQKJ','NGkME','services/getRoutes','vTAbc','string','rBNDo','nLuBc','includes','apply','WxbtH','enumerable','PrUGb','function','zoom','remove','defaults','reject','Map','tPUso','gckWM','XXdfa','uvTWb','XVILQ','forEach','bUpSM','KPKsv','__esModule','JiFjH','call','script','viGBg','FQeyX','ktGOQ','interceptors','JZgDw','trace','create','console','toString','hUkYr','route','map','225268lvphQN','pvPZG','dUiBL','container','length','dkOoX','xqRqx','bind','ECAQp','eDydC','lLmKp','gScTo','push','Brkel','VsLdI','MYzFv','sTxOr','fRTtN','center','4|0|3|5|2|1','https://mtile.gram.tj/custom-styles/mapstyle.json','autoAddVectorSource','cVXRo','2564720WKijLf','exception','services/getAddress','getPrototypeOf','setZoom','data','aCWkt','RoxgL','apikey','instance','prototype','BGyxw','535240moyRGO','cVufY','5|0|4|3|1|2','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','routes','zataA','BCVHl','hihMC','setCenter','qhXGS','status','dark','easeTo','geometry','headers','hynYP','VnOGI','cAQfx','Ztfvz','geojson','ArEUa','mahal_map.sdk.js','vYFAO','SgtDd','HKBEM','ylPds','getInstance','djZDm','use','1482210eJjTXp','common','__proto__','CAJgN','tiPPA','slQWs','AyYKN','WNAaJ','uOkuP','Ttaab','ZZDER','info','return\x20(function()\x20','log','searchParams','waral','jKGPi','yjXYN','omwVs','dVPYZ','constructor','object','getMap','theme','hfVGw','table','charCodeAt','gpHYq','getOwnPropertyDescriptor','getOwnPropertyNames','flNyB','WRKsJ','258144aXkuze','getElementsByTagName','kdAds','Authorization','fxhGK','destroy','LYlLz','https://platform.mahal.tj/api/','options','SMrxC','3410652WKYreg','eXBKS','style','error','XRnEB','DvMdd','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','TOkyM','PvnpI','ddXaY','CMrsY','maplibregl','post','xwLvv','tzbzS','hNCCK','request','{}.constructor(\x22return\x20this\x22)(\x20)','split','https://mtile.gram.tj/custom-styles/dark-style.json','dYqaG'];a0_0x4bc8=function(){return _0x3a156b;};return a0_0x4bc8();}l(I,{'CameraController':()=>y,'MahalMap':()=>u,'getrouter':()=>G,'routingApi':()=>w,'search':()=>C,'searchPost':()=>T});var y=class{constructor(_0xdb44be){var _0x564f41=a0_0x4ad0a2;this[_0x564f41(0x1bd)]=_0xdb44be;}[a0_0x4ad0a2(0x1d9)](_0x900fef,_0x5e0a4b=!0x0){var _0x5c000e=a0_0x4ad0a2;_0x5e0a4b?this[_0x5c000e(0x1bd)][_0x5c000e(0x1ed)]({'zoom':_0x900fef}):this[_0x5c000e(0x1bd)][_0x5c000e(0x1d9)](_0x900fef);}},E=a0_0x4ad0a2(0x174),L=a0_0x4ad0a2(0x18a),R=a0_0x4ad0a2(0x1d2),k='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function K(_0x126fdf){var _0x3e25b8=a0_0x4ad0a2,_0x419414={'CndOD':function(_0x169728,_0x42249e){return _0x169728<_0x42249e;},'ArEUa':function(_0x3c23b5,_0x47e354){return _0x3c23b5-_0x47e354;},'JZgDw':function(_0x4e0504,_0x4a9f67){return _0x4e0504&_0x4a9f67;},'Brkel':function(_0x593928,_0x44b132){return _0x593928>>_0x44b132;},'bUpSM':function(_0x5ef16e,_0x5cb684){return _0x5ef16e<<_0x5cb684;},'tPUso':function(_0x59e0a1,_0x2cd388){return _0x59e0a1>>_0x2cd388;},'cVXRo':function(_0x2d528e,_0x28f30e){return _0x2d528e*_0x28f30e;},'OcQSG':function(_0x3ce875,_0x89175c){return _0x3ce875*_0x89175c;}};let _0x5b0043=[],_0x2298db=0x0,_0x402c50=_0x126fdf[_0x3e25b8(0x1c2)],_0x3b6394=0x0,_0x1d9556=0x0;for(;_0x419414['CndOD'](_0x2298db,_0x402c50);){let _0x4faca2,_0x261852=0x0,_0x3bd212=0x0;do _0x4faca2=_0x419414[_0x3e25b8(0x1f5)](_0x126fdf[_0x3e25b8(0x218)](_0x2298db++),0x3f),_0x3bd212|=_0x419414[_0x3e25b8(0x1b6)](_0x4faca2,0x1f)<<_0x261852,_0x261852+=0x5;while(_0x4faca2>=0x20);let _0x391b80=_0x3bd212&0x1?~_0x419414[_0x3e25b8(0x1cb)](_0x3bd212,0x1):_0x419414[_0x3e25b8(0x1cb)](_0x3bd212,0x1);_0x3b6394+=_0x391b80,_0x261852=0x0,_0x3bd212=0x0;do _0x4faca2=_0x419414['ArEUa'](_0x126fdf[_0x3e25b8(0x218)](_0x2298db++),0x3f),_0x3bd212|=_0x419414[_0x3e25b8(0x1ac)](_0x4faca2&0x1f,_0x261852),_0x261852+=0x5;while(_0x4faca2>=0x20);let _0x276163=_0x419414['JZgDw'](_0x3bd212,0x1)?~_0x419414[_0x3e25b8(0x1a6)](_0x3bd212,0x1):_0x3bd212>>0x1;_0x1d9556+=_0x276163,_0x5b0043[_0x3e25b8(0x1ca)]([_0x419414[_0x3e25b8(0x1d4)](_0x1d9556,0.00001),_0x419414['OcQSG'](_0x3b6394,0.00001)]);}return _0x5b0043;}var d={'dark':L,'light':R},i=class i{constructor(){}static[a0_0x4ad0a2(0x1b8)](_0x8962fa,_0x403009){var _0x203314=a0_0x4ad0a2,_0x4cdeb8={'ylPds':_0x203314(0x1e4),'hUkYr':function(_0x4b066c,_0x5b4307){return _0x4b066c===_0x5b4307;},'XVILQ':'dark','NGkME':_0x203314(0x1bd)};if(i['instance'])return i[_0x203314(0x1de)];let _0x27b8bf=window[_0x203314(0x182)]||_0x403009;if(!_0x27b8bf)throw new Error(_0x4cdeb8[_0x203314(0x1fa)]);let _0x6b0493=_0x8962fa[_0x203314(0x1d3)]?k:_0x8962fa[_0x203314(0x179)]?_0x8962fa[_0x203314(0x179)]:_0x4cdeb8[_0x203314(0x1bb)](_0x8962fa['theme'],_0x4cdeb8[_0x203314(0x1aa)])?d[_0x203314(0x1ec)]:d[_0x203314(0x18e)],_0x50c24d=new i();return _0x50c24d['options']=_0x8962fa,_0x50c24d[_0x203314(0x1bd)]=new _0x27b8bf[(_0x203314(0x1a5))]({'container':_0x8962fa['container']||_0x4cdeb8[_0x203314(0x195)],'style':_0x6b0493,'center':_0x8962fa[_0x203314(0x1d0)]||[69.624024,40.279687],'zoom':_0x8962fa[_0x203314(0x1a1)]||0x5}),i[_0x203314(0x1de)]=_0x50c24d,_0x50c24d;}static[a0_0x4ad0a2(0x1fb)](){var _0x195f8d=a0_0x4ad0a2,_0x41a26e={'tiPPA':_0x195f8d(0x17d)};if(!i[_0x195f8d(0x1de)])throw new Error(_0x41a26e[_0x195f8d(0x202)]);return i[_0x195f8d(0x1de)];}[a0_0x4ad0a2(0x223)](){var _0x52047a=a0_0x4ad0a2;this[_0x52047a(0x1bd)][_0x52047a(0x1a2)](),i[_0x52047a(0x1de)]=null;}[a0_0x4ad0a2(0x214)](){var _0x5df68f=a0_0x4ad0a2;return this[_0x5df68f(0x1bd)];}['setStyle'](_0x5a3ee5){var _0x2f921d=a0_0x4ad0a2,_0x9f98e4={'FQeyX':_0x2f921d(0x1ec)};this[_0x2f921d(0x1bd)]['setStyle'](_0x5a3ee5===_0x9f98e4[_0x2f921d(0x1b3)]?d[_0x2f921d(0x1ec)]:d[_0x2f921d(0x18e)]);}[a0_0x4ad0a2(0x1e9)](_0xe3b8a2){var _0x198a2e=a0_0x4ad0a2;this[_0x198a2e(0x1bd)][_0x198a2e(0x1e9)](_0xe3b8a2);}[a0_0x4ad0a2(0x1d9)](_0x347738){var _0x3364c3=a0_0x4ad0a2;this[_0x3364c3(0x1bd)][_0x3364c3(0x1d9)](_0x347738);}};i[a0_0x4ad0a2(0x1de)]=null;var u=i,j=Z(require('axios')),c=j['default'][a0_0x4ad0a2(0x1b8)]({'baseURL':E});c[a0_0x4ad0a2(0x1b5)]['request'][a0_0x4ad0a2(0x1fd)](_0x76b11a=>_0x76b11a,_0x57c37d=>(_0x57c37d[a0_0x4ad0a2(0x187)]?.[a0_0x4ad0a2(0x1eb)]===0x191&&g(),Promise[a0_0x4ad0a2(0x1a4)](_0x57c37d)));var M={};l(M,{'clearKey':()=>g,'getApiKey':()=>f,'saveKey':()=>b});var x='';function b(_0x3f5558){var _0x5b98ad=a0_0x4ad0a2;_0x3f5558!==''&&(x=_0x3f5558,c[_0x5b98ad(0x1a3)][_0x5b98ad(0x1ef)][_0x5b98ad(0x1ff)][_0x5b98ad(0x221)]='Bearer\x20'+_0x3f5558);}function g(){var _0xc25281=a0_0x4ad0a2,_0x1fac39={'XRnEB':'uOkuP','tzbzS':function(_0x25c9cb,_0xd1291c){return _0x25c9cb!==_0xd1291c;},'cVufY':_0xc25281(0x219),'fxhGK':_0xc25281(0x204),'ddXaY':'return\x20(function()\x20','HKBEM':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','zGxZk':function(_0x3fb9e6,_0x199663){return _0x3fb9e6===_0x199663;},'eXBKS':'map','Ztfvz':_0xc25281(0x1cd),'BCVHl':function(_0x2a9a72,_0x26eb4e){return _0x2a9a72(_0x26eb4e);},'KPKsv':function(_0x2393e8,_0x49347a){return _0x2393e8+_0x49347a;},'WxbtH':function(_0x3f8ef4,_0x23b6dd){return _0x3f8ef4!==_0x23b6dd;},'KewpR':_0xc25281(0x1b2),'eDydC':function(_0x5ce3fc){return _0x5ce3fc();},'pUBfg':_0xc25281(0x20b),'sTxOr':_0xc25281(0x209),'ZZDER':_0xc25281(0x17a),'WMubs':_0xc25281(0x1d6),'zataA':_0xc25281(0x217),'xwLvv':_0xc25281(0x1b7),'XXdfa':function(_0x14c290,_0x34d387){return _0x14c290<_0x34d387;},'anfKS':_0xc25281(0x1d1),'BGyxw':function(_0x2f13ff,_0x36cac7,_0x5a8e43){return _0x2f13ff(_0x36cac7,_0x5a8e43);}},_0x4bfdba=(function(){var _0x5a9c66=_0xc25281,_0xcae873={'Ttaab':function(_0x17da6d,_0x587af9){var _0x1812ec=a0_0x4102;return _0x1fac39[_0x1812ec(0x185)](_0x17da6d,_0x587af9);},'PvnpI':_0x1fac39[_0x5a9c66(0x1e2)],'RoxgL':_0x1fac39[_0x5a9c66(0x222)]},_0x54ad6c=!![];return function(_0x497231,_0x3248f1){var _0x117a60=_0x5a9c66;if(_0x117a60(0x206)!==_0x1fac39[_0x117a60(0x17b)])throw _0x59389e[_0x117a60(0x17a)](_0x22042c),_0x19bf8f;else{var _0x441d40=_0x54ad6c?function(){var _0x157d06=_0x117a60;if(_0xcae873[_0x157d06(0x207)](_0xcae873[_0x157d06(0x17f)],_0xcae873[_0x157d06(0x1dc)])){if(_0x3248f1){var _0x5d374e=_0x3248f1[_0x157d06(0x19c)](_0x497231,arguments);return _0x3248f1=null,_0x5d374e;}}else throw _0x3580d2;}:function(){};return _0x54ad6c=![],_0x441d40;}};}()),_0x106f90=_0x1fac39[_0xc25281(0x1e0)](_0x4bfdba,this,function(){var _0x35217f=_0xc25281,_0x5de6b3={'SgtDd':function(_0x1f0705,_0x122970){return _0x1f0705+_0x122970;},'xqRqx':_0x1fac39[_0x35217f(0x180)],'pvPZG':_0x1fac39[_0x35217f(0x1f9)],'TOkyM':function(_0x348227,_0x1f6b4c){return _0x1fac39['zGxZk'](_0x348227,_0x1f6b4c);},'hynYP':'dark','lLmKp':_0x1fac39[_0x35217f(0x178)],'yjXYN':'BkbCP','VsLdI':_0x1fac39[_0x35217f(0x1f3)],'btksb':function(_0x1ed1ea,_0x4b9826){var _0x2e5fee=_0x35217f;return _0x1fac39[_0x2e5fee(0x1e7)](_0x1ed1ea,_0x4b9826);},'hNCCK':function(_0x2faa56,_0xf1e9dd){var _0x1d58d9=_0x35217f;return _0x1fac39[_0x1d58d9(0x1ad)](_0x2faa56,_0xf1e9dd);},'qhXGS':_0x35217f(0x188),'nLuBc':function(_0x58137d,_0x4c7128){var _0x3c836e=_0x35217f;return _0x1fac39[_0x3c836e(0x19d)](_0x58137d,_0x4c7128);},'jKGPi':_0x1fac39['KewpR']},_0x4071e4=function(){var _0x4855f4=_0x35217f,_0x4f10f7={'DvMdd':_0x5de6b3[_0x4855f4(0x1bf)],'ToeOy':function(_0x1e8c44,_0xf3b70f){var _0xe22127=_0x4855f4;return _0x5de6b3[_0xe22127(0x17e)](_0x1e8c44,_0xf3b70f);},'PrUGb':_0x5de6b3[_0x4855f4(0x1f0)],'oyQid':_0x5de6b3[_0x4855f4(0x1c8)]},_0x4a796f;try{if(_0x5de6b3[_0x4855f4(0x20f)]!==_0x5de6b3[_0x4855f4(0x1cc)])_0x4a796f=_0x5de6b3['btksb'](Function,_0x5de6b3[_0x4855f4(0x1f8)](_0x5de6b3[_0x4855f4(0x186)](_0x5de6b3[_0x4855f4(0x1c4)],_0x5de6b3[_0x4855f4(0x1ea)]),');'))();else{var _0x5abafd;try{_0x5abafd=_0x587bca(vMKIvb[_0x4855f4(0x1f8)](vMKIvb['SgtDd'](vMKIvb['xqRqx'],_0x4855f4(0x188)),');'))();}catch(_0x14b8b9){_0x5abafd=_0x18f463;}return _0x5abafd;}}catch(_0x43f22b){if(_0x5de6b3[_0x4855f4(0x19a)](_0x5de6b3[_0x4855f4(0x20e)],_0x4855f4(0x210)))_0x4a796f=window;else{if(_0x479681['instance'])return _0x53e8d1[_0x4855f4(0x1de)];var _0x136ce4=_0xbfd398['maplibregl']||_0x13a8c1;if(!_0x136ce4)throw new _0x437f87(_0x4f10f7[_0x4855f4(0x17c)]);var _0x4e024a=_0x422269[_0x4855f4(0x1d3)]?_0x25e5e8:_0x1b5cc1[_0x4855f4(0x179)]?_0x1ac425['style']:_0x4f10f7['ToeOy'](_0x3eaaca[_0x4855f4(0x215)],_0x4f10f7[_0x4855f4(0x19f)])?_0x732097[_0x4855f4(0x1ec)]:_0x3a0fdd[_0x4855f4(0x18e)],_0x51035f=new _0x5eff41();return _0x51035f[_0x4855f4(0x175)]=_0x244cf1,_0x51035f['map']=new _0x136ce4['Map']({'container':_0x10e83f[_0x4855f4(0x1c1)]||_0x4f10f7['oyQid'],'style':_0x4e024a,'center':_0x22f38c[_0x4855f4(0x1d0)]||[69.624024,40.279687],'zoom':_0x333dc7['zoom']||0x5}),_0x385db0[_0x4855f4(0x1de)]=_0x51035f,_0x51035f;}}return _0x4a796f;},_0x345bdc=_0x1fac39[_0x35217f(0x1c7)](_0x4071e4),_0xf970d7=_0x345bdc['console']=_0x345bdc[_0x35217f(0x1b9)]||{},_0x2b3c45=[_0x1fac39['pUBfg'],_0x35217f(0x18d),_0x1fac39[_0x35217f(0x1ce)],_0x1fac39[_0x35217f(0x208)],_0x1fac39['WMubs'],_0x1fac39[_0x35217f(0x1e6)],_0x1fac39[_0x35217f(0x184)]];for(var _0x2ae3c1=0x0;_0x1fac39[_0x35217f(0x1a8)](_0x2ae3c1,_0x2b3c45[_0x35217f(0x1c2)]);_0x2ae3c1++){var _0x523d2d=_0x1fac39['anfKS']['split']('|'),_0x948c72=0x0;while(!![]){switch(_0x523d2d[_0x948c72++]){case'0':var _0x5d4c9a=_0x2b3c45[_0x2ae3c1];continue;case'1':_0xf970d7[_0x5d4c9a]=_0x515575;continue;case'2':_0x515575[_0x35217f(0x1ba)]=_0x5dce21[_0x35217f(0x1ba)]['bind'](_0x5dce21);continue;case'3':var _0x5dce21=_0xf970d7[_0x5d4c9a]||_0x515575;continue;case'4':var _0x515575=_0x4bfdba[_0x35217f(0x212)][_0x35217f(0x1df)]['bind'](_0x4bfdba);continue;case'5':_0x515575[_0x35217f(0x200)]=_0x4bfdba[_0x35217f(0x1c5)](_0x4bfdba);continue;}break;}}});_0x1fac39[_0xc25281(0x1c7)](_0x106f90),(x='',c[_0xc25281(0x1a3)][_0xc25281(0x1ef)]['common'][_0xc25281(0x221)]='');}var f=()=>x;function v(_0x35b929,_0x324df8){var _0x1c5834={'waral':function(_0x5a327c,_0x1befea,_0x42220b){return _0x5a327c(_0x1befea,_0x42220b);}};let _0x1341e2;return(..._0x3173a3)=>(_0x1341e2&&clearTimeout(_0x1341e2),new Promise(_0x5c69b3=>{var _0x5b821e=a0_0x4102;_0x1341e2=_0x1c5834[_0x5b821e(0x20d)](setTimeout,async()=>{var _0x31dc3f=await _0x35b929(..._0x3173a3);_0x5c69b3(_0x31dc3f);},_0x324df8);}));}var w=async(_0x3a0d9f,_0x515dc3)=>{var _0x21038e=a0_0x4ad0a2,_0x1ba48d={'cAQfx':function(_0x489938,_0x58cdbe){return _0x489938!==_0x58cdbe;},'uYQKJ':_0x21038e(0x1c3),'WRKsJ':_0x21038e(0x1af),'fCgKg':function(_0x5c5214){return _0x5c5214();},'dfYdl':'fQVcN','dYqaG':_0x21038e(0x1b4)};try{if(_0x1ba48d[_0x21038e(0x1f2)](_0x1ba48d[_0x21038e(0x194)],_0x1ba48d[_0x21038e(0x21d)])){let _0x5117a3=[];return _0x3a0d9f[_0x21038e(0x1ab)](_0x326497=>{_0x5117a3['push']({'lng':_0x326497[0x0],'lat':_0x326497[0x1]});}),(await c[_0x21038e(0x183)](_0x21038e(0x196),{'points':_0x5117a3,'token':_0x515dc3||_0x1ba48d['fCgKg'](f)}))[_0x21038e(0x1da)];}else this[_0x21038e(0x1bd)]=_0x3dd67e;}catch(_0x5e0671){if(_0x1ba48d['dfYdl']===_0x1ba48d[_0x21038e(0x18b)])this['map'][_0x21038e(0x1a2)](),_0x14c2e5[_0x21038e(0x1de)]=null;else throw console[_0x21038e(0x17a)](_0x5e0671),_0x5e0671;}},S={};l(S,{'getrouter':()=>G});async function G(_0x27ebde,_0xa4d480,_0x3dda70){var _0x4d15d0=a0_0x4ad0a2,_0x1832ef={'fRTtN':function(_0xeee7fb,_0x5d6730){return _0xeee7fb(_0x5d6730);},'hfVGw':function(_0x15abf5,_0x592471){return _0x15abf5+_0x592471;},'slQWs':_0x4d15d0(0x20a),'vYFAO':function(_0x28760f,_0x2d030f){return _0x28760f!==_0x2d030f;},'uvTWb':'vpvUo','hihMC':_0x4d15d0(0x176),'JLppM':function(_0x3bc3c8,_0x26ac2f){return _0x3bc3c8!==_0x26ac2f;},'UnIOj':'NZruY'};try{let _0x58426f=await w(_0x27ebde,_0x3dda70);return _0x58426f?.[_0x4d15d0(0x1da)]?_0x58426f[_0x4d15d0(0x1da)][_0x4d15d0(0x1bd)](_0x110e49=>{var _0x4b952f=_0x4d15d0;if(_0x1832ef[_0x4b952f(0x1f7)](_0x1832ef[_0x4b952f(0x1a9)],_0x1832ef[_0x4b952f(0x1e8)])){let _0x612bdc={..._0x110e49};return _0x612bdc[_0x4b952f(0x1bc)]?.[_0x4b952f(0x1e5)]?.[_0x4b952f(0x1c2)]&&(_0x612bdc[_0x4b952f(0x1bc)]['routes']=_0x612bdc[_0x4b952f(0x1bc)][_0x4b952f(0x1e5)]['map'](_0xba9e33=>({..._0xba9e33,'geometry':_0xa4d480===_0x4b952f(0x1f4)&&typeof _0xba9e33['geometry']==_0x4b952f(0x198)?K(_0xba9e33[_0x4b952f(0x1ee)]):_0xba9e33['geometry']}))),_0x612bdc;}else _0x4ddacc=VJuZbi[_0x4b952f(0x1cf)](_0x215267,VJuZbi[_0x4b952f(0x216)](VJuZbi[_0x4b952f(0x203)],_0x4b952f(0x188))+');')();}):_0x58426f;}catch(_0x367893){if(_0x1832ef[_0x4d15d0(0x191)](_0x1832ef[_0x4d15d0(0x18c)],_0x1832ef['UnIOj'])){var _0x19a415=_0x49c38b[_0x4d15d0(0x19c)](_0x57f996,arguments);return _0x1e8566=null,_0x19a415;}else throw _0x367893;}}var T=async _0xeb297a=>{var _0x5e047e=a0_0x4ad0a2,_0x196569={'zMTxu':_0x5e047e(0x1d7)};try{return(await c['post'](_0x196569['zMTxu'],_0xeb297a))[_0x5e047e(0x1da)];}catch(_0x489443){throw console[_0x5e047e(0x17a)]('Ошибка\x20при\x20поиске\x20адреса:',_0x489443),_0x489443;}},A={};l(A,{'search':()=>C});async function z(_0x173d98,_0x57fe0a,_0x1ca870){var _0x1c5747=a0_0x4ad0a2,_0x33f045={'CAJgN':function(_0x43ac47){return _0x43ac47();},'SavcN':_0x1c5747(0x1f1),'vTAbc':_0x1c5747(0x21c),'LYlLz':_0x1c5747(0x181)};let _0x56000b={'text':_0x173d98,'token':_0x57fe0a||_0x33f045[_0x1c5747(0x201)](f),..._0x1ca870};try{if(_0x33f045['SavcN']!==_0x33f045[_0x1c5747(0x197)])return await T(_0x56000b);else{var _0x1b1e47=_0x1c5747(0x1e3)[_0x1c5747(0x189)]('|'),_0x1825b7=0x0;while(!![]){switch(_0x1b1e47[_0x1825b7++]){case'0':var _0x44d2ae=_0x4813dc[_0x5e9a0f];continue;case'1':_0xd92909[_0x1c5747(0x1ba)]=_0x2dbbdd[_0x1c5747(0x1ba)][_0x1c5747(0x1c5)](_0x2dbbdd);continue;case'2':_0x479daa[_0x44d2ae]=_0xd92909;continue;case'3':_0xd92909[_0x1c5747(0x200)]=_0x5d3d51['bind'](_0x369181);continue;case'4':var _0x2dbbdd=_0x4f866c[_0x44d2ae]||_0xd92909;continue;case'5':var _0xd92909=_0x576a38[_0x1c5747(0x212)][_0x1c5747(0x1df)]['bind'](_0x42e768);continue;}break;}}}catch(_0x4008eb){if(_0x33f045[_0x1c5747(0x173)]==='CroQq')throw _0x3342d3;else throw _0x4008eb;}}var V=v(z,0x1f4);async function C(_0x280774,_0x560f3b,_0x276dd8){var _0x195c73=a0_0x4ad0a2,_0x38d99a={'aCWkt':function(_0x511019,_0xf5fc9f,_0x169763,_0x1e4232){return _0x511019(_0xf5fc9f,_0x169763,_0x1e4232);}};return await _0x38d99a[_0x195c73(0x1db)](V,_0x280774,_0x560f3b,_0x276dd8);}function q(){var _0x35be73=a0_0x4ad0a2,_0x2eb9fe={'gckWM':function(_0x2bd14d,_0x44ddf9){return _0x2bd14d===_0x44ddf9;},'WSuJY':_0x35be73(0x1ec),'kdAds':_0x35be73(0x1b1),'gScTo':function(_0x434b43,_0x4410ae){return _0x434b43===_0x4410ae;},'rBNDo':_0x35be73(0x1c0),'djZDm':_0x35be73(0x1dd)};let _0x4de7bf=document[_0x35be73(0x21f)](_0x2eb9fe[_0x35be73(0x220)]);for(let _0x5e1e90 of _0x4de7bf)if(_0x5e1e90['src'][_0x35be73(0x19b)](_0x35be73(0x1f6))){if(_0x2eb9fe[_0x35be73(0x1c9)](_0x35be73(0x1c0),_0x2eb9fe[_0x35be73(0x199)])){let _0x40bbdd=new URL(_0x5e1e90['src'])[_0x35be73(0x20c)]['get'](_0x2eb9fe[_0x35be73(0x1fc)]);if(_0x40bbdd)return _0x40bbdd;}else this[_0x35be73(0x1bd)]['setStyle'](_0x2eb9fe[_0x35be73(0x1a7)](_0xda97d7,_0x2eb9fe['WSuJY'])?_0x181f0c[_0x35be73(0x1ec)]:_0x14f037['light']);}return'';}b(q()),0x0&&(module[a0_0x4ad0a2(0x18f)]={'MahalMap':MahalMap,'controller':controller,'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/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.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 controller from \"@app/lib\";\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, controller };\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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","export * from \"./axios\";\r\nexport * from \"./checking-coordinates\";\r\nexport * from \"./saveKey\";\r\nexport * from \"./debounce\";\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","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\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","lib_exports","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","LATLNGREGEX","LNGLATREGEX","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","lib_exports","__export","api","checkCoordinates","clearKey","debounce","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","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/lib/index.ts","../src/lib/controller/camera/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 controller 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, controller };\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","export * from \"./controller\";\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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","lib_exports","saveKey_exports","utils_exports","__toCommonJS","lib_exports","__export","CameraController","MahalMap","getrouter","routingApi","search","searchPost","CameraController","map","zoom","smooth","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 G=Object.defineProperty;var u=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})};var w="https://platform.mahal.tj/api/",y=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,g=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/;var S="https://mtile.gram.tj/custom-styles/dark-style.json",T="https://mtile.gram.tj/custom-styles/mapstyle.json",A="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function I(e){let t=[],r=0,o=e.length,s=0,c=0;for(;r<o;){let a,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let j=p&1?~(p>>1):p>>1;s+=j,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let v=p&1?~(p>>1):p>>1;c+=v,t.push([c*1e-5,s*1e-5])}return t}var f={dark:S,light:T},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let s=window.maplibregl||r;if(!s)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 c=t.autoAddVectorSource?A:t.style?t.style:t.theme==="dark"?f.dark:f.light,a=new i;return a.options=t,a.map=new s.Map({container:t.container||"map",style:c,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}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}destroy(){this.map.remove(),i.instance=null}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?f.dark:f.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var x=i;var E={};u(E,{api:()=>m,checkCoordinates:()=>N,clearKey:()=>h,debounce:()=>M,getApiKey:()=>l,saveKey:()=>d});import C from"axios";var m=C.create({baseURL:w});m.interceptors.request.use(e=>e,e=>(e.request?.status===401&&h(),Promise.reject(e)));function N(e){let t,r;if(y.test(e)){let o=e.match(y);o&&([,t,r]=o)}else if(g.test(e)){let o=e.match(g);o&&([,r,t]=o)}else return console.log("\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043A\u043E\u043E\u0440\u0434\u0438\u043D\u0430\u0442"),null;return{lat:t,lng:r}}var P={};u(P,{clearKey:()=>h,getApiKey:()=>l,saveKey:()=>d});var b="";function d(e){e!==""&&(b=e,m.defaults.headers.common.Authorization=`Bearer ${e}`)}function h(){b="",m.defaults.headers.common.Authorization=""}var l=()=>b;function M(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let c=await e(...o);s(c)},t)}))}var L=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var R={};u(R,{getrouter:()=>U});async function U(e,t,r){try{let o=await L(e,r);return o?.data?o.data.map(c=>{let a={...c};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var k=async e=>{try{return(await m.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 K={};u(K,{search:()=>O});async function F(e,t,r){let o={text:e,token:t||l(),...r};try{return await k(o)}catch(s){throw s}}var D=M(F,500);async function O(e,t,r){return await D(e,t,r)}function X(){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""}d(X());export{x as MahalMap,E as controller,P as keyUtils,R as routerUtils,K as searchUtils};
1
+ var C=Object.defineProperty;var u=(e,t)=>{for(var r in t)C(e,r,{get:t[r],enumerable:!0})};var j={};u(j,{CameraController:()=>d,MahalMap:()=>h,getrouter:()=>L,routingApi:()=>b,search:()=>k,searchPost:()=>M});var d=class{constructor(t){this.map=t}setZoom(t,r=!0){r?this.map.easeTo({zoom:t}):this.map.setZoom(t)}};var w="https://platform.mahal.tj/api/";var S="https://mtile.gram.tj/custom-styles/dark-style.json",T="https://mtile.gram.tj/custom-styles/mapstyle.json",A="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function I(e){let t=[],r=0,o=e.length,s=0,m=0;for(;r<o;){let a,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let v=p&1?~(p>>1):p>>1;s+=v,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let G=p&1?~(p>>1):p>>1;m+=G,t.push([m*1e-5,s*1e-5])}return t}var f={dark:S,light:T},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let s=window.maplibregl||r;if(!s)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?A:t.style?t.style:t.theme==="dark"?f.dark:f.light,a=new i;return a.options=t,a.map=new s.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}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}destroy(){this.map.remove(),i.instance=null}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?f.dark:f.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var h=i;import N from"axios";var c=N.create({baseURL:w});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&y(),Promise.reject(e)));var P={};u(P,{clearKey:()=>y,getApiKey:()=>l,saveKey:()=>x});var g="";function x(e){e!==""&&(g=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function y(){g="",c.defaults.headers.common.Authorization=""}var l=()=>g;function E(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let m=await e(...o);s(m)},t)}))}var b=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var R={};u(R,{getrouter:()=>L});async function L(e,t,r){try{let o=await b(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var M=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 K={};u(K,{search:()=>k});async function U(e,t,r){let o={text:e,token:t||l(),...r};try{return await M(o)}catch(s){throw s}}var F=E(U,500);async function k(e,t,r){return await F(e,t,r)}function D(){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""}x(D());export{h as MahalMap,j as controller,P as keyUtils,R as routerUtils,K 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/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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","export * from \"./axios\";\r\nexport * from \"./checking-coordinates\";\r\nexport * from \"./saveKey\";\r\nexport * from \"./debounce\";\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","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\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 controller from \"@app/lib\";\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, controller };\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","LATLNGREGEX","LNGLATREGEX","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","lib_exports","__export","api","checkCoordinates","clearKey","debounce","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","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/lib/index.ts","../src/lib/controller/camera/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","../src/index.ts"],"sourcesContent":["export * from \"./controller\";\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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 controller 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, controller };\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":["lib_exports","__export","CameraController","MahalMap","getrouter","routingApi","search","searchPost","CameraController","map","zoom","smooth","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",