mahal_map 1.1.7 → 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
@@ -1,4 +1,4 @@
1
- import { Map as Map$1 } from 'maplibre-gl';
1
+ import { Map } from 'maplibre-gl';
2
2
 
3
3
  interface IMahalMapOptions {
4
4
  container?: string | HTMLDocument;
@@ -72,15 +72,19 @@ interface IRoute {
72
72
  };
73
73
  }
74
74
 
75
- declare function createMap(options: IMahalMapOptions, maplibreObject?: {
76
- Map: typeof Map$1;
77
- } | typeof Map$1): Map$1;
78
- declare function setStyle(theme: string, map: Map$1): void;
79
-
80
- declare const Map_createMap: typeof createMap;
81
- declare const Map_setStyle: typeof setStyle;
82
- declare namespace Map {
83
- export { Map_createMap as createMap, Map_setStyle as setStyle };
75
+ declare class MahalMap {
76
+ private static instance;
77
+ private map;
78
+ private options;
79
+ private constructor();
80
+ static create(options: IMahalMapOptions, maplibreObject?: {
81
+ Map: typeof Map;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
84
88
  }
85
89
 
86
90
  declare function saveKey(param: string): void;
@@ -108,12 +112,12 @@ declare namespace routerUtils {
108
112
  export { routerUtils_getrouter as getrouter };
109
113
  }
110
114
 
111
- declare const MahalMap: {
112
- Map: typeof Map;
115
+ declare const MMap: {
116
+ MahalMap: typeof MahalMap;
113
117
  keyUtils: typeof keyUtils;
114
118
  searchUtils: typeof searchUtils;
115
119
  routerUtils: typeof routerUtils;
116
120
  loadKeyFromScriptUrl: () => string;
117
121
  };
118
122
 
119
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
123
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Map as Map$1 } from 'maplibre-gl';
1
+ import { Map } from 'maplibre-gl';
2
2
 
3
3
  interface IMahalMapOptions {
4
4
  container?: string | HTMLDocument;
@@ -72,15 +72,19 @@ interface IRoute {
72
72
  };
73
73
  }
74
74
 
75
- declare function createMap(options: IMahalMapOptions, maplibreObject?: {
76
- Map: typeof Map$1;
77
- } | typeof Map$1): Map$1;
78
- declare function setStyle(theme: string, map: Map$1): void;
79
-
80
- declare const Map_createMap: typeof createMap;
81
- declare const Map_setStyle: typeof setStyle;
82
- declare namespace Map {
83
- export { Map_createMap as createMap, Map_setStyle as setStyle };
75
+ declare class MahalMap {
76
+ private static instance;
77
+ private map;
78
+ private options;
79
+ private constructor();
80
+ static create(options: IMahalMapOptions, maplibreObject?: {
81
+ Map: typeof Map;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
84
88
  }
85
89
 
86
90
  declare function saveKey(param: string): void;
@@ -108,12 +112,12 @@ declare namespace routerUtils {
108
112
  export { routerUtils_getrouter as getrouter };
109
113
  }
110
114
 
111
- declare const MahalMap: {
112
- Map: typeof Map;
115
+ declare const MMap: {
116
+ MahalMap: typeof MahalMap;
113
117
  keyUtils: typeof keyUtils;
114
118
  searchUtils: typeof searchUtils;
115
119
  routerUtils: typeof routerUtils;
116
120
  loadKeyFromScriptUrl: () => string;
117
121
  };
118
122
 
119
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
123
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x2db0fa=a0_0x21cd;(function(_0x503a4d,_0xbfc83a){var _0x95bc78=a0_0x21cd,_0x4c8c53=_0x503a4d();while(!![]){try{var _0x4b665e=parseInt(_0x95bc78(0x1b6))/0x1*(-parseInt(_0x95bc78(0x1e8))/0x2)+-parseInt(_0x95bc78(0x1b3))/0x3*(-parseInt(_0x95bc78(0x176))/0x4)+parseInt(_0x95bc78(0x1bb))/0x5+parseInt(_0x95bc78(0x1ce))/0x6+parseInt(_0x95bc78(0x1bc))/0x7+parseInt(_0x95bc78(0x1bf))/0x8+-parseInt(_0x95bc78(0x194))/0x9;if(_0x4b665e===_0xbfc83a)break;else _0x4c8c53['push'](_0x4c8c53['shift']());}catch(_0x37576d){_0x4c8c53['push'](_0x4c8c53['shift']());}}}(a0_0x2cb1,0x213ec));var K=Object[a0_0x2db0fa(0x1ca)],u=Object['defineProperty'],C=Object['getOwnPropertyDescriptor'],N=Object[a0_0x2db0fa(0x1b8)],U=Object[a0_0x2db0fa(0x1a1)],F=Object[a0_0x2db0fa(0x1b9)][a0_0x2db0fa(0x1f2)],c=(_0x108741,_0x184fda)=>{var _0x3bc64b=a0_0x2db0fa,_0x284f82={'ZmrvR':function(_0x4d5995,_0x28db43,_0x58a3c2,_0xebe88e){return _0x4d5995(_0x28db43,_0x58a3c2,_0xebe88e);}};for(var _0x21fbcc in _0x184fda)_0x284f82[_0x3bc64b(0x1db)](u,_0x108741,_0x21fbcc,{'get':_0x184fda[_0x21fbcc],'enumerable':!0x0});},T=(_0x154a57,_0x5c4a2d,_0x5a75e9,_0x10e7b1)=>{var _0x19d026=a0_0x2db0fa,_0x48b734={'dxUEs':function(_0x317a90,_0x3bc021){return _0x317a90==_0x3bc021;},'tXaty':_0x19d026(0x17c),'vtTEM':_0x19d026(0x182),'czYtZ':function(_0x7e54ff,_0x183209){return _0x7e54ff(_0x183209);},'cJGpz':function(_0x2d3532,_0x352598){return _0x2d3532!==_0x352598;},'FmiTA':function(_0x4b82a4,_0x594f07,_0x5abf68,_0x126e7d){return _0x4b82a4(_0x594f07,_0x5abf68,_0x126e7d);},'EzvSD':function(_0x5e7bc0,_0x54aa57,_0x5d9ca9){return _0x5e7bc0(_0x54aa57,_0x5d9ca9);}};if(_0x5c4a2d&&_0x48b734['dxUEs'](typeof _0x5c4a2d,_0x48b734[_0x19d026(0x192)])||typeof _0x5c4a2d==_0x48b734['vtTEM']){for(let _0x3f398a of _0x48b734[_0x19d026(0x1af)](N,_0x5c4a2d))!F[_0x19d026(0x1c4)](_0x154a57,_0x3f398a)&&_0x48b734[_0x19d026(0x1ea)](_0x3f398a,_0x5a75e9)&&_0x48b734[_0x19d026(0x1d2)](u,_0x154a57,_0x3f398a,{'get':()=>_0x5c4a2d[_0x3f398a],'enumerable':!(_0x10e7b1=_0x48b734[_0x19d026(0x1c1)](C,_0x5c4a2d,_0x3f398a))||_0x10e7b1[_0x19d026(0x1cf)]});}return _0x154a57;},v=(_0x42bce1,_0x3cd0e4,_0x1591b4)=>(_0x1591b4=_0x42bce1!=null?K(U(_0x42bce1)):{},T(_0x3cd0e4||!_0x42bce1||!_0x42bce1[a0_0x2db0fa(0x1ae)]?u(_0x1591b4,a0_0x2db0fa(0x17b),{'value':_0x42bce1,'enumerable':!0x0}):_0x1591b4,_0x42bce1)),_=_0x1fe53b=>T(u({},a0_0x2db0fa(0x1ae),{'value':!0x0}),_0x1fe53b),V={};c(V,{'Map':()=>d,'keyUtils':()=>x,'routerUtils':()=>S,'searchUtils':()=>b}),module[a0_0x2db0fa(0x1ba)]=_(V);var d={};c(d,{'createMap':()=>X,'setStyle':()=>z});var A=a0_0x2db0fa(0x1d7),M=a0_0x2db0fa(0x1a0),P=a0_0x2db0fa(0x189),w='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function L(_0x59240c){var _0xea134e=a0_0x2db0fa,_0x12e5d0={'VYrHA':function(_0xde4985,_0x45dd4b){return _0xde4985<_0x45dd4b;},'zwMaT':function(_0xf9212e,_0x201349){return _0xf9212e-_0x201349;},'BkEtN':function(_0x2d14f0,_0xec2e48){return _0x2d14f0&_0xec2e48;},'eWaPJ':function(_0x21ec12,_0x5909d9){return _0x21ec12&_0x5909d9;},'rjlFa':function(_0x3f5b06,_0x3c1425){return _0x3f5b06>>_0x3c1425;},'cteFW':function(_0x1217ed,_0x77d8b4){return _0x1217ed>>_0x77d8b4;},'iCMdN':function(_0x132eb5,_0xb8123e){return _0x132eb5<<_0xb8123e;},'bSMMI':function(_0x5c4cbc,_0xece8d2){return _0x5c4cbc>=_0xece8d2;},'FdDuQ':function(_0x272a7c,_0x40ae8c){return _0x272a7c&_0x40ae8c;},'cclKA':function(_0x58f66b,_0x2dd09b){return _0x58f66b>>_0x2dd09b;}};let _0xbb1cf2=[],_0x5d15f1=0x0,_0x44a77b=_0x59240c['length'],_0x330cb2=0x0,_0x2f898f=0x0;for(;_0x12e5d0['VYrHA'](_0x5d15f1,_0x44a77b);){let _0x516d32,_0x58db11=0x0,_0x5a334b=0x0;do _0x516d32=_0x12e5d0['zwMaT'](_0x59240c[_0xea134e(0x19f)](_0x5d15f1++),0x3f),_0x5a334b|=_0x12e5d0[_0xea134e(0x1e7)](_0x516d32,0x1f)<<_0x58db11,_0x58db11+=0x5;while(_0x516d32>=0x20);let _0x5500e3=_0x12e5d0[_0xea134e(0x17d)](_0x5a334b,0x1)?~_0x12e5d0[_0xea134e(0x162)](_0x5a334b,0x1):_0x12e5d0['cteFW'](_0x5a334b,0x1);_0x330cb2+=_0x5500e3,_0x58db11=0x0,_0x5a334b=0x0;do _0x516d32=_0x59240c[_0xea134e(0x19f)](_0x5d15f1++)-0x3f,_0x5a334b|=_0x12e5d0[_0xea134e(0x1a9)](_0x12e5d0[_0xea134e(0x1e7)](_0x516d32,0x1f),_0x58db11),_0x58db11+=0x5;while(_0x12e5d0[_0xea134e(0x1e1)](_0x516d32,0x20));let _0x2b4425=_0x12e5d0['FdDuQ'](_0x5a334b,0x1)?~_0x12e5d0[_0xea134e(0x1c0)](_0x5a334b,0x1):_0x5a334b>>0x1;_0x2f898f+=_0x2b4425,_0xbb1cf2[_0xea134e(0x1f1)]([_0x2f898f*0.00001,_0x330cb2*0.00001]);}return _0xbb1cf2;}var f={'dark':M,'light':P};function X(_0x5555ca,_0x5ce733){var _0x4b0203=a0_0x2db0fa,_0x53a450={'bexjO':_0x4b0203(0x1e3),'GBPdo':function(_0x4e85f6,_0x3af4fc){return _0x4e85f6===_0x3af4fc;},'GBhJE':_0x4b0203(0x1de),'BiIph':_0x4b0203(0x190)};let _0x249b4a,_0x3e6f4c=window[_0x4b0203(0x16b)]||_0x5ce733;if(!_0x3e6f4c)throw new Error(_0x53a450[_0x4b0203(0x1d5)]);return _0x5555ca['autoAddVectorSource']?_0x249b4a=w:_0x249b4a=_0x5555ca[_0x4b0203(0x1d0)]?_0x5555ca[_0x4b0203(0x1d0)]:_0x53a450[_0x4b0203(0x1df)](_0x5555ca['theme'],_0x53a450[_0x4b0203(0x1aa)])?f[_0x4b0203(0x1de)]:f['light'],new _0x3e6f4c[(_0x4b0203(0x193))]({'container':_0x5555ca[_0x4b0203(0x1da)]||_0x53a450['BiIph'],'style':_0x249b4a,'center':_0x5555ca[_0x4b0203(0x1a8)]||[69.624024,40.279687],'zoom':_0x5555ca[_0x4b0203(0x1ad)]||0x5});}function z(_0x4a476e,_0x1430b8){var _0x4d94d5=a0_0x2db0fa,_0x3e38c2={'VFBWJ':function(_0x5a3aab,_0x145c2f){return _0x5a3aab===_0x145c2f;},'vzbJz':_0x4d94d5(0x1de)};_0x1430b8[_0x4d94d5(0x1ab)](_0x3e38c2[_0x4d94d5(0x19d)](_0x4a476e,_0x3e38c2[_0x4d94d5(0x1dc)])?f[_0x4d94d5(0x1de)]:f[_0x4d94d5(0x1a5)]);}var x={};c(x,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>h});var I=v(require(a0_0x2db0fa(0x165))),p=I[a0_0x2db0fa(0x17b)]['create']({'baseURL':A});p['interceptors'][a0_0x2db0fa(0x18a)]['use'](_0x40403e=>_0x40403e,_0x1dd53d=>(_0x1dd53d[a0_0x2db0fa(0x18a)]?.[a0_0x2db0fa(0x16f)]===0x191&&y(),Promise[a0_0x2db0fa(0x1bd)](_0x1dd53d)));function a0_0x21cd(_0x3d7a75,_0x580dac){var _0x8264c0=a0_0x2cb1();return a0_0x21cd=function(_0x103308,_0xe99f6){_0x103308=_0x103308-0x162;var _0x4c0cb7=_0x8264c0[_0x103308];return _0x4c0cb7;},a0_0x21cd(_0x3d7a75,_0x580dac);}function R(_0x5e494e,_0x4e6a10){var _0x12e5cd=a0_0x2db0fa,_0x48303d={'mfAEU':function(_0x40bcd8,_0x13dd33){return _0x40bcd8<_0x13dd33;},'RDGvT':function(_0x5b06b4,_0x3eb4bc){return _0x5b06b4<<_0x3eb4bc;},'smnhX':function(_0x3b9ac5,_0x3c3f2d){return _0x3b9ac5&_0x3c3f2d;},'IeQgj':function(_0x23ae00,_0x4a477b){return _0x23ae00>=_0x4a477b;},'DTpLi':function(_0x4a4cab,_0x2388ff){return _0x4a4cab>>_0x2388ff;},'CrkOn':function(_0x10801c,_0x28684f){return _0x10801c-_0x28684f;},'FRlmy':function(_0x425b1c,_0x554eb6){return _0x425b1c&_0x554eb6;},'zAaac':function(_0x3cc4ac,_0x4443c0){return _0x3cc4ac*_0x4443c0;},'luYKP':function(_0x19f553,..._0x465e1c){return _0x19f553(..._0x465e1c);},'hSnTd':_0x12e5cd(0x16c)};let _0x8c0772;return(..._0x425e26)=>(_0x8c0772&&clearTimeout(_0x8c0772),new Promise(_0x4689b5=>{var _0x4b2bdd=_0x12e5cd,_0x244af2={'PFchi':function(_0x5ef743,..._0x28c1c6){return _0x48303d['luYKP'](_0x5ef743,..._0x28c1c6);},'RCWhk':function(_0x400f22,_0x408c8d){return _0x400f22(_0x408c8d);}};if(_0x48303d[_0x4b2bdd(0x178)]===_0x4b2bdd(0x16c))_0x8c0772=setTimeout(async()=>{var _0x421b88=_0x4b2bdd;let _0x512a18=await _0x244af2[_0x421b88(0x1d4)](_0x5e494e,..._0x425e26);_0x244af2[_0x421b88(0x1b2)](_0x4689b5,_0x512a18);},_0x4e6a10);else{let _0x28565d=[],_0x2eff1e=0x0,_0x3eba9e=_0xe7aa06[_0x4b2bdd(0x171)],_0x1c2f8f=0x0,_0x2aea41=0x0;for(;_0x48303d[_0x4b2bdd(0x18c)](_0x2eff1e,_0x3eba9e);){let _0x18f8f6,_0x58fbd2=0x0,_0x303629=0x0;do _0x18f8f6=_0x2b2ae3[_0x4b2bdd(0x19f)](_0x2eff1e++)-0x3f,_0x303629|=_0x48303d[_0x4b2bdd(0x191)](_0x48303d[_0x4b2bdd(0x163)](_0x18f8f6,0x1f),_0x58fbd2),_0x58fbd2+=0x5;while(_0x48303d[_0x4b2bdd(0x179)](_0x18f8f6,0x20));let _0x4a6bb1=_0x48303d[_0x4b2bdd(0x163)](_0x303629,0x1)?~_0x48303d['DTpLi'](_0x303629,0x1):_0x48303d[_0x4b2bdd(0x183)](_0x303629,0x1);_0x1c2f8f+=_0x4a6bb1,_0x58fbd2=0x0,_0x303629=0x0;do _0x18f8f6=_0x48303d[_0x4b2bdd(0x1dd)](_0x1368db[_0x4b2bdd(0x19f)](_0x2eff1e++),0x3f),_0x303629|=_0x48303d[_0x4b2bdd(0x163)](_0x18f8f6,0x1f)<<_0x58fbd2,_0x58fbd2+=0x5;while(_0x48303d[_0x4b2bdd(0x179)](_0x18f8f6,0x20));let _0x2b11ed=_0x48303d['FRlmy'](_0x303629,0x1)?~(_0x303629>>0x1):_0x48303d[_0x4b2bdd(0x183)](_0x303629,0x1);_0x2aea41+=_0x2b11ed,_0x28565d['push']([_0x2aea41*0.00001,_0x48303d[_0x4b2bdd(0x181)](_0x1c2f8f,0.00001)]);}return _0x28565d;}}));}var g='';function h(_0xe37045){var _0x40b549=a0_0x2db0fa;_0xe37045!==''&&(g=_0xe37045,p[_0x40b549(0x199)][_0x40b549(0x169)][_0x40b549(0x1d9)][_0x40b549(0x198)]='Bearer\x20'+_0xe37045);}function y(){var _0x449671=a0_0x2db0fa,_0x16608f={'JylFV':'return\x20(function()\x20','wTIoM':function(_0x4df482,_0x49b070){return _0x4df482!==_0x49b070;},'Mkagf':_0x449671(0x174),'NzYWE':'log','AHuvF':'warn','fsnLT':_0x449671(0x1c2),'ZYOnO':_0x449671(0x19a),'aDoRE':'trace','mztxU':function(_0x55bde6,_0x2ca2cc){return _0x55bde6<_0x2ca2cc;},'GMpku':_0x449671(0x167),'tGTMe':_0x449671(0x1ed),'OndGd':function(_0x1c7627){return _0x1c7627();}},_0x487d83=(function(){var _0x127ba5=!![];return function(_0x550b84,_0x216d38){var _0x36aa69=_0x127ba5?function(){if(_0x216d38){var _0x113ce8=_0x216d38['apply'](_0x550b84,arguments);return _0x216d38=null,_0x113ce8;}}:function(){};return _0x127ba5=![],_0x36aa69;};}()),_0xd5fb1a=_0x487d83(this,function(){var _0x2ad439=_0x449671,_0x22db45={'fnbNJ':function(_0x3890b1,_0x167784){return _0x3890b1+_0x167784;},'SbEEE':_0x16608f['JylFV'],'OHxzh':function(_0x3027f3,_0x5e075b){var _0x560dce=a0_0x21cd;return _0x16608f[_0x560dce(0x1e6)](_0x3027f3,_0x5e075b);},'eaPBm':_0x2ad439(0x17e),'xuDEt':_0x16608f[_0x2ad439(0x168)]},_0x145bb6=function(){var _0x183d10=_0x2ad439,_0x4cf2ec;try{_0x4cf2ec=Function(_0x22db45['fnbNJ'](_0x22db45[_0x183d10(0x16a)](_0x22db45[_0x183d10(0x1ef)],_0x183d10(0x1cb)),');'))();}catch(_0x2e3bb4){_0x22db45[_0x183d10(0x17a)](_0x22db45[_0x183d10(0x1be)],_0x22db45[_0x183d10(0x1e5)])?_0x4cf2ec=window:_0x2902ab[_0x183d10(0x1f1)]({'lng':_0x172fc6[0x0],'lat':_0x401a86[0x1]});}return _0x4cf2ec;},_0x2b329c=_0x145bb6(),_0x506ef9=_0x2b329c['console']=_0x2b329c['console']||{},_0x1e5d9b=[_0x16608f[_0x2ad439(0x1f0)],_0x16608f[_0x2ad439(0x1e9)],_0x2ad439(0x1a3),_0x2ad439(0x173),_0x16608f[_0x2ad439(0x1c9)],_0x16608f['ZYOnO'],_0x16608f[_0x2ad439(0x19e)]];for(var _0x4ef603=0x0;_0x16608f[_0x2ad439(0x1d1)](_0x4ef603,_0x1e5d9b[_0x2ad439(0x171)]);_0x4ef603++){if(_0x16608f[_0x2ad439(0x1e6)](_0x16608f[_0x2ad439(0x1c3)],_0x16608f[_0x2ad439(0x166)])){var _0x31a0af='3|0|5|1|2|4'[_0x2ad439(0x1a4)]('|'),_0x38de24=0x0;while(!![]){switch(_0x31a0af[_0x38de24++]){case'0':var _0x4df62f=_0x1e5d9b[_0x4ef603];continue;case'1':_0x1236cb['__proto__']=_0x487d83[_0x2ad439(0x186)](_0x487d83);continue;case'2':_0x1236cb[_0x2ad439(0x1eb)]=_0x5b004d[_0x2ad439(0x1eb)][_0x2ad439(0x186)](_0x5b004d);continue;case'3':var _0x1236cb=_0x487d83[_0x2ad439(0x197)]['prototype']['bind'](_0x487d83);continue;case'4':_0x506ef9[_0x4df62f]=_0x1236cb;continue;case'5':var _0x5b004d=_0x506ef9[_0x4df62f]||_0x1236cb;continue;}break;}}else{let _0x19f840={..._0x2b7473};return _0x19f840['route']?.[_0x2ad439(0x172)]?.[_0x2ad439(0x171)]&&(_0x19f840[_0x2ad439(0x1c8)][_0x2ad439(0x172)]=_0x19f840[_0x2ad439(0x1c8)][_0x2ad439(0x172)][_0x2ad439(0x190)](_0x1216e4=>({..._0x1216e4,'geometry':_0x6b851===_0x2ad439(0x177)&&typeof _0x1216e4[_0x2ad439(0x1ee)]==_0x2ad439(0x1cd)?_0x55ebeb(_0x1216e4['geometry']):_0x1216e4[_0x2ad439(0x1ee)]}))),_0x19f840;}}});_0x16608f[_0x449671(0x1a2)](_0xd5fb1a),(g='',p['defaults'][_0x449671(0x169)]['common']['Authorization']='');}var l=()=>g,b={};c(b,{'search':()=>O});var E=async _0x2c7146=>{var _0x1980e3=a0_0x2db0fa,_0x4d89a2={'soBji':function(_0x19905b,_0x14d72a){return _0x19905b(_0x14d72a);},'BSAbH':function(_0x22951d,_0x364b1a){return _0x22951d+_0x364b1a;},'wFHeW':_0x1980e3(0x164),'jRnsX':_0x1980e3(0x196),'UTcVq':_0x1980e3(0x17f)};try{if(_0x1980e3(0x196)!==_0x4d89a2[_0x1980e3(0x1c7)])_0x11a123=rbpzci['soBji'](_0x1ac90b,rbpzci['BSAbH'](rbpzci['wFHeW']+_0x1980e3(0x1cb),');'))();else return(await p['post'](_0x4d89a2[_0x1980e3(0x18b)],_0x2c7146))[_0x1980e3(0x1d6)];}catch(_0x1731b5){throw console[_0x1980e3(0x173)]('Ошибка\x20при\x20поиске\x20адреса:',_0x1731b5),_0x1731b5;}};async function B(_0x3356b6,_0x175cd2,_0x57e32b){var _0xf9b235=a0_0x2db0fa,_0x4c907c={'AVdzk':_0xf9b235(0x1c6),'ZGddb':_0xf9b235(0x1ac),'SlvbT':'apikey','fAsmC':function(_0x505e71){return _0x505e71();},'laYrx':function(_0x485c73,_0x40053e){return _0x485c73!==_0x40053e;},'xsFfn':_0xf9b235(0x1b7),'Zdubp':_0xf9b235(0x19b),'oJUZI':function(_0x47bf50,_0x4ae499){return _0x47bf50(_0x4ae499);}};let _0x27c883={'text':_0x3356b6,'token':_0x175cd2||_0x4c907c[_0xf9b235(0x1e4)](l),..._0x57e32b};try{if(_0x4c907c[_0xf9b235(0x18f)](_0x4c907c['xsFfn'],_0x4c907c[_0xf9b235(0x1b0)]))return await _0x4c907c[_0xf9b235(0x184)](E,_0x27c883);else{let _0x2b44b5=_0x32a6f2['getElementsByTagName'](_0x4c907c[_0xf9b235(0x1a6)]);for(let _0x3e1bd3 of _0x2b44b5)if(_0x3e1bd3[_0xf9b235(0x187)][_0xf9b235(0x19c)](_0x4c907c[_0xf9b235(0x195)])){let _0x4326d0=new _0x4eb1ab(_0x3e1bd3[_0xf9b235(0x187)])['searchParams']['get'](_0x4c907c[_0xf9b235(0x1a7)]);if(_0x4326d0)return _0x4326d0;}return'';}}catch(_0x4bde86){throw _0x4bde86;}}var D=R(B,0x1f4);async function O(_0x303393,_0x382d89,_0x376f65){return await D(_0x303393,_0x382d89,_0x376f65);}var S={};function a0_0x2cb1(){var _0x333c10=['GCgEl','RCWhk','273qPyWQD','zeYZa','apply','2LtGUML','IvSbw','getOwnPropertyNames','prototype','exports','3055FZwSQl','636111YbXsqu','reject','eaPBm','835608saFWJc','cclKA','EzvSD','exception','GMpku','call','apikey','script','jRnsX','route','fsnLT','create','{}.constructor(\x22return\x20this\x22)(\x20)','post','string','545556bUyoEB','enumerable','style','mztxU','FmiTA','zhWJX','PFchi','bexjO','data','https://platform.mahal.tj/api/','get','common','container','ZmrvR','vzbJz','CrkOn','dark','GBPdo','QGRAY','bSMMI','UXdmD','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20добавь\x20<script\x20src=\x27https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js\x27>\x20в\x20HTML.','fAsmC','xuDEt','wTIoM','BkEtN','56774crqtTD','AHuvF','cJGpz','toString','sMDHe','tSKBD','geometry','SbEEE','NzYWE','push','hasOwnProperty','rjlFa','smnhX','return\x20(function()\x20','axios','tGTMe','UkaOF','Mkagf','headers','fnbNJ','maplibregl','YIqAz','yWqMk','lUFmV','status','HjLie','length','routes','error','ylMbY','pUIPi','2108RebgTj','geojson','hSnTd','IeQgj','OHxzh','default','object','eWaPJ','Qevzw','services/getAddress','getElementsByTagName','zAaac','function','DTpLi','oJUZI','EdAze','bind','src','searchParams','https://mtile.gram.tj/custom-styles/mapstyle.json','request','UTcVq','mfAEU','RdFys','services/getRoutes','laYrx','map','RDGvT','tXaty','Map','1276848jEnVqB','ZGddb','JpTnu','constructor','Authorization','defaults','table','QfuGK','includes','VFBWJ','aDoRE','charCodeAt','https://mtile.gram.tj/custom-styles/dark-style.json','getPrototypeOf','OndGd','info','split','light','AVdzk','SlvbT','center','iCMdN','GBhJE','setStyle','mahal_map.sdk.js','zoom','__esModule','czYtZ','Zdubp'];a0_0x2cb1=function(){return _0x333c10;};return a0_0x2cb1();}c(S,{'getrouter':()=>$});var j=async(_0x6a8af7,_0x5a1d3c)=>{var _0x1bf10c=a0_0x2db0fa,_0x28f95a={'EdAze':function(_0xe01ec,_0x4f5454,_0x2913a9,_0x13ce03){return _0xe01ec(_0x4f5454,_0x2913a9,_0x13ce03);},'HjLie':function(_0x4b83f5,_0x5c8159){return _0x4b83f5!==_0x5c8159;},'xEzLW':function(_0x33e5cc,_0x369854){return _0x33e5cc===_0x369854;},'UXdmD':_0x1bf10c(0x1b4),'sMDHe':_0x1bf10c(0x18e)};try{if(_0x28f95a['xEzLW'](_0x28f95a[_0x1bf10c(0x1e2)],_0x1bf10c(0x1b4))){let _0x385753=[];return _0x6a8af7['forEach'](_0x158dec=>{var _0x3a8356=_0x1bf10c,_0x357e5a={'yWqMk':function(_0x49fb97,_0x584857,_0x36115d,_0x414f1c){var _0x2ff4d0=a0_0x21cd;return _0x28f95a[_0x2ff4d0(0x185)](_0x49fb97,_0x584857,_0x36115d,_0x414f1c);}};if(_0x28f95a[_0x3a8356(0x170)](_0x3a8356(0x18d),_0x3a8356(0x1e0)))_0x385753[_0x3a8356(0x1f1)]({'lng':_0x158dec[0x0],'lat':_0x158dec[0x1]});else{for(var _0xfe5d6f in _0x2e3933)_0x357e5a[_0x3a8356(0x16d)](_0x274dfc,_0x2f2bc1,_0xfe5d6f,{'get':_0x392f46[_0xfe5d6f],'enumerable':!0x0});}}),(await p[_0x1bf10c(0x1cc)](_0x28f95a[_0x1bf10c(0x1ec)],{'points':_0x385753,'token':_0x5a1d3c||l()}))[_0x1bf10c(0x1d6)];}else _0x5d44e8=_0x2d9eb5;}catch(_0x5b285b){throw console[_0x1bf10c(0x173)](_0x5b285b),_0x5b285b;}};async function $(_0x2e8126,_0x2157cf,_0x43a396){var _0x178cbe=a0_0x2db0fa,_0x2472ba={'fnvcr':function(_0x5a4592,_0x48db4f){return _0x5a4592!==_0x48db4f;},'mdXzx':_0x178cbe(0x175)};try{if(_0x2472ba['fnvcr'](_0x2472ba['mdXzx'],_0x178cbe(0x16e))){let _0x4311aa=await j(_0x2e8126,_0x43a396);return _0x4311aa?.['data']?_0x4311aa[_0x178cbe(0x1d6)][_0x178cbe(0x190)](_0x1e40fd=>{var _0x5ab265=_0x178cbe;let _0x52dffb={..._0x1e40fd};return _0x52dffb[_0x5ab265(0x1c8)]?.[_0x5ab265(0x172)]?.[_0x5ab265(0x171)]&&(_0x52dffb[_0x5ab265(0x1c8)][_0x5ab265(0x172)]=_0x52dffb[_0x5ab265(0x1c8)][_0x5ab265(0x172)][_0x5ab265(0x190)](_0x214ead=>({..._0x214ead,'geometry':_0x2157cf==='geojson'&&typeof _0x214ead[_0x5ab265(0x1ee)]==_0x5ab265(0x1cd)?L(_0x214ead[_0x5ab265(0x1ee)]):_0x214ead[_0x5ab265(0x1ee)]}))),_0x52dffb;}):_0x4311aa;}else{if(_0xc5e635){var _0x3ed8a7=_0x402490[_0x178cbe(0x1b5)](_0x525a82,arguments);return _0x4df288=null,_0x3ed8a7;}}}catch(_0x59257b){throw _0x59257b;}}function H(){var _0x1375ce=a0_0x2db0fa,_0x4360d0={'GCgEl':_0x1375ce(0x1c6),'zhWJX':_0x1375ce(0x1ac),'VBYWq':_0x1375ce(0x1c5)};let _0x2bf900=document[_0x1375ce(0x180)](_0x4360d0[_0x1375ce(0x1b1)]);for(let _0x1b6084 of _0x2bf900)if(_0x1b6084[_0x1375ce(0x187)][_0x1375ce(0x19c)](_0x4360d0[_0x1375ce(0x1d3)])){let _0xdff3=new URL(_0x1b6084[_0x1375ce(0x187)])[_0x1375ce(0x188)][_0x1375ce(0x1d8)](_0x4360d0['VBYWq']);if(_0xdff3)return _0xdff3;}return'';}h(H()),0x0&&(module[a0_0x2db0fa(0x1ba)]={'Map':Map,'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/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/debounce/index.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts"],"sourcesContent":["import * as Map from \"@lib/map/utils\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { Map, keyUtils, searchUtils, routerUtils };\r\n\r\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","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\nfunction createMap(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType\r\n): MapType {\r\n let finalStyle;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или добавь <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> в HTML.\"\r\n );\r\n }\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map = 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 return map;\r\n}\r\n\r\nfunction setStyle(theme: string, map: MapType) {\r\n map.setStyle(theme === \"dark\" ? defaultStyles.dark : defaultStyles.light);\r\n}\r\n\r\nexport { createMap, setStyle };\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","export * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","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 } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, 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 { 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 { 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, 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"],"mappings":"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","names":["index_exports","__export","utils_exports","saveKey_exports","__toCommonJS","utils_exports","__export","createMap","setStyle","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","maplibreObject","finalStyle","maplibre","VECTOR","setStyle","theme","map","saveKey_exports","__export","clearKey","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","debounce","fn","delay","timer","args","resolve","result","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","utils_exports","__export","getrouter","routingApi","param","token","points","e","api","getApiKey","err","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","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 j=Object.defineProperty;var l=(t,e)=>{for(var r in e)j(t,r,{get:e[r],enumerable:!0})};var T={};l(T,{createMap:()=>k,setStyle:()=>G});var g="https://platform.mahal.tj/api/";var h="https://mtile.gram.tj/custom-styles/dark-style.json",x="https://mtile.gram.tj/custom-styles/mapstyle.json",b="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function S(t){let e=[],r=0,o=t.length,a=0,m=0;for(;r<o;){let s,n=0,i=0;do s=t.charCodeAt(r++)-63,i|=(s&31)<<n,n+=5;while(s>=32);let R=i&1?~(i>>1):i>>1;a+=R,n=0,i=0;do s=t.charCodeAt(r++)-63,i|=(s&31)<<n,n+=5;while(s>=32);let E=i&1?~(i>>1):i>>1;m+=E,e.push([m*1e-5,a*1e-5])}return e}var u={dark:h,light:x};function k(t,e){let r,a=window.maplibregl||e;if(!a)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 \u0434\u043E\u0431\u0430\u0432\u044C <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> \u0432 HTML.");return t.autoAddVectorSource?r=b:r=t.style?t.style:t.theme==="dark"?u.dark:u.light,new a.Map({container:t.container||"map",style:r,center:t.center||[69.624024,40.279687],zoom:t.zoom||5})}function G(t,e){e.setStyle(t==="dark"?u.dark:u.light)}var M={};l(M,{clearKey:()=>f,getApiKey:()=>c,saveKey:()=>y});import K from"axios";var p=K.create({baseURL:g});p.interceptors.request.use(t=>t,t=>(t.request?.status===401&&f(),Promise.reject(t)));function A(t,e){let r;return(...o)=>(r&&clearTimeout(r),new Promise(a=>{r=setTimeout(async()=>{let m=await t(...o);a(m)},e)}))}var d="";function y(t){t!==""&&(d=t,p.defaults.headers.common.Authorization=`Bearer ${t}`)}function f(){d="",p.defaults.headers.common.Authorization=""}var c=()=>d;var w={};l(w,{search:()=>U});var P=async t=>{try{return(await p.post("services/getAddress",t)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function C(t,e,r){let o={text:t,token:e||c(),...r};try{return await P(o)}catch(a){throw a}}var N=A(C,500);async function U(t,e,r){return await N(t,e,r)}var I={};l(I,{getrouter:()=>F});var L=async(t,e)=>{try{let r=[];return t.forEach(a=>{r.push({lng:a[0],lat:a[1]})}),(await p.post("services/getRoutes",{points:r,token:e||c()})).data}catch(r){throw console.error(r),r}};async function F(t,e,r){try{let o=await L(t,r);return o?.data?o.data.map(m=>{let s={...m};return s.route?.routes?.length&&(s.route.routes=s.route.routes.map(n=>({...n,geometry:e==="geojson"&&typeof n.geometry=="string"?S(n.geometry):n.geometry}))),s}):o}catch(o){throw o}}function v(){let t=document.getElementsByTagName("script");for(let e of t)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}y(v());export{T as Map,M as keyUtils,I as routerUtils,w 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/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/debounce/index.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts","../src/index.ts"],"sourcesContent":["import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nfunction createMap(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType\r\n): MapType {\r\n let finalStyle;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или добавь <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> в HTML.\"\r\n );\r\n }\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map = 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 return map;\r\n}\r\n\r\nfunction setStyle(theme: string, map: MapType) {\r\n map.setStyle(theme === \"dark\" ? defaultStyles.dark : defaultStyles.light);\r\n}\r\n\r\nexport { createMap, setStyle };\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","export * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","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 } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, 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 { 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 { 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, 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 * as Map from \"@lib/map/utils\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { Map, keyUtils, searchUtils, routerUtils };\r\n\r\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,eAAAE,EAAA,aAAAC,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,CF7BA,IAAMU,EAAgB,CAAE,KAAMC,EAAM,MAAOC,CAAM,EAEjD,SAASC,EACPC,EACAC,EACS,CACT,IAAIC,EAIEC,EAFkB,OAAe,YAEJF,EAEnC,GAAI,CAACE,EACH,MAAM,IAAI,MACR,4XACF,EAGF,OAAIH,EAAQ,oBACVE,EAAaE,EAEbF,EAAaF,EAAQ,MACjBA,EAAQ,MACRA,EAAQ,QAAU,OAClBJ,EAAc,KACdA,EAAc,MAGR,IAAIO,EAAS,IAAI,CAC3B,UAAWH,EAAQ,WAAa,MAChC,MAAOE,EACP,OAAQF,EAAQ,QAAU,CAAC,UAAW,SAAS,EAC/C,KAAMA,EAAQ,MAAQ,CACxB,CAAC,CAGH,CAEA,SAASK,EAASC,EAAeC,EAAc,CAC7CA,EAAI,SAASD,IAAU,OAASV,EAAc,KAAOA,EAAc,KAAK,CAC1E,CG5CA,IAAAY,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,YAAAC,ICAA,OAAOC,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,SAASE,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,IAAIK,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,IAAAM,EAAA,GAAAC,EAAAD,EAAA,YAAAE,ICGO,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,EDLA,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,CEjDA,IAAAQ,EAAA,GAAAC,EAAAD,EAAA,eAAAE,ICEA,IAAMC,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,EDdA,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,CE3BA,SAASC,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":["utils_exports","__export","createMap","setStyle","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","maplibreObject","finalStyle","maplibre","VECTOR","setStyle","theme","map","saveKey_exports","__export","clearKey","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","debounce","fn","delay","timer","args","resolve","result","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","utils_exports","__export","getrouter","routingApi","param","token","points","e","api","getApiKey","err","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","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"]}