mahal_map 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,14 +1,4 @@
1
1
  import { Map } from 'maplibre-gl';
2
- import * as axios from 'axios';
3
-
4
- interface IMahalMapOptions {
5
- container?: string | HTMLDocument;
6
- style?: string;
7
- theme?: "dark" | "light";
8
- center?: [number, number];
9
- zoom?: number;
10
- autoAddVectorSource?: boolean;
11
- }
12
2
 
13
3
  interface ISearchParam {
14
4
  text: string;
@@ -73,21 +63,24 @@ interface IRoute {
73
63
  };
74
64
  }
75
65
 
76
- declare class CameraController {
77
- private map;
78
- constructor(map: Map);
79
- setZoom(zoom: number, smooth?: boolean): void;
66
+ interface IMahalMapOptions {
67
+ container?: string | HTMLDocument;
68
+ style?: string;
69
+ theme?: "dark" | "light";
70
+ center?: [number, number];
71
+ zoom?: number;
72
+ autoAddVectorSource?: boolean;
80
73
  }
81
74
 
82
- declare class MahalMap {
75
+ declare class MahalMap$1 {
83
76
  private static instance;
84
77
  private map;
85
78
  private options;
86
79
  private constructor();
87
80
  static create(options: IMahalMapOptions, maplibreObject?: {
88
81
  Map: typeof Map;
89
- } | typeof Map): MahalMap;
90
- static getInstance(): MahalMap;
82
+ } | typeof Map): MahalMap$1;
83
+ static getInstance(): MahalMap$1;
91
84
  destroy(): void;
92
85
  getMap(): Map;
93
86
  setStyle(theme: "dark" | "light"): void;
@@ -95,66 +88,60 @@ declare class MahalMap {
95
88
  setZoom(zoom: number): void;
96
89
  }
97
90
 
98
- declare const routingApi: (param: number[][], token: string) => Promise<any>;
91
+ declare namespace MahalMap {
92
+ export { MahalMap$1 as MahalMap };
93
+ }
99
94
 
100
- declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
95
+ declare class CameraController {
96
+ private map;
97
+ constructor(map: Map);
98
+ setZoom(zoom: number, smooth?: boolean): void;
99
+ }
101
100
 
102
- declare const routerUtils_getrouter: typeof getrouter;
103
- declare namespace routerUtils {
104
- export { routerUtils_getrouter as getrouter };
101
+ type Controller_CameraController = CameraController;
102
+ declare const Controller_CameraController: typeof CameraController;
103
+ declare namespace Controller {
104
+ export { Controller_CameraController as CameraController };
105
105
  }
106
106
 
107
107
  declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
108
108
 
109
109
  declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
110
110
 
111
- declare const searchUtils_search: typeof search;
112
- declare namespace searchUtils {
113
- export { searchUtils_search as search };
111
+ declare const Search_search: typeof search;
112
+ declare const Search_searchPost: typeof searchPost;
113
+ declare namespace Search {
114
+ export { Search_search as search, Search_searchPost as searchPost };
114
115
  }
115
116
 
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
- }
117
+ declare const routingApi: (param: number[][], token: string) => Promise<any>;
127
118
 
128
- declare const api: axios.AxiosInstance;
119
+ declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
129
120
 
130
- declare function checkCoordinates(coordinates: string): {
131
- lat: string | undefined;
132
- lng: string | undefined;
133
- } | null;
121
+ declare const Routing_getrouter: typeof getrouter;
122
+ declare const Routing_routingApi: typeof routingApi;
123
+ declare namespace Routing {
124
+ export { Routing_getrouter as getrouter, Routing_routingApi as routingApi };
125
+ }
134
126
 
135
127
  declare function saveKey(param: string): void;
136
128
  declare function clearKey(): void;
137
129
  declare const getApiKey: () => string;
138
130
 
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
131
  declare const keyUtils_clearKey: typeof clearKey;
144
- declare const keyUtils_debounce: typeof debounce;
145
132
  declare const keyUtils_getApiKey: typeof getApiKey;
146
133
  declare const keyUtils_saveKey: typeof saveKey;
147
134
  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 };
135
+ export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
149
136
  }
150
137
 
151
138
  declare const MMap: {
152
139
  MahalMap: typeof MahalMap;
153
- controller: typeof controller;
140
+ Controller: typeof Controller;
141
+ Search: typeof Search;
142
+ Routing: typeof Routing;
154
143
  keyUtils: typeof keyUtils;
155
- searchUtils: typeof searchUtils;
156
- routerUtils: typeof routerUtils;
157
144
  loadKeyFromScriptUrl: () => string;
158
145
  };
159
146
 
160
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, controller, MMap as default, keyUtils, routerUtils, searchUtils };
147
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils };
package/dist/index.d.ts CHANGED
@@ -1,14 +1,4 @@
1
1
  import { Map } from 'maplibre-gl';
2
- import * as axios from 'axios';
3
-
4
- interface IMahalMapOptions {
5
- container?: string | HTMLDocument;
6
- style?: string;
7
- theme?: "dark" | "light";
8
- center?: [number, number];
9
- zoom?: number;
10
- autoAddVectorSource?: boolean;
11
- }
12
2
 
13
3
  interface ISearchParam {
14
4
  text: string;
@@ -73,21 +63,24 @@ interface IRoute {
73
63
  };
74
64
  }
75
65
 
76
- declare class CameraController {
77
- private map;
78
- constructor(map: Map);
79
- setZoom(zoom: number, smooth?: boolean): void;
66
+ interface IMahalMapOptions {
67
+ container?: string | HTMLDocument;
68
+ style?: string;
69
+ theme?: "dark" | "light";
70
+ center?: [number, number];
71
+ zoom?: number;
72
+ autoAddVectorSource?: boolean;
80
73
  }
81
74
 
82
- declare class MahalMap {
75
+ declare class MahalMap$1 {
83
76
  private static instance;
84
77
  private map;
85
78
  private options;
86
79
  private constructor();
87
80
  static create(options: IMahalMapOptions, maplibreObject?: {
88
81
  Map: typeof Map;
89
- } | typeof Map): MahalMap;
90
- static getInstance(): MahalMap;
82
+ } | typeof Map): MahalMap$1;
83
+ static getInstance(): MahalMap$1;
91
84
  destroy(): void;
92
85
  getMap(): Map;
93
86
  setStyle(theme: "dark" | "light"): void;
@@ -95,66 +88,60 @@ declare class MahalMap {
95
88
  setZoom(zoom: number): void;
96
89
  }
97
90
 
98
- declare const routingApi: (param: number[][], token: string) => Promise<any>;
91
+ declare namespace MahalMap {
92
+ export { MahalMap$1 as MahalMap };
93
+ }
99
94
 
100
- declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
95
+ declare class CameraController {
96
+ private map;
97
+ constructor(map: Map);
98
+ setZoom(zoom: number, smooth?: boolean): void;
99
+ }
101
100
 
102
- declare const routerUtils_getrouter: typeof getrouter;
103
- declare namespace routerUtils {
104
- export { routerUtils_getrouter as getrouter };
101
+ type Controller_CameraController = CameraController;
102
+ declare const Controller_CameraController: typeof CameraController;
103
+ declare namespace Controller {
104
+ export { Controller_CameraController as CameraController };
105
105
  }
106
106
 
107
107
  declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
108
108
 
109
109
  declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
110
110
 
111
- declare const searchUtils_search: typeof search;
112
- declare namespace searchUtils {
113
- export { searchUtils_search as search };
111
+ declare const Search_search: typeof search;
112
+ declare const Search_searchPost: typeof searchPost;
113
+ declare namespace Search {
114
+ export { Search_search as search, Search_searchPost as searchPost };
114
115
  }
115
116
 
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
- }
117
+ declare const routingApi: (param: number[][], token: string) => Promise<any>;
127
118
 
128
- declare const api: axios.AxiosInstance;
119
+ declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
129
120
 
130
- declare function checkCoordinates(coordinates: string): {
131
- lat: string | undefined;
132
- lng: string | undefined;
133
- } | null;
121
+ declare const Routing_getrouter: typeof getrouter;
122
+ declare const Routing_routingApi: typeof routingApi;
123
+ declare namespace Routing {
124
+ export { Routing_getrouter as getrouter, Routing_routingApi as routingApi };
125
+ }
134
126
 
135
127
  declare function saveKey(param: string): void;
136
128
  declare function clearKey(): void;
137
129
  declare const getApiKey: () => string;
138
130
 
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
131
  declare const keyUtils_clearKey: typeof clearKey;
144
- declare const keyUtils_debounce: typeof debounce;
145
132
  declare const keyUtils_getApiKey: typeof getApiKey;
146
133
  declare const keyUtils_saveKey: typeof saveKey;
147
134
  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 };
135
+ export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
149
136
  }
150
137
 
151
138
  declare const MMap: {
152
139
  MahalMap: typeof MahalMap;
153
- controller: typeof controller;
140
+ Controller: typeof Controller;
141
+ Search: typeof Search;
142
+ Routing: typeof Routing;
154
143
  keyUtils: typeof keyUtils;
155
- searchUtils: typeof searchUtils;
156
- routerUtils: typeof routerUtils;
157
144
  loadKeyFromScriptUrl: () => string;
158
145
  };
159
146
 
