mahal_map 1.0.4 → 1.0.6

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/README.md CHANGED
@@ -12,6 +12,8 @@ npm install maplibregl
12
12
 
13
13
  ```javascript
14
14
  import maplibregl from "maplibre-gl";
15
+ import "maplibre-gl/dist/maplibre-gl.css";
16
+ import MahalMap from "mahal_map";
15
17
 
16
18
  const map = MahalMap.map.createMap();
17
19
  ```
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
- 'use strict';var a0_0x293b91=a0_0x428d;(function(_0x522f76,_0x5539af){var _0x58917f=a0_0x428d,_0x24a671=_0x522f76();while(!![]){try{var _0x14b1cb=-parseInt(_0x58917f(0x1f2))/0x1*(-parseInt(_0x58917f(0x1c0))/0x2)+parseInt(_0x58917f(0x1aa))/0x3+parseInt(_0x58917f(0x1c1))/0x4*(-parseInt(_0x58917f(0x1d8))/0x5)+parseInt(_0x58917f(0x1f4))/0x6*(parseInt(_0x58917f(0x1bc))/0x7)+parseInt(_0x58917f(0x1a6))/0x8+-parseInt(_0x58917f(0x19a))/0x9*(-parseInt(_0x58917f(0x192))/0xa)+-parseInt(_0x58917f(0x186))/0xb*(parseInt(_0x58917f(0x184))/0xc);if(_0x14b1cb===_0x5539af)break;else _0x24a671['push'](_0x24a671['shift']());}catch(_0x20b771){_0x24a671['push'](_0x24a671['shift']());}}}(a0_0x3e2f,0x59e89));var U=Object['create'],c=Object['defineProperty'],X=Object['getOwnPropertyDescriptor'],_=Object[a0_0x293b91(0x1ec)],B=Object[a0_0x293b91(0x1e7)],v=Object[a0_0x293b91(0x1a2)][a0_0x293b91(0x1e8)],p=(_0x3c5067,_0x3e9ca0)=>{var _0x4fb4d6=a0_0x293b91,_0x8cba71={'pxhHy':function(_0x2d8bbf,_0x218e7d,_0x2b9206,_0x325300){return _0x2d8bbf(_0x218e7d,_0x2b9206,_0x325300);}};for(var _0x293c45 in _0x3e9ca0)_0x8cba71[_0x4fb4d6(0x1c3)](c,_0x3c5067,_0x293c45,{'get':_0x3e9ca0[_0x293c45],'enumerable':!0x0});},L=(_0x3d6361,_0x50db22,_0x431702,_0x5434f8)=>{var _0x4c217e=a0_0x293b91,_0xa0555c={'GVBGL':_0x4c217e(0x1ae),'vrjzM':function(_0x3ec8b1,_0x29322e){return _0x3ec8b1==_0x29322e;},'BaDkU':_0x4c217e(0x198),'ihkCU':function(_0x3e556b,_0x5a0124){return _0x3e556b(_0x5a0124);}};if(_0x50db22&&typeof _0x50db22==_0xa0555c[_0x4c217e(0x191)]||_0xa0555c[_0x4c217e(0x1c4)](typeof _0x50db22,_0xa0555c[_0x4c217e(0x195)])){for(let _0x348bf0 of _0xa0555c['ihkCU'](_,_0x50db22))!v['call'](_0x3d6361,_0x348bf0)&&_0x348bf0!==_0x431702&&c(_0x3d6361,_0x348bf0,{'get':()=>_0x50db22[_0x348bf0],'enumerable':!(_0x5434f8=X(_0x50db22,_0x348bf0))||_0x5434f8['enumerable']});}return _0x3d6361;},R=(_0x544f5e,_0x14ad4c,_0x519d2b)=>(_0x519d2b=_0x544f5e!=null?U(B(_0x544f5e)):{},L(_0x14ad4c||!_0x544f5e||!_0x544f5e[a0_0x293b91(0x1bd)]?c(_0x519d2b,a0_0x293b91(0x19b),{'value':_0x544f5e,'enumerable':!0x0}):_0x519d2b,_0x544f5e)),z=_0x41d6f7=>L(c({},'__esModule',{'value':!0x0}),_0x41d6f7),J={};p(J,{'Map':()=>u,'default':()=>F,'keyUtils':()=>f,'routerUtils':()=>h,'searchUtils':()=>d}),module[a0_0x293b91(0x199)]=z(J);var u={};p(u,{'createMap':()=>O});var A=a0_0x293b91(0x1c8),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+)?))$/,b=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,w=a0_0x293b91(0x1b6),M=a0_0x293b91(0x1fb),T=a0_0x293b91(0x18e);function P(_0x30850f){var _0x5f353a=a0_0x293b91,_0x2c8f22={'wJQkS':function(_0x2bae01,_0x1b49c8){return _0x2bae01-_0x1b49c8;},'iaZMU':function(_0x4a2728,_0x228d5d){return _0x4a2728<<_0x228d5d;},'UcHzN':function(_0x3f5760,_0x16693b){return _0x3f5760&_0x16693b;},'EcQvj':function(_0x4f9bb2,_0x23cf3e){return _0x4f9bb2>=_0x23cf3e;},'djCKI':function(_0x5ecd16,_0x2caae0){return _0x5ecd16>>_0x2caae0;},'HWKzi':function(_0x12d72f,_0xcdf371){return _0x12d72f>>_0xcdf371;},'iouvZ':function(_0x27ce27,_0x4d7c32){return _0x27ce27<<_0x4d7c32;},'TujxL':function(_0x33e177,_0x322d96){return _0x33e177>=_0x322d96;},'XAdes':function(_0x401f7f,_0x2e857b){return _0x401f7f>>_0x2e857b;},'GnqhB':function(_0xd991a7,_0x551b3f){return _0xd991a7*_0x551b3f;}};let _0x197cf0=[],_0x380875=0x0,_0x1c2cbe=_0x30850f['length'],_0x4d78c7=0x0,_0x37f7cb=0x0;for(;_0x380875<_0x1c2cbe;){let _0x2bd04c,_0x48c00b=0x0,_0x51407a=0x0;do _0x2bd04c=_0x2c8f22[_0x5f353a(0x1d9)](_0x30850f[_0x5f353a(0x1eb)](_0x380875++),0x3f),_0x51407a|=_0x2c8f22[_0x5f353a(0x17a)](_0x2c8f22[_0x5f353a(0x1fa)](_0x2bd04c,0x1f),_0x48c00b),_0x48c00b+=0x5;while(_0x2c8f22['EcQvj'](_0x2bd04c,0x20));let _0x34eece=_0x51407a&0x1?~_0x2c8f22[_0x5f353a(0x1c9)](_0x51407a,0x1):_0x2c8f22['HWKzi'](_0x51407a,0x1);_0x4d78c7+=_0x34eece,_0x48c00b=0x0,_0x51407a=0x0;do _0x2bd04c=_0x2c8f22['wJQkS'](_0x30850f['charCodeAt'](_0x380875++),0x3f),_0x51407a|=_0x2c8f22[_0x5f353a(0x18c)](_0x2c8f22[_0x5f353a(0x1fa)](_0x2bd04c,0x1f),_0x48c00b),_0x48c00b+=0x5;while(_0x2c8f22[_0x5f353a(0x1ed)](_0x2bd04c,0x20));let _0x392aaf=_0x2c8f22[_0x5f353a(0x1fa)](_0x51407a,0x1)?~_0x2c8f22['XAdes'](_0x51407a,0x1):_0x51407a>>0x1;_0x37f7cb+=_0x392aaf,_0x197cf0[_0x5f353a(0x1f0)]([_0x37f7cb*0.00001,_0x2c8f22['GnqhB'](_0x4d78c7,0.00001)]);}return _0x197cf0;}var G=R(require(a0_0x293b91(0x1d6))),j={'dark':w,'light':M};function O(_0x149623){var _0x1e5c16=a0_0x293b91,_0x3ce7f4={'xwFMS':function(_0x5e13e9,_0x2ce2da){return _0x5e13e9===_0x2ce2da;},'hJBHg':'dark','SgxoL':_0x1e5c16(0x1cd),'XYJNx':_0x1e5c16(0x1ea),'eyBRH':'none'};let _0x54fed6;_0x149623['autoAddVectorSource']?_0x54fed6=T:_0x54fed6=_0x149623['style']?_0x149623[_0x1e5c16(0x1e9)]:_0x3ce7f4[_0x1e5c16(0x1bb)](_0x149623[_0x1e5c16(0x1d7)],_0x3ce7f4['hJBHg'])?j['dark']:j[_0x1e5c16(0x1cf)];let _0x2774f2=new G[(_0x1e5c16(0x19b))][(_0x1e5c16(0x1d3))]({'container':_0x149623[_0x1e5c16(0x1a0)]||_0x3ce7f4[_0x1e5c16(0x197)],'style':_0x54fed6,'center':_0x149623[_0x1e5c16(0x178)]||[69.624024,40.279687],'zoom':_0x149623['zoom']||0x5}),_0x40b1d4=document[_0x1e5c16(0x180)](_0x3ce7f4[_0x1e5c16(0x193)])[0x0];return _0x40b1d4&&(_0x40b1d4[_0x1e5c16(0x1e9)][_0x1e5c16(0x19d)]=_0x3ce7f4[_0x1e5c16(0x1b8)]),_0x2774f2;}var f={};p(f,{'clearKey':()=>x,'getApiKey':()=>D,'saveKey':()=>$});var I=R(require(a0_0x293b91(0x181))),i=I['default']['create']({'baseURL':A});i[a0_0x293b91(0x1e5)][a0_0x293b91(0x1a8)][a0_0x293b91(0x1ef)](_0x47b450=>_0x47b450,_0x3dcbbc=>(_0x3dcbbc[a0_0x293b91(0x1a8)]?.['status']===0x191&&x(),Promise['reject'](_0x3dcbbc)));function a0_0x3e2f(){var _0x3d9d24=['vNWDK','xwFMS','58821msGAsh','__esModule','geojson','src','1034534qDJLMQ','3532zoNJzi','Authorization','pxhHy','vrjzM','headers','ZVLJF','bKImZ','https://platform.mahal.tj/api/','djCKI','Ошибка\x20при\x20поиске\x20адреса:','warn','KatWc','map','FhjVO','light','xnGGc','yGuAf','getElementsByTagName','Map','jAatt','geometry','maplibre-gl','theme','3985SMICMz','wJQkS','test','uteZD','pBBon','fjdVc','text','exception','ZYqID','apply','apikey','ttwEa','common','interceptors','CuVSY','getPrototypeOf','hasOwnProperty','style','maplibregl-compact-show','charCodeAt','getOwnPropertyNames','TujxL','script','use','push','nlqTK','1fUxWyT','services/getRoutes','66VzKfgu','console','loiof','kXfIl','wVwCo','MaOCE','UcHzN','https://mtile.gram.tj/custom-styles/mapstyle.json','center','trace','iaZMU','route','split','toString','defaults','Неверный\x20формат\x20координат','getElementsByClassName','axios','KANkf','tkSZs','368760AlowLz','xSeiE','220DCCXJh','info','OdhBY','DvsFf','4|2|5|0|1|3','Bearer\x20','iouvZ','forEach','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','MpHJD','error','GVBGL','10HcIgTa','XYJNx','DJpOW','BaDkU','LzTKA','SgxoL','function','exports','926037aZFVfZ','default','gvPyX','display','Ошибка\x20при\x20выполнении\x20поиска:','match','container','bind','prototype','length','elastic/search','log','4525360UKugPQ','__proto__','request','get','1225059nkSENI','string','post','QCtnc','object','data','lng','constructor','WeJnM','WfhHU','AjYDg','includes','https://mtile.gram.tj/custom-styles/dark-style.json','return\x20(function()\x20','eyBRH','table'];a0_0x3e2f=function(){return _0x3d9d24;};return a0_0x3e2f();}function C(_0x2cc552){var _0x1262f6=a0_0x293b91,_0x357cd9={'KANkf':_0x1262f6(0x1cc),'MaOCE':'Неверный\x20формат\x20координат'};let _0x5e551d,_0x4a9b74;if(y[_0x1262f6(0x1da)](_0x2cc552)){let _0x1c2183=_0x2cc552[_0x1262f6(0x19f)](y);_0x1c2183&&([,_0x5e551d,_0x4a9b74]=_0x1c2183);}else{if(g[_0x1262f6(0x1da)](_0x2cc552)){if(_0x357cd9[_0x1262f6(0x182)]!==_0x357cd9['KANkf'])throw _0x1d6b61[_0x1262f6(0x190)](_0x1262f6(0x19e),_0x2aba01),_0x29ca16;else{let _0x285380=_0x2cc552[_0x1262f6(0x19f)](g);_0x285380&&([,_0x4a9b74,_0x5e551d]=_0x285380);}}else return console[_0x1262f6(0x1a5)](_0x357cd9[_0x1262f6(0x1f9)]),null;}return{'lat':_0x5e551d,'lng':_0x4a9b74};}var E='';function $(_0x14f134){var _0x3bf690=a0_0x293b91,_0x37e0ea={'WeJnM':function(_0x4b0ef5,_0x527aeb){return _0x4b0ef5!==_0x527aeb;}};_0x37e0ea[_0x3bf690(0x1b2)](_0x14f134,'')&&(E=_0x14f134,i[_0x3bf690(0x17e)]['headers'][_0x3bf690(0x1e4)][_0x3bf690(0x1c2)]=_0x3bf690(0x18b)+_0x14f134);}function x(){var _0x21eabe=a0_0x293b91,_0xb13ac9={'vNWDK':function(_0x5211f8,_0x228e02){return _0x5211f8===_0x228e02;},'uteZD':_0x21eabe(0x1d4),'HuwJD':_0x21eabe(0x196),'MpHJD':function(_0x17ebf3,_0xf1f0a6){return _0x17ebf3(_0xf1f0a6);},'KiYTc':function(_0x91fede,_0x4b75b7){return _0x91fede+_0x4b75b7;},'bKImZ':'{}.constructor(\x22return\x20this\x22)(\x20)','wVwCo':'1|4|2|3|0','DvHwu':function(_0x39c077,_0x3027be){return _0x39c077<_0x3027be;},'hDuQf':_0x21eabe(0x1a5),'nlqTK':_0x21eabe(0x1cb),'CuVSY':_0x21eabe(0x187),'tkSZs':_0x21eabe(0x190),'WfhHU':function(_0x1d9d00){return _0x1d9d00();},'yGuAf':function(_0x3a0a36,_0x20e8f4,_0x30673d){return _0x3a0a36(_0x20e8f4,_0x30673d);},'FhjVO':function(_0x13f650){return _0x13f650();}},_0x3e94cb=(function(){var _0x12e538=_0x21eabe,_0x234e9a={'pBBon':function(_0xab8953,_0x43bed0){var _0x462b9d=a0_0x428d;return _0xb13ac9[_0x462b9d(0x1ba)](_0xab8953,_0x43bed0);},'vovwt':_0xb13ac9[_0x12e538(0x1db)],'DvsFf':_0xb13ac9['HuwJD']},_0xee9f28=!![];return function(_0x134a5e,_0xca9d4f){var _0xd9fcec=_0x12e538;if(_0x234e9a[_0xd9fcec(0x1dc)](_0x234e9a['vovwt'],_0x234e9a[_0xd9fcec(0x189)])){var _0x20b0da=_0x18fa27[_0xd9fcec(0x1e1)](_0x2a4179,arguments);return _0x4e5072=null,_0x20b0da;}else{var _0x579a88=_0xee9f28?function(){var _0x4f8f57=_0xd9fcec;if(_0xca9d4f){var _0x4cb91d=_0xca9d4f[_0x4f8f57(0x1e1)](_0x134a5e,arguments);return _0xca9d4f=null,_0x4cb91d;}}:function(){};return _0xee9f28=![],_0x579a88;}};}()),_0x45cad9=_0xb13ac9[_0x21eabe(0x1d1)](_0x3e94cb,this,function(){var _0x34429f=_0x21eabe,_0x5ec11f=_0xb13ac9[_0x34429f(0x1f8)][_0x34429f(0x17c)]('|'),_0x41c407=0x0;while(!![]){switch(_0x5ec11f[_0x41c407++]){case'0':for(var _0x1bf88b=0x0;_0xb13ac9['DvHwu'](_0x1bf88b,_0x331349['length']);_0x1bf88b++){var _0x3d8f37=_0x34429f(0x18a)[_0x34429f(0x17c)]('|'),_0x58b44c=0x0;while(!![]){switch(_0x3d8f37[_0x58b44c++]){case'0':_0x2c5df1[_0x34429f(0x1a7)]=_0x3e94cb[_0x34429f(0x1a1)](_0x3e94cb);continue;case'1':_0x2c5df1[_0x34429f(0x17d)]=_0x3c67a2['toString'][_0x34429f(0x1a1)](_0x3c67a2);continue;case'2':var _0x53cdcf=_0x331349[_0x1bf88b];continue;case'3':_0x29e28f[_0x53cdcf]=_0x2c5df1;continue;case'4':var _0x2c5df1=_0x3e94cb[_0x34429f(0x1b1)][_0x34429f(0x1a2)][_0x34429f(0x1a1)](_0x3e94cb);continue;case'5':var _0x3c67a2=_0x29e28f[_0x53cdcf]||_0x2c5df1;continue;}break;}}continue;case'1':var _0x47b079=function(){var _0x58fe78=_0x34429f,_0x1201d4;try{_0x1201d4=_0xb13ac9[_0x58fe78(0x18f)](Function,_0xb13ac9['KiYTc'](_0x58fe78(0x1b7),_0xb13ac9[_0x58fe78(0x1c7)])+');')();}catch(_0x45fbe0){_0x1201d4=window;}return _0x1201d4;};continue;case'2':var _0x29e28f=_0x228e93[_0x34429f(0x1f5)]=_0x228e93[_0x34429f(0x1f5)]||{};continue;case'3':var _0x331349=[_0xb13ac9['hDuQf'],_0xb13ac9[_0x34429f(0x1f1)],_0xb13ac9[_0x34429f(0x1e6)],_0xb13ac9[_0x34429f(0x183)],_0x34429f(0x1df),_0x34429f(0x1b9),_0x34429f(0x179)];continue;case'4':var _0x228e93=_0xb13ac9[_0x34429f(0x1b3)](_0x47b079);continue;}break;}});_0xb13ac9[_0x21eabe(0x1ce)](_0x45cad9),(E='',i[_0x21eabe(0x17e)][_0x21eabe(0x1c5)]['common']['Authorization']='');}var D=()=>E,d={};function a0_0x428d(_0x5e5fa,_0x3238e1){var _0x516f55=a0_0x3e2f();return a0_0x428d=function(_0x5a74b9,_0x17e9dc){_0x5a74b9=_0x5a74b9-0x178;var _0x3c3537=_0x516f55[_0x5a74b9];return _0x3c3537;},a0_0x428d(_0x5e5fa,_0x3238e1);}p(d,{'search':()=>H});var S=async _0x5819ec=>{var _0x283bd8=a0_0x293b91,_0x3de7fa={'rXquY':_0x283bd8(0x1ca)};try{let _0x154b59={'params':_0x5819ec};return(await i['get'](_0x283bd8(0x1a4),_0x154b59))['data'];}catch(_0x2e94de){throw console[_0x283bd8(0x190)](_0x3de7fa['rXquY'],_0x2e94de),_0x2e94de;}};async function H(_0x3dce2c,_0xd835f4){var _0xe88a96=a0_0x293b91,_0x19ae99={'QCtnc':function(_0x922a35,_0x238f23){return _0x922a35!==_0x238f23;},'xSeiE':function(_0x2da354,_0x1e66dc){return _0x2da354(_0x1e66dc);},'fjdVc':function(_0x25fd2,_0x59f822){return _0x25fd2(_0x59f822);}};let _0x4713be={'text':'',..._0xd835f4};if(_0x19ae99[_0xe88a96(0x1ad)](_0x3dce2c,'')){if(b[_0xe88a96(0x1da)](_0x3dce2c)){let _0x18a604=await _0x19ae99[_0xe88a96(0x185)](C,_0x3dce2c);_0x18a604&&(_0x4713be={'lat':_0x18a604['lat']??'','lng':_0x18a604[_0xe88a96(0x1b0)]??''});}else _0x4713be[_0xe88a96(0x1de)]=_0x3dce2c;}else _0x4713be[_0xe88a96(0x1de)]='';try{return await _0x19ae99[_0xe88a96(0x1dd)](S,_0x4713be);}catch(_0x3d1438){throw console[_0xe88a96(0x190)](_0xe88a96(0x19e),_0x3d1438),_0x3d1438;}}var h={};p(h,{'getrouter':()=>V});var k=async _0x99e634=>{var _0x51ce50=a0_0x293b91,_0x280e14={'ZVLJF':function(_0x22c4c4,_0x876a21){return _0x22c4c4===_0x876a21;},'DJpOW':_0x51ce50(0x1b4),'ygLwz':_0x51ce50(0x1f3)};try{if(_0x280e14[_0x51ce50(0x1c6)](_0x51ce50(0x1b4),_0x280e14[_0x51ce50(0x194)])){let _0x1a6f59=[];return _0x99e634[_0x51ce50(0x18d)](_0x18191d=>{var _0x496042=_0x51ce50;_0x1a6f59[_0x496042(0x1f0)]({'lng':_0x18191d[0x0],'lat':_0x18191d[0x1]});}),(await i[_0x51ce50(0x1ac)](_0x280e14['ygLwz'],{'points':_0x1a6f59}))[_0x51ce50(0x1af)];}else _0x5b07ca=_0x46dd2e;}catch(_0x1ff384){throw console[_0x51ce50(0x190)](_0x1ff384),_0x1ff384;}};async function V(_0x38a02c,_0x194bea){var _0x23caa2=a0_0x293b91,_0x5c26d3={'kXfIl':_0x23caa2(0x17f),'ZYqID':function(_0x10e53b,_0x19523f){return _0x10e53b===_0x19523f;},'ykyFh':_0x23caa2(0x1f6),'wmiIN':function(_0x44a389,_0x1c5a49){return _0x44a389(_0x1c5a49);},'UDyMV':_0x23caa2(0x188),'gvPyX':'vDycL'};try{let _0x276f0a=await _0x5c26d3['wmiIN'](k,_0x38a02c);return _0x276f0a?.['data']?_0x276f0a['data'][_0x23caa2(0x1cd)](_0x18729f=>{var _0xee9146=_0x23caa2;if(_0x5c26d3[_0xee9146(0x1e0)](_0x5c26d3['ykyFh'],_0xee9146(0x1f6))){let _0x326eb6={..._0x18729f};return _0x326eb6[_0xee9146(0x17b)]?.['routes']?.[_0xee9146(0x1a3)]&&(_0x326eb6['route']['routes']=_0x326eb6['route']['routes'][_0xee9146(0x1cd)](_0x3efe90=>({..._0x3efe90,'geometry':_0x194bea===_0xee9146(0x1be)&&typeof _0x3efe90[_0xee9146(0x1d5)]==_0xee9146(0x1ab)?P(_0x3efe90[_0xee9146(0x1d5)]):_0x3efe90[_0xee9146(0x1d5)]}))),_0x326eb6;}else{let _0x262151,_0xf2ce5e;if(_0xa653bb['test'](_0x1d522f)){let _0x1af3ee=_0x33ae22[_0xee9146(0x19f)](_0x3c307);_0x1af3ee&&([,_0x262151,_0xf2ce5e]=_0x1af3ee);}else{if(_0x2675f6[_0xee9146(0x1da)](_0x3533f8)){let _0x2baa45=_0x122907['match'](_0x3284cc);_0x2baa45&&([,_0xf2ce5e,_0x262151]=_0x2baa45);}else return _0x2311cd[_0xee9146(0x1a5)](_0x5c26d3[_0xee9146(0x1f7)]),null;}return{'lat':_0x262151,'lng':_0xf2ce5e};}}):_0x276f0a;}catch(_0x39890f){if(_0x5c26d3[_0x23caa2(0x1e0)](_0x5c26d3['UDyMV'],_0x5c26d3[_0x23caa2(0x19c)]))_0x40d368['push']({'lng':_0x5d5007[0x0],'lat':_0x33a4af[0x1]});else throw console[_0x23caa2(0x190)](_0x39890f),_0x39890f;}}var q={'Map':u,'keyUtils':f,'searchUtils':d,'routerUtils':h,'loadKeyFromScriptUrl':()=>{var _0x248019=a0_0x293b91,_0x2ec60f={'ttwEa':'mahal_map.umd.js','xnGGc':_0x248019(0x1e2)};let _0x4b1d57=document[_0x248019(0x1d2)](_0x248019(0x1ee));for(let _0x212805 of _0x4b1d57)if(_0x212805[_0x248019(0x1bf)][_0x248019(0x1b5)](_0x2ec60f[_0x248019(0x1e3)])){let _0x443623=new URL(_0x212805[_0x248019(0x1bf)])['searchParams'][_0x248019(0x1a9)](_0x2ec60f[_0x248019(0x1d0)]);if(_0x443623)return _0x443623;}return'';}},F=q;0x0&&(module[a0_0x293b91(0x199)]={'Map':Map,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ "use strict";var X=Object.create;var c=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var r in e)c(t,r,{get:e[r],enumerable:!0})},R=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of v(e))!B.call(t,a)&&a!==r&&c(t,a,{get:()=>e[a],enumerable:!(o=_(e,a))||o.enumerable});return t};var A=(t,e,r)=>(r=t!=null?X(z(t)):{},R(e||!t||!t.__esModule?c(r,"default",{value:t,enumerable:!0}):r,t)),O=t=>R(c({},"__esModule",{value:!0}),t);var J={};p(J,{Map:()=>u,default:()=>H,keyUtils:()=>f,routerUtils:()=>h,searchUtils:()=>d});module.exports=O(J);var u={};p(u,{createMap:()=>$});var G=A(require("maplibre-gl"));var L="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+)?))$/,b=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,w="https://mtile.gram.tj/custom-styles/dark-style.json",M="https://mtile.gram.tj/custom-styles/mapstyle.json",T="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function P(t){let e=[],r=0,o=t.length,a=0,m=0;for(;r<o;){let s,l=0,n=0;do s=t.charCodeAt(r++)-63,n|=(s&31)<<l,l+=5;while(s>=32);let U=n&1?~(n>>1):n>>1;a+=U,l=0,n=0;do s=t.charCodeAt(r++)-63,n|=(s&31)<<l,l+=5;while(s>=32);let N=n&1?~(n>>1):n>>1;m+=N,e.push([m*1e-5,a*1e-5])}return e}var j={dark:w,light:M};function $(t){let e;return t.autoAddVectorSource?e=T:e=t.style?t.style:t.theme==="dark"?j.dark:j.light,new G.default.Map({container:t.container||"map",style:e,center:t.center||[69.624024,40.279687],zoom:t.zoom||5})}var f={};p(f,{clearKey:()=>x,getApiKey:()=>V,saveKey:()=>D});var I=A(require("axios"));var i=I.default.create({baseURL:L});i.interceptors.request.use(t=>t,t=>(t.request?.status===401&&x(),Promise.reject(t)));function S(t){let e,r;if(y.test(t)){let o=t.match(y);o&&([,e,r]=o)}else if(g.test(t)){let o=t.match(g);o&&([,r,e]=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:e,lng:r}}var E="";function D(t){t!==""&&(E=t,i.defaults.headers.common.Authorization=`Bearer ${t}`)}function x(){E="",i.defaults.headers.common.Authorization=""}var V=()=>E;var d={};p(d,{search:()=>q});var C=async t=>{try{let e={params:t};return(await i.get("elastic/search",e)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function q(t,e){let r={text:"",...e};if(t!=="")if(b.test(t)){let o=await S(t);o&&(r={lat:o.lat??"",lng:o.lng??""})}else r.text=t;else r.text="";try{return await C(r)}catch(o){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430:",o),o}}var h={};p(h,{getrouter:()=>F});var k=async t=>{try{let e=[];return t.forEach(o=>{e.push({lng:o[0],lat:o[1]})}),(await i.post("services/getRoutes",{points:e})).data}catch(e){throw console.error(e),e}};async function F(t,e){try{let r=await k(t);return r?.data?r.data.map(a=>{let m={...a};return m.route?.routes?.length&&(m.route.routes=m.route.routes.map(s=>({...s,geometry:e==="geojson"&&typeof s.geometry=="string"?P(s.geometry):s.geometry}))),m}):r}catch(r){throw console.error(r),r}}var K={Map:u,keyUtils:f,searchUtils:d,routerUtils:h,loadKeyFromScriptUrl:()=>{let t=document.getElementsByTagName("script");for(let e of t)if(e.src.includes("mahal_map.umd.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}};K.loadKeyFromScriptUrl();var H=K;0&&(module.exports={Map,keyUtils,routerUtils,searchUtils});
2
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts"],"sourcesContent":["import * as Map from \"@lib/map/utils\";\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 { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nconst MahalMap = {\r\n Map,\r\n keyUtils,\r\n searchUtils,\r\n routerUtils,\r\n loadKeyFromScriptUrl: () => {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.umd.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\n};\r\n\r\nexport default MahalMap;\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\nimport maplibregl from \"maplibre-gl\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nfunction createMap(options: IMahalMapOptions): MapType {\r\n let finalStyle;\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map: MapType = new maplibregl.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 const compactEl = document.getElementsByClassName(\r\n \"maplibregl-compact-show\"\r\n )[0] as HTMLElement;\r\n if (compactEl) compactEl.style.display = \"none\";\r\n\r\n return map;\r\n}\r\n\r\nexport { createMap };\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","export * from \"./utils\";\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","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","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", 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 { 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): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\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"],"mappings":"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","names":["index_exports","__export","utils_exports","index_default","saveKey_exports","__toCommonJS","utils_exports","__export","createMap","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","import_maplibre_gl","defaultStyles","DARK","LIGHT","createMap","options","finalStyle","VECTOR","map","maplibregl","compactEl","saveKey_exports","__export","clearKey","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","MahalMap","utils_exports","saveKey_exports","scripts","script","apikey","index_default"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts"],"sourcesContent":["import * as Map from \"@lib/map/utils\";\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 { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nconst MahalMap = {\r\n Map,\r\n keyUtils,\r\n searchUtils,\r\n routerUtils,\r\n loadKeyFromScriptUrl: () => {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.umd.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\n};\r\nMahalMap.loadKeyFromScriptUrl();\r\n\r\nexport default MahalMap;\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport maplibregl 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\nfunction createMap(options: IMahalMapOptions): MapType {\r\n let finalStyle;\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map: MapType = new maplibregl.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 return map;\r\n}\r\n\r\nexport { createMap };\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","export * from \"./utils\";\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","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","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", 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 { 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): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\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"],"mappings":"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","names":["index_exports","__export","utils_exports","index_default","saveKey_exports","__toCommonJS","utils_exports","__export","createMap","import_maplibre_gl","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","finalStyle","VECTOR","maplibregl","saveKey_exports","__export","clearKey","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","MahalMap","utils_exports","saveKey_exports","scripts","script","apikey","index_default"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var C=Object.defineProperty;var p=(t,e)=>{for(var r in e)C(t,r,{get:e[r],enumerable:!0})};var f={};p(f,{createMap:()=>k});var E="https://platform.mahal.tj/api/",c=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,u=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,L=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,R="https://mtile.gram.tj/custom-styles/dark-style.json",A="https://mtile.gram.tj/custom-styles/mapstyle.json",b="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(t){let e=[],r=0,o=t.length,l=0,i=0;for(;r<o;){let s,m=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<m,m+=5;while(s>=32);let G=a&1?~(a>>1):a>>1;l+=G,m=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<m,m+=5;while(s>=32);let I=a&1?~(a>>1):a>>1;i+=I,e.push([i*1e-5,l*1e-5])}return e}import S from"maplibre-gl";var M={dark:R,light:A};function k(t){let e;t.autoAddVectorSource?e=b:e=t.style?t.style:t.theme==="dark"?M.dark:M.light;let r=new S.Map({container:t.container||"map",style:e,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),o=document.getElementsByClassName("maplibregl-compact-show")[0];return o&&(o.style.display="none"),r}var y={};p(y,{clearKey:()=>d,getApiKey:()=>U,saveKey:()=>K});import N from"axios";var n=N.create({baseURL:E});n.interceptors.request.use(t=>t,t=>(t.request?.status===401&&d(),Promise.reject(t)));function T(t){let e,r;if(c.test(t)){let o=t.match(c);o&&([,e,r]=o)}else if(u.test(t)){let o=t.match(u);o&&([,r,e]=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:e,lng:r}}var h="";function K(t){t!==""&&(h=t,n.defaults.headers.common.Authorization=`Bearer ${t}`)}function d(){h="",n.defaults.headers.common.Authorization=""}var U=()=>h;var g={};p(g,{search:()=>X});var P=async t=>{try{let e={params:t};return(await n.get("elastic/search",e)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function X(t,e){let r={text:"",...e};if(t!=="")if(L.test(t)){let o=await T(t);o&&(r={lat:o.lat??"",lng:o.lng??""})}else r.text=t;else r.text="";try{return await P(r)}catch(o){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430:",o),o}}var x={};p(x,{getrouter:()=>_});var j=async t=>{try{let e=[];return t.forEach(o=>{e.push({lng:o[0],lat:o[1]})}),(await n.post("services/getRoutes",{points:e})).data}catch(e){throw console.error(e),e}};async function _(t,e){try{let r=await j(t);return r?.data?r.data.map(l=>{let i={...l};return i.route?.routes?.length&&(i.route.routes=i.route.routes.map(s=>({...s,geometry:e==="geojson"&&typeof s.geometry=="string"?w(s.geometry):s.geometry}))),i}):r}catch(r){throw console.error(r),r}}var B={Map:f,keyUtils:y,searchUtils:g,routerUtils:x,loadKeyFromScriptUrl:()=>{let t=document.getElementsByTagName("script");for(let e of t)if(e.src.includes("mahal_map.umd.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}},wt=B;export{f as Map,wt as default,y as keyUtils,x as routerUtils,g as searchUtils};
1
+ var C=Object.defineProperty;var p=(t,e)=>{for(var r in e)C(t,r,{get:e[r],enumerable:!0})};var f={};p(f,{createMap:()=>K});import k from"maplibre-gl";var E="https://platform.mahal.tj/api/",c=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,u=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,R=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,A="https://mtile.gram.tj/custom-styles/dark-style.json",L="https://mtile.gram.tj/custom-styles/mapstyle.json",b="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(t){let e=[],r=0,o=t.length,l=0,i=0;for(;r<o;){let s,m=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<m,m+=5;while(s>=32);let I=a&1?~(a>>1):a>>1;l+=I,m=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<m,m+=5;while(s>=32);let S=a&1?~(a>>1):a>>1;i+=S,e.push([i*1e-5,l*1e-5])}return e}var M={dark:A,light:L};function K(t){let e;return t.autoAddVectorSource?e=b:e=t.style?t.style:t.theme==="dark"?M.dark:M.light,new k.Map({container:t.container||"map",style:e,center:t.center||[69.624024,40.279687],zoom:t.zoom||5})}var y={};p(y,{clearKey:()=>d,getApiKey:()=>X,saveKey:()=>N});import U from"axios";var n=U.create({baseURL:E});n.interceptors.request.use(t=>t,t=>(t.request?.status===401&&d(),Promise.reject(t)));function T(t){let e,r;if(c.test(t)){let o=t.match(c);o&&([,e,r]=o)}else if(u.test(t)){let o=t.match(u);o&&([,r,e]=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:e,lng:r}}var h="";function N(t){t!==""&&(h=t,n.defaults.headers.common.Authorization=`Bearer ${t}`)}function d(){h="",n.defaults.headers.common.Authorization=""}var X=()=>h;var g={};p(g,{search:()=>_});var P=async t=>{try{let e={params:t};return(await n.get("elastic/search",e)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function _(t,e){let r={text:"",...e};if(t!=="")if(R.test(t)){let o=await T(t);o&&(r={lat:o.lat??"",lng:o.lng??""})}else r.text=t;else r.text="";try{return await P(r)}catch(o){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430:",o),o}}var x={};p(x,{getrouter:()=>v});var j=async t=>{try{let e=[];return t.forEach(o=>{e.push({lng:o[0],lat:o[1]})}),(await n.post("services/getRoutes",{points:e})).data}catch(e){throw console.error(e),e}};async function v(t,e){try{let r=await j(t);return r?.data?r.data.map(l=>{let i={...l};return i.route?.routes?.length&&(i.route.routes=i.route.routes.map(s=>({...s,geometry:e==="geojson"&&typeof s.geometry=="string"?w(s.geometry):s.geometry}))),i}):r}catch(r){throw console.error(r),r}}var G={Map:f,keyUtils:y,searchUtils:g,routerUtils:x,loadKeyFromScriptUrl:()=>{let t=document.getElementsByTagName("script");for(let e of t)if(e.src.includes("mahal_map.umd.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}};G.loadKeyFromScriptUrl();var wt=G;export{f as Map,wt as default,y as keyUtils,x as routerUtils,g as searchUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts","../src/index.ts"],"sourcesContent":["import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport maplibregl from \"maplibre-gl\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nfunction createMap(options: IMahalMapOptions): MapType {\r\n let finalStyle;\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map: MapType = new maplibregl.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 const compactEl = document.getElementsByClassName(\r\n \"maplibregl-compact-show\"\r\n )[0] as HTMLElement;\r\n if (compactEl) compactEl.style.display = \"none\";\r\n\r\n return map;\r\n}\r\n\r\nexport { createMap };\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","export * from \"./utils\";\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","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","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", 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 { 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): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\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 * as Map from \"@lib/map/utils\";\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 { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nconst MahalMap = {\r\n Map,\r\n keyUtils,\r\n searchUtils,\r\n routerUtils,\r\n loadKeyFromScriptUrl: () => {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.umd.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\n};\r\n\r\nexport default MahalMap;\r\n"],"mappings":"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","names":["utils_exports","__export","createMap","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","maplibregl","defaultStyles","DARK","LIGHT","createMap","options","finalStyle","VECTOR","map","compactEl","saveKey_exports","__export","clearKey","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","MahalMap","utils_exports","saveKey_exports","scripts","script","apikey","index_default"]}
1
+ {"version":3,"sources":["../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts","../src/index.ts"],"sourcesContent":["import type { Map as MapType } from \"maplibre-gl\";\r\nimport maplibregl 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\nfunction createMap(options: IMahalMapOptions): MapType {\r\n let finalStyle;\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map: MapType = new maplibregl.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 return map;\r\n}\r\n\r\nexport { createMap };\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","export * from \"./utils\";\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","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","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", 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 { 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): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\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 * as Map from \"@lib/map/utils\";\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 { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nconst MahalMap = {\r\n Map,\r\n keyUtils,\r\n searchUtils,\r\n routerUtils,\r\n loadKeyFromScriptUrl: () => {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.umd.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\n};\r\nMahalMap.loadKeyFromScriptUrl();\r\n\r\nexport default MahalMap;\r\n"],"mappings":"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","names":["utils_exports","__export","createMap","maplibregl","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","finalStyle","VECTOR","maplibregl","saveKey_exports","__export","clearKey","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","MahalMap","utils_exports","saveKey_exports","scripts","script","apikey","index_default"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",
@@ -41,8 +41,8 @@
41
41
  "test": "echo \"Error: no test specified\" && exit 1",
42
42
  "build": "tsup src/index.ts --format cjs,esm --dts --minify --sourcemap false --out-dir dist",
43
43
  "build:sdk": "esbuild src/index.ts --bundle --minify --global-name=MahalMap --format=iife --outfile=dist/mahal_map.sdk.js",
44
- "obfuscate": "javascript-obfuscator dist --output dist --config obfuscator-config.json",
45
- "prepublishOnly": "npm run build && npm run obfuscate",
44
+ "obfuscate": "javascript-obfuscator dist --output dist --config obfuscator-config.json",
45
+ "prepublishOnly": "npm run build",
46
46
  "dev": "rollup -c rollup.config.js -w"
47
47
  },
48
48
  "dependencies": {