mahal_map 1.2.7 → 1.2.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 +13 -9
- package/dist/index.d.ts +13 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -72,26 +72,31 @@ interface IMahalMapOptions {
|
|
|
72
72
|
autoAddVectorSource?: boolean;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
declare class CameraController {
|
|
76
|
+
private map;
|
|
77
|
+
constructor(map: Map);
|
|
78
|
+
setZoom(zoom: number, smooth?: boolean): void;
|
|
79
|
+
setBearing(bearing: number, smooth?: boolean): void;
|
|
80
|
+
resetBearing(smooth?: boolean): void;
|
|
81
|
+
}
|
|
82
|
+
|
|
75
83
|
declare class MahalMap {
|
|
76
84
|
private static instance;
|
|
77
85
|
private map;
|
|
86
|
+
private camera;
|
|
78
87
|
private options;
|
|
79
88
|
private constructor();
|
|
80
89
|
static create(options: IMahalMapOptions, maplibreObject?: {
|
|
81
90
|
Map: typeof Map;
|
|
82
91
|
} | typeof Map): MahalMap;
|
|
83
92
|
static getInstance(): MahalMap;
|
|
84
|
-
|
|
93
|
+
init(map: Map): void;
|
|
94
|
+
getCamera(): CameraController;
|
|
85
95
|
getMap(): Map;
|
|
86
96
|
setStyle(theme: "dark" | "light"): void;
|
|
87
97
|
setCenter(center: [number, number]): void;
|
|
88
98
|
setZoom(zoom: number): void;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
declare class CameraController {
|
|
92
|
-
private map;
|
|
93
|
-
constructor(map: Map);
|
|
94
|
-
setZoom(zoom: number, smooth?: boolean): void;
|
|
99
|
+
destroy(): void;
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
|
|
@@ -111,11 +116,10 @@ declare namespace keyUtils {
|
|
|
111
116
|
|
|
112
117
|
declare const MMap: {
|
|
113
118
|
MahalMap: typeof MahalMap;
|
|
114
|
-
CameraController: typeof CameraController;
|
|
115
119
|
Search: typeof Search;
|
|
116
120
|
Router: typeof Router;
|
|
117
121
|
keyUtils: typeof keyUtils;
|
|
118
122
|
loadKeyFromScriptUrl: () => string;
|
|
119
123
|
};
|
|
120
124
|
|
|
121
|
-
export {
|
|
125
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, Router, Search, MMap as default, keyUtils };
|
package/dist/index.d.ts
CHANGED
|
@@ -72,26 +72,31 @@ interface IMahalMapOptions {
|
|
|
72
72
|
autoAddVectorSource?: boolean;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
declare class CameraController {
|
|
76
|
+
private map;
|
|
77
|
+
constructor(map: Map);
|
|
78
|
+
setZoom(zoom: number, smooth?: boolean): void;
|
|
79
|
+
setBearing(bearing: number, smooth?: boolean): void;
|
|
80
|
+
resetBearing(smooth?: boolean): void;
|
|
81
|
+
}
|
|
82
|
+
|
|
75
83
|
declare class MahalMap {
|
|
76
84
|
private static instance;
|
|
77
85
|
private map;
|
|
86
|
+
private camera;
|
|
78
87
|
private options;
|
|
79
88
|
private constructor();
|
|
80
89
|
static create(options: IMahalMapOptions, maplibreObject?: {
|
|
81
90
|
Map: typeof Map;
|
|
82
91
|
} | typeof Map): MahalMap;
|
|
83
92
|
static getInstance(): MahalMap;
|
|
84
|
-
|
|
93
|
+
init(map: Map): void;
|
|
94
|
+
getCamera(): CameraController;
|
|
85
95
|
getMap(): Map;
|
|
86
96
|
setStyle(theme: "dark" | "light"): void;
|
|
87
97
|
setCenter(center: [number, number]): void;
|
|
88
98
|
setZoom(zoom: number): void;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
declare class CameraController {
|
|
92
|
-
private map;
|
|
93
|
-
constructor(map: Map);
|
|
94
|
-
setZoom(zoom: number, smooth?: boolean): void;
|
|
99
|
+
destroy(): void;
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
|
|
@@ -111,11 +116,10 @@ declare namespace keyUtils {
|
|
|
111
116
|
|
|
112
117
|
declare const MMap: {
|
|
113
118
|
MahalMap: typeof MahalMap;
|
|
114
|
-
CameraController: typeof CameraController;
|
|
115
119
|
Search: typeof Search;
|
|
116
120
|
Router: typeof Router;
|
|
117
121
|
keyUtils: typeof keyUtils;
|
|
118
122
|
loadKeyFromScriptUrl: () => string;
|
|
119
123
|
};
|
|
120
124
|
|
|
121
|
-
export {
|
|
125
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, Router, Search, MMap as default, keyUtils };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a0_0x3b2a(_0x491855,_0x3bb3bf){var _0x35240b=a0_0x21ef();return a0_0x3b2a=function(_0x3cc0d6,_0x48e127){_0x3cc0d6=_0x3cc0d6-0xe8;var _0x233945=_0x35240b[_0x3cc0d6];return _0x233945;},a0_0x3b2a(_0x491855,_0x3bb3bf);}var a0_0x4aceb4=a0_0x3b2a;(function(_0x38b790,_0x5ac48a){var _0x31ea48=a0_0x3b2a,_0x2158dd=_0x38b790();while(!![]){try{var _0x5a6631=-parseInt(_0x31ea48(0x177))/0x1*(-parseInt(_0x31ea48(0x155))/0x2)+parseInt(_0x31ea48(0x17c))/0x3*(-parseInt(_0x31ea48(0x10a))/0x4)+-parseInt(_0x31ea48(0x105))/0x5*(-parseInt(_0x31ea48(0xfb))/0x6)+-parseInt(_0x31ea48(0x10c))/0x7*(-parseInt(_0x31ea48(0x115))/0x8)+-parseInt(_0x31ea48(0x14b))/0x9+parseInt(_0x31ea48(0x14e))/0xa*(parseInt(_0x31ea48(0x17d))/0xb)+-parseInt(_0x31ea48(0x13d))/0xc*(parseInt(_0x31ea48(0xf6))/0xd);if(_0x5a6631===_0x5ac48a)break;else _0x2158dd['push'](_0x2158dd['shift']());}catch(_0x3bd9d2){_0x2158dd['push'](_0x2158dd['shift']());}}}(a0_0x21ef,0x7304c));var C=Object['create'],u=Object['defineProperty'],N=Object[a0_0x4aceb4(0xf3)],F=Object[a0_0x4aceb4(0x121)],U=Object[a0_0x4aceb4(0x184)],D=Object[a0_0x4aceb4(0xeb)]['hasOwnProperty'],M=(_0xbf86a1,_0x216a59)=>{var _0x165e50=a0_0x4aceb4,_0x478b0f={'rPqbF':function(_0x584842,_0x2d163a,_0x12a141,_0x5c9a04){return _0x584842(_0x2d163a,_0x12a141,_0x5c9a04);}};for(var _0x3644a0 in _0x216a59)_0x478b0f[_0x165e50(0x170)](u,_0xbf86a1,_0x3644a0,{'get':_0x216a59[_0x3644a0],'enumerable':!0x0});},S=(_0xa03c1a,_0x42c86d,_0x496a25,_0x31a224)=>{var _0x5c68bb=a0_0x4aceb4,_0x1b325d={'tCajh':function(_0x3485e8,_0x2ad35d){return _0x3485e8==_0x2ad35d;},'sGsJg':_0x5c68bb(0x13c),'xCffU':_0x5c68bb(0x106),'TQoZo':function(_0x4b6a64,_0xd44a96){return _0x4b6a64(_0xd44a96);},'jGDkz':function(_0x58f7ae,_0x14b38f,_0x42909f,_0x1ab56a){return _0x58f7ae(_0x14b38f,_0x42909f,_0x1ab56a);}};if(_0x42c86d&&_0x1b325d[_0x5c68bb(0x17b)](typeof _0x42c86d,_0x1b325d[_0x5c68bb(0x133)])||typeof _0x42c86d==_0x1b325d[_0x5c68bb(0x143)]){for(let _0x494480 of _0x1b325d[_0x5c68bb(0x171)](F,_0x42c86d))!D[_0x5c68bb(0x13b)](_0xa03c1a,_0x494480)&&_0x494480!==_0x496a25&&_0x1b325d[_0x5c68bb(0x13a)](u,_0xa03c1a,_0x494480,{'get':()=>_0x42c86d[_0x494480],'enumerable':!(_0x31a224=N(_0x42c86d,_0x494480))||_0x31a224['enumerable']});}return _0xa03c1a;},O=(_0x3ebf18,_0x275ef1,_0x386135)=>(_0x386135=_0x3ebf18!=null?C(U(_0x3ebf18)):{},S(_0x275ef1||!_0x3ebf18||!_0x3ebf18[a0_0x4aceb4(0x182)]?u(_0x386135,a0_0x4aceb4(0xf7),{'value':_0x3ebf18,'enumerable':!0x0}):_0x386135,_0x3ebf18)),X=_0x2f8c71=>S(u({},a0_0x4aceb4(0x182),{'value':!0x0}),_0x2f8c71),z={};M(z,{'CameraController':()=>d,'MahalMap':()=>h,'Router':()=>j,'Search':()=>k,'keyUtils':()=>b}),module[a0_0x4aceb4(0x12d)]=X(z);var w=a0_0x4aceb4(0x154),T=a0_0x4aceb4(0x149),A=a0_0x4aceb4(0x101),I='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function P(_0x24ed7f){var _0x1a57f8=a0_0x4aceb4,_0x2de0d6={'zvShy':function(_0x24cef1,_0x2e0921){return _0x24cef1<_0x2e0921;},'yreqE':function(_0x4469a5,_0x12d63c){return _0x4469a5-_0x12d63c;},'Wulmy':function(_0x814901,_0x3356a3){return _0x814901<<_0x3356a3;},'hqtzJ':function(_0x2422ec,_0x75fbf9){return _0x2422ec&_0x75fbf9;},'AhiDs':function(_0x488028,_0x2cbeeb){return _0x488028&_0x2cbeeb;},'bfACU':function(_0x1b71c6,_0x14adb2){return _0x1b71c6>>_0x14adb2;},'IVpxo':function(_0x4f0601,_0x5a4ed4){return _0x4f0601-_0x5a4ed4;},'omLSa':function(_0x389aa5,_0xd472fb){return _0x389aa5<<_0xd472fb;},'enlYJ':function(_0x2729f5,_0x4d4540){return _0x2729f5>=_0x4d4540;},'JWaKw':function(_0x1c328c,_0x5ef5f9){return _0x1c328c>>_0x5ef5f9;},'ffVxH':function(_0x5a686e,_0x586548){return _0x5a686e*_0x586548;},'EdPcg':function(_0x21af9d,_0x1e6749){return _0x21af9d*_0x1e6749;}};let _0x186305=[],_0x50b04a=0x0,_0x567d7a=_0x24ed7f['length'],_0x4366e1=0x0,_0x274b84=0x0;for(;_0x2de0d6['zvShy'](_0x50b04a,_0x567d7a);){let _0x4c18c8,_0x95e23d=0x0,_0x59718a=0x0;do _0x4c18c8=_0x2de0d6[_0x1a57f8(0x166)](_0x24ed7f[_0x1a57f8(0x138)](_0x50b04a++),0x3f),_0x59718a|=_0x2de0d6['Wulmy'](_0x2de0d6[_0x1a57f8(0x16d)](_0x4c18c8,0x1f),_0x95e23d),_0x95e23d+=0x5;while(_0x4c18c8>=0x20);let _0x4caae1=_0x2de0d6[_0x1a57f8(0xef)](_0x59718a,0x1)?~_0x2de0d6['bfACU'](_0x59718a,0x1):_0x2de0d6[_0x1a57f8(0xf0)](_0x59718a,0x1);_0x4366e1+=_0x4caae1,_0x95e23d=0x0,_0x59718a=0x0;do _0x4c18c8=_0x2de0d6[_0x1a57f8(0x124)](_0x24ed7f[_0x1a57f8(0x138)](_0x50b04a++),0x3f),_0x59718a|=_0x2de0d6[_0x1a57f8(0x145)](_0x2de0d6[_0x1a57f8(0x16d)](_0x4c18c8,0x1f),_0x95e23d),_0x95e23d+=0x5;while(_0x2de0d6[_0x1a57f8(0x11f)](_0x4c18c8,0x20));let _0x35c85f=_0x2de0d6[_0x1a57f8(0x16d)](_0x59718a,0x1)?~_0x2de0d6[_0x1a57f8(0xf0)](_0x59718a,0x1):_0x2de0d6[_0x1a57f8(0x131)](_0x59718a,0x1);_0x274b84+=_0x35c85f,_0x186305['push']([_0x2de0d6[_0x1a57f8(0x186)](_0x274b84,0.00001),_0x2de0d6[_0x1a57f8(0x109)](_0x4366e1,0.00001)]);}return _0x186305;}var f={'dark':T,'light':A},i=class i{constructor(){}static[a0_0x4aceb4(0x15d)](_0x7cb0ac,_0x2991fe){var _0x25d52a=a0_0x4aceb4,_0x392e9a={'svASh':_0x25d52a(0xed),'HFQiQ':function(_0x3da9a3,_0xb0031b){return _0x3da9a3===_0xb0031b;},'ZJmQI':_0x25d52a(0x116)};if(i[_0x25d52a(0x127)])return i[_0x25d52a(0x127)];let _0x6be3ee=window[_0x25d52a(0x139)]||_0x2991fe;if(!_0x6be3ee)throw new Error(_0x392e9a[_0x25d52a(0xe9)]);let _0x122aa3=_0x7cb0ac['autoAddVectorSource']?I:_0x7cb0ac['style']?_0x7cb0ac[_0x25d52a(0x14c)]:_0x392e9a['HFQiQ'](_0x7cb0ac[_0x25d52a(0x178)],'dark')?f[_0x25d52a(0x187)]:f['light'],_0x556d42=new i();return _0x556d42[_0x25d52a(0x185)]=_0x7cb0ac,_0x556d42['map']=new _0x6be3ee[(_0x25d52a(0x134))]({'container':_0x7cb0ac['container']||_0x392e9a[_0x25d52a(0x130)],'style':_0x122aa3,'center':_0x7cb0ac[_0x25d52a(0x183)]||[69.624024,40.279687],'zoom':_0x7cb0ac[_0x25d52a(0x113)]||0x5}),i[_0x25d52a(0x127)]=_0x556d42,_0x556d42;}static['getInstance'](){var _0x45a9cc=a0_0x4aceb4;if(!i[_0x45a9cc(0x127)])throw new Error(_0x45a9cc(0x161));return i['instance'];}['destroy'](){var _0x476da7=a0_0x4aceb4;this[_0x476da7(0x116)][_0x476da7(0x17e)](),i[_0x476da7(0x127)]=null;}[a0_0x4aceb4(0x162)](){var _0x579824=a0_0x4aceb4;return this[_0x579824(0x116)];}['setStyle'](_0x1d6ff7){var _0x31cd72=a0_0x4aceb4,_0x550b01={'TYhPh':function(_0x2b9ea2,_0x249174){return _0x2b9ea2===_0x249174;},'iJhce':'dark'};this[_0x31cd72(0x116)][_0x31cd72(0x102)](_0x550b01['TYhPh'](_0x1d6ff7,_0x550b01[_0x31cd72(0x159)])?f['dark']:f[_0x31cd72(0x16f)]);}[a0_0x4aceb4(0x122)](_0x2468e4){var _0x2da3b5=a0_0x4aceb4;this['map'][_0x2da3b5(0x122)](_0x2468e4);}[a0_0x4aceb4(0x176)](_0x397d28){var _0x42dd99=a0_0x4aceb4;this['map'][_0x42dd99(0x176)](_0x397d28);}};i[a0_0x4aceb4(0x127)]=null;var h=i,d=class{constructor(_0xe5a9ca){var _0x36b365=a0_0x4aceb4;this[_0x36b365(0x116)]=_0xe5a9ca;}[a0_0x4aceb4(0x176)](_0x5d7c48,_0x1c271c=!0x0){var _0x243396=a0_0x4aceb4;_0x1c271c?this[_0x243396(0x116)]['easeTo']({'zoom':_0x5d7c48}):this[_0x243396(0x116)][_0x243396(0x176)](_0x5d7c48);}},R=O(require(a0_0x4aceb4(0x117))),c=R[a0_0x4aceb4(0xf7)]['create']({'baseURL':w});c[a0_0x4aceb4(0x17a)][a0_0x4aceb4(0xf5)][a0_0x4aceb4(0x16e)](_0x597859=>_0x597859,_0x32505e=>(_0x32505e['request']?.[a0_0x4aceb4(0x158)]===0x191&&y(),Promise[a0_0x4aceb4(0x167)](_0x32505e)));var b={};M(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x474dad){var _0xda838a=a0_0x4aceb4;_0x474dad!==''&&(g=_0x474dad,c[_0xda838a(0x120)]['headers'][_0xda838a(0x174)]['Authorization']=_0xda838a(0x151)+_0x474dad);}function y(){var _0xd2ae2d=a0_0x4aceb4,_0x5e8170={'hmBwU':function(_0x3c5a3f,_0x576362){return _0x3c5a3f-_0x576362;},'JVupd':function(_0x316a9a,_0x1088b1){return _0x316a9a<<_0x1088b1;},'ksHST':function(_0x24c09d,_0x17967a){return _0x24c09d&_0x17967a;},'YaSJy':function(_0x4037f3,_0x266ab7){return _0x4037f3>=_0x266ab7;},'pVmdL':function(_0x278a45,_0x45b41d){return _0x278a45*_0x45b41d;},'QjeNi':function(_0x45b493,_0x3db0f5){return _0x45b493(_0x3db0f5);},'jGWvo':function(_0x1a0ddf,_0x297698){return _0x1a0ddf+_0x297698;},'YKbGS':'return\x20(function()\x20','HriVM':'{}.constructor(\x22return\x20this\x22)(\x20)','hMsCm':function(_0x341840){return _0x341840();},'mquue':function(_0x52214f,_0x24287c){return _0x52214f===_0x24287c;},'iuYWQ':_0xd2ae2d(0x125),'ZTJga':'log','gNVoS':_0xd2ae2d(0x14a),'Qqwcf':_0xd2ae2d(0x147),'Wppny':_0xd2ae2d(0x148),'PkGtx':_0xd2ae2d(0x10b),'dOmZe':function(_0x94a715,_0x23432f){return _0x94a715<_0x23432f;},'wpoFX':'5|4|3|2|0|1'},_0x2a5724=(function(){var _0x2111fd=!![];return function(_0x1c7a37,_0x116c48){var _0x41e73e=_0x2111fd?function(){var _0xcdbb4=a0_0x3b2a;if(_0x116c48){var _0x28eb50=_0x116c48[_0xcdbb4(0x17f)](_0x1c7a37,arguments);return _0x116c48=null,_0x28eb50;}}:function(){};return _0x2111fd=![],_0x41e73e;};}()),_0x2e5cf6=_0x2a5724(this,function(){var _0x701055=_0xd2ae2d,_0x1aa2ae={'CGXdu':function(_0x48d703,_0x2869fa){return _0x5e8170['hmBwU'](_0x48d703,_0x2869fa);},'FbgQT':function(_0x300736,_0x270f2d){return _0x5e8170['JVupd'](_0x300736,_0x270f2d);},'hRlBM':function(_0x47d2b5,_0x2b9c8a){var _0xe7f138=a0_0x3b2a;return _0x5e8170[_0xe7f138(0x132)](_0x47d2b5,_0x2b9c8a);},'zXjwZ':function(_0x15dbd0,_0x172527){return _0x5e8170['YaSJy'](_0x15dbd0,_0x172527);},'XXOla':function(_0x313317,_0x42a216){var _0x458815=a0_0x3b2a;return _0x5e8170[_0x458815(0x110)](_0x313317,_0x42a216);},'UixJn':function(_0xd11850,_0x48fbe2){var _0x21ec90=a0_0x3b2a;return _0x5e8170[_0x21ec90(0x132)](_0xd11850,_0x48fbe2);},'oZXqR':function(_0x4f4ddc,_0x5d7bd5){var _0x6e1edd=a0_0x3b2a;return _0x5e8170[_0x6e1edd(0x141)](_0x4f4ddc,_0x5d7bd5);}},_0xee720f;try{var _0x4a5267=_0x5e8170[_0x701055(0x181)](Function,_0x5e8170['jGWvo'](_0x5e8170[_0x701055(0x10e)],_0x5e8170[_0x701055(0x150)])+');');_0xee720f=_0x5e8170[_0x701055(0x156)](_0x4a5267);}catch(_0x59451c){if(_0x5e8170[_0x701055(0x16b)]('fCLBs',_0x5e8170['iuYWQ']))_0xee720f=window;else{let _0x2284ef,_0x1f082e=0x0,_0x2da8d8=0x0;do _0x2284ef=_0x1aa2ae['CGXdu'](_0x1aca54['charCodeAt'](_0x2a94f1++),0x3f),_0x2da8d8|=_0x1aa2ae[_0x701055(0x173)](_0x1aa2ae[_0x701055(0x14f)](_0x2284ef,0x1f),_0x1f082e),_0x1f082e+=0x5;while(_0x1aa2ae[_0x701055(0xea)](_0x2284ef,0x20));let _0x46db6b=_0x1aa2ae[_0x701055(0x14f)](_0x2da8d8,0x1)?~(_0x2da8d8>>0x1):_0x2da8d8>>0x1;_0x43a998+=_0x46db6b,_0x1f082e=0x0,_0x2da8d8=0x0;do _0x2284ef=_0x1aa2ae[_0x701055(0x128)](_0x491c1f[_0x701055(0x138)](_0x384886++),0x3f),_0x2da8d8|=_0x1aa2ae[_0x701055(0x173)](_0x1aa2ae[_0x701055(0x129)](_0x2284ef,0x1f),_0x1f082e),_0x1f082e+=0x5;while(_0x1aa2ae['zXjwZ'](_0x2284ef,0x20));let _0x57b920=_0x2da8d8&0x1?~(_0x2da8d8>>0x1):_0x2da8d8>>0x1;_0x2b7635+=_0x57b920,_0x1e000a['push']([_0x1aa2ae[_0x701055(0x118)](_0x155cfb,0.00001),_0x1aa2ae[_0x701055(0x118)](_0x151d06,0.00001)]);}}var _0x443633=_0xee720f[_0x701055(0x163)]=_0xee720f[_0x701055(0x163)]||{},_0x529635=[_0x5e8170[_0x701055(0x10f)],_0x5e8170['gNVoS'],_0x5e8170[_0x701055(0xfc)],_0x5e8170[_0x701055(0xfa)],_0x701055(0xf9),'table',_0x5e8170['PkGtx']];for(var _0x121636=0x0;_0x5e8170['dOmZe'](_0x121636,_0x529635[_0x701055(0x11a)]);_0x121636++){var _0x52fd77=_0x5e8170['wpoFX'][_0x701055(0xf8)]('|'),_0x51d5e=0x0;while(!![]){switch(_0x52fd77[_0x51d5e++]){case'0':_0x240c5b[_0x701055(0x144)]=_0x5941eb['toString'][_0x701055(0x15a)](_0x5941eb);continue;case'1':_0x443633[_0x5350ff]=_0x240c5b;continue;case'2':_0x240c5b['__proto__']=_0x2a5724[_0x701055(0x15a)](_0x2a5724);continue;case'3':var _0x5941eb=_0x443633[_0x5350ff]||_0x240c5b;continue;case'4':var _0x5350ff=_0x529635[_0x121636];continue;case'5':var _0x240c5b=_0x2a5724[_0x701055(0x157)][_0x701055(0xeb)][_0x701055(0x15a)](_0x2a5724);continue;}break;}}});_0x5e8170[_0xd2ae2d(0x156)](_0x2e5cf6),(g='',c[_0xd2ae2d(0x120)][_0xd2ae2d(0x12f)][_0xd2ae2d(0x174)][_0xd2ae2d(0xf1)]='');}var l=()=>g;function E(_0x37104b,_0x19c7ea){var _0x2b8757=a0_0x4aceb4,_0x51dc20={'qRPuq':function(_0x577747,_0x51ed34){return _0x577747!==_0x51ed34;},'IdJIP':_0x2b8757(0x175),'Xyxnf':function(_0x5144d8,_0x1cea13){return _0x5144d8(_0x1cea13);},'nqFaF':_0x2b8757(0x161),'iEohj':function(_0x27763e,_0x19f8e7){return _0x27763e!==_0x19f8e7;},'TaDFQ':_0x2b8757(0x179)};let _0x213a0f;return(..._0x134f99)=>(_0x213a0f&&clearTimeout(_0x213a0f),new Promise(_0x721964=>{var _0x4fe5ae=_0x2b8757,_0x1008b0={'wbzGr':_0x51dc20[_0x4fe5ae(0x180)]};if(_0x51dc20[_0x4fe5ae(0x16a)](_0x51dc20[_0x4fe5ae(0x135)],_0x51dc20[_0x4fe5ae(0x135)])){if(!_0x58f9e5[_0x4fe5ae(0x127)])throw new _0x17ced1(_0x1008b0[_0x4fe5ae(0x12b)]);return _0x25b61f['instance'];}else _0x213a0f=setTimeout(async()=>{var _0x4ac41a=_0x4fe5ae;if(_0x51dc20[_0x4ac41a(0x137)](_0x4ac41a(0x11d),_0x51dc20['IdJIP'])){let _0x1b3e5c=await _0x37104b(..._0x134f99);_0x51dc20[_0x4ac41a(0x140)](_0x721964,_0x1b3e5c);}else{let _0x52b77f={..._0x2a5930};return _0x52b77f[_0x4ac41a(0x11c)]?.[_0x4ac41a(0x103)]?.[_0x4ac41a(0x11a)]&&(_0x52b77f[_0x4ac41a(0x11c)][_0x4ac41a(0x103)]=_0x52b77f[_0x4ac41a(0x11c)]['routes']['map'](_0x227bba=>({..._0x227bba,'geometry':_0x5d5d3a===_0x4ac41a(0xff)&&typeof _0x227bba[_0x4ac41a(0x153)]=='string'?_0x33d1ee(_0x227bba['geometry']):_0x227bba['geometry']}))),_0x52b77f;}},_0x19c7ea);}));}var L=async _0x379593=>{var _0x12d56b=a0_0x4aceb4,_0x369fb8={'gwBOl':function(_0xe7dc88,_0x2d5cd2){return _0xe7dc88(_0x2d5cd2);},'ggVxE':function(_0x4a762b,_0xb38d85){return _0x4a762b+_0xb38d85;},'ArBvh':function(_0x5b3edf){return _0x5b3edf();},'ieRzv':'log','lgShr':_0x12d56b(0x14a),'AzFln':_0x12d56b(0x147),'GRIJR':_0x12d56b(0x148),'FMFdg':_0x12d56b(0xf9),'wlmFq':'table','VogDz':_0x12d56b(0x10b),'ryyiC':function(_0x3c299b,_0x2553c){return _0x3c299b<_0x2553c;},'viNYp':_0x12d56b(0x160),'CVylt':function(_0x5175a2,_0x1591f6){return _0x5175a2===_0x1591f6;},'NNksd':_0x12d56b(0x10d),'avzxq':_0x12d56b(0x16c),'hLYfY':_0x12d56b(0x146)};try{return(await c[_0x12d56b(0x107)](_0x369fb8['viNYp'],_0x379593))['data'];}catch(_0x3d1ed9){if(_0x369fb8[_0x12d56b(0x15c)](_0x369fb8[_0x12d56b(0x168)],_0x369fb8[_0x12d56b(0xec)])){var _0x2a4dea;try{var _0x368c86=meVwwj[_0x12d56b(0x100)](_0x26d1f5,meVwwj[_0x12d56b(0xf2)](meVwwj[_0x12d56b(0xf2)]('return\x20(function()\x20',_0x12d56b(0xee)),');'));_0x2a4dea=meVwwj[_0x12d56b(0x108)](_0x368c86);}catch(_0x5dd781){_0x2a4dea=_0x29d0fd;}var _0x52d695=_0x2a4dea[_0x12d56b(0x163)]=_0x2a4dea['console']||{},_0x2b1637=[meVwwj[_0x12d56b(0x11e)],meVwwj[_0x12d56b(0xe8)],meVwwj[_0x12d56b(0xfe)],meVwwj[_0x12d56b(0x152)],meVwwj[_0x12d56b(0xfd)],meVwwj[_0x12d56b(0x12a)],meVwwj[_0x12d56b(0x169)]];for(var _0x1b3644=0x0;meVwwj[_0x12d56b(0x172)](_0x1b3644,_0x2b1637['length']);_0x1b3644++){var _0x36cb5d=_0x197571[_0x12d56b(0x157)][_0x12d56b(0xeb)][_0x12d56b(0x15a)](_0x25a377),_0xab8fc4=_0x2b1637[_0x1b3644],_0xde364a=_0x52d695[_0xab8fc4]||_0x36cb5d;_0x36cb5d[_0x12d56b(0x111)]=_0x5ddfce['bind'](_0x4aa5fe),_0x36cb5d['toString']=_0xde364a[_0x12d56b(0x144)][_0x12d56b(0x15a)](_0xde364a),_0x52d695[_0xab8fc4]=_0x36cb5d;}}else throw console['error'](_0x369fb8[_0x12d56b(0x104)],_0x3d1ed9),_0x3d1ed9;}};async function B(_0x36737c,_0xb128ca,_0x47f05c){var _0x2bf453=a0_0x4aceb4,_0x3c6786={'blmlM':function(_0x19629e){return _0x19629e();},'aiOZr':function(_0x3d1b9a,_0x58214d){return _0x3d1b9a(_0x58214d);}};let _0x37888d={'text':_0x36737c,'token':_0xb128ca||_0x3c6786[_0x2bf453(0xf4)](l),..._0x47f05c};try{return await _0x3c6786[_0x2bf453(0x142)](L,_0x37888d);}catch(_0x1c17b6){throw _0x1c17b6;}}function a0_0x21ef(){var _0x142422=['Ошибка\x20при\x20поиске\x20адреса:','info','error','https://mtile.gram.tj/custom-styles/dark-style.json','warn','2167551OgUhuy','style','services/getRoutes','140OfBUpR','hRlBM','HriVM','Bearer\x20','GRIJR','geometry','https://platform.mahal.tj/api/','8230CcyvTW','hMsCm','constructor','status','iJhce','bind','lXDSo','CVylt','create','forEach','xBgUq','services/getAddress','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','getMap','console','get','getElementsByTagName','yreqE','reject','NNksd','VogDz','iEohj','mquue','YeyqI','hqtzJ','use','light','rPqbF','TQoZo','ryyiC','FbgQT','common','ElQwx','setZoom','155GmpNnh','theme','ChcFO','interceptors','tCajh','15fBNfwh','198902UGCyLl','remove','apply','nqFaF','QjeNi','__esModule','center','getPrototypeOf','options','ffVxH','dark','lgShr','svASh','zXjwZ','prototype','avzxq','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','{}.constructor(\x22return\x20this\x22)(\x20)','AhiDs','bfACU','Authorization','ggVxE','getOwnPropertyDescriptor','blmlM','request','13vuZilB','default','split','exception','Wppny','24akcnbM','Qqwcf','FMFdg','AzFln','geojson','gwBOl','https://mtile.gram.tj/custom-styles/mapstyle.json','setStyle','routes','hLYfY','178910suNRgZ','function','post','ArBvh','EdPcg','125228pGPctt','trace','32228EXAjGy','wGjVQ','YKbGS','ZTJga','hmBwU','__proto__','kkRLT','zoom','push','1000BWLhbs','map','axios','oZXqR','HBHTO','length','data','route','ITLWS','ieRzv','enlYJ','defaults','getOwnPropertyNames','setCenter','apikey','IVpxo','fCLBs','src','instance','XXOla','UixJn','wlmFq','wbzGr','GZxDb','exports','searchParams','headers','ZJmQI','JWaKw','ksHST','sGsJg','Map','TaDFQ','qxNqE','qRPuq','charCodeAt','maplibregl','jGDkz','call','object','8893332kyNyuP','yzliR','chjMR','Xyxnf','pVmdL','aiOZr','xCffU','toString','omLSa'];a0_0x21ef=function(){return _0x142422;};return a0_0x21ef();}var Z=E(B,0x1f4);async function k(_0x127637,_0xee26aa,_0x2cfe44){var _0x2e9173={'fPZku':function(_0x23ac83,_0x443782,_0x27e652,_0x31610c){return _0x23ac83(_0x443782,_0x27e652,_0x31610c);}};return await _0x2e9173['fPZku'](Z,_0x127637,_0xee26aa,_0x2cfe44);}var K=async(_0x42c009,_0x870671)=>{var _0x4cd8c2=a0_0x4aceb4,_0x1c3676={'HBHTO':function(_0x14a6ba,_0xf0e642){return _0x14a6ba!==_0xf0e642;},'lXDSo':_0x4cd8c2(0x13e),'gVNIE':_0x4cd8c2(0x14d),'qxNqE':function(_0x4d290f){return _0x4d290f();},'GZxDb':function(_0x2184d4,_0x388bfa){return _0x2184d4===_0x388bfa;}};try{if(_0x1c3676[_0x4cd8c2(0x119)](_0x1c3676[_0x4cd8c2(0x15b)],_0x1c3676[_0x4cd8c2(0x15b)]))this[_0x4cd8c2(0x116)][_0x4cd8c2(0x17e)](),_0x47edcd[_0x4cd8c2(0x127)]=null;else{let _0x3c9f54=[];return _0x42c009[_0x4cd8c2(0x15e)](_0x3d6e73=>{var _0xa4b393=_0x4cd8c2;_0x3c9f54[_0xa4b393(0x114)]({'lng':_0x3d6e73[0x0],'lat':_0x3d6e73[0x1]});}),(await c[_0x4cd8c2(0x107)](_0x1c3676['gVNIE'],{'points':_0x3c9f54,'token':_0x870671||_0x1c3676[_0x4cd8c2(0x136)](l)}))['data'];}}catch(_0x422fe6){if(_0x1c3676[_0x4cd8c2(0x12c)]('chjMR',_0x4cd8c2(0x13f)))throw console[_0x4cd8c2(0x148)](_0x422fe6),_0x422fe6;else _0x1c3676['HBHTO'](_0x30982b,'')&&(_0x5ad2fc=_0x919477,_0xaf57b9['defaults'][_0x4cd8c2(0x12f)][_0x4cd8c2(0x174)][_0x4cd8c2(0xf1)]='Bearer\x20'+_0x430dc3);}};async function j(_0x418461,_0x56579d,_0x1179d4){var _0x22dd3d=a0_0x4aceb4;try{let _0x558248=await K(_0x418461,_0x1179d4);return _0x558248?.[_0x22dd3d(0x11b)]?_0x558248[_0x22dd3d(0x11b)][_0x22dd3d(0x116)](_0x509047=>{var _0x2dd411=_0x22dd3d;let _0x455cf8={..._0x509047};return _0x455cf8[_0x2dd411(0x11c)]?.[_0x2dd411(0x103)]?.['length']&&(_0x455cf8['route'][_0x2dd411(0x103)]=_0x455cf8[_0x2dd411(0x11c)]['routes'][_0x2dd411(0x116)](_0x4479f8=>({..._0x4479f8,'geometry':_0x56579d===_0x2dd411(0xff)&&typeof _0x4479f8[_0x2dd411(0x153)]=='string'?P(_0x4479f8[_0x2dd411(0x153)]):_0x4479f8[_0x2dd411(0x153)]}))),_0x455cf8;}):_0x558248;}catch(_0x30c30){throw _0x30c30;}}function $(){var _0xa088a3=a0_0x4aceb4,_0x4cac1a={'xBgUq':'script','kkRLT':'mahal_map.sdk.js','gXfny':_0xa088a3(0x123)};let _0x50c1d2=document[_0xa088a3(0x165)](_0x4cac1a[_0xa088a3(0x15f)]);for(let _0x370720 of _0x50c1d2)if(_0x370720[_0xa088a3(0x126)]['includes'](_0x4cac1a[_0xa088a3(0x112)])){let _0x56de51=new URL(_0x370720['src'])[_0xa088a3(0x12e)][_0xa088a3(0x164)](_0x4cac1a['gXfny']);if(_0x56de51)return _0x56de51;}return'';}x($()),0x0&&(module[a0_0x4aceb4(0x12d)]={'CameraController':CameraController,'MahalMap':MahalMap,'Router':Router,'Search':Search,'keyUtils':keyUtils});
|
|
1
|
+
'use strict';var a0_0x4b7069=a0_0x41ae;(function(_0x4ff90c,_0x3933d8){var _0x201bd1=a0_0x41ae,_0x46619c=_0x4ff90c();while(!![]){try{var _0x5412cc=parseInt(_0x201bd1(0xaa))/0x1+parseInt(_0x201bd1(0xa9))/0x2+parseInt(_0x201bd1(0x115))/0x3*(-parseInt(_0x201bd1(0x149))/0x4)+-parseInt(_0x201bd1(0xbf))/0x5+-parseInt(_0x201bd1(0xa7))/0x6*(parseInt(_0x201bd1(0xe8))/0x7)+parseInt(_0x201bd1(0x110))/0x8*(-parseInt(_0x201bd1(0x116))/0x9)+parseInt(_0x201bd1(0xda))/0xa*(parseInt(_0x201bd1(0x140))/0xb);if(_0x5412cc===_0x3933d8)break;else _0x46619c['push'](_0x46619c['shift']());}catch(_0x360d2c){_0x46619c['push'](_0x46619c['shift']());}}}(a0_0xf790,0xe3854));var G=Object[a0_0x4b7069(0xa4)],u=Object[a0_0x4b7069(0x105)],N=Object['getOwnPropertyDescriptor'],B=Object['getOwnPropertyNames'],F=Object[a0_0x4b7069(0xf2)],U=Object[a0_0x4b7069(0xb6)]['hasOwnProperty'],M=(_0x4dfa01,_0x38d035)=>{var _0x586a51={'XOSkH':function(_0x31a4d1,_0x15cd62,_0x2ece92,_0x2ec2b2){return _0x31a4d1(_0x15cd62,_0x2ece92,_0x2ec2b2);}};for(var _0x3983e8 in _0x38d035)_0x586a51['XOSkH'](u,_0x4dfa01,_0x3983e8,{'get':_0x38d035[_0x3983e8],'enumerable':!0x0});},S=(_0x425151,_0x4fc8a6,_0x5d6ba8,_0x304521)=>{var _0x1a8269=a0_0x4b7069,_0x24e92d={'IuaGe':function(_0x2d2f3d,_0x4ac535){return _0x2d2f3d==_0x4ac535;},'ERlYC':_0x1a8269(0xc4),'uqbkn':function(_0x1f2a7c,_0x4ffc37){return _0x1f2a7c==_0x4ffc37;},'Ezfcl':_0x1a8269(0x10c),'lgXZO':function(_0x25393f,_0x2400e2,_0x42eff6,_0x2cf2ee){return _0x25393f(_0x2400e2,_0x42eff6,_0x2cf2ee);},'QNdPX':function(_0x3b9f62,_0x5351a5,_0x1311ca){return _0x3b9f62(_0x5351a5,_0x1311ca);}};if(_0x4fc8a6&&_0x24e92d[_0x1a8269(0x13b)](typeof _0x4fc8a6,_0x24e92d[_0x1a8269(0xd8)])||_0x24e92d[_0x1a8269(0x13e)](typeof _0x4fc8a6,_0x24e92d['Ezfcl'])){for(let _0x19b88e of B(_0x4fc8a6))!U['call'](_0x425151,_0x19b88e)&&_0x19b88e!==_0x5d6ba8&&_0x24e92d[_0x1a8269(0xf8)](u,_0x425151,_0x19b88e,{'get':()=>_0x4fc8a6[_0x19b88e],'enumerable':!(_0x304521=_0x24e92d[_0x1a8269(0xa2)](N,_0x4fc8a6,_0x19b88e))||_0x304521[_0x1a8269(0xc1)]});}return _0x425151;},D=(_0x43bc12,_0x95e207,_0x473ae0)=>(_0x473ae0=_0x43bc12!=null?G(F(_0x43bc12)):{},S(_0x95e207||!_0x43bc12||!_0x43bc12[a0_0x4b7069(0xd6)]?u(_0x473ae0,a0_0x4b7069(0x103),{'value':_0x43bc12,'enumerable':!0x0}):_0x473ae0,_0x43bc12)),O=_0x334547=>S(u({},a0_0x4b7069(0xd6),{'value':!0x0}),_0x334547),z={};M(z,{'MahalMap':()=>d,'Router':()=>v,'Search':()=>C,'keyUtils':()=>b}),module[a0_0x4b7069(0xb8)]=O(z);var w=a0_0x4b7069(0xae),T=a0_0x4b7069(0x108),A='https://mtile.gram.tj/custom-styles/mapstyle.json',I='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function P(_0x2fcd4f){var _0x15d052=a0_0x4b7069,_0x5543de={'fCOrZ':function(_0x58343c,_0x5b5c10){return _0x58343c<_0x5b5c10;},'LRYUn':function(_0x5ce995,_0x48a95d){return _0x5ce995-_0x48a95d;},'gMKXu':function(_0x5f49e3,_0x4ffeaa){return _0x5f49e3<<_0x4ffeaa;},'Onxmp':function(_0x1c6d92,_0x2e4f6d){return _0x1c6d92&_0x2e4f6d;},'Ngcte':function(_0x232428,_0x2696c7){return _0x232428>=_0x2696c7;},'iQWZT':function(_0x5a9928,_0x132b2a){return _0x5a9928>>_0x132b2a;},'tWhrH':function(_0x3a937d,_0xabc212){return _0x3a937d-_0xabc212;},'RvmNy':function(_0xc83053,_0x504422){return _0xc83053&_0x504422;},'TdWCv':function(_0x3b192f,_0x8d1aea){return _0x3b192f>=_0x8d1aea;},'ehqMp':function(_0x4018e3,_0x36b348){return _0x4018e3>>_0x36b348;},'zOQeS':function(_0x1f49c7,_0x319465){return _0x1f49c7*_0x319465;},'bXuAe':function(_0x2298ad,_0x3aea25){return _0x2298ad*_0x3aea25;},'nniKC':_0x15d052(0x123),'XeOaO':function(_0x2eccd5,_0x43ba5d){return _0x2eccd5-_0x43ba5d;},'GSbLc':function(_0x76bd22,_0x2c1953){return _0x76bd22>=_0x2c1953;},'TuBoE':function(_0x40e2a4,_0x3fbe66){return _0x40e2a4>>_0x3fbe66;},'WOseF':function(_0x5d7715,_0x354075){return _0x5d7715<<_0x354075;},'hfWTE':function(_0x45397a,_0x1e8dbb){return _0x45397a>=_0x1e8dbb;},'wzYLw':function(_0x541c75,_0xe4bd2d){return _0x541c75&_0xe4bd2d;},'bKAwD':function(_0x3c4e6e,_0x38526f){return _0x3c4e6e>>_0x38526f;},'qZoya':function(_0x58f293,_0x1fa203){return _0x58f293*_0x1fa203;},'PeJCo':function(_0x2293c6,_0x3242f3){return _0x2293c6*_0x3242f3;}};let _0x14d1a5=[],_0x48cc92=0x0,_0x1bacab=_0x2fcd4f[_0x15d052(0xd1)],_0xa32c9b=0x0,_0x2da15d=0x0;for(;_0x5543de[_0x15d052(0xa0)](_0x48cc92,_0x1bacab);){if(_0x5543de[_0x15d052(0x122)]==='jvbwL'){let _0xd52a08=[],_0x4a25ef=0x0,_0x29a2d7=_0x52d068['length'],_0xbcd226=0x0,_0x11a5fa=0x0;for(;_0x5543de[_0x15d052(0xa0)](_0x4a25ef,_0x29a2d7);){let _0x2c24ea,_0x1d5c30=0x0,_0x59caad=0x0;do _0x2c24ea=_0x5543de[_0x15d052(0xb2)](_0x20ef50[_0x15d052(0x11f)](_0x4a25ef++),0x3f),_0x59caad|=_0x5543de[_0x15d052(0x13d)](_0x5543de[_0x15d052(0xfd)](_0x2c24ea,0x1f),_0x1d5c30),_0x1d5c30+=0x5;while(_0x5543de[_0x15d052(0x147)](_0x2c24ea,0x20));let _0x1bca6c=_0x5543de['Onxmp'](_0x59caad,0x1)?~_0x5543de[_0x15d052(0xed)](_0x59caad,0x1):_0x5543de['iQWZT'](_0x59caad,0x1);_0xbcd226+=_0x1bca6c,_0x1d5c30=0x0,_0x59caad=0x0;do _0x2c24ea=_0x5543de[_0x15d052(0xa3)](_0x1e72a3[_0x15d052(0x11f)](_0x4a25ef++),0x3f),_0x59caad|=_0x5543de[_0x15d052(0x120)](_0x2c24ea,0x1f)<<_0x1d5c30,_0x1d5c30+=0x5;while(_0x5543de[_0x15d052(0xdf)](_0x2c24ea,0x20));let _0x430d93=_0x5543de[_0x15d052(0xfd)](_0x59caad,0x1)?~_0x5543de[_0x15d052(0xed)](_0x59caad,0x1):_0x5543de[_0x15d052(0x12b)](_0x59caad,0x1);_0x11a5fa+=_0x430d93,_0xd52a08['push']([_0x5543de['zOQeS'](_0x11a5fa,0.00001),_0x5543de['bXuAe'](_0xbcd226,0.00001)]);}return _0xd52a08;}else{let _0x4a7141,_0x43b70a=0x0,_0x3d8359=0x0;do _0x4a7141=_0x5543de['XeOaO'](_0x2fcd4f[_0x15d052(0x11f)](_0x48cc92++),0x3f),_0x3d8359|=_0x5543de[_0x15d052(0x120)](_0x4a7141,0x1f)<<_0x43b70a,_0x43b70a+=0x5;while(_0x5543de[_0x15d052(0x12a)](_0x4a7141,0x20));let _0x30ae45=_0x5543de[_0x15d052(0x120)](_0x3d8359,0x1)?~_0x5543de[_0x15d052(0x12b)](_0x3d8359,0x1):_0x5543de[_0x15d052(0x113)](_0x3d8359,0x1);_0xa32c9b+=_0x30ae45,_0x43b70a=0x0,_0x3d8359=0x0;do _0x4a7141=_0x2fcd4f[_0x15d052(0x11f)](_0x48cc92++)-0x3f,_0x3d8359|=_0x5543de['WOseF'](_0x5543de['RvmNy'](_0x4a7141,0x1f),_0x43b70a),_0x43b70a+=0x5;while(_0x5543de[_0x15d052(0x139)](_0x4a7141,0x20));let _0x138a8b=_0x5543de['wzYLw'](_0x3d8359,0x1)?~_0x5543de[_0x15d052(0xed)](_0x3d8359,0x1):_0x5543de['bKAwD'](_0x3d8359,0x1);_0x2da15d+=_0x138a8b,_0x14d1a5['push']([_0x5543de[_0x15d052(0x141)](_0x2da15d,0.00001),_0x5543de[_0x15d052(0xbc)](_0xa32c9b,0.00001)]);}}return _0x14d1a5;}var f=class{constructor(_0x3bf768){var _0xe50cdb=a0_0x4b7069;this[_0xe50cdb(0xf4)]=_0x3bf768;}['setZoom'](_0x471162,_0x58934e=!0x0){var _0x3ff0cf=a0_0x4b7069;_0x58934e?this[_0x3ff0cf(0xf4)]['easeTo']({'zoom':_0x471162}):this[_0x3ff0cf(0xf4)]['setZoom'](_0x471162);}[a0_0x4b7069(0x130)](_0x2f0e4e,_0x4dab38=!0x0){var _0x15d657=a0_0x4b7069;_0x4dab38?this[_0x15d657(0xf4)]['easeTo']({'bearing':_0x2f0e4e}):this[_0x15d657(0xf4)]['setBearing'](_0x2f0e4e);}[a0_0x4b7069(0xc7)](_0x5ee9f4=!0x0){var _0x4077b1=a0_0x4b7069;this[_0x4077b1(0x130)](0x0,_0x5ee9f4);}},h={'dark':T,'light':A},i=class i{constructor(){}static[a0_0x4b7069(0xa4)](_0x9366ee,_0x27113b){var _0x3aa8c3=a0_0x4b7069,_0x180c18={'UPEfM':_0x3aa8c3(0xcc),'HaxbE':function(_0x12a7fd,_0x38633d){return _0x12a7fd===_0x38633d;},'WUpJf':_0x3aa8c3(0xf4)};if(i[_0x3aa8c3(0x11b)])return i[_0x3aa8c3(0x11b)];let _0x3bf9b0=window[_0x3aa8c3(0x127)]||_0x27113b;if(!_0x3bf9b0)throw new Error(_0x180c18[_0x3aa8c3(0xbb)]);let _0x5aac28=_0x9366ee[_0x3aa8c3(0xf6)]?I:_0x9366ee['style']?_0x9366ee[_0x3aa8c3(0x106)]:_0x180c18[_0x3aa8c3(0xf0)](_0x9366ee[_0x3aa8c3(0xa6)],_0x3aa8c3(0xb0))?h[_0x3aa8c3(0xb0)]:h[_0x3aa8c3(0xe5)],_0x4060c3=new i();return _0x4060c3[_0x3aa8c3(0xe3)]=_0x9366ee,_0x4060c3[_0x3aa8c3(0xf4)]=new _0x3bf9b0[(_0x3aa8c3(0x145))]({'container':_0x9366ee[_0x3aa8c3(0x102)]||_0x180c18[_0x3aa8c3(0xcd)],'style':_0x5aac28,'center':_0x9366ee[_0x3aa8c3(0x104)]||[69.624024,40.279687],'zoom':_0x9366ee[_0x3aa8c3(0x121)]||0x5}),i['instance']=_0x4060c3,_0x4060c3;}static[a0_0x4b7069(0xad)](){var _0x3494eb=a0_0x4b7069;if(!i[_0x3494eb(0x11b)])throw new Error(_0x3494eb(0xc0));return i['instance'];}[a0_0x4b7069(0xa1)](_0x4a92d1){var _0x4c22d0=a0_0x4b7069;this['map']=_0x4a92d1,this[_0x4c22d0(0x107)]=new f(_0x4a92d1);}[a0_0x4b7069(0xd4)](){var _0x121ac4=a0_0x4b7069;return this[_0x121ac4(0x107)];}[a0_0x4b7069(0xb5)](){var _0x5e47bf=a0_0x4b7069;return this[_0x5e47bf(0xf4)];}['setStyle'](_0x2ebb2c){var _0x408020=a0_0x4b7069,_0x55724f={'wUfFU':function(_0x2a492b,_0x4777d7){return _0x2a492b===_0x4777d7;},'zElrS':_0x408020(0xb0)};this['map']['setStyle'](_0x55724f[_0x408020(0xdb)](_0x2ebb2c,_0x55724f[_0x408020(0x100)])?h[_0x408020(0xb0)]:h[_0x408020(0xe5)]);}[a0_0x4b7069(0x148)](_0x32e804){this['map']['setCenter'](_0x32e804);}[a0_0x4b7069(0xcf)](_0x1e27ac){this['map']['setZoom'](_0x1e27ac);}['destroy'](){var _0x2a6cec=a0_0x4b7069;this['map'][_0x2a6cec(0xac)](),i['instance']=null;}};i[a0_0x4b7069(0x11b)]=null;function a0_0xf790(){var _0xb9a9f1=['apply','script','apikey','hfWTE','nYxLX','IuaGe','services/getRoutes','gMKXu','uqbkn','hjDiw','7600593pmtVBQ','qZoya','toString','forEach','services/getAddress','Map','aLdRb','Ngcte','setCenter','49908ILOtbo','kCszX','request','fCOrZ','init','QNdPX','tWhrH','create','QXwwR','theme','4730118QucgwP','geojson','1959114tbZqiF','1193397YLiZyB','trace','remove','getInstance','https://platform.mahal.tj/api/','dPZCI','dark','pFGPD','LRYUn','split','Kcdxt','getMap','prototype','EJaeD','exports','FTrTq','searchParams','UPEfM','PeJCo','KfCoO','isShf','4565995BFwYkD','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','enumerable','geometry','Ошибка\x20при\x20поиске\x20адреса:','object','sDkDv','mahal_map.sdk.js','resetBearing','RHxTL','src','vFmZV','post','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','WUpJf','LXPzZ','setZoom','pDugH','length','bind','use','getCamera','YKSrG','__esModule','WmWNQ','ERlYC','bZFYT','50YAoLQA','wUfFU','KCEuj','VOyQh','headers','TdWCv','PXTdg','__proto__','WKTDR','options','yAdsF','light','SWwfc','{}.constructor(\x22return\x20this\x22)(\x20)','14tNsDIA','ElBmr','routes','4|5|2|1|3|0','NnOih','iQWZT','constructor','XnAdA','HaxbE','MimKL','getPrototypeOf','exception','map','vbKyV','autoAddVectorSource','log','lgXZO','common','route','eisoA','push','Onxmp','TxBbk','interceptors','zElrS','defaults','container','default','center','defineProperty','style','camera','https://mtile.gram.tj/custom-styles/dark-style.json','ojgey','EfCwH','status','function','xsnZw','xzjGq','includes','10360952xeJgeX','GscuX','data','TuBoE','ipFSw','219LvxTlc','9xYJwxb','pFIeS','uaImN','ILktJ','nsBZN','instance','info','kitar','Lfhwk','charCodeAt','RvmNy','zoom','nniKC','tCrTF','return\x20(function()\x20','YgMlD','ZPZfp','maplibregl','error','uLYQh','GSbLc','ehqMp','nfXbO','JWZWJ','warn','string','setBearing','console','Authorization','NPDjg','axios','OjAYv'];a0_0xf790=function(){return _0xb9a9f1;};return a0_0xf790();}var d=i,R=D(require(a0_0x4b7069(0x134))),c=R['default'][a0_0x4b7069(0xa4)]({'baseURL':w});c[a0_0x4b7069(0xff)][a0_0x4b7069(0x9f)][a0_0x4b7069(0xd3)](_0x5c6abb=>_0x5c6abb,_0x38e275=>(_0x38e275[a0_0x4b7069(0x9f)]?.[a0_0x4b7069(0x10b)]===0x191&&y(),Promise['reject'](_0x38e275)));var b={};M(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x59d0cc){var _0x5f574c=a0_0x4b7069,_0x2ed4c4={'pFIeS':function(_0x1c36ce,_0x133934){return _0x1c36ce!==_0x133934;}};_0x2ed4c4[_0x5f574c(0x117)](_0x59d0cc,'')&&(g=_0x59d0cc,c[_0x5f574c(0x101)][_0x5f574c(0xde)][_0x5f574c(0xf9)][_0x5f574c(0x132)]='Bearer\x20'+_0x59d0cc);}function y(){var _0x1a38c7=a0_0x4b7069,_0x1f7528={'KfCoO':'Ошибка\x20при\x20поиске\x20адреса:','xsnZw':'VqKSS','EfCwH':'KhMRU','obDgA':function(_0x207880,_0x23eae2){return _0x207880(_0x23eae2);},'KCEuj':function(_0x574505,_0x3502f5){return _0x574505+_0x3502f5;},'ccNBl':function(_0x21c9a1){return _0x21c9a1();},'kCszX':_0x1a38c7(0x12e),'xnApC':'info','sDkDv':_0x1a38c7(0x128),'mAwPI':'exception','ojgey':'table','SWwfc':function(_0x3b9421,_0x4dd961){return _0x3b9421===_0x4dd961;},'VOyQh':_0x1a38c7(0x10e),'nfXbO':_0x1a38c7(0xeb),'pDugH':function(_0x4ac742,_0x10fe1d,_0x99f594){return _0x4ac742(_0x10fe1d,_0x99f594);}},_0x11a718=(function(){var _0x5b606d=_0x1a38c7;if(_0x5b606d(0x126)!==_0x1f7528[_0x5b606d(0x10a)]){var _0x989b87=!![];return function(_0x3840e3,_0x19d048){var _0x20f88f=_0x5b606d,_0x7207b7={'NnOih':_0x1f7528[_0x20f88f(0xbd)],'yAdsF':function(_0x45b62f,_0x22dc6b){return _0x45b62f!==_0x22dc6b;},'XnAdA':_0x1f7528[_0x20f88f(0x10d)]},_0x3a134d=_0x989b87?function(){var _0x5a43db=_0x20f88f;if(_0x19d048){if(_0x7207b7[_0x5a43db(0xe4)](_0x7207b7[_0x5a43db(0xef)],_0x5a43db(0xfb))){var _0x30292a=_0x19d048[_0x5a43db(0x136)](_0x3840e3,arguments);return _0x19d048=null,_0x30292a;}else throw _0x39d3a7[_0x5a43db(0x128)](_0x7207b7[_0x5a43db(0xec)],_0x5d9848),_0xd82d8;}}:function(){};return _0x989b87=![],_0x3a134d;};}else throw _0x586545[_0x5b606d(0x128)](_0x2ef1a1),_0x2b1c3a;}()),_0x5d6788=_0x1f7528[_0x1a38c7(0xd0)](_0x11a718,this,function(){var _0x536d39=_0x1a38c7,_0x5bb029;try{var _0x29cecb=_0x1f7528['obDgA'](Function,_0x1f7528[_0x536d39(0xdc)](_0x1f7528['KCEuj'](_0x536d39(0x124),_0x536d39(0xe7)),');'));_0x5bb029=_0x1f7528['ccNBl'](_0x29cecb);}catch(_0x94bf5a){_0x5bb029=window;}var _0x175cbb=_0x5bb029[_0x536d39(0x131)]=_0x5bb029['console']||{},_0x1edbd1=[_0x536d39(0xf7),_0x1f7528[_0x536d39(0x9e)],_0x1f7528['xnApC'],_0x1f7528[_0x536d39(0xc5)],_0x1f7528['mAwPI'],_0x1f7528[_0x536d39(0x109)],_0x536d39(0xab)];for(var _0x2b6228=0x0;_0x2b6228<_0x1edbd1[_0x536d39(0xd1)];_0x2b6228++){if(_0x1f7528[_0x536d39(0xe6)](_0x1f7528[_0x536d39(0xdd)],_0x536d39(0xa5)))_0x262873=_0x290021;else{var _0x5e234a=_0x1f7528[_0x536d39(0x12c)][_0x536d39(0xb3)]('|'),_0x2b68e8=0x0;while(!![]){switch(_0x5e234a[_0x2b68e8++]){case'0':_0x175cbb[_0x11bc13]=_0x40a952;continue;case'1':_0x40a952['__proto__']=_0x11a718['bind'](_0x11a718);continue;case'2':var _0x21e709=_0x175cbb[_0x11bc13]||_0x40a952;continue;case'3':_0x40a952[_0x536d39(0x142)]=_0x21e709['toString'][_0x536d39(0xd2)](_0x21e709);continue;case'4':var _0x40a952=_0x11a718[_0x536d39(0xee)][_0x536d39(0xb6)][_0x536d39(0xd2)](_0x11a718);continue;case'5':var _0x11bc13=_0x1edbd1[_0x2b6228];continue;}break;}}}});_0x5d6788(),(g='',c[_0x1a38c7(0x101)][_0x1a38c7(0xde)][_0x1a38c7(0xf9)][_0x1a38c7(0x132)]='');}var l=()=>g;function E(_0x5c8b2d,_0x2e07e9){var _0x1948f9={'JWZWJ':function(_0x57357a,..._0x77f098){return _0x57357a(..._0x77f098);},'LXPzZ':function(_0x34bf5a,_0x290040,_0x551995){return _0x34bf5a(_0x290040,_0x551995);}};let _0x290984;return(..._0x4ac436)=>(_0x290984&&clearTimeout(_0x290984),new Promise(_0x1c316c=>{var _0x2ce26d=a0_0x41ae;_0x290984=_0x1948f9[_0x2ce26d(0xce)](setTimeout,async()=>{var _0x3afed0=_0x2ce26d,_0x31b062=await _0x1948f9[_0x3afed0(0x12d)](_0x5c8b2d,..._0x4ac436);_0x1948f9[_0x3afed0(0x12d)](_0x1c316c,_0x31b062);},_0x2e07e9);}));}function a0_0x41ae(_0x17c172,_0x15442a){var _0x47a806=a0_0xf790();return a0_0x41ae=function(_0x53f518,_0x41d1a7){_0x53f518=_0x53f518-0x9e;var _0x261913=_0x47a806[_0x53f518];return _0x261913;},a0_0x41ae(_0x17c172,_0x15442a);}var L=async _0x28adf6=>{var _0x43c43d=a0_0x4b7069,_0x265a1e={'isShf':_0x43c43d(0x144),'sMlVH':function(_0x2affe0,_0x10b284){return _0x2affe0!==_0x10b284;},'MimKL':_0x43c43d(0xb9),'YKSrG':'cuzFp'};try{return(await c['post'](_0x265a1e[_0x43c43d(0xbe)],_0x28adf6))['data'];}catch(_0x364940){if(_0x265a1e['sMlVH'](_0x265a1e[_0x43c43d(0xf1)],_0x265a1e[_0x43c43d(0xd5)]))throw console[_0x43c43d(0x128)](_0x43c43d(0xc3),_0x364940),_0x364940;else this[_0x43c43d(0xf4)][_0x43c43d(0xcf)](_0x302356);}};async function X(_0x497903,_0x149e19,_0x4eaa53){var _0x4f21e0=a0_0x4b7069,_0x554f3a={'VtSDB':function(_0xc3b4a9,_0x1a7e60){return _0xc3b4a9(_0x1a7e60);},'hjDiw':function(_0x48d23d,_0x1e9be7){return _0x48d23d+_0x1e9be7;},'pFGPD':'return\x20(function()\x20','Lfhwk':_0x4f21e0(0xe7),'WmWNQ':function(_0x24dd28){return _0x24dd28();},'XgDQh':_0x4f21e0(0x12e),'bZFYT':_0x4f21e0(0xf3),'YgMlD':'table','ipFSw':'trace','vFmZV':function(_0x5a07b5,_0x1fa096){return _0x5a07b5<_0x1fa096;},'uaImN':'3|4|0|5|2|1','WKTDR':function(_0x5c9ec9){return _0x5c9ec9();},'aLdRb':function(_0x447988,_0x10d352){return _0x447988===_0x10d352;},'Kcdxt':_0x4f21e0(0x133),'nYxLX':function(_0x3c63a9,_0x36dc73){return _0x3c63a9(_0x36dc73);}};let _0x2ce3e8={'text':_0x497903,'token':_0x149e19||_0x554f3a[_0x4f21e0(0xe2)](l),..._0x4eaa53};try{if(_0x554f3a[_0x4f21e0(0x146)](_0x554f3a[_0x4f21e0(0xb4)],_0x4f21e0(0xaf))){var _0x356df2;try{var _0x470004=pBBkxY['VtSDB'](_0x4c006b,pBBkxY[_0x4f21e0(0x13f)](pBBkxY[_0x4f21e0(0x13f)](pBBkxY[_0x4f21e0(0xb1)],pBBkxY[_0x4f21e0(0x11e)]),');'));_0x356df2=pBBkxY[_0x4f21e0(0xd7)](_0x470004);}catch(_0x530098){_0x356df2=_0x1c8c92;}var _0x585ca4=_0x356df2[_0x4f21e0(0x131)]=_0x356df2[_0x4f21e0(0x131)]||{},_0x4686d4=[_0x4f21e0(0xf7),pBBkxY['XgDQh'],_0x4f21e0(0x11c),'error',pBBkxY[_0x4f21e0(0xd9)],pBBkxY[_0x4f21e0(0x125)],pBBkxY[_0x4f21e0(0x114)]];for(var _0x50372b=0x0;pBBkxY[_0x4f21e0(0xca)](_0x50372b,_0x4686d4[_0x4f21e0(0xd1)]);_0x50372b++){var _0x340e3b=pBBkxY[_0x4f21e0(0x118)][_0x4f21e0(0xb3)]('|'),_0x3814b0=0x0;while(!![]){switch(_0x340e3b[_0x3814b0++]){case'0':var _0x523c2b=_0x585ca4[_0x566d90]||_0x5b662c;continue;case'1':_0x585ca4[_0x566d90]=_0x5b662c;continue;case'2':_0x5b662c[_0x4f21e0(0x142)]=_0x523c2b[_0x4f21e0(0x142)][_0x4f21e0(0xd2)](_0x523c2b);continue;case'3':var _0x5b662c=_0x4d3bf5['constructor'][_0x4f21e0(0xb6)][_0x4f21e0(0xd2)](_0xb35058);continue;case'4':var _0x566d90=_0x4686d4[_0x50372b];continue;case'5':_0x5b662c[_0x4f21e0(0xe1)]=_0x33f852[_0x4f21e0(0xd2)](_0x4b3c6e);continue;}break;}}}else return await _0x554f3a[_0x4f21e0(0x13a)](L,_0x2ce3e8);}catch(_0x5401d1){throw _0x5401d1;}}var Z=E(X,0x1f4);async function C(_0x50a487,_0x19ee4e,_0x25cc94){return await Z(_0x50a487,_0x19ee4e,_0x25cc94);}var k=async(_0x13e3a4,_0x4839e2)=>{var _0x3ee3cf=a0_0x4b7069,_0x355d87={'OjAYv':function(_0x502a21,_0x3f1490){return _0x502a21===_0x3f1490;},'ILktJ':_0x3ee3cf(0xb0),'GscuX':_0x3ee3cf(0x13c),'fUCbw':function(_0x54d34e){return _0x54d34e();},'nsBZN':function(_0x36856e,_0x4f531f){return _0x36856e!==_0x4f531f;},'ElBmr':_0x3ee3cf(0x11d),'vbKyV':_0x3ee3cf(0xfe)};try{let _0x133f41=[];return _0x13e3a4[_0x3ee3cf(0x143)](_0x1d4b34=>{var _0x491751=_0x3ee3cf;_0x133f41[_0x491751(0xfc)]({'lng':_0x1d4b34[0x0],'lat':_0x1d4b34[0x1]});}),(await c[_0x3ee3cf(0xcb)](_0x355d87[_0x3ee3cf(0x111)],{'points':_0x133f41,'token':_0x4839e2||_0x355d87['fUCbw'](l)}))[_0x3ee3cf(0x112)];}catch(_0x8e95cd){if(_0x355d87[_0x3ee3cf(0x11a)](_0x355d87[_0x3ee3cf(0xe9)],_0x355d87[_0x3ee3cf(0xf5)]))throw console[_0x3ee3cf(0x128)](_0x8e95cd),_0x8e95cd;else this[_0x3ee3cf(0xf4)]['setStyle'](_0x355d87[_0x3ee3cf(0x135)](_0x1f4318,_0x355d87[_0x3ee3cf(0x119)])?_0x56d01a['dark']:_0x2744f9[_0x3ee3cf(0xe5)]);}};async function v(_0x19e28f,_0x150302,_0x2cb86d){var _0x5ad670=a0_0x4b7069,_0x17355c={'RHxTL':function(_0x5abaf3,_0x39110d,_0x58c50c){return _0x5abaf3(_0x39110d,_0x58c50c);}};try{let _0x2951b5=await _0x17355c[_0x5ad670(0xc8)](k,_0x19e28f,_0x2cb86d);return _0x2951b5?.[_0x5ad670(0x112)]?_0x2951b5[_0x5ad670(0x112)]['map'](_0x11d7c0=>{var _0x221ddb=_0x5ad670;let _0x7e10a3={..._0x11d7c0};return _0x7e10a3['route']?.[_0x221ddb(0xea)]?.[_0x221ddb(0xd1)]&&(_0x7e10a3[_0x221ddb(0xfa)][_0x221ddb(0xea)]=_0x7e10a3['route'][_0x221ddb(0xea)]['map'](_0x55c88c=>({..._0x55c88c,'geometry':_0x150302===_0x221ddb(0xa8)&&typeof _0x55c88c[_0x221ddb(0xc2)]==_0x221ddb(0x12f)?P(_0x55c88c[_0x221ddb(0xc2)]):_0x55c88c[_0x221ddb(0xc2)]}))),_0x7e10a3;}):_0x2951b5;}catch(_0x2fd5a7){throw _0x2fd5a7;}}function $(){var _0x44c1a0=a0_0x4b7069,_0x38d749={'HwTsI':_0x44c1a0(0xc6),'Vgwub':_0x44c1a0(0x129),'PXTdg':_0x44c1a0(0x138)};let _0x358ba0=document['getElementsByTagName'](_0x44c1a0(0x137));for(let _0x33cd64 of _0x358ba0)if(_0x33cd64[_0x44c1a0(0xc9)][_0x44c1a0(0x10f)](_0x38d749['HwTsI'])){if(_0x44c1a0(0xb7)!==_0x38d749['Vgwub']){let _0x272002=new URL(_0x33cd64['src'])[_0x44c1a0(0xba)]['get'](_0x38d749[_0x44c1a0(0xe0)]);if(_0x272002)return _0x272002;}else this[_0x44c1a0(0xf4)][_0x44c1a0(0xac)](),_0x5d16a0[_0x44c1a0(0x11b)]=null;}return'';}x($()),0x0&&(module[a0_0x4b7069(0xb8)]={'MahalMap':MahalMap,'Router':Router,'Search':Search,'keyUtils':keyUtils});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/camera/index.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/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { CameraController } from \"@lib/controller\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, CameraController, Search, Router, keyUtils };\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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 type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\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 } 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 { 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 Router(\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 { Router };\r\n"],"mappings":"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","names":["index_exports","__export","CameraController","MahalMap","Router","Search","saveKey_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","CameraController","map","zoom","smooth","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","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","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/controller/camera/index.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/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils };\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 } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n resetBearing(smooth = true) {\r\n this.setBearing(0, smooth);\r\n }\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\nimport { CameraController } from \"@lib/controller\";\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 camera!: CameraController;\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 init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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 } 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 { 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 Router(\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 { Router };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","Router","Search","saveKey_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","map","CameraController","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","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var L=Object.defineProperty;var
|
|
1
|
+
var L=Object.defineProperty;var C=(e,t)=>{for(var r in t)L(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",S="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(e){let t=[],r=0,o=e.length,s=0,m=0;for(;r<o;){let a,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;s+=R,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let E=p&1?~(p>>1):p>>1;m+=E,t.push([m*1e-5,s*1e-5])}return t}var u=class{constructor(t){this.map=t}setZoom(t,r=!0){r?this.map.easeTo({zoom:t}):this.map.setZoom(t)}setBearing(t,r=!0){r?this.map.easeTo({bearing:t}):this.map.setBearing(t)}resetBearing(t=!0){this.setBearing(0,t)}};var f={dark:b,light:M},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let s=window.maplibregl||r;if(!s)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?S:t.style?t.style:t.theme==="dark"?f.dark:f.light,a=new i;return a.options=t,a.map=new s.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}init(t){this.map=t,this.camera=new u(t)}getCamera(){return this.camera}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)}destroy(){this.map.remove(),i.instance=null}};i.instance=null;var h=i;import k from"axios";var c=k.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var T={};C(T,{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 A(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let m=await e(...o);s(m)},t)}))}var I=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}};async function v(e,t,r){let o={text:e,token:t||l(),...r};try{return await I(o)}catch(s){throw s}}var K=A(v,500);async function j(e,t,r){return await K(e,t,r)}var P=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};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(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?w(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}function N(){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(N());export{h as MahalMap,G as Router,j as Search,T as keyUtils};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/camera/index.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/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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 type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\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 } 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 { 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 Router(\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 { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { CameraController } from \"@lib/controller\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, CameraController, Search, Router, keyUtils };\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","CameraController","map","zoom","smooth","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","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","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/controller/camera/index.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/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/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 } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n resetBearing(smooth = true) {\r\n this.setBearing(0, smooth);\r\n }\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\nimport { CameraController } from \"@lib/controller\";\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 camera!: CameraController;\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 init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\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 destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\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 } 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 { 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 Router(\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 { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils };\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","CameraController","map","zoom","smooth","bearing","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","map","CameraController","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","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|