mahal_map 1.1.7 → 1.1.8

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,23 @@ 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;
75
+ declare class MahalMap$1 {
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$1;
83
+ static getInstance(): MahalMap$1;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
88
+ }
79
89
 
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 };
90
+ declare namespace MahalMap {
91
+ export { MahalMap$1 as MahalMap };
84
92
  }
85
93
 
86
94
  declare function saveKey(param: string): void;
@@ -108,12 +116,12 @@ declare namespace routerUtils {
108
116
  export { routerUtils_getrouter as getrouter };
109
117
  }
110
118
 
111
- declare const MahalMap: {
112
- Map: typeof Map;
119
+ declare const MMap: {
120
+ MahalMap: typeof MahalMap;
113
121
  keyUtils: typeof keyUtils;
114
122
  searchUtils: typeof searchUtils;
115
123
  routerUtils: typeof routerUtils;
116
124
  loadKeyFromScriptUrl: () => string;
117
125
  };
118
126
 
119
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
127
+ 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,23 @@ 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;
75
+ declare class MahalMap$1 {
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$1;
83
+ static getInstance(): MahalMap$1;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
88
+ }
79
89
 
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 };
90
+ declare namespace MahalMap {
91
+ export { MahalMap$1 as MahalMap };
84
92
  }
85
93
 
86
94
  declare function saveKey(param: string): void;
@@ -108,12 +116,12 @@ declare namespace routerUtils {
108
116
  export { routerUtils_getrouter as getrouter };
109
117
  }
110
118
 
111
- declare const MahalMap: {
112
- Map: typeof Map;
119
+ declare const MMap: {
120
+ MahalMap: typeof MahalMap;
113
121
  keyUtils: typeof keyUtils;
114
122
  searchUtils: typeof searchUtils;
115
123
  routerUtils: typeof routerUtils;
116
124
  loadKeyFromScriptUrl: () => string;
117
125
  };
118
126
 
119
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
127
+ 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_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});
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/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"]}
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 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};
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":"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","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/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"]}