mahal_map 1.1.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -72,25 +72,22 @@ 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
+ destroy(): void;
84
+ static getInstance(): MahalMap;
84
85
  getMap(): Map;
85
86
  setStyle(theme: "dark" | "light"): void;
86
87
  setCenter(center: [number, number]): void;
87
88
  setZoom(zoom: number): void;
88
89
  }
89
90
 
90
- declare namespace MahalMap {
91
- export { MahalMap$1 as MahalMap };
92
- }
93
-
94
91
  declare function saveKey(param: string): void;
95
92
  declare function clearKey(): void;
96
93
  declare const getApiKey: () => string;
package/dist/index.d.ts CHANGED
@@ -72,25 +72,22 @@ 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
+ destroy(): void;
84
+ static getInstance(): MahalMap;
84
85
  getMap(): Map;
85
86
  setStyle(theme: "dark" | "light"): void;
86
87
  setCenter(center: [number, number]): void;
87
88
  setZoom(zoom: number): void;
88
89
  }
89
90
 
90
- declare namespace MahalMap {
91
- export { MahalMap$1 as MahalMap };
92
- }
93
-
94
91
  declare function saveKey(param: string): void;
95
92
  declare function clearKey(): void;
96
93
  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_0x1665a5=a0_0x2b25;(function(_0x532108,_0x525724){var _0x1b0021=a0_0x2b25,_0x4a17b2=_0x532108();while(!![]){try{var _0x17f71d=parseInt(_0x1b0021(0x1cc))/0x1*(parseInt(_0x1b0021(0x148))/0x2)+-parseInt(_0x1b0021(0x162))/0x3*(parseInt(_0x1b0021(0x1a4))/0x4)+-parseInt(_0x1b0021(0x135))/0x5*(-parseInt(_0x1b0021(0x1c6))/0x6)+parseInt(_0x1b0021(0x1c7))/0x7+-parseInt(_0x1b0021(0x168))/0x8+-parseInt(_0x1b0021(0x199))/0x9+-parseInt(_0x1b0021(0x13e))/0xa;if(_0x17f71d===_0x525724)break;else _0x4a17b2['push'](_0x4a17b2['shift']());}catch(_0x553b26){_0x4a17b2['push'](_0x4a17b2['shift']());}}}(a0_0xd596,0x29dad));var v=Object[a0_0x1665a5(0x16a)],u=Object[a0_0x1665a5(0x16b)],C=Object[a0_0x1665a5(0x1ab)],N=Object['getOwnPropertyNames'],U=Object[a0_0x1665a5(0x15d)],F=Object[a0_0x1665a5(0x1ac)][a0_0x1665a5(0x1ca)],f=(_0x27a9e6,_0x5eec9d)=>{var _0xaaf782=a0_0x1665a5,_0x209d31={'CHRRp':function(_0x29e475,_0xba4d2f,_0x56405f,_0x2bef45){return _0x29e475(_0xba4d2f,_0x56405f,_0x2bef45);}};for(var _0x51f185 in _0x5eec9d)_0x209d31[_0xaaf782(0x18b)](u,_0x27a9e6,_0x51f185,{'get':_0x5eec9d[_0x51f185],'enumerable':!0x0});},S=(_0x7ff0ba,_0x7211fd,_0x57cd17,_0x37ad79)=>{var _0x3c9bd1=a0_0x1665a5,_0x1c54f9={'gIMAb':function(_0x33f7c1,_0xff05b0){return _0x33f7c1==_0xff05b0;},'ChHqo':_0x3c9bd1(0x1d6),'YpweY':_0x3c9bd1(0x152),'vmHJW':function(_0x488e00,_0xd0876){return _0x488e00(_0xd0876);},'NhrTS':function(_0x237953,_0x1e4aac){return _0x237953!==_0x1e4aac;},'HFQTM':function(_0x21511d,_0xf93a0f,_0xcb013c){return _0x21511d(_0xf93a0f,_0xcb013c);}};if(_0x7211fd&&_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9[_0x3c9bd1(0x13b)])||_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9['YpweY'])){for(let _0x231d6 of _0x1c54f9[_0x3c9bd1(0x1a1)](N,_0x7211fd))!F[_0x3c9bd1(0x151)](_0x7ff0ba,_0x231d6)&&_0x1c54f9[_0x3c9bd1(0x159)](_0x231d6,_0x57cd17)&&u(_0x7ff0ba,_0x231d6,{'get':()=>_0x7211fd[_0x231d6],'enumerable':!(_0x37ad79=_0x1c54f9[_0x3c9bd1(0x143)](C,_0x7211fd,_0x231d6))||_0x37ad79['enumerable']});}return _0x7ff0ba;},D=(_0x36c9a1,_0x40adff,_0x4e3fe1)=>(_0x4e3fe1=_0x36c9a1!=null?v(U(_0x36c9a1)):{},S(_0x40adff||!_0x36c9a1||!_0x36c9a1[a0_0x1665a5(0x17f)]?u(_0x4e3fe1,a0_0x1665a5(0x16c),{'value':_0x36c9a1,'enumerable':!0x0}):_0x4e3fe1,_0x36c9a1)),O=_0x4d3806=>S(u({},a0_0x1665a5(0x17f),{'value':!0x0}),_0x4d3806),q={};f(q,{'MahalMap':()=>d,'keyUtils':()=>b,'routerUtils':()=>M,'searchUtils':()=>w}),module[a0_0x1665a5(0x19d)]=O(q);var A=a0_0x1665a5(0x14e),I='https://mtile.gram.tj/custom-styles/dark-style.json',P=a0_0x1665a5(0x184),T='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function E(_0x330d84){var _0x4db528=a0_0x1665a5,_0x298b0b={'saNFO':function(_0x47a5bb,_0x1d32a1){return _0x47a5bb<_0x1d32a1;},'smuST':function(_0x169625,_0x3e0dda){return _0x169625-_0x3e0dda;},'GOJsC':function(_0x43643f,_0xf3b68c){return _0x43643f<<_0xf3b68c;},'eLMoo':function(_0x544bdb,_0x4b3475){return _0x544bdb&_0x4b3475;},'OBmcI':function(_0x2001fa,_0x459648){return _0x2001fa>=_0x459648;},'HLNvY':function(_0x237554,_0x4adbb8){return _0x237554>>_0x4adbb8;},'qpaqj':function(_0x5a6ca1,_0x1f6e67){return _0x5a6ca1>>_0x1f6e67;},'riatc':function(_0x30d72d,_0x502b6f){return _0x30d72d-_0x502b6f;},'Utwpu':function(_0x3f030d,_0x16d34d){return _0x3f030d<<_0x16d34d;},'JQskL':function(_0x38b565,_0x3b6fcb){return _0x38b565>=_0x3b6fcb;},'zPxzN':function(_0x45ed6f,_0x278a9a){return _0x45ed6f>>_0x278a9a;},'HocEl':function(_0x433d0a,_0x59676e){return _0x433d0a*_0x59676e;},'LIlxV':function(_0x5331ff,_0x564d00){return _0x5331ff*_0x564d00;}};let _0x549447=[],_0x581fa5=0x0,_0x56eba0=_0x330d84[_0x4db528(0x1b4)],_0x47802b=0x0,_0x4cd36f=0x0;for(;_0x298b0b['saNFO'](_0x581fa5,_0x56eba0);){let _0x2f43a8,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x187)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b['GOJsC'](_0x298b0b[_0x4db528(0x137)](_0x2f43a8,0x1f),_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b['OBmcI'](_0x2f43a8,0x20));let _0x336099=_0x42c098&0x1?~_0x298b0b['HLNvY'](_0x42c098,0x1):_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1);_0x47802b+=_0x336099,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x1ce)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b[_0x4db528(0x177)](_0x2f43a8&0x1f,_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b[_0x4db528(0x13f)](_0x2f43a8,0x20));let _0x485b85=_0x298b0b[_0x4db528(0x137)](_0x42c098,0x1)?~_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1):_0x298b0b[_0x4db528(0x18d)](_0x42c098,0x1);_0x4cd36f+=_0x485b85,_0x549447[_0x4db528(0x16e)]([_0x298b0b['HocEl'](_0x4cd36f,0.00001),_0x298b0b[_0x4db528(0x192)](_0x47802b,0.00001)]);}return _0x549447;}var h={'dark':I,'light':P},i=class i{constructor(){}static[a0_0x1665a5(0x16a)](_0x2f4796,_0x53905a){var _0x19143f=a0_0x1665a5,_0x1b7328={'AssHc':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','AMjNP':function(_0x11491b,_0x510292){return _0x11491b===_0x510292;},'PlKkO':_0x19143f(0x130),'ACmUN':_0x19143f(0x179)};if(i[_0x19143f(0x1bb)])return i['instance'];let _0x24c4ff=window['maplibregl']||_0x53905a;if(!_0x24c4ff)throw new Error(_0x1b7328['AssHc']);let _0x4a1bf7=_0x2f4796[_0x19143f(0x153)]?T:_0x2f4796[_0x19143f(0x13a)]?_0x2f4796[_0x19143f(0x13a)]:_0x1b7328[_0x19143f(0x15b)](_0x2f4796[_0x19143f(0x1bf)],_0x1b7328['PlKkO'])?h['dark']:h['light'],_0x1240b7=new i();return _0x1240b7[_0x19143f(0x1b6)]=_0x2f4796,_0x1240b7['map']=new _0x24c4ff[(_0x19143f(0x174))]({'container':_0x2f4796['container']||_0x1b7328[_0x19143f(0x164)],'style':_0x4a1bf7,'center':_0x2f4796[_0x19143f(0x149)]||[69.624024,40.279687],'zoom':_0x2f4796[_0x19143f(0x163)]||0x5}),i[_0x19143f(0x1bb)]=_0x1240b7,_0x1240b7;}[a0_0x1665a5(0x1b2)](){var _0x5c3d85=a0_0x1665a5;this[_0x5c3d85(0x179)][_0x5c3d85(0x17d)](),i['instance']=null;}static[a0_0x1665a5(0x190)](){var _0x16b403=a0_0x1665a5;if(!i[_0x16b403(0x1bb)])throw new Error('[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана');return i[_0x16b403(0x1bb)];}[a0_0x1665a5(0x1ae)](){var _0x4c1b86=a0_0x1665a5;return this[_0x4c1b86(0x179)];}[a0_0x1665a5(0x1a0)](_0x1a978f){var _0x6ccbfb=a0_0x1665a5,_0x5d81d4={'isXuM':function(_0x1fb2a5,_0x52e69c){return _0x1fb2a5===_0x52e69c;},'Emfan':_0x6ccbfb(0x130)};this[_0x6ccbfb(0x179)][_0x6ccbfb(0x1a0)](_0x5d81d4[_0x6ccbfb(0x173)](_0x1a978f,_0x5d81d4[_0x6ccbfb(0x1b8)])?h[_0x6ccbfb(0x130)]:h[_0x6ccbfb(0x176)]);}[a0_0x1665a5(0x154)](_0x4945d9){var _0x367c07=a0_0x1665a5;this[_0x367c07(0x179)][_0x367c07(0x154)](_0x4945d9);}[a0_0x1665a5(0x1d3)](_0x520762){var _0x1dfcbb=a0_0x1665a5;this[_0x1dfcbb(0x179)][_0x1dfcbb(0x1d3)](_0x520762);}};i[a0_0x1665a5(0x1bb)]=null;var d=i,L=D(require(a0_0x1665a5(0x14a))),c=L[a0_0x1665a5(0x16c)][a0_0x1665a5(0x16a)]({'baseURL':A});c[a0_0x1665a5(0x141)]['request'][a0_0x1665a5(0x195)](_0x2a5258=>_0x2a5258,_0x514ec9=>(_0x514ec9[a0_0x1665a5(0x181)]?.[a0_0x1665a5(0x1aa)]===0x191&&y(),Promise[a0_0x1665a5(0x131)](_0x514ec9)));var b={};f(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x83b11a){var _0xe098d8=a0_0x1665a5,_0x162fca={'MafYc':function(_0xb0d154,_0x2d2e83){return _0xb0d154!==_0x2d2e83;}};_0x162fca[_0xe098d8(0x1d2)](_0x83b11a,'')&&(g=_0x83b11a,c[_0xe098d8(0x17c)][_0xe098d8(0x1a5)]['common'][_0xe098d8(0x1a8)]=_0xe098d8(0x19e)+_0x83b11a);}function y(){var _0x20ce8e=a0_0x1665a5,_0x200164={'fdErs':function(_0x24d3ee,_0x4b8d89){return _0x24d3ee===_0x4b8d89;},'cFqjh':_0x20ce8e(0x1ba),'UEjEu':function(_0x19c93d,_0x3592e8){return _0x19c93d==_0x3592e8;},'GJwBr':function(_0x2bec84,_0x2ca732,_0x32e406){return _0x2bec84(_0x2ca732,_0x32e406);},'STmiL':_0x20ce8e(0x1b0),'qAQPf':function(_0x451c99,_0x18c3d0){return _0x451c99===_0x18c3d0;},'NIIUl':_0x20ce8e(0x1be),'WpEcW':function(_0x35b408,_0xd6653a){return _0x35b408(_0xd6653a);},'zScZB':'{}.constructor(\x22return\x20this\x22)(\x20)','ayJZm':function(_0x33053b,_0x4beca8){return _0x33053b!==_0x4beca8;},'GAjyu':_0x20ce8e(0x136),'DMbQD':_0x20ce8e(0x157),'hmhsn':_0x20ce8e(0x1c8),'fhVNy':'info','QqfcC':_0x20ce8e(0x1c2),'kymLl':_0x20ce8e(0x196),'YCvwr':'table','jigwK':_0x20ce8e(0x1d5),'VJtAC':function(_0xd7ee5d,_0x398594){return _0xd7ee5d<_0x398594;},'jcViL':_0x20ce8e(0x185),'NwizU':function(_0x355c76){return _0x355c76();}},_0x342199=(function(){var _0x254b96=_0x20ce8e,_0x50d94f={'HUzVx':function(_0x26a5a4,_0x4c3199){var _0x33d20e=a0_0x2b25;return _0x200164[_0x33d20e(0x198)](_0x26a5a4,_0x4c3199);},'zCwwl':_0x200164[_0x254b96(0x15a)],'YChZi':function(_0xcec705,_0x4a46b7){var _0x225217=_0x254b96;return _0x200164[_0x225217(0x1ad)](_0xcec705,_0x4a46b7);},'wgtBu':'object','pVSSA':function(_0x6f9e3a,_0x13ab21){var _0x2800b9=_0x254b96;return _0x200164[_0x2800b9(0x1ad)](_0x6f9e3a,_0x13ab21);},'AQCar':function(_0x1aabe0,_0x3c3f34){return _0x1aabe0(_0x3c3f34);},'Lzzss':function(_0x604790,_0x1d88c9,_0x4b2a55,_0x2b63bc){return _0x604790(_0x1d88c9,_0x4b2a55,_0x2b63bc);},'BUwvL':function(_0x526c0a,_0x36b6ad,_0x49e1e5){var _0x4a01a7=_0x254b96;return _0x200164[_0x4a01a7(0x1af)](_0x526c0a,_0x36b6ad,_0x49e1e5);}},_0x29db18=!![];return function(_0x3e40e4,_0x55a23f){var _0x23710e=_0x254b96,_0x37e9e2={'FMYqa':function(_0x550fb5,_0x59686c){return _0x50d94f['YChZi'](_0x550fb5,_0x59686c);},'PfDdD':_0x50d94f[_0x23710e(0x147)],'pjAeM':function(_0x2f3fe8,_0x5b204e){return _0x50d94f['pVSSA'](_0x2f3fe8,_0x5b204e);},'iNxZE':function(_0x5b59c9,_0x4536f0){var _0x6420d6=_0x23710e;return _0x50d94f[_0x6420d6(0x182)](_0x5b59c9,_0x4536f0);},'eIPuj':function(_0x19de06,_0x5bdced){return _0x19de06!==_0x5bdced;},'TiUOS':function(_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf){var _0xbd741c=_0x23710e;return _0x50d94f[_0xbd741c(0x19b)](_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf);},'YFZUY':function(_0x1136a4,_0x1020b0,_0x44d9cb){var _0x45488e=_0x23710e;return _0x50d94f[_0x45488e(0x1d1)](_0x1136a4,_0x1020b0,_0x44d9cb);}},_0x485105=_0x29db18?function(){var _0x2bbf23=_0x23710e;if(_0x50d94f[_0x2bbf23(0x1c1)](_0x50d94f[_0x2bbf23(0x12d)],_0x50d94f[_0x2bbf23(0x12d)])){if(_0x55a23f){var _0x1bc1bf=_0x55a23f[_0x2bbf23(0x1d8)](_0x3e40e4,arguments);return _0x55a23f=null,_0x1bc1bf;}}else{if(_0x49374f&&_0x37e9e2[_0x2bbf23(0x1da)](typeof _0x2ec7dd,_0x37e9e2[_0x2bbf23(0x1d9)])||_0x37e9e2[_0x2bbf23(0x16d)](typeof _0x5922c0,_0x2bbf23(0x152))){for(let _0xfc9710 of _0x37e9e2[_0x2bbf23(0x17a)](_0x48e8c5,_0x2bb4ee))!_0x45f6b3[_0x2bbf23(0x151)](_0x12d9b2,_0xfc9710)&&_0x37e9e2[_0x2bbf23(0x19a)](_0xfc9710,_0x23ffc7)&&_0x37e9e2[_0x2bbf23(0x16f)](_0x146b6e,_0xf5f01b,_0xfc9710,{'get':()=>_0x58a986[_0xfc9710],'enumerable':!(_0x5ebf1e=_0x37e9e2[_0x2bbf23(0x158)](_0x1feec5,_0x47d866,_0xfc9710))||_0x3d75c3[_0x2bbf23(0x188)]});}return _0x3486dd;}}:function(){};return _0x29db18=![],_0x485105;};}()),_0x11c062=_0x342199(this,function(){var _0x1783fd=_0x20ce8e,_0x2bf68d;try{if(_0x200164['qAQPf'](_0x200164[_0x1783fd(0x1dd)],_0x200164[_0x1783fd(0x1dd)])){var _0xeaf50=_0x200164[_0x1783fd(0x17b)](Function,_0x1783fd(0x150)+_0x200164[_0x1783fd(0x139)]+');');_0x2bf68d=_0xeaf50();}else{let _0x30bfab=new _0x332209(_0xeeaa00[_0x1783fd(0x1a7)])[_0x1783fd(0x155)][_0x1783fd(0x170)](_0x200164[_0x1783fd(0x13c)]);if(_0x30bfab)return _0x30bfab;}}catch(_0x27efd7){if(_0x200164[_0x1783fd(0x191)](_0x200164[_0x1783fd(0x142)],_0x1783fd(0x165)))_0x2bf68d=window;else throw _0x57f0e7;}var _0x30d276=_0x2bf68d['console']=_0x2bf68d[_0x1783fd(0x1cb)]||{},_0x4e2497=[_0x200164['DMbQD'],_0x200164['hmhsn'],_0x200164[_0x1783fd(0x169)],_0x200164[_0x1783fd(0x175)],_0x200164[_0x1783fd(0x1d4)],_0x200164[_0x1783fd(0x140)],_0x200164[_0x1783fd(0x12e)]];for(var _0xb52df7=0x0;_0x200164['VJtAC'](_0xb52df7,_0x4e2497[_0x1783fd(0x1b4)]);_0xb52df7++){var _0x544f72=_0x200164[_0x1783fd(0x161)][_0x1783fd(0x1d7)]('|'),_0xdff54c=0x0;while(!![]){switch(_0x544f72[_0xdff54c++]){case'0':_0x410fa6[_0x1783fd(0x197)]=_0x342199[_0x1783fd(0x14c)](_0x342199);continue;case'1':_0x410fa6[_0x1783fd(0x12f)]=_0x352ec2[_0x1783fd(0x12f)][_0x1783fd(0x14c)](_0x352ec2);continue;case'2':var _0x352ec2=_0x30d276[_0x396aa1]||_0x410fa6;continue;case'3':var _0x410fa6=_0x342199[_0x1783fd(0x1a2)]['prototype'][_0x1783fd(0x14c)](_0x342199);continue;case'4':_0x30d276[_0x396aa1]=_0x410fa6;continue;case'5':var _0x396aa1=_0x4e2497[_0xb52df7];continue;}break;}}});_0x200164[_0x20ce8e(0x18c)](_0x11c062),(g='',c['defaults']['headers']['common']['Authorization']='');}function a0_0x2b25(_0x554d61,_0x5e8e71){var _0x40a6f2=a0_0xd596();return a0_0x2b25=function(_0x105824,_0x17899b){_0x105824=_0x105824-0x12d;var _0x2aa973=_0x40a6f2[_0x105824];return _0x2aa973;},a0_0x2b25(_0x554d61,_0x5e8e71);}var l=()=>g;function R(_0x4d0369,_0x4f6ce3){var _0x22087e={'kehzh':function(_0x389af5,..._0x2fa80f){return _0x389af5(..._0x2fa80f);},'XxLeU':function(_0x37f711,_0x4de7c2){return _0x37f711(_0x4de7c2);},'bPUIT':function(_0x48055f,_0x28b757,_0x52921b){return _0x48055f(_0x28b757,_0x52921b);}};let _0x23d279;return(..._0x3aa628)=>(_0x23d279&&clearTimeout(_0x23d279),new Promise(_0x309463=>{_0x23d279=_0x22087e['bPUIT'](setTimeout,async()=>{var _0x131dc6=a0_0x2b25,_0x11738b=await _0x22087e[_0x131dc6(0x166)](_0x4d0369,..._0x3aa628);_0x22087e[_0x131dc6(0x138)](_0x309463,_0x11738b);},_0x4f6ce3);}));}var k=async(_0x3e2648,_0x24cabc)=>{var _0x290302=a0_0x1665a5,_0x53de51={'kCBrw':function(_0x363b56,_0x1f443f){return _0x363b56(_0x1f443f);},'AWnba':function(_0x2e3149,_0x4b0759){return _0x2e3149+_0x4b0759;},'cvqpX':_0x290302(0x1b3),'DONkD':function(_0x5565cb){return _0x5565cb();},'pQmTU':_0x290302(0x1c8),'WBxWt':'info','XSzxp':_0x290302(0x18a),'kcOrZ':_0x290302(0x17e),'HMXdx':_0x290302(0x1d0),'FaVTj':_0x290302(0x193)};try{let _0x4b3b82=[];return _0x3e2648[_0x290302(0x13d)](_0x4e972d=>{var _0x5694a2=_0x290302,_0x11537e={'CaUOd':function(_0x2341f3,_0x204b7f){var _0x4d20fc=a0_0x2b25;return _0x53de51[_0x4d20fc(0x144)](_0x2341f3,_0x204b7f);},'UCiks':function(_0x184bf3,_0x6639f3){var _0x33c122=a0_0x2b25;return _0x53de51[_0x33c122(0x1c5)](_0x184bf3,_0x6639f3);},'xtIan':_0x53de51[_0x5694a2(0x1b5)],'qjmXj':function(_0x5de688){return _0x53de51['DONkD'](_0x5de688);},'hUKff':_0x5694a2(0x157),'fUinK':_0x53de51[_0x5694a2(0x18f)],'UUWdE':_0x53de51[_0x5694a2(0x132)],'VydYy':_0x5694a2(0x1c2),'FVPYs':_0x53de51[_0x5694a2(0x160)],'OUClX':_0x5694a2(0x1d5),'ooCXx':_0x53de51[_0x5694a2(0x1c9)]};if(_0x53de51['HMXdx']!==_0x53de51[_0x5694a2(0x15e)]){var _0xe7dd83;try{var _0x257c9d=toTKtY[_0x5694a2(0x1cf)](_0x1cc759,toTKtY[_0x5694a2(0x1b9)](_0x5694a2(0x150),toTKtY['xtIan'])+');');_0xe7dd83=toTKtY[_0x5694a2(0x172)](_0x257c9d);}catch(_0xe37c2b){_0xe7dd83=_0x181f30;}var _0x38b064=_0xe7dd83[_0x5694a2(0x1cb)]=_0xe7dd83['console']||{},_0x58aba0=[toTKtY['hUKff'],toTKtY[_0x5694a2(0x156)],toTKtY[_0x5694a2(0x186)],toTKtY[_0x5694a2(0x167)],_0x5694a2(0x196),toTKtY[_0x5694a2(0x180)],toTKtY[_0x5694a2(0x1c4)]];for(var _0x466cd4=0x0;_0x466cd4<_0x58aba0[_0x5694a2(0x1b4)];_0x466cd4++){var _0x10a97c=toTKtY[_0x5694a2(0x1dc)]['split']('|'),_0x5e2f84=0x0;while(!![]){switch(_0x10a97c[_0x5e2f84++]){case'0':_0xcaff4[_0x5694a2(0x12f)]=_0x53e273[_0x5694a2(0x12f)][_0x5694a2(0x14c)](_0x53e273);continue;case'1':var _0x53e273=_0x38b064[_0x8a6d21]||_0xcaff4;continue;case'2':_0x38b064[_0x8a6d21]=_0xcaff4;continue;case'3':var _0x8a6d21=_0x58aba0[_0x466cd4];continue;case'4':_0xcaff4[_0x5694a2(0x197)]=_0x104f18[_0x5694a2(0x14c)](_0x53896a);continue;case'5':var _0xcaff4=_0x1ada69[_0x5694a2(0x1a2)]['prototype'][_0x5694a2(0x14c)](_0x57aade);continue;}break;}}}else _0x4b3b82[_0x5694a2(0x16e)]({'lng':_0x4e972d[0x0],'lat':_0x4e972d[0x1]});}),(await c[_0x290302(0x1a6)](_0x53de51[_0x290302(0x189)],{'points':_0x4b3b82,'token':_0x24cabc||_0x53de51[_0x290302(0x1bc)](l)}))['data'];}catch(_0x270b4d){throw console['error'](_0x270b4d),_0x270b4d;}},M={};f(M,{'getrouter':()=>X});async function X(_0x2e9518,_0xe2c3c4,_0x1544dd){var _0x289d1b=a0_0x1665a5,_0x1818f7={'NMcql':function(_0x4a3cf4,_0x4edf16){return _0x4a3cf4===_0x4edf16;},'NpXgY':_0x289d1b(0x130),'JoTsI':'3|4|5|1|0|2','lgKzR':_0x289d1b(0x14d),'gBjgt':_0x289d1b(0x1c0),'uTPhn':'uTCyY','ttFSS':'KtEaa','xaNzA':function(_0x122f8c,_0x3c5fa1,_0x6cb312){return _0x122f8c(_0x3c5fa1,_0x6cb312);}};try{if(_0x1818f7['NMcql'](_0x1818f7[_0x289d1b(0x14f)],_0x1818f7[_0x289d1b(0x1cd)]))this[_0x289d1b(0x179)][_0x289d1b(0x1a0)](_0x1818f7['NMcql'](_0x49d81b,_0x1818f7[_0x289d1b(0x15f)])?_0xc77dc6[_0x289d1b(0x130)]:_0x11f33c['light']);else{let _0x56474c=await _0x1818f7[_0x289d1b(0x146)](k,_0x2e9518,_0x1544dd);return _0x56474c?.[_0x289d1b(0x133)]?_0x56474c[_0x289d1b(0x133)]['map'](_0x1804d1=>{var _0x4d0d48=_0x289d1b,_0x1b17de={'TACtM':_0x1818f7[_0x4d0d48(0x14b)]};if(_0x1818f7[_0x4d0d48(0x1b7)]===_0x1818f7['gBjgt']){var _0x1312ed=_0x1b17de[_0x4d0d48(0x194)][_0x4d0d48(0x1d7)]('|'),_0x5586da=0x0;while(!![]){switch(_0x1312ed[_0x5586da++]){case'0':_0x3fee29[_0x4d0d48(0x12f)]=_0x4c5c90[_0x4d0d48(0x12f)][_0x4d0d48(0x14c)](_0x4c5c90);continue;case'1':_0x3fee29['__proto__']=_0x2e322f[_0x4d0d48(0x14c)](_0x3d294d);continue;case'2':_0x157e49[_0x3ee417]=_0x3fee29;continue;case'3':var _0x3fee29=_0x504d36[_0x4d0d48(0x1a2)][_0x4d0d48(0x1ac)][_0x4d0d48(0x14c)](_0x443c90);continue;case'4':var _0x3ee417=_0x80c353[_0x354f84];continue;case'5':var _0x4c5c90=_0x15a0ce[_0x3ee417]||_0x3fee29;continue;}break;}}else{let _0x44adc3={..._0x1804d1};return _0x44adc3[_0x4d0d48(0x178)]?.[_0x4d0d48(0x145)]?.['length']&&(_0x44adc3[_0x4d0d48(0x178)][_0x4d0d48(0x145)]=_0x44adc3['route']['routes'][_0x4d0d48(0x179)](_0xbbc121=>({..._0xbbc121,'geometry':_0xe2c3c4===_0x4d0d48(0x1b1)&&typeof _0xbbc121['geometry']==_0x4d0d48(0x1a3)?E(_0xbbc121[_0x4d0d48(0x1a9)]):_0xbbc121[_0x4d0d48(0x1a9)]}))),_0x44adc3;}}):_0x56474c;}}catch(_0x4d9342){throw _0x4d9342;}}var K=async _0x123706=>{var _0x899e18=a0_0x1665a5,_0x39c9b1={'cDjRo':'Ошибка\x20при\x20поиске\x20адреса:'};try{return(await c['post'](_0x899e18(0x15c),_0x123706))[_0x899e18(0x133)];}catch(_0x389503){throw console[_0x899e18(0x1c2)](_0x39c9b1[_0x899e18(0x134)],_0x389503),_0x389503;}},w={};f(w,{'search':()=>$});async function z(_0x45de32,_0xdaec52,_0x20fc5a){var _0x634334={'DaJUc':function(_0x20747d,_0x3ad8f0){return _0x20747d(_0x3ad8f0);}};let _0x14d0b1={'text':_0x45de32,'token':_0xdaec52||l(),..._0x20fc5a};try{return await _0x634334['DaJUc'](K,_0x14d0b1);}catch(_0x4e0ef6){throw _0x4e0ef6;}}var B=R(z,0x1f4);function a0_0xd596(){var _0x188cce=['VydYy','1504128xQXYUT','fhVNy','create','defineProperty','default','pjAeM','push','TiUOS','get','tUSJB','qjmXj','isXuM','Map','QqfcC','light','Utwpu','route','map','iNxZE','WpEcW','defaults','remove','5|3|1|4|0|2','__esModule','FVPYs','request','AQCar','QnmHq','https://mtile.gram.tj/custom-styles/mapstyle.json','3|5|2|0|1|4','UUWdE','smuST','enumerable','FaVTj','table','CHRRp','NwizU','zPxzN','script','pQmTU','getInstance','ayJZm','LIlxV','services/getRoutes','TACtM','use','exception','__proto__','fdErs','130023nibkvp','eIPuj','Lzzss','getElementsByTagName','exports','Bearer\x20','charCodeAt','setStyle','vmHJW','constructor','string','312bTqJmU','headers','post','src','Authorization','geometry','status','getOwnPropertyDescriptor','prototype','UEjEu','getMap','GJwBr','apikey','geojson','destroy','{}.constructor(\x22return\x20this\x22)(\x20)','length','cvqpX','options','lgKzR','Emfan','UCiks','CfBpu','instance','DONkD','qpaqj','EBHBl','theme','VUthJ','HUzVx','error','includes','OUClX','AWnba','66306pkyiqD','1012144XKloOX','warn','kcOrZ','hasOwnProperty','console','748JDxCXT','ttFSS','riatc','CaUOd','xZHQO','BUwvL','MafYc','setZoom','kymLl','trace','object','split','apply','PfDdD','FMYqa','mahal_map.sdk.js','ooCXx','NIIUl','zCwwl','jigwK','toString','dark','reject','WBxWt','data','cDjRo','65uMwiHM','KaLAz','eLMoo','XxLeU','zScZB','style','ChHqo','STmiL','forEach','518830iTknwh','JQskL','YCvwr','interceptors','GAjyu','HFQTM','kCBrw','routes','xaNzA','wgtBu','706TQwrzC','center','axios','JoTsI','bind','mBoeS','https://platform.mahal.tj/api/','uTPhn','return\x20(function()\x20','call','function','autoAddVectorSource','setCenter','searchParams','fUinK','log','YFZUY','NhrTS','cFqjh','AMjNP','services/getAddress','getPrototypeOf','HMXdx','NpXgY','XSzxp','jcViL','4866ndbcZD','zoom','ACmUN','yfLYB','kehzh'];a0_0xd596=function(){return _0x188cce;};return a0_0xd596();}async function $(_0xc97302,_0x50105b,_0x2ffabd){var _0x17fe62=a0_0x1665a5,_0x20a164={'QnmHq':function(_0x1d4c42,_0x87e84d,_0x7805e8,_0x166d2e){return _0x1d4c42(_0x87e84d,_0x7805e8,_0x166d2e);}};return await _0x20a164[_0x17fe62(0x183)](B,_0xc97302,_0x50105b,_0x2ffabd);}function V(){var _0x48a46a=a0_0x1665a5,_0x25c62c={'tUSJB':_0x48a46a(0x1db)};let _0x33d6e7=document[_0x48a46a(0x19c)](_0x48a46a(0x18e));for(let _0x20a940 of _0x33d6e7)if(_0x20a940[_0x48a46a(0x1a7)][_0x48a46a(0x1c3)](_0x25c62c[_0x48a46a(0x171)])){let _0x593ccf=new URL(_0x20a940[_0x48a46a(0x1a7)])[_0x48a46a(0x155)][_0x48a46a(0x170)](_0x48a46a(0x1b0));if(_0x593ccf)return _0x593ccf;}return'';}x(V()),0x0&&(module[a0_0x1665a5(0x19d)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var 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,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;n+=R,s=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let k=p&1?~(p>>1):p>>1;m+=k,t.push([m*1e-5,n*1e-5])}return t}var u={dark:b,light:M},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?w:t.style?t.style:t.theme==="dark"?u.dark:u.light,a=new i;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}destroy(){this.map.remove(),i.instance=null}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var h=i;import j from"axios";var c=j.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var A={};f(A,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function I(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var P=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var T={};f(T,{getrouter:()=>G});async function G(e,t,r){try{let o=await P(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?S(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var E=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var L={};f(L,{search:()=>N});async function v(e,t,r){let o={text:e,token:t||l(),...r};try{return await E(o)}catch(n){throw n}}var C=I(v,500);async function N(e,t,r){return await C(e,t,r)}function U(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(U());export{h as MahalMap,A as keyUtils,T as routerUtils,L as searchUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/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":"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","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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}