mahal_map 1.2.0 → 1.2.2
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 +50 -14
- package/dist/index.d.ts +50 -14
- 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/mahal_map.sdk.js +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Map } from 'maplibre-gl';
|
|
2
|
+
import * as axios from 'axios';
|
|
2
3
|
|
|
3
4
|
interface IMahalMapOptions {
|
|
4
5
|
container?: string | HTMLDocument;
|
|
@@ -72,6 +73,12 @@ interface IRoute {
|
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
|
|
76
|
+
declare class CameraController {
|
|
77
|
+
private map;
|
|
78
|
+
constructor(map: Map);
|
|
79
|
+
setZoom(zoom: number, smooth?: boolean): void;
|
|
80
|
+
}
|
|
81
|
+
|
|
75
82
|
declare class MahalMap {
|
|
76
83
|
private static instance;
|
|
77
84
|
private map;
|
|
@@ -80,25 +87,25 @@ declare class MahalMap {
|
|
|
80
87
|
static create(options: IMahalMapOptions, maplibreObject?: {
|
|
81
88
|
Map: typeof Map;
|
|
82
89
|
} | typeof Map): MahalMap;
|
|
83
|
-
destroy(): void;
|
|
84
90
|
static getInstance(): MahalMap;
|
|
91
|
+
destroy(): void;
|
|
85
92
|
getMap(): Map;
|
|
86
93
|
setStyle(theme: "dark" | "light"): void;
|
|
87
94
|
setCenter(center: [number, number]): void;
|
|
88
95
|
setZoom(zoom: number): void;
|
|
89
96
|
}
|
|
90
97
|
|
|
91
|
-
declare
|
|
92
|
-
declare function clearKey(): void;
|
|
93
|
-
declare const getApiKey: () => string;
|
|
98
|
+
declare const routingApi: (param: number[][], token: string) => Promise<any>;
|
|
94
99
|
|
|
95
|
-
declare
|
|
96
|
-
|
|
97
|
-
declare const
|
|
98
|
-
declare namespace
|
|
99
|
-
export {
|
|
100
|
+
declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
|
|
101
|
+
|
|
102
|
+
declare const routerUtils_getrouter: typeof getrouter;
|
|
103
|
+
declare namespace routerUtils {
|
|
104
|
+
export { routerUtils_getrouter as getrouter };
|
|
100
105
|
}
|
|
101
106
|
|
|
107
|
+
declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
|
|
108
|
+
|
|
102
109
|
declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
|
|
103
110
|
|
|
104
111
|
declare const searchUtils_search: typeof search;
|
|
@@ -106,19 +113,48 @@ declare namespace searchUtils {
|
|
|
106
113
|
export { searchUtils_search as search };
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
|
|
116
|
+
type controller_CameraController = CameraController;
|
|
117
|
+
declare const controller_CameraController: typeof CameraController;
|
|
118
|
+
type controller_MahalMap = MahalMap;
|
|
119
|
+
declare const controller_MahalMap: typeof MahalMap;
|
|
120
|
+
declare const controller_getrouter: typeof getrouter;
|
|
121
|
+
declare const controller_routingApi: typeof routingApi;
|
|
122
|
+
declare const controller_search: typeof search;
|
|
123
|
+
declare const controller_searchPost: typeof searchPost;
|
|
124
|
+
declare namespace controller {
|
|
125
|
+
export { controller_CameraController as CameraController, controller_MahalMap as MahalMap, controller_getrouter as getrouter, controller_routingApi as routingApi, controller_search as search, controller_searchPost as searchPost };
|
|
126
|
+
}
|
|
110
127
|
|
|
111
|
-
declare const
|
|
112
|
-
|
|
113
|
-
|
|
128
|
+
declare const api: axios.AxiosInstance;
|
|
129
|
+
|
|
130
|
+
declare function checkCoordinates(coordinates: string): {
|
|
131
|
+
lat: string | undefined;
|
|
132
|
+
lng: string | undefined;
|
|
133
|
+
} | null;
|
|
134
|
+
|
|
135
|
+
declare function saveKey(param: string): void;
|
|
136
|
+
declare function clearKey(): void;
|
|
137
|
+
declare const getApiKey: () => string;
|
|
138
|
+
|
|
139
|
+
declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
|
|
140
|
+
|
|
141
|
+
declare const keyUtils_api: typeof api;
|
|
142
|
+
declare const keyUtils_checkCoordinates: typeof checkCoordinates;
|
|
143
|
+
declare const keyUtils_clearKey: typeof clearKey;
|
|
144
|
+
declare const keyUtils_debounce: typeof debounce;
|
|
145
|
+
declare const keyUtils_getApiKey: typeof getApiKey;
|
|
146
|
+
declare const keyUtils_saveKey: typeof saveKey;
|
|
147
|
+
declare namespace keyUtils {
|
|
148
|
+
export { keyUtils_api as api, keyUtils_checkCoordinates as checkCoordinates, keyUtils_clearKey as clearKey, keyUtils_debounce as debounce, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
|
|
114
149
|
}
|
|
115
150
|
|
|
116
151
|
declare const MMap: {
|
|
117
152
|
MahalMap: typeof MahalMap;
|
|
153
|
+
controller: typeof controller;
|
|
118
154
|
keyUtils: typeof keyUtils;
|
|
119
155
|
searchUtils: typeof searchUtils;
|
|
120
156
|
routerUtils: typeof routerUtils;
|
|
121
157
|
loadKeyFromScriptUrl: () => string;
|
|
122
158
|
};
|
|
123
159
|
|
|
124
|
-
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
|
|
160
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, controller, MMap as default, keyUtils, routerUtils, searchUtils };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Map } from 'maplibre-gl';
|
|
2
|
+
import * as axios from 'axios';
|
|
2
3
|
|
|
3
4
|
interface IMahalMapOptions {
|
|
4
5
|
container?: string | HTMLDocument;
|
|
@@ -72,6 +73,12 @@ interface IRoute {
|
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
|
|
76
|
+
declare class CameraController {
|
|
77
|
+
private map;
|
|
78
|
+
constructor(map: Map);
|
|
79
|
+
setZoom(zoom: number, smooth?: boolean): void;
|
|
80
|
+
}
|
|
81
|
+
|
|
75
82
|
declare class MahalMap {
|
|
76
83
|
private static instance;
|
|
77
84
|
private map;
|
|
@@ -80,25 +87,25 @@ declare class MahalMap {
|
|
|
80
87
|
static create(options: IMahalMapOptions, maplibreObject?: {
|
|
81
88
|
Map: typeof Map;
|
|
82
89
|
} | typeof Map): MahalMap;
|
|
83
|
-
destroy(): void;
|
|
84
90
|
static getInstance(): MahalMap;
|
|
91
|
+
destroy(): void;
|
|
85
92
|
getMap(): Map;
|
|
86
93
|
setStyle(theme: "dark" | "light"): void;
|
|
87
94
|
setCenter(center: [number, number]): void;
|
|
88
95
|
setZoom(zoom: number): void;
|
|
89
96
|
}
|
|
90
97
|
|
|
91
|
-
declare
|
|
92
|
-
declare function clearKey(): void;
|
|
93
|
-
declare const getApiKey: () => string;
|
|
98
|
+
declare const routingApi: (param: number[][], token: string) => Promise<any>;
|
|
94
99
|
|
|
95
|
-
declare
|
|
96
|
-
|
|
97
|
-
declare const
|
|
98
|
-
declare namespace
|
|
99
|
-
export {
|
|
100
|
+
declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
|
|
101
|
+
|
|
102
|
+
declare const routerUtils_getrouter: typeof getrouter;
|
|
103
|
+
declare namespace routerUtils {
|
|
104
|
+
export { routerUtils_getrouter as getrouter };
|
|
100
105
|
}
|
|
101
106
|
|
|
107
|
+
declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
|
|
108
|
+
|
|
102
109
|
declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
|
|
103
110
|
|
|
104
111
|
declare const searchUtils_search: typeof search;
|
|
@@ -106,19 +113,48 @@ declare namespace searchUtils {
|
|
|
106
113
|
export { searchUtils_search as search };
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
|
|
116
|
+
type controller_CameraController = CameraController;
|
|
117
|
+
declare const controller_CameraController: typeof CameraController;
|
|
118
|
+
type controller_MahalMap = MahalMap;
|
|
119
|
+
declare const controller_MahalMap: typeof MahalMap;
|
|
120
|
+
declare const controller_getrouter: typeof getrouter;
|
|
121
|
+
declare const controller_routingApi: typeof routingApi;
|
|
122
|
+
declare const controller_search: typeof search;
|
|
123
|
+
declare const controller_searchPost: typeof searchPost;
|
|
124
|
+
declare namespace controller {
|
|
125
|
+
export { controller_CameraController as CameraController, controller_MahalMap as MahalMap, controller_getrouter as getrouter, controller_routingApi as routingApi, controller_search as search, controller_searchPost as searchPost };
|
|
126
|
+
}
|
|
110
127
|
|
|
111
|
-
declare const
|
|
112
|
-
|
|
113
|
-
|
|
128
|
+
declare const api: axios.AxiosInstance;
|
|
129
|
+
|
|
130
|
+
declare function checkCoordinates(coordinates: string): {
|
|
131
|
+
lat: string | undefined;
|
|
132
|
+
lng: string | undefined;
|
|
133
|
+
} | null;
|
|
134
|
+
|
|
135
|
+
declare function saveKey(param: string): void;
|
|
136
|
+
declare function clearKey(): void;
|
|
137
|
+
declare const getApiKey: () => string;
|
|
138
|
+
|
|
139
|
+
declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
|
|
140
|
+
|
|
141
|
+
declare const keyUtils_api: typeof api;
|
|
142
|
+
declare const keyUtils_checkCoordinates: typeof checkCoordinates;
|
|
143
|
+
declare const keyUtils_clearKey: typeof clearKey;
|
|
144
|
+
declare const keyUtils_debounce: typeof debounce;
|
|
145
|
+
declare const keyUtils_getApiKey: typeof getApiKey;
|
|
146
|
+
declare const keyUtils_saveKey: typeof saveKey;
|
|
147
|
+
declare namespace keyUtils {
|
|
148
|
+
export { keyUtils_api as api, keyUtils_checkCoordinates as checkCoordinates, keyUtils_clearKey as clearKey, keyUtils_debounce as debounce, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
|
|
114
149
|
}
|
|
115
150
|
|
|
116
151
|
declare const MMap: {
|
|
117
152
|
MahalMap: typeof MahalMap;
|
|
153
|
+
controller: typeof controller;
|
|
118
154
|
keyUtils: typeof keyUtils;
|
|
119
155
|
searchUtils: typeof searchUtils;
|
|
120
156
|
routerUtils: typeof routerUtils;
|
|
121
157
|
loadKeyFromScriptUrl: () => string;
|
|
122
158
|
};
|
|
123
159
|
|
|
124
|
-
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
|
|
160
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, controller, MMap as default, keyUtils, routerUtils, searchUtils };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var a0_0x1665a5=a0_0x2b25;(function(_0x532108,_0x525724){var _0x1b0021=a0_0x2b25,_0x4a17b2=_0x532108();while(!![]){try{var _0x17f71d=parseInt(_0x1b0021(0x1cc))/0x1*(parseInt(_0x1b0021(0x148))/0x2)+-parseInt(_0x1b0021(0x162))/0x3*(parseInt(_0x1b0021(0x1a4))/0x4)+-parseInt(_0x1b0021(0x135))/0x5*(-parseInt(_0x1b0021(0x1c6))/0x6)+parseInt(_0x1b0021(0x1c7))/0x7+-parseInt(_0x1b0021(0x168))/0x8+-parseInt(_0x1b0021(0x199))/0x9+-parseInt(_0x1b0021(0x13e))/0xa;if(_0x17f71d===_0x525724)break;else _0x4a17b2['push'](_0x4a17b2['shift']());}catch(_0x553b26){_0x4a17b2['push'](_0x4a17b2['shift']());}}}(a0_0xd596,0x29dad));var v=Object[a0_0x1665a5(0x16a)],u=Object[a0_0x1665a5(0x16b)],C=Object[a0_0x1665a5(0x1ab)],N=Object['getOwnPropertyNames'],U=Object[a0_0x1665a5(0x15d)],F=Object[a0_0x1665a5(0x1ac)][a0_0x1665a5(0x1ca)],f=(_0x27a9e6,_0x5eec9d)=>{var _0xaaf782=a0_0x1665a5,_0x209d31={'CHRRp':function(_0x29e475,_0xba4d2f,_0x56405f,_0x2bef45){return _0x29e475(_0xba4d2f,_0x56405f,_0x2bef45);}};for(var _0x51f185 in _0x5eec9d)_0x209d31[_0xaaf782(0x18b)](u,_0x27a9e6,_0x51f185,{'get':_0x5eec9d[_0x51f185],'enumerable':!0x0});},S=(_0x7ff0ba,_0x7211fd,_0x57cd17,_0x37ad79)=>{var _0x3c9bd1=a0_0x1665a5,_0x1c54f9={'gIMAb':function(_0x33f7c1,_0xff05b0){return _0x33f7c1==_0xff05b0;},'ChHqo':_0x3c9bd1(0x1d6),'YpweY':_0x3c9bd1(0x152),'vmHJW':function(_0x488e00,_0xd0876){return _0x488e00(_0xd0876);},'NhrTS':function(_0x237953,_0x1e4aac){return _0x237953!==_0x1e4aac;},'HFQTM':function(_0x21511d,_0xf93a0f,_0xcb013c){return _0x21511d(_0xf93a0f,_0xcb013c);}};if(_0x7211fd&&_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9[_0x3c9bd1(0x13b)])||_0x1c54f9['gIMAb'](typeof _0x7211fd,_0x1c54f9['YpweY'])){for(let _0x231d6 of _0x1c54f9[_0x3c9bd1(0x1a1)](N,_0x7211fd))!F[_0x3c9bd1(0x151)](_0x7ff0ba,_0x231d6)&&_0x1c54f9[_0x3c9bd1(0x159)](_0x231d6,_0x57cd17)&&u(_0x7ff0ba,_0x231d6,{'get':()=>_0x7211fd[_0x231d6],'enumerable':!(_0x37ad79=_0x1c54f9[_0x3c9bd1(0x143)](C,_0x7211fd,_0x231d6))||_0x37ad79['enumerable']});}return _0x7ff0ba;},D=(_0x36c9a1,_0x40adff,_0x4e3fe1)=>(_0x4e3fe1=_0x36c9a1!=null?v(U(_0x36c9a1)):{},S(_0x40adff||!_0x36c9a1||!_0x36c9a1[a0_0x1665a5(0x17f)]?u(_0x4e3fe1,a0_0x1665a5(0x16c),{'value':_0x36c9a1,'enumerable':!0x0}):_0x4e3fe1,_0x36c9a1)),O=_0x4d3806=>S(u({},a0_0x1665a5(0x17f),{'value':!0x0}),_0x4d3806),q={};f(q,{'MahalMap':()=>d,'keyUtils':()=>b,'routerUtils':()=>M,'searchUtils':()=>w}),module[a0_0x1665a5(0x19d)]=O(q);var A=a0_0x1665a5(0x14e),I='https://mtile.gram.tj/custom-styles/dark-style.json',P=a0_0x1665a5(0x184),T='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function E(_0x330d84){var _0x4db528=a0_0x1665a5,_0x298b0b={'saNFO':function(_0x47a5bb,_0x1d32a1){return _0x47a5bb<_0x1d32a1;},'smuST':function(_0x169625,_0x3e0dda){return _0x169625-_0x3e0dda;},'GOJsC':function(_0x43643f,_0xf3b68c){return _0x43643f<<_0xf3b68c;},'eLMoo':function(_0x544bdb,_0x4b3475){return _0x544bdb&_0x4b3475;},'OBmcI':function(_0x2001fa,_0x459648){return _0x2001fa>=_0x459648;},'HLNvY':function(_0x237554,_0x4adbb8){return _0x237554>>_0x4adbb8;},'qpaqj':function(_0x5a6ca1,_0x1f6e67){return _0x5a6ca1>>_0x1f6e67;},'riatc':function(_0x30d72d,_0x502b6f){return _0x30d72d-_0x502b6f;},'Utwpu':function(_0x3f030d,_0x16d34d){return _0x3f030d<<_0x16d34d;},'JQskL':function(_0x38b565,_0x3b6fcb){return _0x38b565>=_0x3b6fcb;},'zPxzN':function(_0x45ed6f,_0x278a9a){return _0x45ed6f>>_0x278a9a;},'HocEl':function(_0x433d0a,_0x59676e){return _0x433d0a*_0x59676e;},'LIlxV':function(_0x5331ff,_0x564d00){return _0x5331ff*_0x564d00;}};let _0x549447=[],_0x581fa5=0x0,_0x56eba0=_0x330d84[_0x4db528(0x1b4)],_0x47802b=0x0,_0x4cd36f=0x0;for(;_0x298b0b['saNFO'](_0x581fa5,_0x56eba0);){let _0x2f43a8,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x187)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b['GOJsC'](_0x298b0b[_0x4db528(0x137)](_0x2f43a8,0x1f),_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b['OBmcI'](_0x2f43a8,0x20));let _0x336099=_0x42c098&0x1?~_0x298b0b['HLNvY'](_0x42c098,0x1):_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1);_0x47802b+=_0x336099,_0x14e8dc=0x0,_0x42c098=0x0;do _0x2f43a8=_0x298b0b[_0x4db528(0x1ce)](_0x330d84[_0x4db528(0x19f)](_0x581fa5++),0x3f),_0x42c098|=_0x298b0b[_0x4db528(0x177)](_0x2f43a8&0x1f,_0x14e8dc),_0x14e8dc+=0x5;while(_0x298b0b[_0x4db528(0x13f)](_0x2f43a8,0x20));let _0x485b85=_0x298b0b[_0x4db528(0x137)](_0x42c098,0x1)?~_0x298b0b[_0x4db528(0x1bd)](_0x42c098,0x1):_0x298b0b[_0x4db528(0x18d)](_0x42c098,0x1);_0x4cd36f+=_0x485b85,_0x549447[_0x4db528(0x16e)]([_0x298b0b['HocEl'](_0x4cd36f,0.00001),_0x298b0b[_0x4db528(0x192)](_0x47802b,0.00001)]);}return _0x549447;}var h={'dark':I,'light':P},i=class i{constructor(){}static[a0_0x1665a5(0x16a)](_0x2f4796,_0x53905a){var _0x19143f=a0_0x1665a5,_0x1b7328={'AssHc':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','AMjNP':function(_0x11491b,_0x510292){return _0x11491b===_0x510292;},'PlKkO':_0x19143f(0x130),'ACmUN':_0x19143f(0x179)};if(i[_0x19143f(0x1bb)])return i['instance'];let _0x24c4ff=window['maplibregl']||_0x53905a;if(!_0x24c4ff)throw new Error(_0x1b7328['AssHc']);let _0x4a1bf7=_0x2f4796[_0x19143f(0x153)]?T:_0x2f4796[_0x19143f(0x13a)]?_0x2f4796[_0x19143f(0x13a)]:_0x1b7328[_0x19143f(0x15b)](_0x2f4796[_0x19143f(0x1bf)],_0x1b7328['PlKkO'])?h['dark']:h['light'],_0x1240b7=new i();return _0x1240b7[_0x19143f(0x1b6)]=_0x2f4796,_0x1240b7['map']=new _0x24c4ff[(_0x19143f(0x174))]({'container':_0x2f4796['container']||_0x1b7328[_0x19143f(0x164)],'style':_0x4a1bf7,'center':_0x2f4796[_0x19143f(0x149)]||[69.624024,40.279687],'zoom':_0x2f4796[_0x19143f(0x163)]||0x5}),i[_0x19143f(0x1bb)]=_0x1240b7,_0x1240b7;}[a0_0x1665a5(0x1b2)](){var _0x5c3d85=a0_0x1665a5;this[_0x5c3d85(0x179)][_0x5c3d85(0x17d)](),i['instance']=null;}static[a0_0x1665a5(0x190)](){var _0x16b403=a0_0x1665a5;if(!i[_0x16b403(0x1bb)])throw new Error('[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана');return i[_0x16b403(0x1bb)];}[a0_0x1665a5(0x1ae)](){var _0x4c1b86=a0_0x1665a5;return this[_0x4c1b86(0x179)];}[a0_0x1665a5(0x1a0)](_0x1a978f){var _0x6ccbfb=a0_0x1665a5,_0x5d81d4={'isXuM':function(_0x1fb2a5,_0x52e69c){return _0x1fb2a5===_0x52e69c;},'Emfan':_0x6ccbfb(0x130)};this[_0x6ccbfb(0x179)][_0x6ccbfb(0x1a0)](_0x5d81d4[_0x6ccbfb(0x173)](_0x1a978f,_0x5d81d4[_0x6ccbfb(0x1b8)])?h[_0x6ccbfb(0x130)]:h[_0x6ccbfb(0x176)]);}[a0_0x1665a5(0x154)](_0x4945d9){var _0x367c07=a0_0x1665a5;this[_0x367c07(0x179)][_0x367c07(0x154)](_0x4945d9);}[a0_0x1665a5(0x1d3)](_0x520762){var _0x1dfcbb=a0_0x1665a5;this[_0x1dfcbb(0x179)][_0x1dfcbb(0x1d3)](_0x520762);}};i[a0_0x1665a5(0x1bb)]=null;var d=i,L=D(require(a0_0x1665a5(0x14a))),c=L[a0_0x1665a5(0x16c)][a0_0x1665a5(0x16a)]({'baseURL':A});c[a0_0x1665a5(0x141)]['request'][a0_0x1665a5(0x195)](_0x2a5258=>_0x2a5258,_0x514ec9=>(_0x514ec9[a0_0x1665a5(0x181)]?.[a0_0x1665a5(0x1aa)]===0x191&&y(),Promise[a0_0x1665a5(0x131)](_0x514ec9)));var b={};f(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});var g='';function x(_0x83b11a){var _0xe098d8=a0_0x1665a5,_0x162fca={'MafYc':function(_0xb0d154,_0x2d2e83){return _0xb0d154!==_0x2d2e83;}};_0x162fca[_0xe098d8(0x1d2)](_0x83b11a,'')&&(g=_0x83b11a,c[_0xe098d8(0x17c)][_0xe098d8(0x1a5)]['common'][_0xe098d8(0x1a8)]=_0xe098d8(0x19e)+_0x83b11a);}function y(){var _0x20ce8e=a0_0x1665a5,_0x200164={'fdErs':function(_0x24d3ee,_0x4b8d89){return _0x24d3ee===_0x4b8d89;},'cFqjh':_0x20ce8e(0x1ba),'UEjEu':function(_0x19c93d,_0x3592e8){return _0x19c93d==_0x3592e8;},'GJwBr':function(_0x2bec84,_0x2ca732,_0x32e406){return _0x2bec84(_0x2ca732,_0x32e406);},'STmiL':_0x20ce8e(0x1b0),'qAQPf':function(_0x451c99,_0x18c3d0){return _0x451c99===_0x18c3d0;},'NIIUl':_0x20ce8e(0x1be),'WpEcW':function(_0x35b408,_0xd6653a){return _0x35b408(_0xd6653a);},'zScZB':'{}.constructor(\x22return\x20this\x22)(\x20)','ayJZm':function(_0x33053b,_0x4beca8){return _0x33053b!==_0x4beca8;},'GAjyu':_0x20ce8e(0x136),'DMbQD':_0x20ce8e(0x157),'hmhsn':_0x20ce8e(0x1c8),'fhVNy':'info','QqfcC':_0x20ce8e(0x1c2),'kymLl':_0x20ce8e(0x196),'YCvwr':'table','jigwK':_0x20ce8e(0x1d5),'VJtAC':function(_0xd7ee5d,_0x398594){return _0xd7ee5d<_0x398594;},'jcViL':_0x20ce8e(0x185),'NwizU':function(_0x355c76){return _0x355c76();}},_0x342199=(function(){var _0x254b96=_0x20ce8e,_0x50d94f={'HUzVx':function(_0x26a5a4,_0x4c3199){var _0x33d20e=a0_0x2b25;return _0x200164[_0x33d20e(0x198)](_0x26a5a4,_0x4c3199);},'zCwwl':_0x200164[_0x254b96(0x15a)],'YChZi':function(_0xcec705,_0x4a46b7){var _0x225217=_0x254b96;return _0x200164[_0x225217(0x1ad)](_0xcec705,_0x4a46b7);},'wgtBu':'object','pVSSA':function(_0x6f9e3a,_0x13ab21){var _0x2800b9=_0x254b96;return _0x200164[_0x2800b9(0x1ad)](_0x6f9e3a,_0x13ab21);},'AQCar':function(_0x1aabe0,_0x3c3f34){return _0x1aabe0(_0x3c3f34);},'Lzzss':function(_0x604790,_0x1d88c9,_0x4b2a55,_0x2b63bc){return _0x604790(_0x1d88c9,_0x4b2a55,_0x2b63bc);},'BUwvL':function(_0x526c0a,_0x36b6ad,_0x49e1e5){var _0x4a01a7=_0x254b96;return _0x200164[_0x4a01a7(0x1af)](_0x526c0a,_0x36b6ad,_0x49e1e5);}},_0x29db18=!![];return function(_0x3e40e4,_0x55a23f){var _0x23710e=_0x254b96,_0x37e9e2={'FMYqa':function(_0x550fb5,_0x59686c){return _0x50d94f['YChZi'](_0x550fb5,_0x59686c);},'PfDdD':_0x50d94f[_0x23710e(0x147)],'pjAeM':function(_0x2f3fe8,_0x5b204e){return _0x50d94f['pVSSA'](_0x2f3fe8,_0x5b204e);},'iNxZE':function(_0x5b59c9,_0x4536f0){var _0x6420d6=_0x23710e;return _0x50d94f[_0x6420d6(0x182)](_0x5b59c9,_0x4536f0);},'eIPuj':function(_0x19de06,_0x5bdced){return _0x19de06!==_0x5bdced;},'TiUOS':function(_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf){var _0xbd741c=_0x23710e;return _0x50d94f[_0xbd741c(0x19b)](_0x44de3e,_0x8ce67f,_0x18dd02,_0x2741cf);},'YFZUY':function(_0x1136a4,_0x1020b0,_0x44d9cb){var _0x45488e=_0x23710e;return _0x50d94f[_0x45488e(0x1d1)](_0x1136a4,_0x1020b0,_0x44d9cb);}},_0x485105=_0x29db18?function(){var _0x2bbf23=_0x23710e;if(_0x50d94f[_0x2bbf23(0x1c1)](_0x50d94f[_0x2bbf23(0x12d)],_0x50d94f[_0x2bbf23(0x12d)])){if(_0x55a23f){var _0x1bc1bf=_0x55a23f[_0x2bbf23(0x1d8)](_0x3e40e4,arguments);return _0x55a23f=null,_0x1bc1bf;}}else{if(_0x49374f&&_0x37e9e2[_0x2bbf23(0x1da)](typeof _0x2ec7dd,_0x37e9e2[_0x2bbf23(0x1d9)])||_0x37e9e2[_0x2bbf23(0x16d)](typeof _0x5922c0,_0x2bbf23(0x152))){for(let _0xfc9710 of _0x37e9e2[_0x2bbf23(0x17a)](_0x48e8c5,_0x2bb4ee))!_0x45f6b3[_0x2bbf23(0x151)](_0x12d9b2,_0xfc9710)&&_0x37e9e2[_0x2bbf23(0x19a)](_0xfc9710,_0x23ffc7)&&_0x37e9e2[_0x2bbf23(0x16f)](_0x146b6e,_0xf5f01b,_0xfc9710,{'get':()=>_0x58a986[_0xfc9710],'enumerable':!(_0x5ebf1e=_0x37e9e2[_0x2bbf23(0x158)](_0x1feec5,_0x47d866,_0xfc9710))||_0x3d75c3[_0x2bbf23(0x188)]});}return _0x3486dd;}}:function(){};return _0x29db18=![],_0x485105;};}()),_0x11c062=_0x342199(this,function(){var _0x1783fd=_0x20ce8e,_0x2bf68d;try{if(_0x200164['qAQPf'](_0x200164[_0x1783fd(0x1dd)],_0x200164[_0x1783fd(0x1dd)])){var _0xeaf50=_0x200164[_0x1783fd(0x17b)](Function,_0x1783fd(0x150)+_0x200164[_0x1783fd(0x139)]+');');_0x2bf68d=_0xeaf50();}else{let _0x30bfab=new _0x332209(_0xeeaa00[_0x1783fd(0x1a7)])[_0x1783fd(0x155)][_0x1783fd(0x170)](_0x200164[_0x1783fd(0x13c)]);if(_0x30bfab)return _0x30bfab;}}catch(_0x27efd7){if(_0x200164[_0x1783fd(0x191)](_0x200164[_0x1783fd(0x142)],_0x1783fd(0x165)))_0x2bf68d=window;else throw _0x57f0e7;}var _0x30d276=_0x2bf68d['console']=_0x2bf68d[_0x1783fd(0x1cb)]||{},_0x4e2497=[_0x200164['DMbQD'],_0x200164['hmhsn'],_0x200164[_0x1783fd(0x169)],_0x200164[_0x1783fd(0x175)],_0x200164[_0x1783fd(0x1d4)],_0x200164[_0x1783fd(0x140)],_0x200164[_0x1783fd(0x12e)]];for(var _0xb52df7=0x0;_0x200164['VJtAC'](_0xb52df7,_0x4e2497[_0x1783fd(0x1b4)]);_0xb52df7++){var _0x544f72=_0x200164[_0x1783fd(0x161)][_0x1783fd(0x1d7)]('|'),_0xdff54c=0x0;while(!![]){switch(_0x544f72[_0xdff54c++]){case'0':_0x410fa6[_0x1783fd(0x197)]=_0x342199[_0x1783fd(0x14c)](_0x342199);continue;case'1':_0x410fa6[_0x1783fd(0x12f)]=_0x352ec2[_0x1783fd(0x12f)][_0x1783fd(0x14c)](_0x352ec2);continue;case'2':var _0x352ec2=_0x30d276[_0x396aa1]||_0x410fa6;continue;case'3':var _0x410fa6=_0x342199[_0x1783fd(0x1a2)]['prototype'][_0x1783fd(0x14c)](_0x342199);continue;case'4':_0x30d276[_0x396aa1]=_0x410fa6;continue;case'5':var _0x396aa1=_0x4e2497[_0xb52df7];continue;}break;}}});_0x200164[_0x20ce8e(0x18c)](_0x11c062),(g='',c['defaults']['headers']['common']['Authorization']='');}function a0_0x2b25(_0x554d61,_0x5e8e71){var _0x40a6f2=a0_0xd596();return a0_0x2b25=function(_0x105824,_0x17899b){_0x105824=_0x105824-0x12d;var _0x2aa973=_0x40a6f2[_0x105824];return _0x2aa973;},a0_0x2b25(_0x554d61,_0x5e8e71);}var l=()=>g;function R(_0x4d0369,_0x4f6ce3){var _0x22087e={'kehzh':function(_0x389af5,..._0x2fa80f){return _0x389af5(..._0x2fa80f);},'XxLeU':function(_0x37f711,_0x4de7c2){return _0x37f711(_0x4de7c2);},'bPUIT':function(_0x48055f,_0x28b757,_0x52921b){return _0x48055f(_0x28b757,_0x52921b);}};let _0x23d279;return(..._0x3aa628)=>(_0x23d279&&clearTimeout(_0x23d279),new Promise(_0x309463=>{_0x23d279=_0x22087e['bPUIT'](setTimeout,async()=>{var _0x131dc6=a0_0x2b25,_0x11738b=await _0x22087e[_0x131dc6(0x166)](_0x4d0369,..._0x3aa628);_0x22087e[_0x131dc6(0x138)](_0x309463,_0x11738b);},_0x4f6ce3);}));}var k=async(_0x3e2648,_0x24cabc)=>{var _0x290302=a0_0x1665a5,_0x53de51={'kCBrw':function(_0x363b56,_0x1f443f){return _0x363b56(_0x1f443f);},'AWnba':function(_0x2e3149,_0x4b0759){return _0x2e3149+_0x4b0759;},'cvqpX':_0x290302(0x1b3),'DONkD':function(_0x5565cb){return _0x5565cb();},'pQmTU':_0x290302(0x1c8),'WBxWt':'info','XSzxp':_0x290302(0x18a),'kcOrZ':_0x290302(0x17e),'HMXdx':_0x290302(0x1d0),'FaVTj':_0x290302(0x193)};try{let _0x4b3b82=[];return _0x3e2648[_0x290302(0x13d)](_0x4e972d=>{var _0x5694a2=_0x290302,_0x11537e={'CaUOd':function(_0x2341f3,_0x204b7f){var _0x4d20fc=a0_0x2b25;return _0x53de51[_0x4d20fc(0x144)](_0x2341f3,_0x204b7f);},'UCiks':function(_0x184bf3,_0x6639f3){var _0x33c122=a0_0x2b25;return _0x53de51[_0x33c122(0x1c5)](_0x184bf3,_0x6639f3);},'xtIan':_0x53de51[_0x5694a2(0x1b5)],'qjmXj':function(_0x5de688){return _0x53de51['DONkD'](_0x5de688);},'hUKff':_0x5694a2(0x157),'fUinK':_0x53de51[_0x5694a2(0x18f)],'UUWdE':_0x53de51[_0x5694a2(0x132)],'VydYy':_0x5694a2(0x1c2),'FVPYs':_0x53de51[_0x5694a2(0x160)],'OUClX':_0x5694a2(0x1d5),'ooCXx':_0x53de51[_0x5694a2(0x1c9)]};if(_0x53de51['HMXdx']!==_0x53de51[_0x5694a2(0x15e)]){var _0xe7dd83;try{var _0x257c9d=toTKtY[_0x5694a2(0x1cf)](_0x1cc759,toTKtY[_0x5694a2(0x1b9)](_0x5694a2(0x150),toTKtY['xtIan'])+');');_0xe7dd83=toTKtY[_0x5694a2(0x172)](_0x257c9d);}catch(_0xe37c2b){_0xe7dd83=_0x181f30;}var _0x38b064=_0xe7dd83[_0x5694a2(0x1cb)]=_0xe7dd83['console']||{},_0x58aba0=[toTKtY['hUKff'],toTKtY[_0x5694a2(0x156)],toTKtY[_0x5694a2(0x186)],toTKtY[_0x5694a2(0x167)],_0x5694a2(0x196),toTKtY[_0x5694a2(0x180)],toTKtY[_0x5694a2(0x1c4)]];for(var _0x466cd4=0x0;_0x466cd4<_0x58aba0[_0x5694a2(0x1b4)];_0x466cd4++){var _0x10a97c=toTKtY[_0x5694a2(0x1dc)]['split']('|'),_0x5e2f84=0x0;while(!![]){switch(_0x10a97c[_0x5e2f84++]){case'0':_0xcaff4[_0x5694a2(0x12f)]=_0x53e273[_0x5694a2(0x12f)][_0x5694a2(0x14c)](_0x53e273);continue;case'1':var _0x53e273=_0x38b064[_0x8a6d21]||_0xcaff4;continue;case'2':_0x38b064[_0x8a6d21]=_0xcaff4;continue;case'3':var _0x8a6d21=_0x58aba0[_0x466cd4];continue;case'4':_0xcaff4[_0x5694a2(0x197)]=_0x104f18[_0x5694a2(0x14c)](_0x53896a);continue;case'5':var _0xcaff4=_0x1ada69[_0x5694a2(0x1a2)]['prototype'][_0x5694a2(0x14c)](_0x57aade);continue;}break;}}}else _0x4b3b82[_0x5694a2(0x16e)]({'lng':_0x4e972d[0x0],'lat':_0x4e972d[0x1]});}),(await c[_0x290302(0x1a6)](_0x53de51[_0x290302(0x189)],{'points':_0x4b3b82,'token':_0x24cabc||_0x53de51[_0x290302(0x1bc)](l)}))['data'];}catch(_0x270b4d){throw console['error'](_0x270b4d),_0x270b4d;}},M={};f(M,{'getrouter':()=>X});async function X(_0x2e9518,_0xe2c3c4,_0x1544dd){var _0x289d1b=a0_0x1665a5,_0x1818f7={'NMcql':function(_0x4a3cf4,_0x4edf16){return _0x4a3cf4===_0x4edf16;},'NpXgY':_0x289d1b(0x130),'JoTsI':'3|4|5|1|0|2','lgKzR':_0x289d1b(0x14d),'gBjgt':_0x289d1b(0x1c0),'uTPhn':'uTCyY','ttFSS':'KtEaa','xaNzA':function(_0x122f8c,_0x3c5fa1,_0x6cb312){return _0x122f8c(_0x3c5fa1,_0x6cb312);}};try{if(_0x1818f7['NMcql'](_0x1818f7[_0x289d1b(0x14f)],_0x1818f7[_0x289d1b(0x1cd)]))this[_0x289d1b(0x179)][_0x289d1b(0x1a0)](_0x1818f7['NMcql'](_0x49d81b,_0x1818f7[_0x289d1b(0x15f)])?_0xc77dc6[_0x289d1b(0x130)]:_0x11f33c['light']);else{let _0x56474c=await _0x1818f7[_0x289d1b(0x146)](k,_0x2e9518,_0x1544dd);return _0x56474c?.[_0x289d1b(0x133)]?_0x56474c[_0x289d1b(0x133)]['map'](_0x1804d1=>{var _0x4d0d48=_0x289d1b,_0x1b17de={'TACtM':_0x1818f7[_0x4d0d48(0x14b)]};if(_0x1818f7[_0x4d0d48(0x1b7)]===_0x1818f7['gBjgt']){var _0x1312ed=_0x1b17de[_0x4d0d48(0x194)][_0x4d0d48(0x1d7)]('|'),_0x5586da=0x0;while(!![]){switch(_0x1312ed[_0x5586da++]){case'0':_0x3fee29[_0x4d0d48(0x12f)]=_0x4c5c90[_0x4d0d48(0x12f)][_0x4d0d48(0x14c)](_0x4c5c90);continue;case'1':_0x3fee29['__proto__']=_0x2e322f[_0x4d0d48(0x14c)](_0x3d294d);continue;case'2':_0x157e49[_0x3ee417]=_0x3fee29;continue;case'3':var _0x3fee29=_0x504d36[_0x4d0d48(0x1a2)][_0x4d0d48(0x1ac)][_0x4d0d48(0x14c)](_0x443c90);continue;case'4':var _0x3ee417=_0x80c353[_0x354f84];continue;case'5':var _0x4c5c90=_0x15a0ce[_0x3ee417]||_0x3fee29;continue;}break;}}else{let _0x44adc3={..._0x1804d1};return _0x44adc3[_0x4d0d48(0x178)]?.[_0x4d0d48(0x145)]?.['length']&&(_0x44adc3[_0x4d0d48(0x178)][_0x4d0d48(0x145)]=_0x44adc3['route']['routes'][_0x4d0d48(0x179)](_0xbbc121=>({..._0xbbc121,'geometry':_0xe2c3c4===_0x4d0d48(0x1b1)&&typeof _0xbbc121['geometry']==_0x4d0d48(0x1a3)?E(_0xbbc121[_0x4d0d48(0x1a9)]):_0xbbc121[_0x4d0d48(0x1a9)]}))),_0x44adc3;}}):_0x56474c;}}catch(_0x4d9342){throw _0x4d9342;}}var K=async _0x123706=>{var _0x899e18=a0_0x1665a5,_0x39c9b1={'cDjRo':'Ошибка\x20при\x20поиске\x20адреса:'};try{return(await c['post'](_0x899e18(0x15c),_0x123706))[_0x899e18(0x133)];}catch(_0x389503){throw console[_0x899e18(0x1c2)](_0x39c9b1[_0x899e18(0x134)],_0x389503),_0x389503;}},w={};f(w,{'search':()=>$});async function z(_0x45de32,_0xdaec52,_0x20fc5a){var _0x634334={'DaJUc':function(_0x20747d,_0x3ad8f0){return _0x20747d(_0x3ad8f0);}};let _0x14d0b1={'text':_0x45de32,'token':_0xdaec52||l(),..._0x20fc5a};try{return await _0x634334['DaJUc'](K,_0x14d0b1);}catch(_0x4e0ef6){throw _0x4e0ef6;}}var B=R(z,0x1f4);function a0_0xd596(){var _0x188cce=['VydYy','1504128xQXYUT','fhVNy','create','defineProperty','default','pjAeM','push','TiUOS','get','tUSJB','qjmXj','isXuM','Map','QqfcC','light','Utwpu','route','map','iNxZE','WpEcW','defaults','remove','5|3|1|4|0|2','__esModule','FVPYs','request','AQCar','QnmHq','https://mtile.gram.tj/custom-styles/mapstyle.json','3|5|2|0|1|4','UUWdE','smuST','enumerable','FaVTj','table','CHRRp','NwizU','zPxzN','script','pQmTU','getInstance','ayJZm','LIlxV','services/getRoutes','TACtM','use','exception','__proto__','fdErs','130023nibkvp','eIPuj','Lzzss','getElementsByTagName','exports','Bearer\x20','charCodeAt','setStyle','vmHJW','constructor','string','312bTqJmU','headers','post','src','Authorization','geometry','status','getOwnPropertyDescriptor','prototype','UEjEu','getMap','GJwBr','apikey','geojson','destroy','{}.constructor(\x22return\x20this\x22)(\x20)','length','cvqpX','options','lgKzR','Emfan','UCiks','CfBpu','instance','DONkD','qpaqj','EBHBl','theme','VUthJ','HUzVx','error','includes','OUClX','AWnba','66306pkyiqD','1012144XKloOX','warn','kcOrZ','hasOwnProperty','console','748JDxCXT','ttFSS','riatc','CaUOd','xZHQO','BUwvL','MafYc','setZoom','kymLl','trace','object','split','apply','PfDdD','FMYqa','mahal_map.sdk.js','ooCXx','NIIUl','zCwwl','jigwK','toString','dark','reject','WBxWt','data','cDjRo','65uMwiHM','KaLAz','eLMoo','XxLeU','zScZB','style','ChHqo','STmiL','forEach','518830iTknwh','JQskL','YCvwr','interceptors','GAjyu','HFQTM','kCBrw','routes','xaNzA','wgtBu','706TQwrzC','center','axios','JoTsI','bind','mBoeS','https://platform.mahal.tj/api/','uTPhn','return\x20(function()\x20','call','function','autoAddVectorSource','setCenter','searchParams','fUinK','log','YFZUY','NhrTS','cFqjh','AMjNP','services/getAddress','getPrototypeOf','HMXdx','NpXgY','XSzxp','jcViL','4866ndbcZD','zoom','ACmUN','yfLYB','kehzh'];a0_0xd596=function(){return _0x188cce;};return a0_0xd596();}async function $(_0xc97302,_0x50105b,_0x2ffabd){var _0x17fe62=a0_0x1665a5,_0x20a164={'QnmHq':function(_0x1d4c42,_0x87e84d,_0x7805e8,_0x166d2e){return _0x1d4c42(_0x87e84d,_0x7805e8,_0x166d2e);}};return await _0x20a164[_0x17fe62(0x183)](B,_0xc97302,_0x50105b,_0x2ffabd);}function V(){var _0x48a46a=a0_0x1665a5,_0x25c62c={'tUSJB':_0x48a46a(0x1db)};let _0x33d6e7=document[_0x48a46a(0x19c)](_0x48a46a(0x18e));for(let _0x20a940 of _0x33d6e7)if(_0x20a940[_0x48a46a(0x1a7)][_0x48a46a(0x1c3)](_0x25c62c[_0x48a46a(0x171)])){let _0x593ccf=new URL(_0x20a940[_0x48a46a(0x1a7)])[_0x48a46a(0x155)][_0x48a46a(0x170)](_0x48a46a(0x1b0));if(_0x593ccf)return _0x593ccf;}return'';}x(V()),0x0&&(module[a0_0x1665a5(0x19d)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
|
|
1
|
+
'use strict';var a0_0x295f01=a0_0x1e58;function a0_0x1e58(_0x2ade27,_0xcf1a56){var _0x30c037=a0_0x4956();return a0_0x1e58=function(_0x37add5,_0x5d5879){_0x37add5=_0x37add5-0x116;var _0x114dcf=_0x30c037[_0x37add5];return _0x114dcf;},a0_0x1e58(_0x2ade27,_0xcf1a56);}(function(_0x141743,_0x2beab5){var _0x4fe9be=a0_0x1e58,_0x1760dc=_0x141743();while(!![]){try{var _0x124a8a=-parseInt(_0x4fe9be(0x171))/0x1+-parseInt(_0x4fe9be(0x19c))/0x2+parseInt(_0x4fe9be(0x11d))/0x3+parseInt(_0x4fe9be(0x182))/0x4+-parseInt(_0x4fe9be(0x143))/0x5+parseInt(_0x4fe9be(0x175))/0x6*(-parseInt(_0x4fe9be(0x187))/0x7)+parseInt(_0x4fe9be(0x15d))/0x8;if(_0x124a8a===_0x2beab5)break;else _0x1760dc['push'](_0x1760dc['shift']());}catch(_0x442475){_0x1760dc['push'](_0x1760dc['shift']());}}}(a0_0x4956,0x78024));var U=Object[a0_0x295f01(0x131)],f=Object['defineProperty'],F=Object['getOwnPropertyDescriptor'],D=Object['getOwnPropertyNames'],O=Object[a0_0x295f01(0x129)],X=Object[a0_0x295f01(0x168)]['hasOwnProperty'],u=(_0x7ddaf0,_0x233a8d)=>{var _0x462b3a={'unbTa':function(_0x668942,_0x52e35a,_0x564a17,_0xb5dd48){return _0x668942(_0x52e35a,_0x564a17,_0xb5dd48);}};for(var _0x4e7ada in _0x233a8d)_0x462b3a['unbTa'](f,_0x7ddaf0,_0x4e7ada,{'get':_0x233a8d[_0x4e7ada],'enumerable':!0x0});},P=(_0x507860,_0x1d01db,_0x12d49f,_0x552df5)=>{var _0x1ed062=a0_0x295f01,_0x5933b3={'tKmef':function(_0xc139b7,_0x4d2c77){return _0xc139b7==_0x4d2c77;},'QxYBg':_0x1ed062(0x165),'naqiE':function(_0x582387,_0x2624b2){return _0x582387==_0x2624b2;},'XZPsr':_0x1ed062(0x18d),'ZzDHm':function(_0x5517dd,_0x5f4fcc){return _0x5517dd(_0x5f4fcc);},'WjEEk':function(_0x15f659,_0x124c84){return _0x15f659!==_0x124c84;},'TteaC':function(_0x2a4e03,_0x32d379,_0x5771b0,_0x3ebaa3){return _0x2a4e03(_0x32d379,_0x5771b0,_0x3ebaa3);},'AIXSE':function(_0x4ecc24,_0x2bbf6e,_0x411c37){return _0x4ecc24(_0x2bbf6e,_0x411c37);}};if(_0x1d01db&&_0x5933b3[_0x1ed062(0x14c)](typeof _0x1d01db,_0x5933b3[_0x1ed062(0x197)])||_0x5933b3['naqiE'](typeof _0x1d01db,_0x5933b3['XZPsr'])){for(let _0x38565e of _0x5933b3[_0x1ed062(0x14f)](D,_0x1d01db))!X['call'](_0x507860,_0x38565e)&&_0x5933b3['WjEEk'](_0x38565e,_0x12d49f)&&_0x5933b3[_0x1ed062(0x14b)](f,_0x507860,_0x38565e,{'get':()=>_0x1d01db[_0x38565e],'enumerable':!(_0x552df5=_0x5933b3[_0x1ed062(0x157)](F,_0x1d01db,_0x38565e))||_0x552df5['enumerable']});}return _0x507860;},B=(_0x38b3e1,_0x57cfa2,_0x5a0cf5)=>(_0x5a0cf5=_0x38b3e1!=null?U(O(_0x38b3e1)):{},P(_0x57cfa2||!_0x38b3e1||!_0x38b3e1[a0_0x295f01(0x13e)]?f(_0x5a0cf5,a0_0x295f01(0x181),{'value':_0x38b3e1,'enumerable':!0x0}):_0x5a0cf5,_0x38b3e1)),Z=_0x7d6a3f=>P(f({},a0_0x295f01(0x13e),{'value':!0x0}),_0x7d6a3f),Q={};u(Q,{'MahalMap':()=>d,'controller':()=>T,'keyUtils':()=>w,'routerUtils':()=>A,'searchUtils':()=>I}),module[a0_0x295f01(0x17e)]=Z(Q);function a0_0x4956(){var _0x3be8aa=['QxYBg','pmLmz','route','apply','dark','1445038bnVuxR','pxhTg','lIaCu','string','QZJtB','mMRQU','PHrPi','TGOoP','center','2624502FZWTIw','setZoom','test','constructor','searchParams','status','services/getRoutes','VKduu','mahal_map.sdk.js','return\x20(function()\x20','remove','Map','getPrototypeOf','info','container','xuCKT','post','autoAddVectorSource','theme','length','create','Ошибка\x20при\x20поиске\x20адреса:','light','mMfwV','request','nvmAb','error','cacuN','src','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','match','https://mtile.gram.tj/custom-styles/dark-style.json','vJDgF','__esModule','style','reject','xiLua','qyPfV','140875LoFWly','SlhSf','qlcGt','vObyw','eStNU','InvEX','getInstance','getMap','TteaC','tKmef','console','ALIdf','ZzDHm','oCElb','IdgHU','YjvET','ekRiX','split','common','Authorization','AIXSE','headers','RkqsK','zbRay','txiMU','table','12829920oELEnQ','bind','oHiyb','geometry','interceptors','fSADC','destroy','includes','object','uFIaU','Tnxyc','prototype','map','toString','__proto__','services/getAddress','log','kmxim','bZaWo','MbLjX','731290zyYsPJ','defaults','Fhfhv','data','3894XnMvmb','zoom','getElementsByTagName','routes','Bearer\x20','apikey','warn','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','vXlTx','exports','instance','iGFeL','default','879596BvaTqf','4|0|2|1|5|3','2|3|4|1|0','AnqCo','maplibregl','7819zVdlwK','WhZHd','kJZwA','setStyle','saPrO','UZlHc','function','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','yHaJM','get','push','nwRkZ','xNtWE','PxskH','aFAHA','rCDIR'];a0_0x4956=function(){return _0x3be8aa;};return a0_0x4956();}var E='https://platform.mahal.tj/api/',x=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,b=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,L=a0_0x295f01(0x13c),R='https://mtile.gram.tj/custom-styles/mapstyle.json',k=a0_0x295f01(0x18e);function K(_0x30cd69){var _0x57bc69=a0_0x295f01,_0x5d6f67={'YjvET':function(_0x50462b,_0x49a704){return _0x50462b<_0x49a704;},'SlhSf':function(_0x5a3adc,_0x9efb9b){return _0x5a3adc-_0x9efb9b;},'AnqCo':function(_0x4f4c7d,_0x5d8f08){return _0x4f4c7d<<_0x5d8f08;},'InvEX':function(_0x5caec1,_0x27b4ee){return _0x5caec1&_0x27b4ee;},'oCElb':function(_0x419c2b,_0x500d62){return _0x419c2b>=_0x500d62;},'UZlHc':function(_0x1d4b1e,_0x575eef){return _0x1d4b1e>>_0x575eef;},'VKduu':function(_0x1cc1a2,_0x4154a3){return _0x1cc1a2-_0x4154a3;},'kzmcy':function(_0x4b5e56,_0x5c49b9){return _0x4b5e56&_0x5c49b9;},'kJZwA':function(_0x1a5b4a,_0x2c5f79){return _0x1a5b4a&_0x2c5f79;},'xuCKT':function(_0x5992d0,_0x6b5335){return _0x5992d0*_0x6b5335;}};let _0x46e5fe=[],_0x534834=0x0,_0x61630f=_0x30cd69['length'],_0x4dab22=0x0,_0xa89a1c=0x0;for(;_0x5d6f67[_0x57bc69(0x152)](_0x534834,_0x61630f);){let _0x11b698,_0x30c930=0x0,_0x424d42=0x0;do _0x11b698=_0x5d6f67[_0x57bc69(0x144)](_0x30cd69['charCodeAt'](_0x534834++),0x3f),_0x424d42|=_0x5d6f67['AnqCo'](_0x5d6f67['InvEX'](_0x11b698,0x1f),_0x30c930),_0x30c930+=0x5;while(_0x5d6f67[_0x57bc69(0x150)](_0x11b698,0x20));let _0x35d961=_0x5d6f67[_0x57bc69(0x148)](_0x424d42,0x1)?~(_0x424d42>>0x1):_0x5d6f67[_0x57bc69(0x18c)](_0x424d42,0x1);_0x4dab22+=_0x35d961,_0x30c930=0x0,_0x424d42=0x0;do _0x11b698=_0x5d6f67[_0x57bc69(0x124)](_0x30cd69['charCodeAt'](_0x534834++),0x3f),_0x424d42|=_0x5d6f67[_0x57bc69(0x185)](_0x5d6f67['kzmcy'](_0x11b698,0x1f),_0x30c930),_0x30c930+=0x5;while(_0x11b698>=0x20);let _0x1cb1ab=_0x5d6f67[_0x57bc69(0x189)](_0x424d42,0x1)?~(_0x424d42>>0x1):_0x5d6f67[_0x57bc69(0x18c)](_0x424d42,0x1);_0xa89a1c+=_0x1cb1ab,_0x46e5fe[_0x57bc69(0x191)]([_0x5d6f67['xuCKT'](_0xa89a1c,0.00001),_0x5d6f67[_0x57bc69(0x12c)](_0x4dab22,0.00001)]);}return _0x46e5fe;}var h={'dark':L,'light':R},i=class i{constructor(){}static[a0_0x295f01(0x131)](_0x37fd1e,_0x295837){var _0x35f2ec=a0_0x295f01,_0x516921={'xgogO':_0x35f2ec(0x13a),'TGOoP':function(_0x4ffc9c,_0x29b920){return _0x4ffc9c===_0x29b920;},'uZnLQ':_0x35f2ec(0x19b),'AKgff':_0x35f2ec(0x169)};if(i[_0x35f2ec(0x17f)])return i[_0x35f2ec(0x17f)];let _0x388c6e=window[_0x35f2ec(0x186)]||_0x295837;if(!_0x388c6e)throw new Error(_0x516921['xgogO']);let _0x341949=_0x37fd1e[_0x35f2ec(0x12e)]?k:_0x37fd1e[_0x35f2ec(0x13f)]?_0x37fd1e[_0x35f2ec(0x13f)]:_0x516921[_0x35f2ec(0x11b)](_0x37fd1e[_0x35f2ec(0x12f)],_0x516921['uZnLQ'])?h[_0x35f2ec(0x19b)]:h[_0x35f2ec(0x133)],_0x1e2787=new i();return _0x1e2787['options']=_0x37fd1e,_0x1e2787[_0x35f2ec(0x169)]=new _0x388c6e[(_0x35f2ec(0x128))]({'container':_0x37fd1e[_0x35f2ec(0x12b)]||_0x516921['AKgff'],'style':_0x341949,'center':_0x37fd1e[_0x35f2ec(0x11c)]||[69.624024,40.279687],'zoom':_0x37fd1e[_0x35f2ec(0x176)]||0x5}),i['instance']=_0x1e2787,_0x1e2787;}static[a0_0x295f01(0x149)](){var _0x184c28=a0_0x295f01;if(!i['instance'])throw new Error(_0x184c28(0x17c));return i[_0x184c28(0x17f)];}[a0_0x295f01(0x163)](){var _0x7721a0=a0_0x295f01;this[_0x7721a0(0x169)][_0x7721a0(0x127)](),i[_0x7721a0(0x17f)]=null;}[a0_0x295f01(0x14a)](){var _0x4709ba=a0_0x295f01;return this[_0x4709ba(0x169)];}[a0_0x295f01(0x18a)](_0x99b721){var _0x377661=a0_0x295f01,_0x489989={'ALIdf':function(_0x53df54,_0x50fb59){return _0x53df54===_0x50fb59;},'fwtVz':_0x377661(0x19b)};this['map'][_0x377661(0x18a)](_0x489989[_0x377661(0x14e)](_0x99b721,_0x489989['fwtVz'])?h[_0x377661(0x19b)]:h[_0x377661(0x133)]);}['setCenter'](_0x13fea4){this['map']['setCenter'](_0x13fea4);}[a0_0x295f01(0x11e)](_0x1c6070){var _0x4b379b=a0_0x295f01;this[_0x4b379b(0x169)][_0x4b379b(0x11e)](_0x1c6070);}};i[a0_0x295f01(0x17f)]=null;var d=i,T={};u(T,{'api':()=>m,'checkCoordinates':()=>$,'clearKey':()=>y,'debounce':()=>S,'getApiKey':()=>l,'saveKey':()=>g});var j=B(require('axios')),m=j[a0_0x295f01(0x181)][a0_0x295f01(0x131)]({'baseURL':E});m[a0_0x295f01(0x161)][a0_0x295f01(0x135)]['use'](_0x23cd03=>_0x23cd03,_0x5474a4=>(_0x5474a4['request']?.[a0_0x295f01(0x122)]===0x191&&y(),Promise[a0_0x295f01(0x140)](_0x5474a4)));function $(_0x5d1474){var _0x296429=a0_0x295f01,_0x35c0d3={'EyPog':'Ошибка\x20при\x20поиске\x20адреса:','pmLmz':function(_0x1d5ebb,_0x457041){return _0x1d5ebb===_0x457041;},'kmxim':_0x296429(0x162),'snvVR':'Неверный\x20формат\x20координат'};let _0x330077,_0x1ef2da;if(x['test'](_0x5d1474)){let _0x3f9754=_0x5d1474[_0x296429(0x13b)](x);_0x3f9754&&([,_0x330077,_0x1ef2da]=_0x3f9754);}else{if(b[_0x296429(0x11f)](_0x5d1474)){if(_0x35c0d3[_0x296429(0x198)](_0x35c0d3[_0x296429(0x16e)],_0x35c0d3[_0x296429(0x16e)])){let _0x5f3f04=_0x5d1474[_0x296429(0x13b)](b);_0x5f3f04&&([,_0x1ef2da,_0x330077]=_0x5f3f04);}else throw _0x549064[_0x296429(0x137)](_0x35c0d3['EyPog'],_0x3f3f99),_0x1c2756;}else return console['log'](_0x35c0d3['snvVR']),null;}return{'lat':_0x330077,'lng':_0x1ef2da};}var w={};u(w,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>g});var M='';function g(_0x1ebdeb){var _0x350286=a0_0x295f01;_0x1ebdeb!==''&&(M=_0x1ebdeb,m[_0x350286(0x172)][_0x350286(0x158)]['common']['Authorization']='Bearer\x20'+_0x1ebdeb);}function y(){var _0x2c9c61=a0_0x295f01,_0x156088={'KDEup':function(_0x492dcd){return _0x492dcd();},'PHrPi':function(_0x155b01,_0x4cff1e){return _0x155b01(_0x4cff1e);},'zbRay':_0x2c9c61(0x126),'orLeq':'{}.constructor(\x22return\x20this\x22)(\x20)','mMRQU':_0x2c9c61(0x12a),'xiLua':'trace','mMfwV':function(_0x3bb275,_0x22c4db){return _0x3bb275<_0x22c4db;},'lIaCu':_0x2c9c61(0x183)},_0x1b83e2=_0x2c9c61(0x184)[_0x2c9c61(0x154)]('|'),_0x3b949d=0x0;while(!![]){switch(_0x1b83e2[_0x3b949d++]){case'0':M='',m[_0x2c9c61(0x172)]['headers']['common'][_0x2c9c61(0x156)]='';continue;case'1':_0x156088['KDEup'](_0x263f2a);continue;case'2':var _0x1e3ac9={'vJDgF':function(_0x2fabb6,_0x2da49e){var _0x36b6ba=_0x2c9c61;return _0x156088[_0x36b6ba(0x11a)](_0x2fabb6,_0x2da49e);},'uFIaU':_0x156088[_0x2c9c61(0x15a)],'PxskH':_0x156088['orLeq'],'vXlTx':function(_0x31f81e){return _0x31f81e();},'ekRiX':_0x156088[_0x2c9c61(0x119)],'iGFeL':_0x2c9c61(0x137),'MbLjX':'exception','qyPfV':_0x2c9c61(0x15c),'tNzfD':_0x156088[_0x2c9c61(0x141)],'tmAVB':function(_0x515d96,_0x23a876){var _0x237668=_0x2c9c61;return _0x156088[_0x237668(0x134)](_0x515d96,_0x23a876);},'lpHXl':_0x156088[_0x2c9c61(0x116)]};continue;case'3':var _0x13b213=(function(){var _0x4173a6=!![];return function(_0xf22231,_0x169c88){var _0x4a71b8=_0x4173a6?function(){var _0x341b64=a0_0x1e58;if(_0x169c88){var _0x59a409=_0x169c88[_0x341b64(0x19a)](_0xf22231,arguments);return _0x169c88=null,_0x59a409;}}:function(){};return _0x4173a6=![],_0x4a71b8;};}());continue;case'4':var _0x263f2a=_0x13b213(this,function(){var _0x3d32ae=_0x2c9c61,_0x1e7946='1|0|3|2|4'[_0x3d32ae(0x154)]('|'),_0x5126f9=0x0;while(!![]){switch(_0x1e7946[_0x5126f9++]){case'0':try{var _0x332d89=_0x1e3ac9[_0x3d32ae(0x13d)](Function,_0x1e3ac9[_0x3d32ae(0x166)]+_0x1e3ac9[_0x3d32ae(0x194)]+');');_0x4a4312=_0x1e3ac9[_0x3d32ae(0x17d)](_0x332d89);}catch(_0x3ff135){_0x4a4312=window;}continue;case'1':var _0x4a4312;continue;case'2':var _0x315ab5=[_0x3d32ae(0x16d),_0x3d32ae(0x17b),_0x1e3ac9[_0x3d32ae(0x153)],_0x1e3ac9[_0x3d32ae(0x180)],_0x1e3ac9[_0x3d32ae(0x170)],_0x1e3ac9[_0x3d32ae(0x142)],_0x1e3ac9['tNzfD']];continue;case'3':var _0x2ead07=_0x4a4312[_0x3d32ae(0x14d)]=_0x4a4312['console']||{};continue;case'4':for(var _0x51344c=0x0;_0x1e3ac9['tmAVB'](_0x51344c,_0x315ab5['length']);_0x51344c++){var _0x105406=_0x1e3ac9['lpHXl'][_0x3d32ae(0x154)]('|'),_0x2c4400=0x0;while(!![]){switch(_0x105406[_0x2c4400++]){case'0':var _0x553c6c=_0x315ab5[_0x51344c];continue;case'1':_0x36926d[_0x3d32ae(0x16b)]=_0x13b213['bind'](_0x13b213);continue;case'2':var _0x8d7baa=_0x2ead07[_0x553c6c]||_0x36926d;continue;case'3':_0x2ead07[_0x553c6c]=_0x36926d;continue;case'4':var _0x36926d=_0x13b213[_0x3d32ae(0x120)]['prototype'][_0x3d32ae(0x15e)](_0x13b213);continue;case'5':_0x36926d['toString']=_0x8d7baa[_0x3d32ae(0x16a)][_0x3d32ae(0x15e)](_0x8d7baa);continue;}break;}}continue;}break;}});continue;}break;}}var l=()=>M;function S(_0x4d87bb,_0x582fd3){var _0x6ba96f={'vObyw':function(_0x5bd24c,..._0xab9b61){return _0x5bd24c(..._0xab9b61);},'omDYr':function(_0x11be3f,_0x5604cf,_0x5242c9){return _0x11be3f(_0x5604cf,_0x5242c9);}};let _0x39bf31;return(..._0x4acf61)=>(_0x39bf31&&clearTimeout(_0x39bf31),new Promise(_0x56fe24=>{_0x39bf31=_0x6ba96f['omDYr'](setTimeout,async()=>{var _0x2f7944=a0_0x1e58,_0x10e0cf=await _0x6ba96f[_0x2f7944(0x146)](_0x4d87bb,..._0x4acf61);_0x56fe24(_0x10e0cf);},_0x582fd3);}));}var v=async(_0x45c349,_0x4e1a22)=>{var _0x2c1e1d=a0_0x295f01,_0x7a8561={'txiMU':_0x2c1e1d(0x17a),'nvmAb':_0x2c1e1d(0x159),'nhkZH':_0x2c1e1d(0x192),'aFAHA':_0x2c1e1d(0x123),'saPrO':function(_0x271cd7){return _0x271cd7();},'EyFfg':function(_0x4f7f11,_0x3e1eaf){return _0x4f7f11!==_0x3e1eaf;},'QZJtB':_0x2c1e1d(0x173)};try{if(_0x7a8561[_0x2c1e1d(0x136)]===_0x7a8561['nhkZH']){let _0x3f06b8=new _0x3352f7(_0x38579d['src'])[_0x2c1e1d(0x121)][_0x2c1e1d(0x190)](_0x7a8561[_0x2c1e1d(0x15b)]);if(_0x3f06b8)return _0x3f06b8;}else{let _0x2af885=[];return _0x45c349['forEach'](_0x4c5b30=>{var _0x410d3e=_0x2c1e1d;_0x2af885[_0x410d3e(0x191)]({'lng':_0x4c5b30[0x0],'lat':_0x4c5b30[0x1]});}),(await m[_0x2c1e1d(0x12d)](_0x7a8561[_0x2c1e1d(0x195)],{'points':_0x2af885,'token':_0x4e1a22||_0x7a8561[_0x2c1e1d(0x18b)](l)}))['data'];}}catch(_0x1f0a1d){if(_0x7a8561['EyFfg'](_0x7a8561['QZJtB'],_0x7a8561[_0x2c1e1d(0x118)])){if(_0x2284f6){var _0x286a1f=_0x5f4d11[_0x2c1e1d(0x19a)](_0x1d8ab5,arguments);return _0x49d74e=null,_0x286a1f;}}else throw console[_0x2c1e1d(0x137)](_0x1f0a1d),_0x1f0a1d;}},A={};u(A,{'getrouter':()=>z});async function z(_0x238754,_0x171e6f,_0x22cbe9){var _0x11a56b=a0_0x295f01;try{let _0x439b91=await v(_0x238754,_0x22cbe9);return _0x439b91?.[_0x11a56b(0x174)]?_0x439b91['data'][_0x11a56b(0x169)](_0x83a9a3=>{var _0x467f22=_0x11a56b;let _0xb50193={..._0x83a9a3};return _0xb50193[_0x467f22(0x199)]?.[_0x467f22(0x178)]?.[_0x467f22(0x130)]&&(_0xb50193[_0x467f22(0x199)][_0x467f22(0x178)]=_0xb50193[_0x467f22(0x199)][_0x467f22(0x178)]['map'](_0x17c291=>({..._0x17c291,'geometry':_0x171e6f==='geojson'&&typeof _0x17c291[_0x467f22(0x160)]==_0x467f22(0x117)?K(_0x17c291[_0x467f22(0x160)]):_0x17c291['geometry']}))),_0xb50193;}):_0x439b91;}catch(_0x2abfcf){throw _0x2abfcf;}}var G=async _0x4c7555=>{var _0x575b1f=a0_0x295f01,_0x450d40={'oHiyb':_0x575b1f(0x16c),'IdgHU':_0x575b1f(0x16f),'pxhTg':_0x575b1f(0x132)};try{return(await m[_0x575b1f(0x12d)](_0x450d40[_0x575b1f(0x15f)],_0x4c7555))['data'];}catch(_0x25829c){if('LXEXy'!==_0x450d40[_0x575b1f(0x151)])throw console[_0x575b1f(0x137)](_0x450d40[_0x575b1f(0x19d)],_0x25829c),_0x25829c;else this[_0x575b1f(0x169)][_0x575b1f(0x127)](),_0x5a9cdc['instance']=null;}},I={};u(I,{'search':()=>H});async function V(_0x5cc295,_0x460553,_0x12726e){var _0x598cd4=a0_0x295f01,_0x1fde05={'yHaJM':function(_0x378810){return _0x378810();},'cacuN':function(_0x3b82a1,_0x21bb2e){return _0x3b82a1(_0x21bb2e);}};let _0xd845fe={'text':_0x5cc295,'token':_0x460553||_0x1fde05[_0x598cd4(0x18f)](l),..._0x12726e};try{return await _0x1fde05[_0x598cd4(0x138)](G,_0xd845fe);}catch(_0x369e85){throw _0x369e85;}}var q=S(V,0x1f4);async function H(_0x19286d,_0x4a2793,_0x3b63ac){var _0x136e21=a0_0x295f01,_0x500ece={'eStNU':function(_0x43d88b,_0x525ff5,_0x209fb4,_0x45cf7c){return _0x43d88b(_0x525ff5,_0x209fb4,_0x45cf7c);}};return await _0x500ece[_0x136e21(0x147)](q,_0x19286d,_0x4a2793,_0x3b63ac);}function J(){var _0x1e871a=a0_0x295f01,_0x4583a8={'IXVbF':function(_0x553323,_0x534bc1){return _0x553323!==_0x534bc1;},'xNtWE':'script','Tnxyc':_0x1e871a(0x125),'WhZHd':_0x1e871a(0x145),'rCDIR':_0x1e871a(0x17a)};let _0x522d40=document[_0x1e871a(0x177)](_0x4583a8[_0x1e871a(0x193)]);for(let _0x4230d9 of _0x522d40)if(_0x4230d9[_0x1e871a(0x139)][_0x1e871a(0x164)](_0x4583a8[_0x1e871a(0x167)])){if(_0x4583a8[_0x1e871a(0x188)]===_0x4583a8['WhZHd']){let _0x47b968=new URL(_0x4230d9[_0x1e871a(0x139)])['searchParams'][_0x1e871a(0x190)](_0x4583a8[_0x1e871a(0x196)]);if(_0x47b968)return _0x47b968;}else _0x4583a8['IXVbF'](_0x1c387a,'')&&(_0x8e479d=_0x15bff9,_0x4c17f6[_0x1e871a(0x172)]['headers'][_0x1e871a(0x155)][_0x1e871a(0x156)]=_0x1e871a(0x179)+_0x58c276);}return'';}g(J()),0x0&&(module[a0_0x295f01(0x17e)]={'MahalMap':MahalMap,'controller':controller,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
|
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/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,aAAAC,EAAA,gBAAAC,EAAA,gBAAAA,IAAA,eAAAC,EAAAL,GCAA,IAAMM,EAAW,iCASjB,IAAMC,EAAO,sDACPC,EAAQ,oDACRC,EACJ,mECZF,SAASC,EAAgBC,EAA6B,CACpD,IAAIC,EAAS,CAAC,EACVC,EAAQ,EACVC,EAAMH,EAAQ,OACZI,EAAM,EACRC,EAAM,EAER,KAAOH,EAAQC,GAAK,CAClB,IAAIG,EACFC,EAAQ,EACRC,EAAS,EACX,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAIG,EAAOD,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDJ,GAAOK,EAEPF,EAAQ,EACRC,EAAS,EACT,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAII,EAAOF,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDH,GAAOK,EAEPT,EAAO,KAAK,CAACI,EAAM,KAAMD,EAAM,IAAI,CAAC,CACtC,CAEA,OAAOH,CACT,CC7BA,IAAMU,EAAgB,CAAE,KAAMC,EAAM,MAAOC,CAAM,EAEpCC,EAAN,MAAMA,CAAS,CAMZ,aAAc,CAAC,CAEvB,OAAO,OACLC,EACAC,EACA,CACA,GAAIF,EAAS,SAAU,OAAOA,EAAS,SAGvC,IAAMG,EADkB,OAAe,YACJD,EAEnC,GAAI,CAACC,EACH,MAAM,IAAI,MACR,0VACF,EAGF,IAAMC,EAAaH,EAAQ,oBACvBI,EACAJ,EAAQ,MACNA,EAAQ,MACRA,EAAQ,QAAU,OAChBJ,EAAc,KACdA,EAAc,MAEhBS,EAAW,IAAIN,EAErB,OAAAM,EAAS,QAAUL,EACnBK,EAAS,IAAM,IAAIH,EAAS,IAAI,CAC9B,UAAWF,EAAQ,WAAa,MAChC,MAAOG,EACP,OAAQH,EAAQ,QAAU,CAAC,UAAW,SAAS,EAC/C,KAAMA,EAAQ,MAAQ,CACxB,CAAC,EAEDD,EAAS,SAAWM,EACbA,CACT,CAEA,SAAU,CACR,KAAK,IAAI,OAAO,EAChBN,EAAS,SAAW,IACtB,CAEA,OAAO,aAAwB,CAC7B,GAAI,CAACA,EAAS,SACZ,MAAM,IAAI,MAAM,0HAAqC,EAEvD,OAAOA,EAAS,QAClB,CAEA,QAAkB,CAChB,OAAO,KAAK,GACd,CAEA,SAASO,EAAyB,CAChC,KAAK,IAAI,SACPA,IAAU,OAASV,EAAc,KAAOA,EAAc,KACxD,CACF,CAEA,UAAUW,EAA0B,CAClC,KAAK,IAAI,UAAUA,CAAM,CAC3B,CAEA,QAAQC,EAAc,CACpB,KAAK,IAAI,QAAQA,CAAI,CACvB,CACF,EA1EaT,EACI,SAA4B,KADtC,IAAMU,EAANV,ECNP,IAAAW,EAAkB,oBAIX,IAAMC,EAAM,EAAAC,QAAM,OAAO,CAC9B,QAASC,CACX,CAAC,EAEDF,EAAI,aAAa,QAAQ,IACtBG,GAAaA,EACbC,IACKA,EAAM,SAAS,SAAW,KAC5BC,EAAS,EAEJ,QAAQ,OAAOD,CAAK,EAE/B,EChBA,IAAAE,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,YAAAC,ICEA,IAAIC,EAAiB,GAErB,SAASC,EAAQC,EAAe,CAC1BA,IAAU,KACdF,EAASE,EACTC,EAAI,SAAS,QAAQ,OAAO,cAAmB,UAAUD,CAAK,GAChE,CAEA,SAASE,GAAW,CAClBJ,EAAS,GACTG,EAAI,SAAS,QAAQ,OAAO,cAAmB,EACjD,CAEA,IAAME,EAAY,IAAML,ECfxB,SAASM,EACPC,EACAC,EACA,CACA,IAAIC,EAEJ,MAAO,IAAIC,KACLD,GAAO,aAAaA,CAAK,EACtB,IAAI,QAASE,GAAY,CAC9BF,EAAQ,WAAW,SAAY,CAC7B,IAAMG,EAAS,MAAML,EAAG,GAAGG,CAAI,EAC/BC,EAAQC,CAAM,CAChB,EAAGJ,CAAK,CACV,CAAC,EAEL,CCbA,IAAMK,EAAa,MAAOC,EAAmBC,IAAkB,CAC7D,GAAI,CACF,IAAMC,EAAyC,CAAC,EAEhD,OAAAF,EAAM,QAASG,GAAM,CACnBD,EAAO,KAAK,CAAE,IAAKC,EAAE,CAAC,EAAG,IAAKA,EAAE,CAAC,CAAE,CAAC,CACtC,CAAC,GACgB,MAAMC,EAAI,KAAK,qBAAsB,CACpD,OAAAF,EACA,MAAOD,GAAgBI,EAAU,CACnC,CAAC,GACe,IAClB,OAASC,EAAK,CACZ,cAAQ,MAAMA,CAAG,EACXA,CACR,CACF,EClBA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAIA,eAAeC,EACbC,EACAC,EACAC,EACmB,CACnB,GAAI,CACF,IAAMC,EAAM,MAAMC,EAAWJ,EAAOE,CAAK,EAEzC,OAAKC,GAAK,KAEaA,EAAI,KAEf,IAAKE,GAAU,CACzB,IAAMC,EAAU,CAAE,GAAGD,CAAM,EAE3B,OAAIC,EAAQ,OAAO,QAAQ,SACzBA,EAAQ,MAAM,OAASA,EAAQ,MAAM,OAAO,IAAKC,IAAO,CACtD,GAAGA,EACH,SACEN,IAAa,WAAa,OAAOM,EAAE,UAAa,SAC5CC,EAAgBD,EAAE,QAAQ,EAC1BA,EAAE,QACV,EAAE,GAGGD,CACT,CAAC,EAlBsBH,CAmBzB,OAASM,EAAO,CACd,MAAMA,CACR,CACF,CC/BO,IAAMC,EAAa,MAAOC,GAA6C,CAC5E,GAAI,CAEF,OADiB,MAAMC,EAAI,KAAK,sBAAuBD,CAAM,GAC7C,IAClB,OAASE,EAAO,CACd,cAAQ,MAAM,qIAA6BA,CAAK,EAC1CA,CACR,CACF,ECXA,IAAAC,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAMA,eAAeC,EACbC,EACAC,EACAC,EACoB,CACpB,IAAIC,EAA2B,CAC7B,KAAMH,EACN,MAAOC,GAAgBG,EAAU,EACjC,GAAGF,CACL,EAkBA,GAAI,CAEF,OADuB,MAAMG,EAAWF,CAAU,CAEpD,OAASG,EAAO,CACd,MAAMA,CACR,CACF,CAEA,IAAMC,EAAcC,EAAST,EAAW,GAAG,EAE3C,eAAeU,EACbT,EACAC,EACAC,EACA,CACA,OAAO,MAAMK,EAAYP,EAAOC,EAAOC,CAAe,CACxD,CX1CA,SAASQ,GAAuB,CAC9B,IAAMC,EAAU,SAAS,qBAAqB,QAAQ,EACtD,QAAWC,KAAUD,EACnB,GAAIC,EAAO,IAAI,SAAS,kBAAkB,EAAG,CAE3C,IAAMC,EADM,IAAI,IAAID,EAAO,GAAG,EACX,aAAa,IAAI,QAAQ,EAC5C,GAAIC,EAAQ,OAAOA,CACrB,CAEF,MAAO,EACT,CACSC,EAAQJ,EAAqB,CAAC","names":["index_exports","__export","MahalMap","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import { MahalMap } from \"@lib/index\";\r\nimport * as controller from \"@app/lib\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils, controller };\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","export * from \"./axios\";\r\nexport * from \"./checking-coordinates\";\r\nexport * from \"./saveKey\";\r\nexport * from \"./debounce\";\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","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\r\n}\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","lib_exports","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","LATLNGREGEX","LNGLATREGEX","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","lib_exports","__export","api","checkCoordinates","clearKey","debounce","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var G=Object.defineProperty;var u=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})};var w="https://platform.mahal.tj/api/",y=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,g=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/;var S="https://mtile.gram.tj/custom-styles/dark-style.json",T="https://mtile.gram.tj/custom-styles/mapstyle.json",A="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function I(e){let t=[],r=0,o=e.length,s=0,c=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 j=p&1?~(p>>1):p>>1;s+=j,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let v=p&1?~(p>>1):p>>1;c+=v,t.push([c*1e-5,s*1e-5])}return t}var f={dark:S,light:T},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 c=t.autoAddVectorSource?A: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:c,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}destroy(){this.map.remove(),i.instance=null}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)}};i.instance=null;var x=i;var E={};u(E,{api:()=>m,checkCoordinates:()=>N,clearKey:()=>h,debounce:()=>M,getApiKey:()=>l,saveKey:()=>d});import C from"axios";var m=C.create({baseURL:w});m.interceptors.request.use(e=>e,e=>(e.request?.status===401&&h(),Promise.reject(e)));function N(e){let t,r;if(y.test(e)){let o=e.match(y);o&&([,t,r]=o)}else if(g.test(e)){let o=e.match(g);o&&([,r,t]=o)}else return console.log("\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043A\u043E\u043E\u0440\u0434\u0438\u043D\u0430\u0442"),null;return{lat:t,lng:r}}var P={};u(P,{clearKey:()=>h,getApiKey:()=>l,saveKey:()=>d});var b="";function d(e){e!==""&&(b=e,m.defaults.headers.common.Authorization=`Bearer ${e}`)}function h(){b="",m.defaults.headers.common.Authorization=""}var l=()=>b;function M(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let c=await e(...o);s(c)},t)}))}var L=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var R={};u(R,{getrouter:()=>U});async function U(e,t,r){try{let o=await L(e,r);return o?.data?o.data.map(c=>{let a={...c};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var k=async e=>{try{return(await m.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var K={};u(K,{search:()=>O});async function F(e,t,r){let o={text:e,token:t||l(),...r};try{return await k(o)}catch(s){throw s}}var D=M(F,500);async function O(e,t,r){return await D(e,t,r)}function X(){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""}d(X());export{x as MahalMap,E as controller,P as keyUtils,R as routerUtils,K as searchUtils};
|
|
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/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|
|
1
|
+
{"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n 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","export * from \"./axios\";\r\nexport * from \"./checking-coordinates\";\r\nexport * from \"./saveKey\";\r\nexport * from \"./debounce\";\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","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\r\n}\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import { MahalMap } from \"@lib/index\";\r\nimport * as controller from \"@app/lib\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils, controller };\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","LATLNGREGEX","LNGLATREGEX","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","lib_exports","__export","api","checkCoordinates","clearKey","debounce","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|