mahal_map 1.1.8 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -72,25 +72,21 @@ interface IRoute {
72
72
  };
73
73
  }
74
74
 
75
- declare class MahalMap$1 {
75
+ declare class MahalMap {
76
76
  private static instance;
77
77
  private map;
78
78
  private options;
79
79
  private constructor();
80
80
  static create(options: IMahalMapOptions, maplibreObject?: {
81
81
  Map: typeof Map;
82
- } | typeof Map): MahalMap$1;
83
- static getInstance(): MahalMap$1;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
84
84
  getMap(): Map;
85
85
  setStyle(theme: "dark" | "light"): void;
86
86
  setCenter(center: [number, number]): void;
87
87
  setZoom(zoom: number): void;
88
88
  }
89
89
 
90
- declare namespace MahalMap {
91
- export { MahalMap$1 as MahalMap };
92
- }
93
-
94
90
  declare function saveKey(param: string): void;
95
91
  declare function clearKey(): void;
96
92
  declare const getApiKey: () => string;
package/dist/index.d.ts CHANGED
@@ -72,25 +72,21 @@ interface IRoute {
72
72
  };
73
73
  }
74
74
 
75
- declare class MahalMap$1 {
75
+ declare class MahalMap {
76
76
  private static instance;
77
77
  private map;
78
78
  private options;
79
79
  private constructor();
80
80
  static create(options: IMahalMapOptions, maplibreObject?: {
81
81
  Map: typeof Map;
82
- } | typeof Map): MahalMap$1;
83
- static getInstance(): MahalMap$1;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
84
84
  getMap(): Map;
85
85
  setStyle(theme: "dark" | "light"): void;
86
86
  setCenter(center: [number, number]): void;
87
87
  setZoom(zoom: number): void;
88
88
  }
89
89
 
90
- declare namespace MahalMap {
91
- export { MahalMap$1 as MahalMap };
92
- }
93
-
94
90
  declare function saveKey(param: string): void;
95
91
  declare function clearKey(): void;
96
92
  declare const getApiKey: () => string;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x10912f=a0_0x2c76;(function(_0x62b54d,_0x207956){var _0x117ff9=a0_0x2c76,_0x784446=_0x62b54d();while(!![]){try{var _0x15d2a8=parseInt(_0x117ff9(0x1e1))/0x1+parseInt(_0x117ff9(0x210))/0x2+parseInt(_0x117ff9(0x237))/0x3+-parseInt(_0x117ff9(0x1d9))/0x4*(-parseInt(_0x117ff9(0x23b))/0x5)+parseInt(_0x117ff9(0x1f8))/0x6*(-parseInt(_0x117ff9(0x1e5))/0x7)+parseInt(_0x117ff9(0x1ce))/0x8*(-parseInt(_0x117ff9(0x21c))/0x9)+-parseInt(_0x117ff9(0x22a))/0xa;if(_0x15d2a8===_0x207956)break;else _0x784446['push'](_0x784446['shift']());}catch(_0x576441){_0x784446['push'](_0x784446['shift']());}}}(a0_0xe4aa,0xce4ea));var U=Object[a0_0x10912f(0x1e9)],f=Object[a0_0x10912f(0x1a3)],F=Object['getOwnPropertyDescriptor'],D=Object[a0_0x10912f(0x221)],O=Object[a0_0x10912f(0x1e2)],X=Object['prototype'][a0_0x10912f(0x1b5)],l=(_0x249981,_0x5574b3)=>{var _0x139ecc=a0_0x10912f,_0x200533={'eiPpN':function(_0x5dffcd,_0x32d0cc,_0x5db1c2,_0x400d31){return _0x5dffcd(_0x32d0cc,_0x5db1c2,_0x400d31);}};for(var _0x2143c3 in _0x5574b3)_0x200533[_0x139ecc(0x1bb)](f,_0x249981,_0x2143c3,{'get':_0x5574b3[_0x2143c3],'enumerable':!0x0});},P=(_0x41fa07,_0x4baf46,_0x2de185,_0xf6a625)=>{var _0x10e845=a0_0x10912f,_0x1571a4={'lOWbl':function(_0x2e9b61,_0x113e34){return _0x2e9b61==_0x113e34;},'WpZvh':_0x10e845(0x1d3),'XZxMl':function(_0x3587e2,_0x3fba3f){return _0x3587e2(_0x3fba3f);},'BDSqd':function(_0x10a5d1,_0x6c8cf9){return _0x10a5d1!==_0x6c8cf9;},'gNBRC':function(_0xcb2727,_0x3dc00b,_0x387cdd,_0x33fd22){return _0xcb2727(_0x3dc00b,_0x387cdd,_0x33fd22);},'AIljv':function(_0x1fec00,_0x309774,_0x54b35f){return _0x1fec00(_0x309774,_0x54b35f);}};if(_0x4baf46&&_0x1571a4[_0x10e845(0x1d8)](typeof _0x4baf46,_0x10e845(0x227))||_0x1571a4[_0x10e845(0x1d8)](typeof _0x4baf46,_0x1571a4[_0x10e845(0x1a8)])){for(let _0xc8d060 of _0x1571a4[_0x10e845(0x1bd)](D,_0x4baf46))!X['call'](_0x41fa07,_0xc8d060)&&_0x1571a4[_0x10e845(0x201)](_0xc8d060,_0x2de185)&&_0x1571a4[_0x10e845(0x1de)](f,_0x41fa07,_0xc8d060,{'get':()=>_0x4baf46[_0xc8d060],'enumerable':!(_0xf6a625=_0x1571a4[_0x10e845(0x1c6)](F,_0x4baf46,_0xc8d060))||_0xf6a625[_0x10e845(0x211)]});}return _0x41fa07;},z=(_0x16472f,_0x512ad0,_0x422bea)=>(_0x422bea=_0x16472f!=null?U(O(_0x16472f)):{},P(_0x512ad0||!_0x16472f||!_0x16472f[a0_0x10912f(0x1fe)]?f(_0x422bea,a0_0x10912f(0x235),{'value':_0x16472f,'enumerable':!0x0}):_0x422bea,_0x16472f)),B=_0x15e392=>P(f({},'__esModule',{'value':!0x0}),_0x15e392),H={};l(H,{'MahalMap':()=>I,'keyUtils':()=>b,'routerUtils':()=>w,'searchUtils':()=>A}),module['exports']=B(H);var I={};l(I,{'MahalMap':()=>d,'getrouter':()=>G,'routingApi':()=>M,'search':()=>C,'searchPost':()=>S});var T=a0_0x10912f(0x1be),E=a0_0x10912f(0x1cb),L=a0_0x10912f(0x212),R=a0_0x10912f(0x205);function k(_0x554b9b){var _0xdc0afc=a0_0x10912f,_0x2d1839={'nXbUh':function(_0x53ce9c,_0x16a01a){return _0x53ce9c<<_0x16a01a;},'rLGdb':function(_0x48898f,_0x159e62){return _0x48898f&_0x159e62;},'voHVL':function(_0xe9a5ac,_0x413927){return _0xe9a5ac>>_0x413927;},'mOzov':function(_0x5e6516,_0x1f4991){return _0x5e6516-_0x1f4991;},'MftRv':function(_0x566604,_0x32e1fd){return _0x566604<<_0x32e1fd;},'zuDsp':function(_0x130001,_0x2f591f){return _0x130001>=_0x2f591f;},'bLQkz':function(_0x4684ed,_0x7bd7cb){return _0x4684ed*_0x7bd7cb;}};let _0x12b919=[],_0x34f7f4=0x0,_0x52a7ba=_0x554b9b['length'],_0x3975ab=0x0,_0x4775c1=0x0;for(;_0x34f7f4<_0x52a7ba;){let _0x81e435,_0x4ab142=0x0,_0x3de90b=0x0;do _0x81e435=_0x554b9b[_0xdc0afc(0x1ed)](_0x34f7f4++)-0x3f,_0x3de90b|=_0x2d1839['nXbUh'](_0x2d1839[_0xdc0afc(0x223)](_0x81e435,0x1f),_0x4ab142),_0x4ab142+=0x5;while(_0x81e435>=0x20);let _0x322895=_0x3de90b&0x1?~_0x2d1839['voHVL'](_0x3de90b,0x1):_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1);_0x3975ab+=_0x322895,_0x4ab142=0x0,_0x3de90b=0x0;do _0x81e435=_0x2d1839[_0xdc0afc(0x23c)](_0x554b9b[_0xdc0afc(0x1ed)](_0x34f7f4++),0x3f),_0x3de90b|=_0x2d1839[_0xdc0afc(0x1db)](_0x81e435&0x1f,_0x4ab142),_0x4ab142+=0x5;while(_0x2d1839[_0xdc0afc(0x1b0)](_0x81e435,0x20));let _0x3452c6=_0x2d1839['rLGdb'](_0x3de90b,0x1)?~_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1):_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1);_0x4775c1+=_0x3452c6,_0x12b919[_0xdc0afc(0x1f9)]([_0x2d1839[_0xdc0afc(0x1ab)](_0x4775c1,0.00001),_0x2d1839[_0xdc0afc(0x1ab)](_0x3975ab,0.00001)]);}return _0x12b919;}function a0_0xe4aa(){var _0xa0df3d=['aSDOl','4602570VRxviB','Map','apikey','jFGTc','38065Zrqevx','mOzov','status','srgkj','return\x20(function()\x20','YxGOr','defineProperty','src','LeIZe','prototype','theme','WpZvh','voHVL','DquHG','bLQkz','TbjxL','length','request','jjrse','zuDsp','DmrqH','get','getInstance','qBgaZ','hasOwnProperty','mLPwo','table','pjZFP','qCuPk','exports','eiPpN','lJqKD','XZxMl','https://platform.mahal.tj/api/','fJGec','setCenter','YadVH','route','searchParams','fFmVb','trace','AIljv','data','MUBuH','container','LGFHi','https://mtile.gram.tj/custom-styles/dark-style.json','setStyle','OzfGH','2840WxZPLx','getElementsByTagName','{}.constructor(\x22return\x20this\x22)(\x20)','Mqcfw','rollV','function','style','SRxXQ','use','sYgBe','lOWbl','304lyAhmO','interceptors','MftRv','common','TkJCF','gNBRC','script','warn','229942RqasGM','getPrototypeOf','vnGAu','WrXIb','14PywxkA','toString','apply','routes','create','options','Bearer\x20','headers','charCodeAt','services/getAddress','ANvvo','GvQFb','center','sPrpi','nngfF','JYPIB','exception','frZnV','bind','1481340xsjRJe','push','zoom','FPywa','services/getRoutes','split','__esModule','arKQM','map','BDSqd','bLfAC','defaults','info','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','GWAwP','console','geojson','log','mahal_map.sdk.js','dNswN','OoiZs','geometry','Authorization','post','3005266cqBajW','enumerable','https://mtile.gram.tj/custom-styles/mapstyle.json','GlhJi','2|1|4|5|3|0','VZeXB','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','maplibregl','WQOJm','jwGJi','TJhHh','instance','11142qTUYay','error','forEach','AosDH','vybFc','getOwnPropertyNames','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','rLGdb','YXzYG','autoAddVectorSource','WjCAz','object','HnGiC','GAqen','20670490gBQRYZ','ciZlN','reject','zwdSG','WeJFs','light','__proto__','IYidN','setZoom','TCvMv','dark','default'];a0_0xe4aa=function(){return _0xa0df3d;};return a0_0xe4aa();}var h={'dark':E,'light':L},p=class p{constructor(){}static[a0_0x10912f(0x1e9)](_0x5730f2,_0x596e8c){var _0x283a3b=a0_0x10912f,_0x10eda6={'srgkj':function(_0xa1e048,_0x53ed34){return _0xa1e048===_0x53ed34;},'sYgBe':_0x283a3b(0x234),'BsQOC':_0x283a3b(0x200)};if(p[_0x283a3b(0x21b)])return p[_0x283a3b(0x21b)];let _0x2f407f=window[_0x283a3b(0x217)]||_0x596e8c;if(!_0x2f407f)throw new Error(_0x283a3b(0x216));let _0xcff1a7=_0x5730f2[_0x283a3b(0x225)]?R:_0x5730f2[_0x283a3b(0x1d4)]?_0x5730f2['style']:_0x10eda6[_0x283a3b(0x1a0)](_0x5730f2[_0x283a3b(0x1a7)],_0x10eda6[_0x283a3b(0x1d7)])?h[_0x283a3b(0x234)]:h[_0x283a3b(0x22f)],_0x225f17=new p();return _0x225f17[_0x283a3b(0x1ea)]=_0x5730f2,_0x225f17[_0x283a3b(0x200)]=new _0x2f407f[(_0x283a3b(0x238))]({'container':_0x5730f2[_0x283a3b(0x1c9)]||_0x10eda6['BsQOC'],'style':_0xcff1a7,'center':_0x5730f2[_0x283a3b(0x1f1)]||[69.624024,40.279687],'zoom':_0x5730f2[_0x283a3b(0x1fa)]||0x5}),p['instance']=_0x225f17,_0x225f17;}static[a0_0x10912f(0x1b3)](){var _0x1e9df4=a0_0x10912f,_0x2b5c24={'FPywa':_0x1e9df4(0x222)};if(!p[_0x1e9df4(0x21b)])throw new Error(_0x2b5c24[_0x1e9df4(0x1fb)]);return p[_0x1e9df4(0x21b)];}['getMap'](){var _0x409c3a=a0_0x10912f;return this[_0x409c3a(0x200)];}[a0_0x10912f(0x1cc)](_0x8b540f){var _0x1fc3bd=a0_0x10912f;this[_0x1fc3bd(0x200)][_0x1fc3bd(0x1cc)](_0x8b540f===_0x1fc3bd(0x234)?h[_0x1fc3bd(0x234)]:h[_0x1fc3bd(0x22f)]);}[a0_0x10912f(0x1c0)](_0x46e85f){var _0x15f0a6=a0_0x10912f;this[_0x15f0a6(0x200)][_0x15f0a6(0x1c0)](_0x46e85f);}[a0_0x10912f(0x232)](_0x37e60a){var _0x1c0e28=a0_0x10912f;this[_0x1c0e28(0x200)][_0x1c0e28(0x232)](_0x37e60a);}};function a0_0x2c76(_0x445631,_0x24eb48){var _0x4b406e=a0_0xe4aa();return a0_0x2c76=function(_0xeb54fc,_0x3556c4){_0xeb54fc=_0xeb54fc-0x1a0;var _0x432a3d=_0x4b406e[_0xeb54fc];return _0x432a3d;},a0_0x2c76(_0x445631,_0x24eb48);}p[a0_0x10912f(0x21b)]=null;var d=p,K=z(require('axios')),c=K[a0_0x10912f(0x235)][a0_0x10912f(0x1e9)]({'baseURL':T});c[a0_0x10912f(0x1da)][a0_0x10912f(0x1ae)][a0_0x10912f(0x1d6)](_0x130084=>_0x130084,_0x463460=>(_0x463460['request']?.[a0_0x10912f(0x23d)]===0x191&&y(),Promise[a0_0x10912f(0x22c)](_0x463460)));var b={};l(b,{'clearKey':()=>y,'getApiKey':()=>u,'saveKey':()=>x});var g='';function x(_0x42f61f){var _0x1cb5ff=a0_0x10912f;_0x42f61f!==''&&(g=_0x42f61f,c[_0x1cb5ff(0x203)]['headers'][_0x1cb5ff(0x1dc)][_0x1cb5ff(0x20e)]=_0x1cb5ff(0x1eb)+_0x42f61f);}function y(){var _0x4332de=a0_0x10912f,_0x5ec294={'Drksk':function(_0x2a6e01,_0x1647fb){return _0x2a6e01===_0x1647fb;},'MUBuH':'Iyvhq','fJGec':_0x4332de(0x226),'Mqcfw':function(_0x2398d8,_0x215662){return _0x2398d8(_0x215662);},'GAqen':_0x4332de(0x1a1),'IcEEL':_0x4332de(0x1d0),'LGFHi':function(_0x520a70,_0x2293c8){return _0x520a70+_0x2293c8;},'TkJCF':function(_0x56f4b1,_0x2c6fbf){return _0x56f4b1+_0x2c6fbf;},'mLPwo':'frZnV','JqDpm':function(_0x139cf3){return _0x139cf3();},'IYidN':_0x4332de(0x209),'WQOJm':_0x4332de(0x1e0),'AosDH':_0x4332de(0x204),'qBgaZ':'error','UprqT':_0x4332de(0x1f5),'DquHG':_0x4332de(0x1b7),'vybFc':_0x4332de(0x1c5),'GfYat':function(_0x3dda2b,_0x28d918){return _0x3dda2b<_0x28d918;},'TJhHh':_0x4332de(0x214),'VZeXB':function(_0x53a716,_0xdfd6fb,_0x38b667){return _0x53a716(_0xdfd6fb,_0x38b667);}},_0x45661c=(function(){var _0x5abde9=!![];return function(_0x52ce27,_0x2e3266){var _0x5ef4f1=_0x5abde9?function(){var _0x41d679=a0_0x2c76;if(_0x2e3266){var _0x546e0e=_0x2e3266[_0x41d679(0x1e7)](_0x52ce27,arguments);return _0x2e3266=null,_0x546e0e;}}:function(){};return _0x5abde9=![],_0x5ef4f1;};}()),_0x56e674=_0x5ec294[_0x4332de(0x215)](_0x45661c,this,function(){var _0x546282=_0x4332de,_0x1823ef={'gtUOS':function(_0x5b18ec,_0x546b8d){return _0x5b18ec(_0x546b8d);},'fFmVb':function(_0x56305d,_0x2382e7){var _0x200ab2=a0_0x2c76;return _0x5ec294[_0x200ab2(0x1ca)](_0x56305d,_0x2382e7);},'WeJFs':function(_0x16c1e4,_0x41029b){var _0xbb1971=a0_0x2c76;return _0x5ec294[_0xbb1971(0x1dd)](_0x16c1e4,_0x41029b);},'dNswN':_0x5ec294[_0x546282(0x229)],'jwGJi':_0x5ec294['IcEEL']};if(_0x5ec294['Drksk'](_0x5ec294[_0x546282(0x1b6)],_0x546282(0x1f6))){var _0x38851f=function(){var _0x5bf07=_0x546282;if(_0x5ec294['Drksk'](_0x5ec294[_0x5bf07(0x1c8)],_0x5ec294[_0x5bf07(0x1bf)]))_0x2c861e=rfsUEw['gtUOS'](_0x3ca02e,rfsUEw[_0x5bf07(0x1c4)](rfsUEw[_0x5bf07(0x22e)](rfsUEw[_0x5bf07(0x20b)],rfsUEw[_0x5bf07(0x219)]),');'))();else{var _0x3fd3fc;try{_0x3fd3fc=_0x5ec294[_0x5bf07(0x1d1)](Function,_0x5ec294[_0x5bf07(0x229)]+_0x5ec294['IcEEL']+');')();}catch(_0x42e588){_0x3fd3fc=window;}return _0x3fd3fc;}},_0x5204f6=_0x5ec294['JqDpm'](_0x38851f),_0x1a3937=_0x5204f6[_0x546282(0x207)]=_0x5204f6['console']||{},_0x80ffe3=[_0x5ec294[_0x546282(0x231)],_0x5ec294[_0x546282(0x218)],_0x5ec294[_0x546282(0x21f)],_0x5ec294[_0x546282(0x1b4)],_0x5ec294['UprqT'],_0x5ec294[_0x546282(0x1aa)],_0x5ec294[_0x546282(0x220)]];for(var _0x585d9e=0x0;_0x5ec294['GfYat'](_0x585d9e,_0x80ffe3[_0x546282(0x1ad)]);_0x585d9e++){var _0x55315e=_0x5ec294[_0x546282(0x21a)][_0x546282(0x1fd)]('|'),_0x531bb6=0x0;while(!![]){switch(_0x55315e[_0x531bb6++]){case'0':_0x1a3937[_0x51bf9d]=_0x4c23ec;continue;case'1':var _0x51bf9d=_0x80ffe3[_0x585d9e];continue;case'2':var _0x4c23ec=_0x45661c['constructor'][_0x546282(0x1a6)][_0x546282(0x1f7)](_0x45661c);continue;case'3':_0x4c23ec[_0x546282(0x1e6)]=_0x53cdbe['toString']['bind'](_0x53cdbe);continue;case'4':var _0x53cdbe=_0x1a3937[_0x51bf9d]||_0x4c23ec;continue;case'5':_0x4c23ec[_0x546282(0x230)]=_0x45661c[_0x546282(0x1f7)](_0x45661c);continue;}break;}}}else throw _0x1fb62e[_0x546282(0x21d)](_0x177088),_0x52348f;});_0x56e674(),(g='',c[_0x4332de(0x203)]['headers'][_0x4332de(0x1dc)]['Authorization']='');}var u=()=>g;function j(_0x54c81a,_0x42a042){var _0x26f721={'jjrse':function(_0x33abf4,..._0x140f14){return _0x33abf4(..._0x140f14);},'OzfGH':function(_0x3d1163,_0x1abec5,_0x2e9534){return _0x3d1163(_0x1abec5,_0x2e9534);}};let _0x2223e7;return(..._0x28d544)=>(_0x2223e7&&clearTimeout(_0x2223e7),new Promise(_0x4873be=>{var _0x22c6f2=a0_0x2c76;_0x2223e7=_0x26f721[_0x22c6f2(0x1cd)](setTimeout,async()=>{var _0x22909f=_0x22c6f2,_0xca7c9f=await _0x26f721['jjrse'](_0x54c81a,..._0x28d544);_0x26f721[_0x22909f(0x1af)](_0x4873be,_0xca7c9f);},_0x42a042);}));}var M=async(_0x371588,_0x210209)=>{var _0x310b75=a0_0x10912f,_0x27a2ae={'TbjxL':function(_0x3ede35,_0x38bc4e){return _0x3ede35!==_0x38bc4e;},'grmRt':function(_0x5c0c7c,_0x2e4490){return _0x5c0c7c===_0x2e4490;},'WrXIb':'AAiEq'};try{if(_0x27a2ae['grmRt'](_0x27a2ae[_0x310b75(0x1e4)],_0x27a2ae[_0x310b75(0x1e4)])){let _0x4c2582=[];return _0x371588[_0x310b75(0x21e)](_0x199255=>{_0x4c2582['push']({'lng':_0x199255[0x0],'lat':_0x199255[0x1]});}),(await c['post'](_0x310b75(0x1fc),{'points':_0x4c2582,'token':_0x210209||u()}))[_0x310b75(0x1c7)];}else _0x27a2ae[_0x310b75(0x1ac)](_0x2a1378,'')&&(_0x64719f=_0x1be522,_0x59a2d1[_0x310b75(0x203)][_0x310b75(0x1ec)]['common']['Authorization']=_0x310b75(0x1eb)+_0x394b7c);}catch(_0x1f9159){throw console[_0x310b75(0x21d)](_0x1f9159),_0x1f9159;}},w={};l(w,{'getrouter':()=>G});async function G(_0x346f7a,_0x21b5ba,_0x48113e){var _0x1f2ced=a0_0x10912f,_0x4c0c5c={'bLfAC':function(_0x47a9bf,_0x1e52c0){return _0x47a9bf!==_0x1e52c0;},'vnGAu':_0x1f2ced(0x1b1),'zwdSG':function(_0x12d56b,_0x12e98d,_0x97a7e1){return _0x12d56b(_0x12e98d,_0x97a7e1);}};try{if(_0x4c0c5c[_0x1f2ced(0x202)](_0x1f2ced(0x228),_0x4c0c5c[_0x1f2ced(0x1e3)])){let _0x51a84f=await _0x4c0c5c[_0x1f2ced(0x22d)](M,_0x346f7a,_0x48113e);return _0x51a84f?.[_0x1f2ced(0x1c7)]?_0x51a84f[_0x1f2ced(0x1c7)]['map'](_0x2510fc=>{var _0xba8b03=_0x1f2ced;let _0x36b3ac={..._0x2510fc};return _0x36b3ac[_0xba8b03(0x1c2)]?.['routes']?.[_0xba8b03(0x1ad)]&&(_0x36b3ac[_0xba8b03(0x1c2)][_0xba8b03(0x1e8)]=_0x36b3ac[_0xba8b03(0x1c2)]['routes'][_0xba8b03(0x200)](_0x336af9=>({..._0x336af9,'geometry':_0x21b5ba===_0xba8b03(0x208)&&typeof _0x336af9[_0xba8b03(0x20d)]=='string'?k(_0x336af9[_0xba8b03(0x20d)]):_0x336af9[_0xba8b03(0x20d)]}))),_0x36b3ac;}):_0x51a84f;}else throw _0x284a82;}catch(_0x5d9714){throw _0x5d9714;}}var S=async _0x567005=>{var _0x3daaf4=a0_0x10912f,_0xfd9fa1={'sPrpi':function(_0x31ea6c,_0x58e6e9){return _0x31ea6c<_0x58e6e9;},'qCuPk':function(_0x2aca92,_0x112403){return _0x2aca92-_0x112403;},'OoiZs':function(_0x3a3fc3,_0x2ac47d){return _0x3a3fc3&_0x2ac47d;},'ciZlN':function(_0x364173,_0x376919){return _0x364173>=_0x376919;},'SRxXQ':function(_0x5a4df9,_0x7aca6d){return _0x5a4df9>>_0x7aca6d;},'JYPIB':function(_0x555477,_0x570d6e){return _0x555477>>_0x570d6e;},'aSDOl':function(_0x3f70f9,_0x1c375c){return _0x3f70f9<<_0x1c375c;},'GlhJi':function(_0x1675e3,_0x130925){return _0x1675e3>=_0x130925;},'pjZFP':function(_0x29a427,_0x3a5c9b){return _0x29a427>>_0x3a5c9b;},'arKQM':function(_0xfcab82,_0x18357d){return _0xfcab82>>_0x18357d;},'GWAwP':function(_0x1eefd0,_0x41255f){return _0x1eefd0*_0x41255f;},'mplKc':_0x3daaf4(0x239),'TCvMv':_0x3daaf4(0x1f3),'LeIZe':_0x3daaf4(0x1ee),'YadVH':function(_0x227df9,_0x5134db){return _0x227df9!==_0x5134db;},'lJqKD':'rlFEz','YxGOr':'ILrUB','GvQFb':'Ошибка\x20при\x20поиске\x20адреса:'};try{if(_0x3daaf4(0x1f3)===_0xfd9fa1[_0x3daaf4(0x233)])return(await c[_0x3daaf4(0x20f)](_0xfd9fa1[_0x3daaf4(0x1a5)],_0x567005))[_0x3daaf4(0x1c7)];else{let _0x121d34=[],_0x21c949=0x0,_0x4679f5=_0x25789f[_0x3daaf4(0x1ad)],_0x3c1ca8=0x0,_0x3a1c2a=0x0;for(;_0xfd9fa1[_0x3daaf4(0x1f2)](_0x21c949,_0x4679f5);){let _0x5c09ba,_0x2302e6=0x0,_0x4e5c12=0x0;do _0x5c09ba=_0xfd9fa1['qCuPk'](_0x5c9d49['charCodeAt'](_0x21c949++),0x3f),_0x4e5c12|=_0xfd9fa1['OoiZs'](_0x5c09ba,0x1f)<<_0x2302e6,_0x2302e6+=0x5;while(_0xfd9fa1[_0x3daaf4(0x22b)](_0x5c09ba,0x20));let _0x180240=_0x4e5c12&0x1?~_0xfd9fa1[_0x3daaf4(0x1d5)](_0x4e5c12,0x1):_0xfd9fa1[_0x3daaf4(0x1f4)](_0x4e5c12,0x1);_0x3c1ca8+=_0x180240,_0x2302e6=0x0,_0x4e5c12=0x0;do _0x5c09ba=_0xfd9fa1[_0x3daaf4(0x1b9)](_0x3efc21[_0x3daaf4(0x1ed)](_0x21c949++),0x3f),_0x4e5c12|=_0xfd9fa1[_0x3daaf4(0x236)](_0xfd9fa1[_0x3daaf4(0x20c)](_0x5c09ba,0x1f),_0x2302e6),_0x2302e6+=0x5;while(_0xfd9fa1[_0x3daaf4(0x213)](_0x5c09ba,0x20));let _0x3ef49c=_0xfd9fa1[_0x3daaf4(0x20c)](_0x4e5c12,0x1)?~_0xfd9fa1[_0x3daaf4(0x1b8)](_0x4e5c12,0x1):_0xfd9fa1[_0x3daaf4(0x1ff)](_0x4e5c12,0x1);_0x3a1c2a+=_0x3ef49c,_0x121d34[_0x3daaf4(0x1f9)]([_0xfd9fa1[_0x3daaf4(0x206)](_0x3a1c2a,0.00001),_0xfd9fa1[_0x3daaf4(0x206)](_0x3c1ca8,0.00001)]);}return _0x121d34;}}catch(_0x1f826c){if(_0xfd9fa1[_0x3daaf4(0x1c1)](_0xfd9fa1[_0x3daaf4(0x1bc)],_0xfd9fa1[_0x3daaf4(0x1a2)]))throw console[_0x3daaf4(0x21d)](_0xfd9fa1[_0x3daaf4(0x1f0)],_0x1f826c),_0x1f826c;else{let _0x433ad2=new _0x265bf5(_0x37ab0e[_0x3daaf4(0x1a4)])[_0x3daaf4(0x1c3)][_0x3daaf4(0x1b2)](_0xfd9fa1['mplKc']);if(_0x433ad2)return _0x433ad2;}}},A={};l(A,{'search':()=>C});async function $(_0x4f6428,_0x1d3422,_0x468e20){var _0x5acd69=a0_0x10912f,_0x145bdc={'YVbJQ':function(_0x1a2937){return _0x1a2937();},'MhUMJ':_0x5acd69(0x1ef)};let _0x832dba={'text':_0x4f6428,'token':_0x1d3422||_0x145bdc['YVbJQ'](u),..._0x468e20};try{return await S(_0x832dba);}catch(_0x2a6270){if(_0x5acd69(0x1ef)===_0x145bdc['MhUMJ'])throw _0x2a6270;else _0x22cfde=_0x3baf35;}}var V=j($,0x1f4);async function C(_0x1c46da,_0x1348bd,_0x976eea){var _0x539c5b=a0_0x10912f,_0x2a4947={'jFGTc':function(_0x4f9b6f,_0x42fc78,_0x53f50f,_0x5c3c56){return _0x4f9b6f(_0x42fc78,_0x53f50f,_0x5c3c56);}};return await _0x2a4947[_0x539c5b(0x23a)](V,_0x1c46da,_0x1348bd,_0x976eea);}function q(){var _0x3b91c8=a0_0x10912f,_0x6c77b1={'YXzYG':_0x3b91c8(0x1df),'rollV':_0x3b91c8(0x239)};let _0x34fe14=document[_0x3b91c8(0x1cf)](_0x6c77b1[_0x3b91c8(0x224)]);for(let _0x430b0b of _0x34fe14)if(_0x430b0b['src']['includes'](_0x3b91c8(0x20a))){let _0x46661f=new URL(_0x430b0b['src'])[_0x3b91c8(0x1c3)][_0x3b91c8(0x1b2)](_0x6c77b1[_0x3b91c8(0x1d2)]);if(_0x46661f)return _0x46661f;}return'';}x(q()),0x0&&(module[a0_0x10912f(0x1ba)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ 'use strict';var a0_0x1e0992=a0_0x3492;(function(_0x34318e,_0x4c3430){var _0x32c13a=a0_0x3492,_0x2adc14=_0x34318e();while(!![]){try{var _0x4d7c1b=-parseInt(_0x32c13a(0x18b))/0x1+parseInt(_0x32c13a(0x180))/0x2+parseInt(_0x32c13a(0x154))/0x3*(-parseInt(_0x32c13a(0x151))/0x4)+parseInt(_0x32c13a(0x18f))/0x5*(-parseInt(_0x32c13a(0x19a))/0x6)+-parseInt(_0x32c13a(0x14e))/0x7+-parseInt(_0x32c13a(0x195))/0x8+parseInt(_0x32c13a(0x14a))/0x9;if(_0x4d7c1b===_0x4c3430)break;else _0x2adc14['push'](_0x2adc14['shift']());}catch(_0x1d1049){_0x2adc14['push'](_0x2adc14['shift']());}}}(a0_0xf2fe,0xe8c4c));var C=Object[a0_0x1e0992(0x12f)],u=Object['defineProperty'],v=Object['getOwnPropertyDescriptor'],N=Object[a0_0x1e0992(0x161)],U=Object[a0_0x1e0992(0x16d)],F=Object[a0_0x1e0992(0x16f)][a0_0x1e0992(0x132)],f=(_0x4044bb,_0x6bfe17)=>{var _0x235029=a0_0x1e0992,_0x549134={'tJwJB':function(_0x34c7aa,_0x4c903b,_0xc4d79e,_0x53b5cf){return _0x34c7aa(_0x4c903b,_0xc4d79e,_0x53b5cf);}};for(var _0x59a9f4 in _0x6bfe17)_0x549134[_0x235029(0x18e)](u,_0x4044bb,_0x59a9f4,{'get':_0x6bfe17[_0x59a9f4],'enumerable':!0x0});},S=(_0x10446b,_0x26c117,_0x365324,_0xb95914)=>{var _0x533364=a0_0x1e0992,_0x304020={'kTRrl':function(_0x13f3f8,_0x44f205){return _0x13f3f8==_0x44f205;},'ZmfOr':function(_0x451a45,_0x1f5aa9){return _0x451a45==_0x1f5aa9;},'apWmQ':function(_0x475026,_0x345afb){return _0x475026(_0x345afb);},'WTHXU':function(_0x24c0dc,_0x2bd35e){return _0x24c0dc!==_0x2bd35e;},'TBDGA':function(_0x2dc614,_0x46fe56,_0x19955f){return _0x2dc614(_0x46fe56,_0x19955f);}};if(_0x26c117&&_0x304020[_0x533364(0x185)](typeof _0x26c117,_0x533364(0x16b))||_0x304020[_0x533364(0x148)](typeof _0x26c117,_0x533364(0x179))){for(let _0x1eedb2 of _0x304020[_0x533364(0x12e)](N,_0x26c117))!F['call'](_0x10446b,_0x1eedb2)&&_0x304020[_0x533364(0x190)](_0x1eedb2,_0x365324)&&u(_0x10446b,_0x1eedb2,{'get':()=>_0x26c117[_0x1eedb2],'enumerable':!(_0xb95914=_0x304020[_0x533364(0x138)](v,_0x26c117,_0x1eedb2))||_0xb95914[_0x533364(0x17c)]});}return _0x10446b;},D=(_0x4a8d3c,_0x277a4d,_0x388cbd)=>(_0x388cbd=_0x4a8d3c!=null?C(U(_0x4a8d3c)):{},S(_0x277a4d||!_0x4a8d3c||!_0x4a8d3c['__esModule']?u(_0x388cbd,a0_0x1e0992(0x1a0),{'value':_0x4a8d3c,'enumerable':!0x0}):_0x388cbd,_0x4a8d3c)),O=_0x56ea46=>S(u({},a0_0x1e0992(0x18d),{'value':!0x0}),_0x56ea46),q={};f(q,{'MahalMap':()=>d,'keyUtils':()=>b,'routerUtils':()=>M,'searchUtils':()=>w}),module[a0_0x1e0992(0x19b)]=O(q);var A=a0_0x1e0992(0x13e),I=a0_0x1e0992(0x12b),P=a0_0x1e0992(0x13c),T='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function E(_0x1468e4){var _0x116520=a0_0x1e0992,_0x21e0c4={'BXGZa':function(_0x137937,_0x180539){return _0x137937<_0x180539;},'vjWNq':function(_0x31aeb8,_0x3986f){return _0x31aeb8>=_0x3986f;},'rmrna':function(_0x50105e,_0x362d83){return _0x50105e&_0x362d83;},'mFcUB':function(_0x3d47dc,_0x189a73){return _0x3d47dc>>_0x189a73;},'mfzPb':function(_0x32b907,_0x4701ac){return _0x32b907>>_0x4701ac;},'ZiSlf':function(_0x29118e,_0x62b96d){return _0x29118e-_0x62b96d;},'FKcdv':function(_0x471738,_0x29831a){return _0x471738<<_0x29831a;},'sZIeT':function(_0x1876ab,_0x5e8f32){return _0x1876ab>>_0x5e8f32;},'lGvFL':function(_0x11f966,_0x19e911){return _0x11f966>>_0x19e911;},'yFCwR':function(_0x1f238c,_0x481761){return _0x1f238c*_0x481761;},'cmfpi':function(_0x501e87,_0x279fbb){return _0x501e87*_0x279fbb;}};let _0x3ea8dd=[],_0x36cdb6=0x0,_0x39d9fd=_0x1468e4[_0x116520(0x19c)],_0x390aa1=0x0,_0xd2fc81=0x0;for(;_0x21e0c4['BXGZa'](_0x36cdb6,_0x39d9fd);){let _0x264726,_0x4a2ed6=0x0,_0xe885cd=0x0;do _0x264726=_0x1468e4[_0x116520(0x197)](_0x36cdb6++)-0x3f,_0xe885cd|=(_0x264726&0x1f)<<_0x4a2ed6,_0x4a2ed6+=0x5;while(_0x21e0c4[_0x116520(0x134)](_0x264726,0x20));let _0xdc8b4c=_0x21e0c4[_0x116520(0x147)](_0xe885cd,0x1)?~_0x21e0c4[_0x116520(0x184)](_0xe885cd,0x1):_0x21e0c4[_0x116520(0x199)](_0xe885cd,0x1);_0x390aa1+=_0xdc8b4c,_0x4a2ed6=0x0,_0xe885cd=0x0;do _0x264726=_0x21e0c4[_0x116520(0x12d)](_0x1468e4[_0x116520(0x197)](_0x36cdb6++),0x3f),_0xe885cd|=_0x21e0c4[_0x116520(0x14c)](_0x264726&0x1f,_0x4a2ed6),_0x4a2ed6+=0x5;while(_0x264726>=0x20);let _0x43bfbe=_0x21e0c4[_0x116520(0x147)](_0xe885cd,0x1)?~_0x21e0c4[_0x116520(0x128)](_0xe885cd,0x1):_0x21e0c4[_0x116520(0x150)](_0xe885cd,0x1);_0xd2fc81+=_0x43bfbe,_0x3ea8dd['push']([_0x21e0c4[_0x116520(0x129)](_0xd2fc81,0.00001),_0x21e0c4[_0x116520(0x178)](_0x390aa1,0.00001)]);}return _0x3ea8dd;}var h={'dark':I,'light':P},p=class p{constructor(){}static['create'](_0x4a1343,_0x2a4dfa){var _0x2765ab=a0_0x1e0992,_0x5ad84c={'HFGuS':_0x2765ab(0x189),'DuBZv':function(_0x1dc32c,_0x1fc64f){return _0x1dc32c===_0x1fc64f;},'ayEwc':_0x2765ab(0x131),'Osvof':'map'};if(p[_0x2765ab(0x1a2)])return p['instance'];let _0x964c96=window[_0x2765ab(0x175)]||_0x2a4dfa;if(!_0x964c96)throw new Error(_0x5ad84c[_0x2765ab(0x183)]);let _0x361b30=_0x4a1343['autoAddVectorSource']?T:_0x4a1343[_0x2765ab(0x19f)]?_0x4a1343[_0x2765ab(0x19f)]:_0x5ad84c[_0x2765ab(0x163)](_0x4a1343[_0x2765ab(0x15c)],_0x5ad84c[_0x2765ab(0x17f)])?h['dark']:h[_0x2765ab(0x155)],_0x3af409=new p();return _0x3af409[_0x2765ab(0x156)]=_0x4a1343,_0x3af409[_0x2765ab(0x19d)]=new _0x964c96[(_0x2765ab(0x17a))]({'container':_0x4a1343[_0x2765ab(0x136)]||_0x5ad84c['Osvof'],'style':_0x361b30,'center':_0x4a1343[_0x2765ab(0x162)]||[69.624024,40.279687],'zoom':_0x4a1343[_0x2765ab(0x17d)]||0x5}),p['instance']=_0x3af409,_0x3af409;}static['getInstance'](){var _0x54b74d=a0_0x1e0992,_0x26d545={'DMfLn':'[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана'};if(!p[_0x54b74d(0x1a2)])throw new Error(_0x26d545['DMfLn']);return p[_0x54b74d(0x1a2)];}[a0_0x1e0992(0x133)](){var _0x4805d4=a0_0x1e0992;return this[_0x4805d4(0x19d)];}[a0_0x1e0992(0x13d)](_0x1f3e6c){var _0x18362d=a0_0x1e0992,_0x44fa7d={'TPKkY':function(_0x4910be,_0xf5274a){return _0x4910be===_0xf5274a;}};this[_0x18362d(0x19d)][_0x18362d(0x13d)](_0x44fa7d[_0x18362d(0x140)](_0x1f3e6c,_0x18362d(0x131))?h[_0x18362d(0x131)]:h[_0x18362d(0x155)]);}[a0_0x1e0992(0x173)](_0x35407d){var _0x17ae3b=a0_0x1e0992;this[_0x17ae3b(0x19d)][_0x17ae3b(0x173)](_0x35407d);}['setZoom'](_0x5af4b9){var _0x48c43f=a0_0x1e0992;this[_0x48c43f(0x19d)]['setZoom'](_0x5af4b9);}};p['instance']=null;var d=p,L=D(require('axios')),c=L[a0_0x1e0992(0x1a0)]['create']({'baseURL':A});c[a0_0x1e0992(0x17e)][a0_0x1e0992(0x19e)][a0_0x1e0992(0x142)](_0x5b4730=>_0x5b4730,_0x387612=>(_0x387612['request']?.[a0_0x1e0992(0x141)]===0x191&&y(),Promise[a0_0x1e0992(0x17b)](_0x387612)));var b={};f(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x8335cf){var _0x58ce44=a0_0x1e0992,_0xdac011={'crJEw':function(_0x49ee21,_0x18c3e6){return _0x49ee21!==_0x18c3e6;}};_0xdac011['crJEw'](_0x8335cf,'')&&(g=_0x8335cf,c['defaults'][_0x58ce44(0x127)][_0x58ce44(0x16a)][_0x58ce44(0x165)]='Bearer\x20'+_0x8335cf);}function y(){var _0x3d5dcf=a0_0x1e0992,_0x1cbed6={'nDYDU':function(_0x8907e2,_0x20fab6){return _0x8907e2-_0x20fab6;},'nHBHM':function(_0x5e4077,_0x45666e){return _0x5e4077<<_0x45666e;},'qnCBy':function(_0x126528,_0x2f45ab){return _0x126528&_0x2f45ab;},'rHMWG':function(_0x2c5ab5,_0x31b6e0){return _0x2c5ab5>=_0x31b6e0;},'KrWSJ':function(_0x281723,_0x4b55f0){return _0x281723>>_0x4b55f0;},'uhMNG':function(_0x44f420,_0x461000){return _0x44f420<<_0x461000;},'dBizb':function(_0x3123f0,_0x4fd167){return _0x3123f0*_0x4fd167;},'xQaxV':_0x3d5dcf(0x153),'CwtfU':_0x3d5dcf(0x164),'mMxYY':'warn','VuAeB':_0x3d5dcf(0x182),'FRarZ':'error','vRDqz':_0x3d5dcf(0x169),'VDguQ':_0x3d5dcf(0x130),'YlDsa':_0x3d5dcf(0x15b),'OSLNX':function(_0x1d5657,_0x56a115){return _0x1d5657(_0x56a115);},'ZjzMc':'return\x20(function()\x20','MGoKZ':function(_0x424b54){return _0x424b54();},'wiXEu':function(_0x3a2372,_0x5ab835){return _0x3a2372<_0x5ab835;},'IRdIZ':function(_0xf9150c,_0x15bc16,_0x2e979b){return _0xf9150c(_0x15bc16,_0x2e979b);}},_0x35347d=(function(){var _0x1f8f17=!![];return function(_0x2a8773,_0x381159){var _0x204bf4=_0x1f8f17?function(){var _0x203140=a0_0x3492;if(_0x381159){var _0x170444=_0x381159[_0x203140(0x168)](_0x2a8773,arguments);return _0x381159=null,_0x170444;}}:function(){};return _0x1f8f17=![],_0x204bf4;};}()),_0x52f2a8=_0x1cbed6[_0x3d5dcf(0x15e)](_0x35347d,this,function(){var _0x3dc6d4=_0x3d5dcf;if(_0x1cbed6[_0x3dc6d4(0x13a)]!==_0x1cbed6[_0x3dc6d4(0x135)]){var _0x54dc9f=_0x3dc6d4(0x158)[_0x3dc6d4(0x15d)]('|'),_0x2af2c9=0x0;while(!![]){switch(_0x54dc9f[_0x2af2c9++]){case'0':var _0x30b2f9=['log',_0x1cbed6[_0x3dc6d4(0x171)],_0x1cbed6[_0x3dc6d4(0x139)],_0x1cbed6['FRarZ'],_0x1cbed6['vRDqz'],_0x1cbed6[_0x3dc6d4(0x12a)],_0x1cbed6['YlDsa']];continue;case'1':try{var _0x3fde11=_0x1cbed6['OSLNX'](Function,_0x1cbed6['ZjzMc']+_0x3dc6d4(0x16e)+');');_0x5ac695=_0x1cbed6[_0x3dc6d4(0x170)](_0x3fde11);}catch(_0x43f24b){_0x5ac695=window;}continue;case'2':for(var _0x5c628c=0x0;_0x1cbed6[_0x3dc6d4(0x167)](_0x5c628c,_0x30b2f9[_0x3dc6d4(0x19c)]);_0x5c628c++){var _0x1ff4a8=_0x35347d[_0x3dc6d4(0x166)][_0x3dc6d4(0x16f)][_0x3dc6d4(0x18c)](_0x35347d),_0x3c69ad=_0x30b2f9[_0x5c628c],_0xee665c=_0x589123[_0x3c69ad]||_0x1ff4a8;_0x1ff4a8[_0x3dc6d4(0x14f)]=_0x35347d[_0x3dc6d4(0x18c)](_0x35347d),_0x1ff4a8[_0x3dc6d4(0x16c)]=_0xee665c[_0x3dc6d4(0x16c)][_0x3dc6d4(0x18c)](_0xee665c),_0x589123[_0x3c69ad]=_0x1ff4a8;}continue;case'3':var _0x589123=_0x5ac695[_0x3dc6d4(0x172)]=_0x5ac695[_0x3dc6d4(0x172)]||{};continue;case'4':var _0x5ac695;continue;}break;}}else{var _0x404252,_0x1aed4f=0x0,_0x11061f=0x0;do _0x404252=_0x1cbed6[_0x3dc6d4(0x149)](_0x5e39a1[_0x3dc6d4(0x197)](_0x3233b7++),0x3f),_0x11061f|=_0x1cbed6[_0x3dc6d4(0x144)](_0x1cbed6[_0x3dc6d4(0x176)](_0x404252,0x1f),_0x1aed4f),_0x1aed4f+=0x5;while(_0x1cbed6[_0x3dc6d4(0x15a)](_0x404252,0x20));var _0x4c09fa=_0x1cbed6[_0x3dc6d4(0x176)](_0x11061f,0x1)?~(_0x11061f>>0x1):_0x1cbed6[_0x3dc6d4(0x192)](_0x11061f,0x1);_0x15e9bd+=_0x4c09fa,_0x1aed4f=0x0,_0x11061f=0x0;do _0x404252=_0x51b4ad[_0x3dc6d4(0x197)](_0x54aee1++)-0x3f,_0x11061f|=_0x1cbed6[_0x3dc6d4(0x193)](_0x1cbed6[_0x3dc6d4(0x176)](_0x404252,0x1f),_0x1aed4f),_0x1aed4f+=0x5;while(_0x1cbed6[_0x3dc6d4(0x15a)](_0x404252,0x20));var _0x56c523=_0x1cbed6['qnCBy'](_0x11061f,0x1)?~_0x1cbed6[_0x3dc6d4(0x192)](_0x11061f,0x1):_0x1cbed6['KrWSJ'](_0x11061f,0x1);_0x5c8105+=_0x56c523,_0x3bd18d[_0x3dc6d4(0x146)]([_0x1cbed6[_0x3dc6d4(0x174)](_0x37fcd2,0.00001),_0x1cbed6[_0x3dc6d4(0x174)](_0x121794,0.00001)]);}});_0x1cbed6[_0x3d5dcf(0x170)](_0x52f2a8),(g='',c[_0x3d5dcf(0x1a1)][_0x3d5dcf(0x127)][_0x3d5dcf(0x16a)][_0x3d5dcf(0x165)]='');}function a0_0xf2fe(){var _0x56fb8d=['Authorization','constructor','wiXEu','apply','exception','common','object','toString','getPrototypeOf','{}.constructor(\x22return\x20this\x22)(\x20)','prototype','MGoKZ','mMxYY','console','setCenter','dBizb','maplibregl','qnCBy','Sujbi','cmfpi','function','Map','reject','enumerable','zoom','interceptors','ayEwc','1474616pxusSs','YazQr','info','HFGuS','mFcUB','kTRrl','src','getElementsByTagName','post','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','zSBTq','1300106agPDoq','bind','__esModule','tJwJB','5gfBjHm','WTHXU','geojson','KrWSJ','uhMNG','vbviu','10463448RNrPUI','get','charCodeAt','sHvOX','mfzPb','814146wVXmFC','exports','length','map','request','style','default','defaults','instance','string','headers','sZIeT','yFCwR','VDguQ','https://mtile.gram.tj/custom-styles/dark-style.json','mahal_map.sdk.js','ZiSlf','apWmQ','create','table','dark','hasOwnProperty','getMap','vjWNq','CwtfU','container','pmkEm','TBDGA','VuAeB','xQaxV','data','https://mtile.gram.tj/custom-styles/mapstyle.json','setStyle','https://platform.mahal.tj/api/','routes','TPKkY','status','use','qVwIe','nHBHM','script','push','rmrna','ZmfOr','nDYDU','54113661UoEqDM','route','FKcdv','GUYyh','9694580WnNhRC','__proto__','lGvFL','6671396ZxVQaw','geometry','wwflg','3CncAQX','light','options','rKOGz','4|1|3|0|2','error','rHMWG','trace','theme','split','IRdIZ','services/getRoutes','includes','getOwnPropertyNames','center','DuBZv','eIOeS'];a0_0xf2fe=function(){return _0x56fb8d;};return a0_0xf2fe();}var l=()=>g;function R(_0x56de83,_0x4bb2a5){var _0x31078f={'sHvOX':function(_0x48e3c4,_0x16496f){return _0x48e3c4(_0x16496f);},'vhfaO':function(_0x413175,_0x3b2471,_0x1f8f74){return _0x413175(_0x3b2471,_0x1f8f74);}};let _0x35064e;return(..._0x5480f5)=>(_0x35064e&&clearTimeout(_0x35064e),new Promise(_0x47e034=>{var _0x3c7f0b={'pmkEm':function(_0x367a51,_0x1da03d){var _0x4bc67c=a0_0x3492;return _0x31078f[_0x4bc67c(0x198)](_0x367a51,_0x1da03d);}};_0x35064e=_0x31078f['vhfaO'](setTimeout,async()=>{var _0x12e898=a0_0x3492,_0x5517dc=await _0x56de83(..._0x5480f5);_0x3c7f0b[_0x12e898(0x137)](_0x47e034,_0x5517dc);},_0x4bb2a5);}));}var k=async(_0x47d981,_0x3755ba)=>{var _0x48198c=a0_0x1e0992,_0x34fab3={'rKOGz':_0x48198c(0x15f)};try{let _0x5d776c=[];return _0x47d981['forEach'](_0x4f5188=>{var _0x219842=_0x48198c;_0x5d776c[_0x219842(0x146)]({'lng':_0x4f5188[0x0],'lat':_0x4f5188[0x1]});}),(await c[_0x48198c(0x188)](_0x34fab3[_0x48198c(0x157)],{'points':_0x5d776c,'token':_0x3755ba||l()}))[_0x48198c(0x13b)];}catch(_0x5938c6){throw console[_0x48198c(0x159)](_0x5938c6),_0x5938c6;}},M={};f(M,{'getrouter':()=>X});async function X(_0x5ba3c2,_0x3531fe,_0x2be728){var _0x41462b=a0_0x1e0992,_0x8467db={'qVwIe':function(_0x6eabc8,_0x32e80a,_0x3e48a6){return _0x6eabc8(_0x32e80a,_0x3e48a6);}};try{let _0xb408f6=await _0x8467db[_0x41462b(0x143)](k,_0x5ba3c2,_0x2be728);return _0xb408f6?.[_0x41462b(0x13b)]?_0xb408f6[_0x41462b(0x13b)][_0x41462b(0x19d)](_0x129c72=>{var _0x3fcc1d=_0x41462b;let _0x20bf74={..._0x129c72};return _0x20bf74[_0x3fcc1d(0x14b)]?.[_0x3fcc1d(0x13f)]?.[_0x3fcc1d(0x19c)]&&(_0x20bf74['route'][_0x3fcc1d(0x13f)]=_0x20bf74['route'][_0x3fcc1d(0x13f)][_0x3fcc1d(0x19d)](_0x1d12a7=>({..._0x1d12a7,'geometry':_0x3531fe===_0x3fcc1d(0x191)&&typeof _0x1d12a7['geometry']==_0x3fcc1d(0x1a3)?E(_0x1d12a7[_0x3fcc1d(0x152)]):_0x1d12a7[_0x3fcc1d(0x152)]}))),_0x20bf74;}):_0xb408f6;}catch(_0x3d52c6){throw _0x3d52c6;}}function a0_0x3492(_0x12f75e,_0x1312fc){var _0x2b7fe7=a0_0xf2fe();return a0_0x3492=function(_0x5dc689,_0x293ba9){_0x5dc689=_0x5dc689-0x127;var _0x6fda23=_0x2b7fe7[_0x5dc689];return _0x6fda23;},a0_0x3492(_0x12f75e,_0x1312fc);}var K=async _0x5e0b9c=>{var _0x2ce2c6=a0_0x1e0992,_0x59826a={'Sujbi':'services/getAddress'};try{return(await c[_0x2ce2c6(0x188)](_0x59826a[_0x2ce2c6(0x177)],_0x5e0b9c))[_0x2ce2c6(0x13b)];}catch(_0x14adcc){throw console[_0x2ce2c6(0x159)]('Ошибка\x20при\x20поиске\x20адреса:',_0x14adcc),_0x14adcc;}},w={};f(w,{'search':()=>$});async function z(_0x5deff0,_0x241b30,_0x2adcab){var _0x5e9f80=a0_0x1e0992,_0x18f197={'vbviu':function(_0x1be1e2,_0x5d6d77){return _0x1be1e2(_0x5d6d77);}};let _0x4c0c77={'text':_0x5deff0,'token':_0x241b30||l(),..._0x2adcab};try{return await _0x18f197[_0x5e9f80(0x194)](K,_0x4c0c77);}catch(_0x48ca3f){throw _0x48ca3f;}}var B=R(z,0x1f4);async function $(_0x1846b7,_0x47239d,_0x5a8ff8){var _0x42a734=a0_0x1e0992,_0x2f804e={'zSBTq':function(_0x9a14aa,_0x261c03,_0xe5c901,_0x5d3837){return _0x9a14aa(_0x261c03,_0xe5c901,_0x5d3837);}};return await _0x2f804e[_0x42a734(0x18a)](B,_0x1846b7,_0x47239d,_0x5a8ff8);}function V(){var _0x10fdad=a0_0x1e0992,_0x3323f3={'GUYyh':_0x10fdad(0x145),'zBHfd':_0x10fdad(0x12c),'YazQr':'apikey'};let _0x5d9a37=document[_0x10fdad(0x187)](_0x3323f3[_0x10fdad(0x14d)]);for(let _0x41015f of _0x5d9a37)if(_0x41015f[_0x10fdad(0x186)][_0x10fdad(0x160)](_0x3323f3['zBHfd'])){let _0x162120=new URL(_0x41015f[_0x10fdad(0x186)])['searchParams'][_0x10fdad(0x196)](_0x3323f3[_0x10fdad(0x181)]);if(_0x162120)return _0x162120;}return'';}x(V()),0x0&&(module[a0_0x1e0992(0x19b)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/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 * as MahalMap from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","// export * from './controls'\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","lib_exports","saveKey_exports","utils_exports","__toCommonJS","lib_exports","__export","MahalMap","getrouter","routingApi","search","searchPost","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var C=Object.defineProperty;var u=(e,t)=>{for(var r in t)C(e,r,{get:t[r],enumerable:!0})};var K={};u(K,{MahalMap:()=>h,getrouter:()=>E,routingApi:()=>x,search:()=>R,searchPost:()=>b});var M="https://platform.mahal.tj/api/";var w="https://mtile.gram.tj/custom-styles/dark-style.json",S="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,n=0,m=0;for(;r<o;){let a,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let j=i&1?~(i>>1):i>>1;n+=j,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let G=i&1?~(i>>1):i>>1;m+=G,t.push([m*1e-5,n*1e-5])}return t}var f={dark:w,light:S},p=class p{constructor(){}static create(t,r){if(p.instance)return p.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?A:t.style?t.style:t.theme==="dark"?f.dark:f.light,a=new p;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),p.instance=a,a}static getInstance(){if(!p.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return p.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?f.dark:f.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};p.instance=null;var h=p;import v from"axios";var c=v.create({baseURL:M});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var P={};u(P,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function T(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var x=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var L={};u(L,{getrouter:()=>E});async function E(e,t,r){try{let o=await x(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?I(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var b=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:()=>R});async function N(e,t,r){let o={text:e,token:t||l(),...r};try{return await b(o)}catch(n){throw n}}var U=T(N,500);async function R(e,t,r){return await U(e,t,r)}function F(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(F());export{K as MahalMap,P as keyUtils,L as routerUtils,k as searchUtils};
1
+ var K=Object.defineProperty;var f=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",M="https://mtile.gram.tj/custom-styles/mapstyle.json",w="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function S(e){let t=[],r=0,o=e.length,n=0,m=0;for(;r<o;){let a,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let R=i&1?~(i>>1):i>>1;n+=R,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let k=i&1?~(i>>1):i>>1;m+=k,t.push([m*1e-5,n*1e-5])}return t}var u={dark:b,light:M},p=class p{constructor(){}static create(t,r){if(p.instance)return p.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?w:t.style?t.style:t.theme==="dark"?u.dark:u.light,a=new p;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),p.instance=a,a}static getInstance(){if(!p.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return p.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};p.instance=null;var h=p;import j from"axios";var c=j.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var A={};f(A,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function I(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var P=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var T={};f(T,{getrouter:()=>G});async function G(e,t,r){try{let o=await P(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?S(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var E=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var L={};f(L,{search:()=>N});async function C(e,t,r){let o={text:e,token:t||l(),...r};try{return await E(o)}catch(n){throw n}}var v=I(C,500);async function N(e,t,r){return await v(e,t,r)}function U(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(U());export{h as MahalMap,A as keyUtils,T as routerUtils,L as searchUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/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 './controls'\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import * as MahalMap from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"0FAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,eAAAC,EAAA,WAAAC,EAAA,eAAAC,ICAA,IAAMC,EAAW,iCASjB,IAAMC,EAAO,sDACPC,EAAQ,oDACRC,EACJ,mECZF,SAASC,EAAgBC,EAA6B,CACpD,IAAIC,EAAS,CAAC,EACVC,EAAQ,EACVC,EAAMH,EAAQ,OACZI,EAAM,EACRC,EAAM,EAER,KAAOH,EAAQC,GAAK,CAClB,IAAIG,EACFC,EAAQ,EACRC,EAAS,EACX,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAIG,EAAOD,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDJ,GAAOK,EAEPF,EAAQ,EACRC,EAAS,EACT,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAII,EAAOF,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDH,GAAOK,EAEPT,EAAO,KAAK,CAACI,EAAM,KAAMD,EAAM,IAAI,CAAC,CACtC,CAEA,OAAOH,CACT,CC7BA,IAAMU,EAAgB,CAAE,KAAMC,EAAM,MAAOC,CAAM,EAEpCC,EAAN,MAAMA,CAAS,CAMZ,aAAc,CAAC,CAEvB,OAAO,OACLC,EACAC,EACA,CACA,GAAIF,EAAS,SAAU,OAAOA,EAAS,SAGvC,IAAMG,EADkB,OAAe,YACJD,EAEnC,GAAI,CAACC,EACH,MAAM,IAAI,MACR,0VACF,EAGF,IAAMC,EAAaH,EAAQ,oBACvBI,EACAJ,EAAQ,MACNA,EAAQ,MACRA,EAAQ,QAAU,OAChBJ,EAAc,KACdA,EAAc,MAEhBS,EAAW,IAAIN,EAErB,OAAAM,EAAS,QAAUL,EACnBK,EAAS,IAAM,IAAIH,EAAS,IAAI,CAC9B,UAAWF,EAAQ,WAAa,MAChC,MAAOG,EACP,OAAQH,EAAQ,QAAU,CAAC,UAAW,SAAS,EAC/C,KAAMA,EAAQ,MAAQ,CACxB,CAAC,EAEDD,EAAS,SAAWM,EACbA,CACT,CAEA,OAAO,aAAwB,CAC7B,GAAI,CAACN,EAAS,SACZ,MAAM,IAAI,MAAM,0HAAqC,EAEvD,OAAOA,EAAS,QAClB,CAEA,QAAkB,CAChB,OAAO,KAAK,GACd,CAEA,SAASO,EAAyB,CAChC,KAAK,IAAI,SACPA,IAAU,OAASV,EAAc,KAAOA,EAAc,KACxD,CACF,CAEA,UAAUW,EAA0B,CAClC,KAAK,IAAI,UAAUA,CAAM,CAC3B,CAEA,QAAQC,EAAc,CACpB,KAAK,IAAI,QAAQA,CAAI,CACvB,CACF,EArEaT,EACI,SAA4B,KADtC,IAAMU,EAANV,ECNP,OAAOW,MAAW,QAIX,IAAMC,EAAMC,EAAM,OAAO,CAC9B,QAASC,CACX,CAAC,EAEDF,EAAI,aAAa,QAAQ,IACtBG,GAAaA,EACbC,IACKA,EAAM,SAAS,SAAW,KAC5BC,EAAS,EAEJ,QAAQ,OAAOD,CAAK,EAE/B,EChBA,IAAAE,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,YAAAC,ICEA,IAAIC,EAAiB,GAErB,SAASC,EAAQC,EAAe,CAC1BA,IAAU,KACdF,EAASE,EACTC,EAAI,SAAS,QAAQ,OAAO,cAAmB,UAAUD,CAAK,GAChE,CAEA,SAASE,GAAW,CAClBJ,EAAS,GACTG,EAAI,SAAS,QAAQ,OAAO,cAAmB,EACjD,CAEA,IAAME,EAAY,IAAML,ECfxB,SAASM,EACPC,EACAC,EACA,CACA,IAAIC,EAEJ,MAAO,IAAIC,KACLD,GAAO,aAAaA,CAAK,EACtB,IAAI,QAASE,GAAY,CAC9BF,EAAQ,WAAW,SAAY,CAC7B,IAAMG,EAAS,MAAML,EAAG,GAAGG,CAAI,EAC/BC,EAAQC,CAAM,CAChB,EAAGJ,CAAK,CACV,CAAC,EAEL,CCbA,IAAMK,EAAa,MAAOC,EAAmBC,IAAkB,CAC7D,GAAI,CACF,IAAMC,EAAyC,CAAC,EAEhD,OAAAF,EAAM,QAASG,GAAM,CACnBD,EAAO,KAAK,CAAE,IAAKC,EAAE,CAAC,EAAG,IAAKA,EAAE,CAAC,CAAE,CAAC,CACtC,CAAC,GACgB,MAAMC,EAAI,KAAK,qBAAsB,CACpD,OAAAF,EACA,MAAOD,GAAgBI,EAAU,CACnC,CAAC,GACe,IAClB,OAASC,EAAK,CACZ,cAAQ,MAAMA,CAAG,EACXA,CACR,CACF,EClBA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAIA,eAAeC,EACbC,EACAC,EACAC,EACmB,CACnB,GAAI,CACF,IAAMC,EAAM,MAAMC,EAAWJ,EAAOE,CAAK,EAEzC,OAAKC,GAAK,KAEaA,EAAI,KAEf,IAAKE,GAAU,CACzB,IAAMC,EAAU,CAAE,GAAGD,CAAM,EAE3B,OAAIC,EAAQ,OAAO,QAAQ,SACzBA,EAAQ,MAAM,OAASA,EAAQ,MAAM,OAAO,IAAKC,IAAO,CACtD,GAAGA,EACH,SACEN,IAAa,WAAa,OAAOM,EAAE,UAAa,SAC5CC,EAAgBD,EAAE,QAAQ,EAC1BA,EAAE,QACV,EAAE,GAGGD,CACT,CAAC,EAlBsBH,CAmBzB,OAASM,EAAO,CACd,MAAMA,CACR,CACF,CC/BO,IAAMC,EAAa,MAAOC,GAA6C,CAC5E,GAAI,CAEF,OADiB,MAAMC,EAAI,KAAK,sBAAuBD,CAAM,GAC7C,IAClB,OAASE,EAAO,CACd,cAAQ,MAAM,qIAA6BA,CAAK,EAC1CA,CACR,CACF,ECXA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAMA,eAAeC,EACbC,EACAC,EACAC,EACoB,CACpB,IAAIC,EAA2B,CAC7B,KAAMH,EACN,MAAOC,GAAgBG,EAAU,EACjC,GAAGF,CACL,EAkBA,GAAI,CAEF,OADuB,MAAMG,EAAWF,CAAU,CAEpD,OAASG,EAAO,CACd,MAAMA,CACR,CACF,CAEA,IAAMC,EAAcC,EAAST,EAAW,GAAG,EAE3C,eAAeU,EACbT,EACAC,EACAC,EACA,CACA,OAAO,MAAMK,EAAYP,EAAOC,EAAOC,CAAe,CACxD,CC1CA,SAASQ,GAAuB,CAC9B,IAAMC,EAAU,SAAS,qBAAqB,QAAQ,EACtD,QAAWC,KAAUD,EACnB,GAAIC,EAAO,IAAI,SAAS,kBAAkB,EAAG,CAE3C,IAAMC,EADM,IAAI,IAAID,EAAO,GAAG,EACX,aAAa,IAAI,QAAQ,EAC5C,GAAIC,EAAQ,OAAOA,CACrB,CAEF,MAAO,EACT,CACSC,EAAQJ,EAAqB,CAAC","names":["lib_exports","__export","MahalMap","getrouter","routingApi","search","searchPost","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}