160
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, controller, MMap as default, keyUtils, routerUtils, searchUtils };
147
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x4ad0a2=a0_0x4102;(function(_0x5037d3,_0x4a8286){var _0x2b115a=a0_0x4102,_0x58ce01=_0x5037d3();while(!![]){try{var _0x1decb6=-parseInt(_0x2b115a(0x192))/0x1+parseInt(_0x2b115a(0x21e))/0x2+parseInt(_0x2b115a(0x190))/0x3*(parseInt(_0x2b115a(0x1be))/0x4)+-parseInt(_0x2b115a(0x1e1))/0x5+parseInt(_0x2b115a(0x1fe))/0x6+-parseInt(_0x2b115a(0x177))/0x7+parseInt(_0x2b115a(0x1d5))/0x8;if(_0x1decb6===_0x4a8286)break;else _0x58ce01['push'](_0x58ce01['shift']());}catch(_0x1ac193){_0x58ce01['push'](_0x58ce01['shift']());}}}(a0_0x4bc8,0x3c18a));function a0_0x4102(_0x33e617,_0x595ce8){var _0x22d0af=a0_0x4bc8();return a0_0x4102=function(_0x131c03,_0x39a152){_0x131c03=_0x131c03-0x173;var _0x4313ee=_0x22d0af[_0x131c03];return _0x4313ee;},a0_0x4102(_0x33e617,_0x595ce8);}var F=Object[a0_0x4ad0a2(0x1b8)],h=Object['defineProperty'],D=Object[a0_0x4ad0a2(0x21a)],O=Object[a0_0x4ad0a2(0x21b)],X=Object[a0_0x4ad0a2(0x1d8)],B=Object[a0_0x4ad0a2(0x1df)]['hasOwnProperty'],l=(_0x569855,_0x28402e)=>{var _0x4f5bc5={'RoBTH':function(_0x41faad,_0x32f2d9,_0x494088,_0x1d632){return _0x41faad(_0x32f2d9,_0x494088,_0x1d632);}};for(var _0x4c9750 in _0x28402e)_0x4f5bc5['RoBTH'](h,_0x569855,_0x4c9750,{'get':_0x28402e[_0x4c9750],'enumerable':!0x0});},P=(_0x187f48,_0x5aab38,_0x41aaac,_0x3de2f4)=>{var _0x9abec5=a0_0x4ad0a2,_0x302c64={'dVPYZ':function(_0x12ef95,_0x436194){return _0x12ef95==_0x436194;},'ECAQp':_0x9abec5(0x213),'lKrTK':function(_0x5ee994,_0x46b296){return _0x5ee994==_0x46b296;},'wzYwb':function(_0x426d28,_0x5cc00f){return _0x426d28(_0x5cc00f);},'WNAaJ':function(_0x884998,_0xfce685){return _0x884998!==_0xfce685;},'EzosL':function(_0x280210,_0x3e1fe6,_0x36a5cf){return _0x280210(_0x3e1fe6,_0x36a5cf);}};if(_0x5aab38&&_0x302c64[_0x9abec5(0x211)](typeof _0x5aab38,_0x302c64[_0x9abec5(0x1c6)])||_0x302c64[_0x9abec5(0x193)](typeof _0x5aab38,_0x9abec5(0x1a0))){for(let _0x46c949 of _0x302c64['wzYwb'](O,_0x5aab38))!B[_0x9abec5(0x1b0)](_0x187f48,_0x46c949)&&_0x302c64[_0x9abec5(0x205)](_0x46c949,_0x41aaac)&&h(_0x187f48,_0x46c949,{'get':()=>_0x5aab38[_0x46c949],'enumerable':!(_0x3de2f4=_0x302c64['EzosL'](D,_0x5aab38,_0x46c949))||_0x3de2f4[_0x9abec5(0x19e)]});}return _0x187f48;},Z=(_0x29c469,_0xf6505b,_0x4d8bd0)=>(_0x4d8bd0=_0x29c469!=null?F(X(_0x29c469)):{},P(_0xf6505b||!_0x29c469||!_0x29c469[a0_0x4ad0a2(0x1ae)]?h(_0x4d8bd0,'default',{'value':_0x29c469,'enumerable':!0x0}):_0x4d8bd0,_0x29c469)),$=_0x300ea3=>P(h({},a0_0x4ad0a2(0x1ae),{'value':!0x0}),_0x300ea3),H={};l(H,{'MahalMap':()=>u,'controller':()=>I,'keyUtils':()=>M,'routerUtils':()=>S,'searchUtils':()=>A}),module[a0_0x4ad0a2(0x18f)]=$(H);var I={};function a0_0x4bc8(){var _0x3a156b=['UnIOj','warn','light','exports','21SGUuKS','JLppM','250478DUJSPj','lKrTK','uYQKJ','NGkME','services/getRoutes','vTAbc','string','rBNDo','nLuBc','includes','apply','WxbtH','enumerable','PrUGb','function','zoom','remove','defaults','reject','Map','tPUso','gckWM','XXdfa','uvTWb','XVILQ','forEach','bUpSM','KPKsv','__esModule','JiFjH','call','script','viGBg','FQeyX','ktGOQ','interceptors','JZgDw','trace','create','console','toString','hUkYr','route','map','225268lvphQN','pvPZG','dUiBL','container','length','dkOoX','xqRqx','bind','ECAQp','eDydC','lLmKp','gScTo','push','Brkel','VsLdI','MYzFv','sTxOr','fRTtN','center','4|0|3|5|2|1','https://mtile.gram.tj/custom-styles/mapstyle.json','autoAddVectorSource','cVXRo','2564720WKijLf','exception','services/getAddress','getPrototypeOf','setZoom','data','aCWkt','RoxgL','apikey','instance','prototype','BGyxw','535240moyRGO','cVufY','5|0|4|3|1|2','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','routes','zataA','BCVHl','hihMC','setCenter','qhXGS','status','dark','easeTo','geometry','headers','hynYP','VnOGI','cAQfx','Ztfvz','geojson','ArEUa','mahal_map.sdk.js','vYFAO','SgtDd','HKBEM','ylPds','getInstance','djZDm','use','1482210eJjTXp','common','__proto__','CAJgN','tiPPA','slQWs','AyYKN','WNAaJ','uOkuP','Ttaab','ZZDER','info','return\x20(function()\x20','log','searchParams','waral','jKGPi','yjXYN','omwVs','dVPYZ','constructor','object','getMap','theme','hfVGw','table','charCodeAt','gpHYq','getOwnPropertyDescriptor','getOwnPropertyNames','flNyB','WRKsJ','258144aXkuze','getElementsByTagName','kdAds','Authorization','fxhGK','destroy','LYlLz','https://platform.mahal.tj/api/','options','SMrxC','3410652WKYreg','eXBKS','style','error','XRnEB','DvMdd','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','TOkyM','PvnpI','ddXaY','CMrsY','maplibregl','post','xwLvv','tzbzS','hNCCK','request','{}.constructor(\x22return\x20this\x22)(\x20)','split','https://mtile.gram.tj/custom-styles/dark-style.json','dYqaG'];a0_0x4bc8=function(){return _0x3a156b;};return a0_0x4bc8();}l(I,{'CameraController':()=>y,'MahalMap':()=>u,'getrouter':()=>G,'routingApi':()=>w,'search':()=>C,'searchPost':()=>T});var y=class{constructor(_0xdb44be){var _0x564f41=a0_0x4ad0a2;this[_0x564f41(0x1bd)]=_0xdb44be;}[a0_0x4ad0a2(0x1d9)](_0x900fef,_0x5e0a4b=!0x0){var _0x5c000e=a0_0x4ad0a2;_0x5e0a4b?this[_0x5c000e(0x1bd)][_0x5c000e(0x1ed)]({'zoom':_0x900fef}):this[_0x5c000e(0x1bd)][_0x5c000e(0x1d9)](_0x900fef);}},E=a0_0x4ad0a2(0x174),L=a0_0x4ad0a2(0x18a),R=a0_0x4ad0a2(0x1d2),k='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function K(_0x126fdf){var _0x3e25b8=a0_0x4ad0a2,_0x419414={'CndOD':function(_0x169728,_0x42249e){return _0x169728<_0x42249e;},'ArEUa':function(_0x3c23b5,_0x47e354){return _0x3c23b5-_0x47e354;},'JZgDw':function(_0x4e0504,_0x4a9f67){return _0x4e0504&_0x4a9f67;},'Brkel':function(_0x593928,_0x44b132){return _0x593928>>_0x44b132;},'bUpSM':function(_0x5ef16e,_0x5cb684){return _0x5ef16e<<_0x5cb684;},'tPUso':function(_0x59e0a1,_0x2cd388){return _0x59e0a1>>_0x2cd388;},'cVXRo':function(_0x2d528e,_0x28f30e){return _0x2d528e*_0x28f30e;},'OcQSG':function(_0x3ce875,_0x89175c){return _0x3ce875*_0x89175c;}};let _0x5b0043=[],_0x2298db=0x0,_0x402c50=_0x126fdf[_0x3e25b8(0x1c2)],_0x3b6394=0x0,_0x1d9556=0x0;for(;_0x419414['CndOD'](_0x2298db,_0x402c50);){let _0x4faca2,_0x261852=0x0,_0x3bd212=0x0;do _0x4faca2=_0x419414[_0x3e25b8(0x1f5)](_0x126fdf[_0x3e25b8(0x218)](_0x2298db++),0x3f),_0x3bd212|=_0x419414[_0x3e25b8(0x1b6)](_0x4faca2,0x1f)<<_0x261852,_0x261852+=0x5;while(_0x4faca2>=0x20);let _0x391b80=_0x3bd212&0x1?~_0x419414[_0x3e25b8(0x1cb)](_0x3bd212,0x1):_0x419414[_0x3e25b8(0x1cb)](_0x3bd212,0x1);_0x3b6394+=_0x391b80,_0x261852=0x0,_0x3bd212=0x0;do _0x4faca2=_0x419414['ArEUa'](_0x126fdf[_0x3e25b8(0x218)](_0x2298db++),0x3f),_0x3bd212|=_0x419414[_0x3e25b8(0x1ac)](_0x4faca2&0x1f,_0x261852),_0x261852+=0x5;while(_0x4faca2>=0x20);let _0x276163=_0x419414['JZgDw'](_0x3bd212,0x1)?~_0x419414[_0x3e25b8(0x1a6)](_0x3bd212,0x1):_0x3bd212>>0x1;_0x1d9556+=_0x276163,_0x5b0043[_0x3e25b8(0x1ca)]([_0x419414[_0x3e25b8(0x1d4)](_0x1d9556,0.00001),_0x419414['OcQSG'](_0x3b6394,0.00001)]);}return _0x5b0043;}var d={'dark':L,'light':R},i=class i{constructor(){}static[a0_0x4ad0a2(0x1b8)](_0x8962fa,_0x403009){var _0x203314=a0_0x4ad0a2,_0x4cdeb8={'ylPds':_0x203314(0x1e4),'hUkYr':function(_0x4b066c,_0x5b4307){return _0x4b066c===_0x5b4307;},'XVILQ':'dark','NGkME':_0x203314(0x1bd)};if(i['instance'])return i[_0x203314(0x1de)];let _0x27b8bf=window[_0x203314(0x182)]||_0x403009;if(!_0x27b8bf)throw new Error(_0x4cdeb8[_0x203314(0x1fa)]);let _0x6b0493=_0x8962fa[_0x203314(0x1d3)]?k:_0x8962fa[_0x203314(0x179)]?_0x8962fa[_0x203314(0x179)]:_0x4cdeb8[_0x203314(0x1bb)](_0x8962fa['theme'],_0x4cdeb8[_0x203314(0x1aa)])?d[_0x203314(0x1ec)]:d[_0x203314(0x18e)],_0x50c24d=new i();return _0x50c24d['options']=_0x8962fa,_0x50c24d[_0x203314(0x1bd)]=new _0x27b8bf[(_0x203314(0x1a5))]({'container':_0x8962fa['container']||_0x4cdeb8[_0x203314(0x195)],'style':_0x6b0493,'center':_0x8962fa[_0x203314(0x1d0)]||[69.624024,40.279687],'zoom':_0x8962fa[_0x203314(0x1a1)]||0x5}),i[_0x203314(0x1de)]=_0x50c24d,_0x50c24d;}static[a0_0x4ad0a2(0x1fb)](){var _0x195f8d=a0_0x4ad0a2,_0x41a26e={'tiPPA':_0x195f8d(0x17d)};if(!i[_0x195f8d(0x1de)])throw new Error(_0x41a26e[_0x195f8d(0x202)]);return i[_0x195f8d(0x1de)];}[a0_0x4ad0a2(0x223)](){var _0x52047a=a0_0x4ad0a2;this[_0x52047a(0x1bd)][_0x52047a(0x1a2)](),i[_0x52047a(0x1de)]=null;}[a0_0x4ad0a2(0x214)](){var _0x5df68f=a0_0x4ad0a2;return this[_0x5df68f(0x1bd)];}['setStyle'](_0x5a3ee5){var _0x2f921d=a0_0x4ad0a2,_0x9f98e4={'FQeyX':_0x2f921d(0x1ec)};this[_0x2f921d(0x1bd)]['setStyle'](_0x5a3ee5===_0x9f98e4[_0x2f921d(0x1b3)]?d[_0x2f921d(0x1ec)]:d[_0x2f921d(0x18e)]);}[a0_0x4ad0a2(0x1e9)](_0xe3b8a2){var _0x198a2e=a0_0x4ad0a2;this[_0x198a2e(0x1bd)][_0x198a2e(0x1e9)](_0xe3b8a2);}[a0_0x4ad0a2(0x1d9)](_0x347738){var _0x3364c3=a0_0x4ad0a2;this[_0x3364c3(0x1bd)][_0x3364c3(0x1d9)](_0x347738);}};i[a0_0x4ad0a2(0x1de)]=null;var u=i,j=Z(require('axios')),c=j['default'][a0_0x4ad0a2(0x1b8)]({'baseURL':E});c[a0_0x4ad0a2(0x1b5)]['request'][a0_0x4ad0a2(0x1fd)](_0x76b11a=>_0x76b11a,_0x57c37d=>(_0x57c37d[a0_0x4ad0a2(0x187)]?.[a0_0x4ad0a2(0x1eb)]===0x191&&g(),Promise[a0_0x4ad0a2(0x1a4)](_0x57c37d)));var M={};l(M,{'clearKey':()=>g,'getApiKey':()=>f,'saveKey':()=>b});var x='';function b(_0x3f5558){var _0x5b98ad=a0_0x4ad0a2;_0x3f5558!==''&&(x=_0x3f5558,c[_0x5b98ad(0x1a3)][_0x5b98ad(0x1ef)][_0x5b98ad(0x1ff)][_0x5b98ad(0x221)]='Bearer\x20'+_0x3f5558);}function g(){var _0xc25281=a0_0x4ad0a2,_0x1fac39={'XRnEB':'uOkuP','tzbzS':function(_0x25c9cb,_0xd1291c){return _0x25c9cb!==_0xd1291c;},'cVufY':_0xc25281(0x219),'fxhGK':_0xc25281(0x204),'ddXaY':'return\x20(function()\x20','HKBEM':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','zGxZk':function(_0x3fb9e6,_0x199663){return _0x3fb9e6===_0x199663;},'eXBKS':'map','Ztfvz':_0xc25281(0x1cd),'BCVHl':function(_0x2a9a72,_0x26eb4e){return _0x2a9a72(_0x26eb4e);},'KPKsv':function(_0x2393e8,_0x49347a){return _0x2393e8+_0x49347a;},'WxbtH':function(_0x3f8ef4,_0x23b6dd){return _0x3f8ef4!==_0x23b6dd;},'KewpR':_0xc25281(0x1b2),'eDydC':function(_0x5ce3fc){return _0x5ce3fc();},'pUBfg':_0xc25281(0x20b),'sTxOr':_0xc25281(0x209),'ZZDER':_0xc25281(0x17a),'WMubs':_0xc25281(0x1d6),'zataA':_0xc25281(0x217),'xwLvv':_0xc25281(0x1b7),'XXdfa':function(_0x14c290,_0x34d387){return _0x14c290<_0x34d387;},'anfKS':_0xc25281(0x1d1),'BGyxw':function(_0x2f13ff,_0x36cac7,_0x5a8e43){return _0x2f13ff(_0x36cac7,_0x5a8e43);}},_0x4bfdba=(function(){var _0x5a9c66=_0xc25281,_0xcae873={'Ttaab':function(_0x17da6d,_0x587af9){var _0x1812ec=a0_0x4102;return _0x1fac39[_0x1812ec(0x185)](_0x17da6d,_0x587af9);},'PvnpI':_0x1fac39[_0x5a9c66(0x1e2)],'RoxgL':_0x1fac39[_0x5a9c66(0x222)]},_0x54ad6c=!![];return function(_0x497231,_0x3248f1){var _0x117a60=_0x5a9c66;if(_0x117a60(0x206)!==_0x1fac39[_0x117a60(0x17b)])throw _0x59389e[_0x117a60(0x17a)](_0x22042c),_0x19bf8f;else{var _0x441d40=_0x54ad6c?function(){var _0x157d06=_0x117a60;if(_0xcae873[_0x157d06(0x207)](_0xcae873[_0x157d06(0x17f)],_0xcae873[_0x157d06(0x1dc)])){if(_0x3248f1){var _0x5d374e=_0x3248f1[_0x157d06(0x19c)](_0x497231,arguments);return _0x3248f1=null,_0x5d374e;}}else throw _0x3580d2;}:function(){};return _0x54ad6c=![],_0x441d40;}};}()),_0x106f90=_0x1fac39[_0xc25281(0x1e0)](_0x4bfdba,this,function(){var _0x35217f=_0xc25281,_0x5de6b3={'SgtDd':function(_0x1f0705,_0x122970){return _0x1f0705+_0x122970;},'xqRqx':_0x1fac39[_0x35217f(0x180)],'pvPZG':_0x1fac39[_0x35217f(0x1f9)],'TOkyM':function(_0x348227,_0x1f6b4c){return _0x1fac39['zGxZk'](_0x348227,_0x1f6b4c);},'hynYP':'dark','lLmKp':_0x1fac39[_0x35217f(0x178)],'yjXYN':'BkbCP','VsLdI':_0x1fac39[_0x35217f(0x1f3)],'btksb':function(_0x1ed1ea,_0x4b9826){var _0x2e5fee=_0x35217f;return _0x1fac39[_0x2e5fee(0x1e7)](_0x1ed1ea,_0x4b9826);},'hNCCK':function(_0x2faa56,_0xf1e9dd){var _0x1d58d9=_0x35217f;return _0x1fac39[_0x1d58d9(0x1ad)](_0x2faa56,_0xf1e9dd);},'qhXGS':_0x35217f(0x188),'nLuBc':function(_0x58137d,_0x4c7128){var _0x3c836e=_0x35217f;return _0x1fac39[_0x3c836e(0x19d)](_0x58137d,_0x4c7128);},'jKGPi':_0x1fac39['KewpR']},_0x4071e4=function(){var _0x4855f4=_0x35217f,_0x4f10f7={'DvMdd':_0x5de6b3[_0x4855f4(0x1bf)],'ToeOy':function(_0x1e8c44,_0xf3b70f){var _0xe22127=_0x4855f4;return _0x5de6b3[_0xe22127(0x17e)](_0x1e8c44,_0xf3b70f);},'PrUGb':_0x5de6b3[_0x4855f4(0x1f0)],'oyQid':_0x5de6b3[_0x4855f4(0x1c8)]},_0x4a796f;try{if(_0x5de6b3[_0x4855f4(0x20f)]!==_0x5de6b3[_0x4855f4(0x1cc)])_0x4a796f=_0x5de6b3['btksb'](Function,_0x5de6b3[_0x4855f4(0x1f8)](_0x5de6b3[_0x4855f4(0x186)](_0x5de6b3[_0x4855f4(0x1c4)],_0x5de6b3[_0x4855f4(0x1ea)]),');'))();else{var _0x5abafd;try{_0x5abafd=_0x587bca(vMKIvb[_0x4855f4(0x1f8)](vMKIvb['SgtDd'](vMKIvb['xqRqx'],_0x4855f4(0x188)),');'))();}catch(_0x14b8b9){_0x5abafd=_0x18f463;}return _0x5abafd;}}catch(_0x43f22b){if(_0x5de6b3[_0x4855f4(0x19a)](_0x5de6b3[_0x4855f4(0x20e)],_0x4855f4(0x210)))_0x4a796f=window;else{if(_0x479681['instance'])return _0x53e8d1[_0x4855f4(0x1de)];var _0x136ce4=_0xbfd398['maplibregl']||_0x13a8c1;if(!_0x136ce4)throw new _0x437f87(_0x4f10f7[_0x4855f4(0x17c)]);var _0x4e024a=_0x422269[_0x4855f4(0x1d3)]?_0x25e5e8:_0x1b5cc1[_0x4855f4(0x179)]?_0x1ac425['style']:_0x4f10f7['ToeOy'](_0x3eaaca[_0x4855f4(0x215)],_0x4f10f7[_0x4855f4(0x19f)])?_0x732097[_0x4855f4(0x1ec)]:_0x3a0fdd[_0x4855f4(0x18e)],_0x51035f=new _0x5eff41();return _0x51035f[_0x4855f4(0x175)]=_0x244cf1,_0x51035f['map']=new _0x136ce4['Map']({'container':_0x10e83f[_0x4855f4(0x1c1)]||_0x4f10f7['oyQid'],'style':_0x4e024a,'center':_0x22f38c[_0x4855f4(0x1d0)]||[69.624024,40.279687],'zoom':_0x333dc7['zoom']||0x5}),_0x385db0[_0x4855f4(0x1de)]=_0x51035f,_0x51035f;}}return _0x4a796f;},_0x345bdc=_0x1fac39[_0x35217f(0x1c7)](_0x4071e4),_0xf970d7=_0x345bdc['console']=_0x345bdc[_0x35217f(0x1b9)]||{},_0x2b3c45=[_0x1fac39['pUBfg'],_0x35217f(0x18d),_0x1fac39[_0x35217f(0x1ce)],_0x1fac39[_0x35217f(0x208)],_0x1fac39['WMubs'],_0x1fac39[_0x35217f(0x1e6)],_0x1fac39[_0x35217f(0x184)]];for(var _0x2ae3c1=0x0;_0x1fac39[_0x35217f(0x1a8)](_0x2ae3c1,_0x2b3c45[_0x35217f(0x1c2)]);_0x2ae3c1++){var _0x523d2d=_0x1fac39['anfKS']['split']('|'),_0x948c72=0x0;while(!![]){switch(_0x523d2d[_0x948c72++]){case'0':var _0x5d4c9a=_0x2b3c45[_0x2ae3c1];continue;case'1':_0xf970d7[_0x5d4c9a]=_0x515575;continue;case'2':_0x515575[_0x35217f(0x1ba)]=_0x5dce21[_0x35217f(0x1ba)]['bind'](_0x5dce21);continue;case'3':var _0x5dce21=_0xf970d7[_0x5d4c9a]||_0x515575;continue;case'4':var _0x515575=_0x4bfdba[_0x35217f(0x212)][_0x35217f(0x1df)]['bind'](_0x4bfdba);continue;case'5':_0x515575[_0x35217f(0x200)]=_0x4bfdba[_0x35217f(0x1c5)](_0x4bfdba);continue;}break;}}});_0x1fac39[_0xc25281(0x1c7)](_0x106f90),(x='',c[_0xc25281(0x1a3)][_0xc25281(0x1ef)]['common'][_0xc25281(0x221)]='');}var f=()=>x;function v(_0x35b929,_0x324df8){var _0x1c5834={'waral':function(_0x5a327c,_0x1befea,_0x42220b){return _0x5a327c(_0x1befea,_0x42220b);}};let _0x1341e2;return(..._0x3173a3)=>(_0x1341e2&&clearTimeout(_0x1341e2),new Promise(_0x5c69b3=>{var _0x5b821e=a0_0x4102;_0x1341e2=_0x1c5834[_0x5b821e(0x20d)](setTimeout,async()=>{var _0x31dc3f=await _0x35b929(..._0x3173a3);_0x5c69b3(_0x31dc3f);},_0x324df8);}));}var w=async(_0x3a0d9f,_0x515dc3)=>{var _0x21038e=a0_0x4ad0a2,_0x1ba48d={'cAQfx':function(_0x489938,_0x58cdbe){return _0x489938!==_0x58cdbe;},'uYQKJ':_0x21038e(0x1c3),'WRKsJ':_0x21038e(0x1af),'fCgKg':function(_0x5c5214){return _0x5c5214();},'dfYdl':'fQVcN','dYqaG':_0x21038e(0x1b4)};try{if(_0x1ba48d[_0x21038e(0x1f2)](_0x1ba48d[_0x21038e(0x194)],_0x1ba48d[_0x21038e(0x21d)])){let _0x5117a3=[];return _0x3a0d9f[_0x21038e(0x1ab)](_0x326497=>{_0x5117a3['push']({'lng':_0x326497[0x0],'lat':_0x326497[0x1]});}),(await c[_0x21038e(0x183)](_0x21038e(0x196),{'points':_0x5117a3,'token':_0x515dc3||_0x1ba48d['fCgKg'](f)}))[_0x21038e(0x1da)];}else this[_0x21038e(0x1bd)]=_0x3dd67e;}catch(_0x5e0671){if(_0x1ba48d['dfYdl']===_0x1ba48d[_0x21038e(0x18b)])this['map'][_0x21038e(0x1a2)](),_0x14c2e5[_0x21038e(0x1de)]=null;else throw console[_0x21038e(0x17a)](_0x5e0671),_0x5e0671;}},S={};l(S,{'getrouter':()=>G});async function G(_0x27ebde,_0xa4d480,_0x3dda70){var _0x4d15d0=a0_0x4ad0a2,_0x1832ef={'fRTtN':function(_0xeee7fb,_0x5d6730){return _0xeee7fb(_0x5d6730);},'hfVGw':function(_0x15abf5,_0x592471){return _0x15abf5+_0x592471;},'slQWs':_0x4d15d0(0x20a),'vYFAO':function(_0x28760f,_0x2d030f){return _0x28760f!==_0x2d030f;},'uvTWb':'vpvUo','hihMC':_0x4d15d0(0x176),'JLppM':function(_0x3bc3c8,_0x26ac2f){return _0x3bc3c8!==_0x26ac2f;},'UnIOj':'NZruY'};try{let _0x58426f=await w(_0x27ebde,_0x3dda70);return _0x58426f?.[_0x4d15d0(0x1da)]?_0x58426f[_0x4d15d0(0x1da)][_0x4d15d0(0x1bd)](_0x110e49=>{var _0x4b952f=_0x4d15d0;if(_0x1832ef[_0x4b952f(0x1f7)](_0x1832ef[_0x4b952f(0x1a9)],_0x1832ef[_0x4b952f(0x1e8)])){let _0x612bdc={..._0x110e49};return _0x612bdc[_0x4b952f(0x1bc)]?.[_0x4b952f(0x1e5)]?.[_0x4b952f(0x1c2)]&&(_0x612bdc[_0x4b952f(0x1bc)]['routes']=_0x612bdc[_0x4b952f(0x1bc)][_0x4b952f(0x1e5)]['map'](_0xba9e33=>({..._0xba9e33,'geometry':_0xa4d480===_0x4b952f(0x1f4)&&typeof _0xba9e33['geometry']==_0x4b952f(0x198)?K(_0xba9e33[_0x4b952f(0x1ee)]):_0xba9e33['geometry']}))),_0x612bdc;}else _0x4ddacc=VJuZbi[_0x4b952f(0x1cf)](_0x215267,VJuZbi[_0x4b952f(0x216)](VJuZbi[_0x4b952f(0x203)],_0x4b952f(0x188))+');')();}):_0x58426f;}catch(_0x367893){if(_0x1832ef[_0x4d15d0(0x191)](_0x1832ef[_0x4d15d0(0x18c)],_0x1832ef['UnIOj'])){var _0x19a415=_0x49c38b[_0x4d15d0(0x19c)](_0x57f996,arguments);return _0x1e8566=null,_0x19a415;}else throw _0x367893;}}var T=async _0xeb297a=>{var _0x5e047e=a0_0x4ad0a2,_0x196569={'zMTxu':_0x5e047e(0x1d7)};try{return(await c['post'](_0x196569['zMTxu'],_0xeb297a))[_0x5e047e(0x1da)];}catch(_0x489443){throw console[_0x5e047e(0x17a)]('Ошибка\x20при\x20поиске\x20адреса:',_0x489443),_0x489443;}},A={};l(A,{'search':()=>C});async function z(_0x173d98,_0x57fe0a,_0x1ca870){var _0x1c5747=a0_0x4ad0a2,_0x33f045={'CAJgN':function(_0x43ac47){return _0x43ac47();},'SavcN':_0x1c5747(0x1f1),'vTAbc':_0x1c5747(0x21c),'LYlLz':_0x1c5747(0x181)};let _0x56000b={'text':_0x173d98,'token':_0x57fe0a||_0x33f045[_0x1c5747(0x201)](f),..._0x1ca870};try{if(_0x33f045['SavcN']!==_0x33f045[_0x1c5747(0x197)])return await T(_0x56000b);else{var _0x1b1e47=_0x1c5747(0x1e3)[_0x1c5747(0x189)]('|'),_0x1825b7=0x0;while(!![]){switch(_0x1b1e47[_0x1825b7++]){case'0':var _0x44d2ae=_0x4813dc[_0x5e9a0f];continue;case'1':_0xd92909[_0x1c5747(0x1ba)]=_0x2dbbdd[_0x1c5747(0x1ba)][_0x1c5747(0x1c5)](_0x2dbbdd);continue;case'2':_0x479daa[_0x44d2ae]=_0xd92909;continue;case'3':_0xd92909[_0x1c5747(0x200)]=_0x5d3d51['bind'](_0x369181);continue;case'4':var _0x2dbbdd=_0x4f866c[_0x44d2ae]||_0xd92909;continue;case'5':var _0xd92909=_0x576a38[_0x1c5747(0x212)][_0x1c5747(0x1df)]['bind'](_0x42e768);continue;}break;}}}catch(_0x4008eb){if(_0x33f045[_0x1c5747(0x173)]==='CroQq')throw _0x3342d3;else throw _0x4008eb;}}var V=v(z,0x1f4);async function C(_0x280774,_0x560f3b,_0x276dd8){var _0x195c73=a0_0x4ad0a2,_0x38d99a={'aCWkt':function(_0x511019,_0xf5fc9f,_0x169763,_0x1e4232){return _0x511019(_0xf5fc9f,_0x169763,_0x1e4232);}};return await _0x38d99a[_0x195c73(0x1db)](V,_0x280774,_0x560f3b,_0x276dd8);}function q(){var _0x35be73=a0_0x4ad0a2,_0x2eb9fe={'gckWM':function(_0x2bd14d,_0x44ddf9){return _0x2bd14d===_0x44ddf9;},'WSuJY':_0x35be73(0x1ec),'kdAds':_0x35be73(0x1b1),'gScTo':function(_0x434b43,_0x4410ae){return _0x434b43===_0x4410ae;},'rBNDo':_0x35be73(0x1c0),'djZDm':_0x35be73(0x1dd)};let _0x4de7bf=document[_0x35be73(0x21f)](_0x2eb9fe[_0x35be73(0x220)]);for(let _0x5e1e90 of _0x4de7bf)if(_0x5e1e90['src'][_0x35be73(0x19b)](_0x35be73(0x1f6))){if(_0x2eb9fe[_0x35be73(0x1c9)](_0x35be73(0x1c0),_0x2eb9fe[_0x35be73(0x199)])){let _0x40bbdd=new URL(_0x5e1e90['src'])[_0x35be73(0x20c)]['get'](_0x2eb9fe[_0x35be73(0x1fc)]);if(_0x40bbdd)return _0x40bbdd;}else this[_0x35be73(0x1bd)]['setStyle'](_0x2eb9fe[_0x35be73(0x1a7)](_0xda97d7,_0x2eb9fe['WSuJY'])?_0x181f0c[_0x35be73(0x1ec)]:_0x14f037['light']);}return'';}b(q()),0x0&&(module[a0_0x4ad0a2(0x18f)]={'MahalMap':MahalMap,'controller':controller,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ var a0_0x4a71af=a0_0x3f7d;(function(_0x49010a,_0x467ca7){var _0x20f572=a0_0x3f7d,_0x2ea6d1=_0x49010a();while(!![]){try{var _0x1df9af=-parseInt(_0x20f572(0x15e))/0x1*(-parseInt(_0x20f572(0x17b))/0x2)+parseInt(_0x20f572(0x177))/0x3+-parseInt(_0x20f572(0x1dd))/0x4*(parseInt(_0x20f572(0x168))/0x5)+parseInt(_0x20f572(0x178))/0x6+parseInt(_0x20f572(0x1df))/0x7+parseInt(_0x20f572(0x159))/0x8*(parseInt(_0x20f572(0x1a0))/0x9)+-parseInt(_0x20f572(0x1c8))/0xa*(parseInt(_0x20f572(0x1d3))/0xb);if(_0x1df9af===_0x467ca7)break;else _0x2ea6d1['push'](_0x2ea6d1['shift']());}catch(_0x3ec4d0){_0x2ea6d1['push'](_0x2ea6d1['shift']());}}}(a0_0x2a4c,0x81a0a));var a0_0x5d1d22=(function(){var _0x3c7aaf=!![];return function(_0x68a330,_0x22b068){var _0x717691=_0x3c7aaf?function(){var _0x1c5bd2=a0_0x3f7d;if(_0x22b068){var _0x5bb405=_0x22b068[_0x1c5bd2(0x176)](_0x68a330,arguments);return _0x22b068=null,_0x5bb405;}}:function(){};return _0x3c7aaf=![],_0x717691;};}()),a0_0x200af6=a0_0x5d1d22(this,function(){var _0xe90299=a0_0x3f7d,_0x3c7469={'TVjWo':_0xe90299(0x184),'rqMtA':function(_0x2bf2c7,_0x354a89){return _0x2bf2c7(_0x354a89);},'BvJok':_0xe90299(0x1b2),'SXDBs':function(_0x22b691){return _0x22b691();},'PJZDB':function(_0x396305,_0x2ba024){return _0x396305<_0x2ba024;},'KzyKG':_0xe90299(0x1a4),'QcoNq':'error','rQccT':_0xe90299(0x18f),'tYcmv':_0xe90299(0x1de),'kwawW':_0xe90299(0x1d2)},_0x4687b5=_0x3c7469[_0xe90299(0x1a1)]['split']('|'),_0x10a313=0x0;while(!![]){switch(_0x4687b5[_0x10a313++]){case'0':var _0x6657be={'WtlTp':function(_0x235afe,_0x6cd830){var _0x46b4d6=_0xe90299;return _0x3c7469[_0x46b4d6(0x199)](_0x235afe,_0x6cd830);},'wBRji':function(_0x5c8e53,_0x37324d){return _0x5c8e53+_0x37324d;},'ZddTW':_0xe90299(0x1b0),'Ofzhh':_0x3c7469['BvJok']};continue;case'1':var _0x350d2b=_0x3c7469[_0xe90299(0x1be)](_0x5d4b09);continue;case'2':var _0x17ccd1=_0x350d2b[_0xe90299(0x1a6)]=_0x350d2b[_0xe90299(0x1a6)]||{};continue;case'3':for(var _0x4f3af0=0x0;_0x3c7469['PJZDB'](_0x4f3af0,_0x21dc1c[_0xe90299(0x1bf)]);_0x4f3af0++){var _0x358213=_0xe90299(0x172)[_0xe90299(0x1cd)]('|'),_0x8c0cfe=0x0;while(!![]){switch(_0x358213[_0x8c0cfe++]){case'0':var _0x5dd954=_0x17ccd1[_0x540aaf]||_0x2a6c58;continue;case'1':_0x17ccd1[_0x540aaf]=_0x2a6c58;continue;case'2':_0x2a6c58[_0xe90299(0x166)]=a0_0x5d1d22[_0xe90299(0x187)](a0_0x5d1d22);continue;case'3':var _0x2a6c58=a0_0x5d1d22[_0xe90299(0x1c7)][_0xe90299(0x1da)]['bind'](a0_0x5d1d22);continue;case'4':var _0x540aaf=_0x21dc1c[_0x4f3af0];continue;case'5':_0x2a6c58['toString']=_0x5dd954[_0xe90299(0x16e)][_0xe90299(0x187)](_0x5dd954);continue;}break;}}continue;case'4':var _0x5d4b09=function(){var _0x2a6561=_0xe90299,_0x4fe4cf;try{_0x4fe4cf=_0x6657be[_0x2a6561(0x1c2)](Function,_0x6657be['wBRji'](_0x6657be[_0x2a6561(0x1ad)](_0x6657be['ZddTW'],_0x6657be[_0x2a6561(0x1c1)]),');'))();}catch(_0x3d32af){_0x4fe4cf=window;}return _0x4fe4cf;};continue;case'5':var _0x21dc1c=[_0x3c7469[_0xe90299(0x19e)],'warn',_0xe90299(0x190),_0x3c7469['QcoNq'],_0x3c7469['rQccT'],_0x3c7469['tYcmv'],_0x3c7469['kwawW']];continue;}break;}});a0_0x200af6();'use strict';var F=Object[a0_0x4a71af(0x1a7)],f=Object[a0_0x4a71af(0x194)],U=Object['getOwnPropertyDescriptor'],D=Object['getOwnPropertyNames'],O=Object['getPrototypeOf'],X=Object['prototype'][a0_0x4a71af(0x1b1)],l=(_0x26a2a3,_0x15902a)=>{for(var _0x33c088 in _0x15902a)f(_0x26a2a3,_0x33c088,{'get':_0x15902a[_0x33c088],'enumerable':!0x0});},R=(_0x289a46,_0x575a49,_0x14bca7,_0x5ac732)=>{var _0x4d192a=a0_0x4a71af,_0x566064={'sLAGl':function(_0xa2cb65,_0x58169e){return _0xa2cb65==_0x58169e;},'aCbad':_0x4d192a(0x157),'xKNfd':_0x4d192a(0x19a),'FIyTF':function(_0x770194,_0x9ef85f){return _0x770194(_0x9ef85f);},'bZsIR':function(_0x674e19,_0x3687ac){return _0x674e19!==_0x3687ac;},'hQxSh':function(_0x27c9ac,_0x5202da,_0x28a880,_0x12ee56){return _0x27c9ac(_0x5202da,_0x28a880,_0x12ee56);},'qdoUn':function(_0x262752,_0x1b81cb,_0x1208e6){return _0x262752(_0x1b81cb,_0x1208e6);}};if(_0x575a49&&_0x566064['sLAGl'](typeof _0x575a49,_0x566064[_0x4d192a(0x18b)])||typeof _0x575a49==_0x566064[_0x4d192a(0x158)]){for(let _0x3ec6e7 of _0x566064[_0x4d192a(0x1bd)](D,_0x575a49))!X[_0x4d192a(0x185)](_0x289a46,_0x3ec6e7)&&_0x566064[_0x4d192a(0x181)](_0x3ec6e7,_0x14bca7)&&_0x566064[_0x4d192a(0x160)](f,_0x289a46,_0x3ec6e7,{'get':()=>_0x575a49[_0x3ec6e7],'enumerable':!(_0x5ac732=_0x566064[_0x4d192a(0x1cb)](U,_0x575a49,_0x3ec6e7))||_0x5ac732[_0x4d192a(0x1d8)]});}return _0x289a46;},B=(_0x3683fe,_0x1a8477,_0x19a88e)=>(_0x19a88e=_0x3683fe!=null?F(O(_0x3683fe)):{},R(_0x1a8477||!_0x3683fe||!_0x3683fe[a0_0x4a71af(0x1ba)]?f(_0x19a88e,a0_0x4a71af(0x15c),{'value':_0x3683fe,'enumerable':!0x0}):_0x19a88e,_0x3683fe)),Z=_0x53aa4a=>R(f({},a0_0x4a71af(0x1ba),{'value':!0x0}),_0x53aa4a),J={};function a0_0x3f7d(_0x2f2864,_0x4a8f02){var _0x1aa618=a0_0x2a4c();return a0_0x3f7d=function(_0x200af6,_0x5d1d22){_0x200af6=_0x200af6-0x152;var _0x4113c2=_0x1aa618[_0x200af6];return _0x4113c2;},a0_0x3f7d(_0x2f2864,_0x4a8f02);}l(J,{'Controller':()=>x,'MahalMap':()=>y,'Routing':()=>P,'Search':()=>A,'keyUtils':()=>w}),module[a0_0x4a71af(0x1b7)]=Z(J);var y={};l(y,{'MahalMap':()=>d});var E=a0_0x4a71af(0x1c3),L=a0_0x4a71af(0x1d6),k=a0_0x4a71af(0x17c),K=a0_0x4a71af(0x189);function j(_0x11d190){var _0x101012=a0_0x4a71af,_0x5bd373={'aMcia':function(_0x2a42e7,_0x195fac){return _0x2a42e7<_0x195fac;},'Jplsw':function(_0x17a3ad,_0x1b7407){return _0x17a3ad-_0x1b7407;},'jSdGJ':function(_0x5397e7,_0x3ecf80){return _0x5397e7<<_0x3ecf80;},'tUVPf':function(_0x492cd7,_0x5aaf07){return _0x492cd7&_0x5aaf07;},'FGhIW':function(_0xc0bbc9,_0x3bb800){return _0xc0bbc9>=_0x3bb800;},'Qucil':function(_0x1dffa0,_0x3b0205){return _0x1dffa0>>_0x3b0205;},'kptkB':function(_0xd9bfb6,_0x32f643){return _0xd9bfb6&_0x32f643;},'ObQpP':function(_0x2fe479,_0x66d6b8){return _0x2fe479>>_0x66d6b8;},'FlfBA':function(_0x36c994,_0x111eb8){return _0x36c994*_0x111eb8;}};let _0x1890d5=[],_0x1d7a4b=0x0,_0x4223a9=_0x11d190[_0x101012(0x1bf)],_0x34e6cf=0x0,_0x359828=0x0;for(;_0x5bd373[_0x101012(0x15b)](_0x1d7a4b,_0x4223a9);){let _0x86a2b,_0x2df9b1=0x0,_0x5465cb=0x0;do _0x86a2b=_0x5bd373['Jplsw'](_0x11d190[_0x101012(0x18e)](_0x1d7a4b++),0x3f),_0x5465cb|=_0x5bd373[_0x101012(0x1e1)](_0x5bd373[_0x101012(0x1b8)](_0x86a2b,0x1f),_0x2df9b1),_0x2df9b1+=0x5;while(_0x5bd373['FGhIW'](_0x86a2b,0x20));let _0x217d82=_0x5bd373['tUVPf'](_0x5465cb,0x1)?~(_0x5465cb>>0x1):_0x5bd373[_0x101012(0x19f)](_0x5465cb,0x1);_0x34e6cf+=_0x217d82,_0x2df9b1=0x0,_0x5465cb=0x0;do _0x86a2b=_0x11d190[_0x101012(0x18e)](_0x1d7a4b++)-0x3f,_0x5465cb|=_0x5bd373[_0x101012(0x1ae)](_0x86a2b,0x1f)<<_0x2df9b1,_0x2df9b1+=0x5;while(_0x86a2b>=0x20);let _0x1f1dd9=_0x5bd373[_0x101012(0x1ae)](_0x5465cb,0x1)?~_0x5bd373['Qucil'](_0x5465cb,0x1):_0x5bd373[_0x101012(0x1ac)](_0x5465cb,0x1);_0x359828+=_0x1f1dd9,_0x1890d5[_0x101012(0x183)]([_0x5bd373['FlfBA'](_0x359828,0.00001),_0x34e6cf*0.00001]);}return _0x1890d5;}var h={'dark':L,'light':k},i=class i{constructor(){}static[a0_0x4a71af(0x1a7)](_0x3ff889,_0x434191){var _0x214ac3=a0_0x4a71af,_0x1c5bc5={'aeezY':_0x214ac3(0x195),'OwYjU':function(_0x3860ef,_0x518253){return _0x3860ef===_0x518253;},'UVPyd':_0x214ac3(0x173),'MeotX':_0x214ac3(0x1e3)};if(i[_0x214ac3(0x161)])return i[_0x214ac3(0x161)];let _0x1c9347=window[_0x214ac3(0x1e5)]||_0x434191;if(!_0x1c9347)throw new Error(_0x1c5bc5[_0x214ac3(0x16a)]);let _0x48d4d3=_0x3ff889[_0x214ac3(0x1c0)]?K:_0x3ff889[_0x214ac3(0x182)]?_0x3ff889[_0x214ac3(0x182)]:_0x1c5bc5[_0x214ac3(0x1b3)](_0x3ff889[_0x214ac3(0x1bb)],_0x1c5bc5[_0x214ac3(0x180)])?h[_0x214ac3(0x173)]:h['light'],_0x1c2f87=new i();return _0x1c2f87[_0x214ac3(0x188)]=_0x3ff889,_0x1c2f87[_0x214ac3(0x1e3)]=new _0x1c9347[(_0x214ac3(0x197))]({'container':_0x3ff889[_0x214ac3(0x1d4)]||_0x1c5bc5[_0x214ac3(0x1e0)],'style':_0x48d4d3,'center':_0x3ff889[_0x214ac3(0x162)]||[69.624024,40.279687],'zoom':_0x3ff889[_0x214ac3(0x15a)]||0x5}),i[_0x214ac3(0x161)]=_0x1c2f87,_0x1c2f87;}static['getInstance'](){var _0x222660=a0_0x4a71af;if(!i['instance'])throw new Error(_0x222660(0x196));return i[_0x222660(0x161)];}[a0_0x4a71af(0x1af)](){var _0x4f7a6a=a0_0x4a71af;this['map'][_0x4f7a6a(0x191)](),i[_0x4f7a6a(0x161)]=null;}[a0_0x4a71af(0x1d1)](){var _0x987c11=a0_0x4a71af;return this[_0x987c11(0x1e3)];}[a0_0x4a71af(0x1ab)](_0x32ce23){var _0x552381=a0_0x4a71af,_0x2e6e2c={'AcGAP':function(_0x13d664,_0x5414c1){return _0x13d664===_0x5414c1;}};this['map'][_0x552381(0x1ab)](_0x2e6e2c[_0x552381(0x154)](_0x32ce23,_0x552381(0x173))?h[_0x552381(0x173)]:h['light']);}[a0_0x4a71af(0x1e4)](_0x1e2ff9){var _0x50158b=a0_0x4a71af;this['map'][_0x50158b(0x1e4)](_0x1e2ff9);}[a0_0x4a71af(0x163)](_0x59ccc9){var _0x3450ae=a0_0x4a71af;this[_0x3450ae(0x1e3)][_0x3450ae(0x163)](_0x59ccc9);}};i[a0_0x4a71af(0x161)]=null;var d=i,x={};l(x,{'CameraController':()=>g});var g=class{constructor(_0xfaec71){var _0x2d8d24=a0_0x4a71af;this[_0x2d8d24(0x1e3)]=_0xfaec71;}[a0_0x4a71af(0x163)](_0x5a0cb9,_0x410536=!0x0){var _0x31dc3b=a0_0x4a71af;_0x410536?this['map']['easeTo']({'zoom':_0x5a0cb9}):this[_0x31dc3b(0x1e3)][_0x31dc3b(0x163)](_0x5a0cb9);}},A={};l(A,{'search':()=>V,'searchPost':()=>T});var v=B(require(a0_0x4a71af(0x1b4))),c=v[a0_0x4a71af(0x15c)][a0_0x4a71af(0x1a7)]({'baseURL':E});c[a0_0x4a71af(0x1b9)][a0_0x4a71af(0x1d0)]['use'](_0x24914d=>_0x24914d,_0x14e761=>(_0x14e761[a0_0x4a71af(0x1d0)]?.['status']===0x191&&b(),Promise[a0_0x4a71af(0x16d)](_0x14e761)));var w={};function a0_0x2a4c(){var _0x392b13=['zoom','aMcia','default','xUToc','468016exevni','ujEkK','hQxSh','instance','center','setZoom','geojson','hvSlw','__proto__','Ошибка\x20при\x20поиске\x20адреса:','52145HKtTib','string','aeezY','haebZ','JvEZf','reject','toString','MKVkQ','searchParams','includes','3|4|0|2|5|1','dark','sVSDr','fCGEN','apply','1770006ERXkHf','2744052OSjZJL','routes','LmlSR','2UgNYcY','https://mtile.gram.tj/custom-styles/mapstyle.json','EFzej','wXyno','YTIRq','UVPyd','bZsIR','style','push','0|4|1|2|5|3','call','EEpbh','bind','options','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','services/getAddress','aCbad','Bearer\x20','RHygM','charCodeAt','exception','info','remove','route','script','defineProperty','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','Map','SCyrl','rqMtA','function','error','defaults','rFHtZ','KzyKG','Qucil','27vcdXah','TVjWo','pEMpe','geometry','log','OkEyR','console','create','get','XKzTI','uvlCo','setStyle','ObQpP','wBRji','kptkB','destroy','return\x20(function()\x20','hasOwnProperty','{}.constructor(\x22return\x20this\x22)(\x20)','OwYjU','axios','McLBO','GXoIi','exports','tUVPf','interceptors','__esModule','theme','WeZAN','FIyTF','SXDBs','length','autoAddVectorSource','Ofzhh','WtlTp','https://platform.mahal.tj/api/','ApUku','data','iZKqe','constructor','20pxrkPg','Authorization','headers','qdoUn','post','split','common','UqVtM','request','getMap','trace','8355127CJpeqM','container','nORxa','https://mtile.gram.tj/custom-styles/dark-style.json','mQaRn','enumerable','RyZmj','prototype','rGSkr','services/getRoutes','220azcbyk','table','2396863RHTGfM','MeotX','jSdGJ','PMzJs','map','setCenter','maplibregl','vsrxe','BxCTw','AcGAP','getElementsByTagName','mahal_map.sdk.js','object','xKNfd','2042384fzAawt'];a0_0x2a4c=function(){return _0x392b13;};return a0_0x2a4c();}l(w,{'clearKey':()=>b,'getApiKey':()=>u,'saveKey':()=>S});var M='';function S(_0x4905cb){var _0x33973c=a0_0x4a71af;_0x4905cb!==''&&(M=_0x4905cb,c['defaults'][_0x33973c(0x1ca)][_0x33973c(0x1ce)][_0x33973c(0x1c9)]=_0x33973c(0x18c)+_0x4905cb);}function b(){var _0x2be2c2=a0_0x4a71af;M='',c[_0x2be2c2(0x19c)][_0x2be2c2(0x1ca)][_0x2be2c2(0x1ce)][_0x2be2c2(0x1c9)]='';}var u=()=>M;function G(_0x1020d1,_0x594c2f){var _0x417a36={'SCyrl':function(_0xbe9796,..._0x33557d){return _0xbe9796(..._0x33557d);},'sVSDr':function(_0x4ef3fb,_0x1d6fe6){return _0x4ef3fb(_0x1d6fe6);},'hvSlw':function(_0x1c05b6,_0x93b832,_0x4793e5){return _0x1c05b6(_0x93b832,_0x4793e5);}};let _0x35ec8d;return(..._0x31196c)=>(_0x35ec8d&&clearTimeout(_0x35ec8d),new Promise(_0x3b3223=>{var _0xba02be=a0_0x3f7d,_0x146f30={'MkFHm':function(_0x3a452f,..._0x1a189a){var _0x3a90f0=a0_0x3f7d;return _0x417a36[_0x3a90f0(0x198)](_0x3a452f,..._0x1a189a);},'McLBO':function(_0x221f13,_0xe5b42){var _0x470398=a0_0x3f7d;return _0x417a36[_0x470398(0x174)](_0x221f13,_0xe5b42);}};_0x35ec8d=_0x417a36[_0xba02be(0x165)](setTimeout,async()=>{var _0xa6c54a=_0xba02be,_0xa7cfb8=await _0x146f30['MkFHm'](_0x1020d1,..._0x31196c);_0x146f30[_0xa6c54a(0x1b5)](_0x3b3223,_0xa7cfb8);},_0x594c2f);}));}var T=async _0x595b05=>{var _0x7d77ec=a0_0x4a71af,_0x4f5712={'nORxa':function(_0x22eb4d,_0x34e5a2){return _0x22eb4d==_0x34e5a2;},'iZKqe':'object','ZleYx':_0x7d77ec(0x19a),'EFzej':function(_0x1e9d89,_0x2b45bd){return _0x1e9d89!==_0x2b45bd;},'rFHtZ':function(_0x4329fa,_0x571bb4,_0x990067,_0x4300cb){return _0x4329fa(_0x571bb4,_0x990067,_0x4300cb);},'dRZUy':function(_0x85b794,_0x3480ec,_0x352745){return _0x85b794(_0x3480ec,_0x352745);},'XKzTI':_0x7d77ec(0x15d),'MULyh':_0x7d77ec(0x16c),'MKVkQ':_0x7d77ec(0x18a),'pEMpe':_0x7d77ec(0x167)};try{if(_0x4f5712[_0x7d77ec(0x17d)](_0x4f5712[_0x7d77ec(0x1a9)],_0x4f5712['MULyh']))return(await c['post'](_0x4f5712[_0x7d77ec(0x16f)],_0x595b05))[_0x7d77ec(0x1c5)];else{if(_0x22e768&&_0x4f5712[_0x7d77ec(0x1d5)](typeof _0x2df2ed,_0x4f5712[_0x7d77ec(0x1c6)])||_0x4f5712['nORxa'](typeof _0x312c56,_0x4f5712['ZleYx'])){for(let _0x395f6d of _0x1c737(_0x333085))!_0x1de4d1[_0x7d77ec(0x185)](_0x9180a8,_0x395f6d)&&_0x4f5712['EFzej'](_0x395f6d,_0xf5fee0)&&_0x4f5712[_0x7d77ec(0x19d)](_0x2956ca,_0x33d49d,_0x395f6d,{'get':()=>_0x3d35cc[_0x395f6d],'enumerable':!(_0x17c445=_0x4f5712['dRZUy'](_0xc428b7,_0xc3f232,_0x395f6d))||_0x36675f[_0x7d77ec(0x1d8)]});}return _0xff9797;}}catch(_0x5a1f7c){throw console[_0x7d77ec(0x19b)](_0x4f5712[_0x7d77ec(0x1a2)],_0x5a1f7c),_0x5a1f7c;}};async function $(_0x342a4b,_0x569318,_0x5ec78b){var _0x428ce6=a0_0x4a71af,_0x3a264e={'UqVtM':function(_0x3e08e9){return _0x3e08e9();},'LmlSR':function(_0x2f9dc8,_0x5e0aa5){return _0x2f9dc8(_0x5e0aa5);}};let _0x59d791={'text':_0x342a4b,'token':_0x569318||_0x3a264e[_0x428ce6(0x1cf)](u),..._0x5ec78b};try{return await _0x3a264e[_0x428ce6(0x17a)](T,_0x59d791);}catch(_0x34e4b2){throw _0x34e4b2;}}var z=G($,0x1f4);async function V(_0x122cb4,_0x46c201,_0x7ce397){var _0x2ba817=a0_0x4a71af,_0x4cafcb={'rGSkr':function(_0x3a2b70,_0x1ee3f1,_0xd7c8a4,_0xcc5dcf){return _0x3a2b70(_0x1ee3f1,_0xd7c8a4,_0xcc5dcf);}};return await _0x4cafcb[_0x2ba817(0x1db)](z,_0x122cb4,_0x46c201,_0x7ce397);}var P={};l(P,{'getrouter':()=>q,'routingApi':()=>I});var I=async(_0x5b5b18,_0x48ac0b)=>{var _0x49d81b=a0_0x4a71af,_0x5a3524={'EEpbh':_0x49d81b(0x1dc),'RHygM':function(_0x4cf76e){return _0x4cf76e();}};try{let _0xe54044=[];return _0x5b5b18['forEach'](_0x25eaa1=>{var _0xcee096=_0x49d81b;_0xe54044[_0xcee096(0x183)]({'lng':_0x25eaa1[0x0],'lat':_0x25eaa1[0x1]});}),(await c[_0x49d81b(0x1cc)](_0x5a3524[_0x49d81b(0x186)],{'points':_0xe54044,'token':_0x48ac0b||_0x5a3524[_0x49d81b(0x18d)](u)}))['data'];}catch(_0x493057){throw console[_0x49d81b(0x19b)](_0x493057),_0x493057;}};async function q(_0x1c4ced,_0x1b2723,_0x4c72be){var _0x1a8e4d=a0_0x4a71af,_0x3df2e6={'wXyno':function(_0x217fb7,_0x22cb5b){return _0x217fb7<_0x22cb5b;},'PMzJs':function(_0x2c5142,_0x3b5f0f){return _0x2c5142-_0x3b5f0f;},'BxCTw':function(_0x279475,_0x50dcda){return _0x279475<<_0x50dcda;},'VbewX':function(_0x290d3c,_0x191e62){return _0x290d3c&_0x191e62;},'uvlCo':function(_0x54ac66,_0x3da70e){return _0x54ac66>=_0x3da70e;},'vsrxe':function(_0x500acc,_0x46fe53){return _0x500acc>>_0x46fe53;},'mQaRn':function(_0x273623,_0x19924d){return _0x273623-_0x19924d;},'ujEkK':function(_0x11565f,_0x51bbd2){return _0x11565f&_0x51bbd2;},'GXoIi':function(_0x4fb2b2,_0x3ab1a2){return _0x4fb2b2>=_0x3ab1a2;},'OkEyR':function(_0x3cf346,_0x2b844b){return _0x3cf346>>_0x2b844b;},'JAOMJ':function(_0x2ee2bf,_0x2e0fbc){return _0x2ee2bf*_0x2e0fbc;},'RyZmj':function(_0x3766fe,_0x401e72){return _0x3766fe*_0x401e72;},'WeZAN':function(_0x15c256,_0x43f93f){return _0x15c256===_0x43f93f;},'YTIRq':'haebZ','fCGEN':function(_0x5d547a,_0x24c432,_0x19a280){return _0x5d547a(_0x24c432,_0x19a280);}};try{if(_0x3df2e6[_0x1a8e4d(0x1bc)](_0x1a8e4d(0x16b),_0x3df2e6[_0x1a8e4d(0x17f)])){let _0x2980cb=await _0x3df2e6[_0x1a8e4d(0x175)](I,_0x1c4ced,_0x4c72be);return _0x2980cb?.[_0x1a8e4d(0x1c5)]?_0x2980cb[_0x1a8e4d(0x1c5)][_0x1a8e4d(0x1e3)](_0x3e00ce=>{var _0x3d6597=_0x1a8e4d;let _0x5e1acf={..._0x3e00ce};return _0x5e1acf[_0x3d6597(0x192)]?.[_0x3d6597(0x179)]?.[_0x3d6597(0x1bf)]&&(_0x5e1acf[_0x3d6597(0x192)][_0x3d6597(0x179)]=_0x5e1acf[_0x3d6597(0x192)][_0x3d6597(0x179)][_0x3d6597(0x1e3)](_0x1489f5=>({..._0x1489f5,'geometry':_0x1b2723===_0x3d6597(0x164)&&typeof _0x1489f5['geometry']==_0x3d6597(0x169)?j(_0x1489f5[_0x3d6597(0x1a3)]):_0x1489f5['geometry']}))),_0x5e1acf;}):_0x2980cb;}else{let _0x3a452a=[],_0x2a3ff7=0x0,_0x45eeb1=_0x1384d3[_0x1a8e4d(0x1bf)],_0x4d8707=0x0,_0x24b74a=0x0;for(;_0x3df2e6[_0x1a8e4d(0x17e)](_0x2a3ff7,_0x45eeb1);){let _0xb02d0e,_0x41a18e=0x0,_0x324bd6=0x0;do _0xb02d0e=_0x3df2e6[_0x1a8e4d(0x1e2)](_0x6fe395[_0x1a8e4d(0x18e)](_0x2a3ff7++),0x3f),_0x324bd6|=_0x3df2e6[_0x1a8e4d(0x153)](_0x3df2e6['VbewX'](_0xb02d0e,0x1f),_0x41a18e),_0x41a18e+=0x5;while(_0x3df2e6[_0x1a8e4d(0x1aa)](_0xb02d0e,0x20));let _0x99257b=_0x324bd6&0x1?~_0x3df2e6[_0x1a8e4d(0x152)](_0x324bd6,0x1):_0x324bd6>>0x1;_0x4d8707+=_0x99257b,_0x41a18e=0x0,_0x324bd6=0x0;do _0xb02d0e=_0x3df2e6[_0x1a8e4d(0x1d7)](_0x517537['charCodeAt'](_0x2a3ff7++),0x3f),_0x324bd6|=_0x3df2e6[_0x1a8e4d(0x153)](_0x3df2e6[_0x1a8e4d(0x15f)](_0xb02d0e,0x1f),_0x41a18e),_0x41a18e+=0x5;while(_0x3df2e6[_0x1a8e4d(0x1b6)](_0xb02d0e,0x20));let _0x1a0153=_0x324bd6&0x1?~_0x3df2e6[_0x1a8e4d(0x152)](_0x324bd6,0x1):_0x3df2e6[_0x1a8e4d(0x1a5)](_0x324bd6,0x1);_0x24b74a+=_0x1a0153,_0x3a452a[_0x1a8e4d(0x183)]([_0x3df2e6['JAOMJ'](_0x24b74a,0.00001),_0x3df2e6[_0x1a8e4d(0x1d9)](_0x4d8707,0.00001)]);}return _0x3a452a;}}catch(_0x2b8209){throw _0x2b8209;}}function H(){var _0x3c61b0=a0_0x4a71af,_0x50f4ff={'KeMDX':_0x3c61b0(0x193),'ApUku':'apikey'};let _0x2b7fc6=document[_0x3c61b0(0x155)](_0x50f4ff['KeMDX']);for(let _0x44282d of _0x2b7fc6)if(_0x44282d['src'][_0x3c61b0(0x171)](_0x3c61b0(0x156))){let _0x1e283d=new URL(_0x44282d['src'])[_0x3c61b0(0x170)][_0x3c61b0(0x1a8)](_0x50f4ff[_0x3c61b0(0x1c4)]);if(_0x1e283d)return _0x1e283d;}return'';}S(H()),0x0&&(module[a0_0x4a71af(0x1b7)]={'Controller':Controller,'MahalMap':MahalMap,'Routing':Routing,'Search':Search,'keyUtils':keyUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/index.ts","../src/lib/controller/camera/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 controller 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, 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","export * from \"./controller\";\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","lib_exports","saveKey_exports","utils_exports","__toCommonJS","lib_exports","__export","CameraController","MahalMap","getrouter","routingApi","search","searchPost","CameraController","map","zoom","smooth","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/lib/map/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/index.ts","../src/lib/controller/camera/index.ts","../src/lib/search/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport * as MahalMap from \"@lib/map\";\r\nimport * as Controller from \"@lib/controller\";\r\nimport * as Search from \"@lib/search\";\r\nimport * as Routing from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Controller, Search, Routing, keyUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","export * from \"./MahalMap\";\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 \"./camera\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","export * from \"./api\";\r\nexport * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","export * from \"./api\";\r\nexport * from \"./utils\";\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"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,aAAAC,EAAA,YAAAC,EAAA,WAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAP,GCAA,IAAAQ,EAAA,GAAAC,EAAAD,EAAA,cAAAE,ICAA,IAAMC,EAAW,iCASjB,IAAMC,EAAO,sDACPC,EAAQ,oDACRC,EACJ,mECZF,SAASC,EAAgBC,EAA6B,CACpD,IAAIC,EAAS,CAAC,EACVC,EAAQ,EACVC,EAAMH,EAAQ,OACZI,EAAM,EACRC,EAAM,EAER,KAAOH,EAAQC,GAAK,CAClB,IAAIG,EACFC,EAAQ,EACRC,EAAS,EACX,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAIG,EAAOD,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDJ,GAAOK,EAEPF,EAAQ,EACRC,EAAS,EACT,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAII,EAAOF,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDH,GAAOK,EAEPT,EAAO,KAAK,CAACI,EAAM,KAAMD,EAAM,IAAI,CAAC,CACtC,CAEA,OAAOH,CACT,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,OAAO,aAAwB,CAC7B,GAAI,CAACN,EAAS,SACZ,MAAM,IAAI,MAAM,0HAAqC,EAEvD,OAAOA,EAAS,QAClB,CAEA,SAAU,CACR,KAAK,IAAI,OAAO,EAChBA,EAAS,SAAW,IACtB,CACA,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,EAzEaT,EACI,SAA4B,KADtC,IAAMU,EAANV,ECNP,IAAAW,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,ICEO,IAAMC,EAAN,KAAuB,CAC5B,YAAoBC,EAAU,CAAV,SAAAA,CAAW,CAE/B,QAAQC,EAAcC,EAAS,GAAM,CAC/BA,EACF,KAAK,IAAI,OAAO,CAAE,KAAAD,CAAK,CAAC,EAExB,KAAK,IAAI,QAAQA,CAAI,CAEzB,CACF,ECZA,IAAAE,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,eAAAC,ICAA,IAAAC,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,CCZO,IAAMK,EAAa,MAAOC,GAA6C,CAC5E,GAAI,CAEF,OADiB,MAAMC,EAAI,KAAK,sBAAuBD,CAAM,GAC7C,IAClB,OAASE,EAAO,CACd,cAAQ,MAAM,qIAA6BA,CAAK,EAC1CA,CACR,CACF,ECLA,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,CCjDA,IAAAQ,EAAA,GAAAC,EAAAD,EAAA,eAAAE,EAAA,eAAAC,ICEA,IAAMC,EAAa,MAAOC,EAAmBC,IAAkB,CAC7D,GAAI,CACF,IAAMC,EAAyC,CAAC,EAEhD,OAAAF,EAAM,QAASG,GAAM,CACnBD,EAAO,KAAK,CAAE,IAAKC,EAAE,CAAC,EAAG,IAAKA,EAAE,CAAC,CAAE,CAAC,CACtC,CAAC,GACgB,MAAMC,EAAI,KAAK,qBAAsB,CACpD,OAAAF,EACA,MAAOD,GAAgBI,EAAU,CACnC,CAAC,GACe,IAClB,OAASC,EAAK,CACZ,cAAQ,MAAMA,CAAG,EACXA,CACR,CACF,ECdA,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,ChBvBA,SAASC,GAAuB,CAC9B,IAAMC,EAAU,SAAS,qBAAqB,QAAQ,EACtD,QAAWC,KAAUD,EACnB,GAAIC,EAAO,IAAI,SAAS,kBAAkB,EAAG,CAE3C,IAAMC,EADM,IAAI,IAAID,EAAO,GAAG,EACX,aAAa,IAAI,QAAQ,EAC5C,GAAIC,EAAQ,OAAOA,CACrB,CAEF,MAAO,EACT,CACSC,EAAQJ,EAAqB,CAAC","names":["index_exports","__export","controller_exports","map_exports","routing_exports","search_exports","saveKey_exports","__toCommonJS","map_exports","__export","MahalMap","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","controller_exports","__export","CameraController","CameraController","map","zoom","smooth","search_exports","__export","search","searchPost","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","routing_exports","__export","getrouter","routingApi","routingApi","param","token","points","e","api","getApiKey","err","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var C=Object.defineProperty;var u=(e,t)=>{for(var r in t)C(e,r,{get:t[r],enumerable:!0})};var j={};u(j,{CameraController:()=>d,MahalMap:()=>h,getrouter:()=>L,routingApi:()=>b,search:()=>k,searchPost:()=>M});var d=class{constructor(t){this.map=t}setZoom(t,r=!0){r?this.map.easeTo({zoom:t}):this.map.setZoom(t)}};var w="https://platform.mahal.tj/api/";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,m=0;for(;r<o;){let a,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let v=p&1?~(p>>1):p>>1;s+=v,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let G=p&1?~(p>>1):p>>1;m+=G,t.push([m*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 m=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:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}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 h=i;import N from"axios";var c=N.create({baseURL:w});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&y(),Promise.reject(e)));var P={};u(P,{clearKey:()=>y,getApiKey:()=>l,saveKey:()=>x});var g="";function x(e){e!==""&&(g=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function y(){g="",c.defaults.headers.common.Authorization=""}var l=()=>g;function E(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let m=await e(...o);s(m)},t)}))}var b=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var R={};u(R,{getrouter:()=>L});async function L(e,t,r){try{let o=await b(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var M=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var K={};u(K,{search:()=>k});async function U(e,t,r){let o={text:e,token:t||l(),...r};try{return await M(o)}catch(s){throw s}}var F=E(U,500);async function k(e,t,r){return await F(e,t,r)}function D(){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""}x(D());export{h as MahalMap,j as controller,P as keyUtils,R as routerUtils,K as searchUtils};
1
+ var G=Object.defineProperty;var l=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})};var P={};l(P,{MahalMap:()=>h});var S="https://platform.mahal.tj/api/";var w="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,m=0;for(;r<o;){let a,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let 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;m+=v,t.push([m*1e-5,s*1e-5])}return t}var f={dark:w,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 m=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:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),i.instance=a,a}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}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 h=i;var R={};l(R,{CameraController:()=>d});var d=class{constructor(t){this.map=t}setZoom(t,r=!0){r?this.map.easeTo({zoom:t}):this.map.setZoom(t)}};var k={};l(k,{search:()=>U,searchPost:()=>b});import C from"axios";var c=C.create({baseURL:S});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&y(),Promise.reject(e)));var E={};l(E,{clearKey:()=>y,getApiKey:()=>u,saveKey:()=>x});var g="";function x(e){e!==""&&(g=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function y(){g="",c.defaults.headers.common.Authorization=""}var u=()=>g;function L(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(s=>{r=setTimeout(async()=>{let m=await e(...o);s(m)},t)}))}var b=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};async function N(e,t,r){let o={text:e,token:t||u(),...r};try{return await b(o)}catch(s){throw s}}var F=L(N,500);async function U(e,t,r){return await F(e,t,r)}var K={};l(K,{getrouter:()=>D,routingApi:()=>M});var M=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await c.post("services/getRoutes",{points:r,token:t||u()})).data}catch(r){throw console.error(r),r}};async function D(e,t,r){try{let o=await M(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}function O(){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""}x(O());export{R as Controller,P as MahalMap,K as Routing,k as Search,E as keyUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/index.ts","../src/lib/controller/camera/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["export * from \"./controller\";\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import 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 controller 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, 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":["lib_exports","__export","CameraController","MahalMap","getrouter","routingApi","search","searchPost","CameraController","map","zoom","smooth","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/lib/map/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/index.ts","../src/lib/controller/camera/index.ts","../src/lib/search/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/index.ts"],"sourcesContent":["export * from \"./MahalMap\";\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 \"./camera\";\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","export * from \"./api\";\r\nexport * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","export * from \"./api\";\r\nexport * from \"./utils\";\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","// Lib\r\nimport * as MahalMap from \"@lib/map\";\r\nimport * as Controller from \"@lib/controller\";\r\nimport * as Search from \"@lib/search\";\r\nimport * as Routing from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Controller, Search, Routing, keyUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["map_exports","__export","MahalMap","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","controller_exports","__export","CameraController","CameraController","map","zoom","smooth","search_exports","__export","search","searchPost","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","routing_exports","__export","getrouter","routingApi","routingApi","param","token","points","e","api","getApiKey","err","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",