mahal_map 1.2.4 → 1.2.6

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$1 {
75
+ declare class MahalMap {
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$1;
90
- static getInstance(): MahalMap$1;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
91
84
  destroy(): void;
92
85
  getMap(): Map;
93
86
  setStyle(theme: "dark" | "light"): void;
@@ -95,49 +88,32 @@ declare class MahalMap$1 {
95
88
  setZoom(zoom: number): void;
96
89
  }
97
90
 
98
- declare const routingApi: (param: number[][], token: string) => Promise<any>;
99
-
100
- declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
101
-
102
- declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
103
-
104
- declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
105
-
106
- type MahalMap_CameraController = CameraController;
107
- declare const MahalMap_CameraController: typeof CameraController;
108
- declare const MahalMap_getrouter: typeof getrouter;
109
- declare const MahalMap_routingApi: typeof routingApi;
110
- declare const MahalMap_search: typeof search;
111
- declare const MahalMap_searchPost: typeof searchPost;
112
- declare namespace MahalMap {
113
- export { MahalMap_CameraController as CameraController, MahalMap$1 as MahalMap, MahalMap_getrouter as getrouter, MahalMap_routingApi as routingApi, MahalMap_search as search, MahalMap_searchPost as searchPost };
91
+ declare class CameraController {
92
+ private map;
93
+ constructor(map: Map);
94
+ setZoom(zoom: number, smooth?: boolean): void;
114
95
  }
115
96
 
116
- declare const api: axios.AxiosInstance;
97
+ declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
117
98
 
118
- declare function checkCoordinates(coordinates: string): {
119
- lat: string | undefined;
120
- lng: string | undefined;
121
- } | null;
99
+ declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
122
100
 
123
101
  declare function saveKey(param: string): void;
124
102
  declare function clearKey(): void;
125
103
  declare const getApiKey: () => string;
126
104
 
127
- declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
128
-
129
- declare const keyUtils_api: typeof api;
130
- declare const keyUtils_checkCoordinates: typeof checkCoordinates;
131
105
  declare const keyUtils_clearKey: typeof clearKey;
132
- declare const keyUtils_debounce: typeof debounce;
133
106
  declare const keyUtils_getApiKey: typeof getApiKey;
134
107
  declare const keyUtils_saveKey: typeof saveKey;
135
108
  declare namespace keyUtils {
136
- 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 };
109
+ export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
137
110
  }
138
111
 
139
112
  declare const MMap: {
140
113
  MahalMap: typeof MahalMap;
114
+ CameraController: typeof CameraController;
115
+ Search: typeof Search;
116
+ Router: typeof Router;
141
117
  keyUtils: typeof keyUtils;
142
118
  loadKeyFromScriptUrl: () => string;
143
119
  };
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$1 {
75
+ declare class MahalMap {
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$1;
90
- static getInstance(): MahalMap$1;
82
+ } | typeof Map): MahalMap;
83
+ static getInstance(): MahalMap;
91
84
  destroy(): void;
92
85
  getMap(): Map;
93
86
  setStyle(theme: "dark" | "light"): void;
@@ -95,49 +88,32 @@ declare class MahalMap$1 {
95
88
  setZoom(zoom: number): void;
96
89
  }
97
90
 
98
- declare const routingApi: (param: number[][], token: string) => Promise<any>;
99
-
100
- declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
101
-
102
- declare const searchPost: (params: ISearchParam) => Promise<ISearch[]>;
103
-
104
- declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
105
-
106
- type MahalMap_CameraController = CameraController;
107
- declare const MahalMap_CameraController: typeof CameraController;
108
- declare const MahalMap_getrouter: typeof getrouter;
109
- declare const MahalMap_routingApi: typeof routingApi;
110
- declare const MahalMap_search: typeof search;
111
- declare const MahalMap_searchPost: typeof searchPost;
112
- declare namespace MahalMap {
113
- export { MahalMap_CameraController as CameraController, MahalMap$1 as MahalMap, MahalMap_getrouter as getrouter, MahalMap_routingApi as routingApi, MahalMap_search as search, MahalMap_searchPost as searchPost };
91
+ declare class CameraController {
92
+ private map;
93
+ constructor(map: Map);
94
+ setZoom(zoom: number, smooth?: boolean): void;
114
95
  }
115
96
 
116
- declare const api: axios.AxiosInstance;
97
+ declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
117
98
 
118
- declare function checkCoordinates(coordinates: string): {
119
- lat: string | undefined;
120
- lng: string | undefined;
121
- } | null;
99
+ declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
122
100
 
123
101
  declare function saveKey(param: string): void;
124
102
  declare function clearKey(): void;
125
103
  declare const getApiKey: () => string;
126
104
 
127
- declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
128
-
129
- declare const keyUtils_api: typeof api;
130
- declare const keyUtils_checkCoordinates: typeof checkCoordinates;
131
105
  declare const keyUtils_clearKey: typeof clearKey;
132
- declare const keyUtils_debounce: typeof debounce;
133
106
  declare const keyUtils_getApiKey: typeof getApiKey;
134
107
  declare const keyUtils_saveKey: typeof saveKey;
135
108
  declare namespace keyUtils {
136
- 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 };
109
+ export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
137
110
  }
138
111
 
139
112
  declare const MMap: {
140
113
  MahalMap: typeof MahalMap;
114
+ CameraController: typeof CameraController;
115
+ Search: typeof Search;
116
+ Router: typeof Router;
141
117
  keyUtils: typeof keyUtils;
142
118
  loadKeyFromScriptUrl: () => string;
143
119
  };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x47e228=a0_0x459f;(function(_0x1cf899,_0x2f1d1b){var _0x511f88=a0_0x459f,_0x44ed91=_0x1cf899();while(!![]){try{var _0x548a7c=-parseInt(_0x511f88(0x1ee))/0x1*(parseInt(_0x511f88(0x25c))/0x2)+-parseInt(_0x511f88(0x243))/0x3*(-parseInt(_0x511f88(0x1f0))/0x4)+-parseInt(_0x511f88(0x1f9))/0x5*(parseInt(_0x511f88(0x1cf))/0x6)+-parseInt(_0x511f88(0x1dd))/0x7*(parseInt(_0x511f88(0x255))/0x8)+parseInt(_0x511f88(0x239))/0x9+parseInt(_0x511f88(0x1e5))/0xa+parseInt(_0x511f88(0x221))/0xb*(parseInt(_0x511f88(0x22d))/0xc);if(_0x548a7c===_0x2f1d1b)break;else _0x44ed91['push'](_0x44ed91['shift']());}catch(_0x541f72){_0x44ed91['push'](_0x44ed91['shift']());}}}(a0_0x4b85,0x6e264));var G=Object[a0_0x47e228(0x258)],u=Object[a0_0x47e228(0x1d6)],C=Object[a0_0x47e228(0x1e8)],N=Object[a0_0x47e228(0x21d)],F=Object[a0_0x47e228(0x22a)],U=Object[a0_0x47e228(0x224)][a0_0x47e228(0x250)],h=(_0x385479,_0x1b7689)=>{var _0x3ad780=a0_0x47e228,_0xd6194b={'cvYVc':function(_0x8e8b48,_0x3b446e,_0x1e3d1b,_0x64a1f6){return _0x8e8b48(_0x3b446e,_0x1e3d1b,_0x64a1f6);}};for(var _0x37fb4b in _0x1b7689)_0xd6194b[_0x3ad780(0x247)](u,_0x385479,_0x37fb4b,{'get':_0x1b7689[_0x37fb4b],'enumerable':!0x0});},A=(_0x31d13d,_0x4642cb,_0x3d5593,_0x1f97a2)=>{var _0x362095=a0_0x47e228,_0x33545e={'UteaG':function(_0x29fc3f,_0x52ca15){return _0x29fc3f==_0x52ca15;},'gloUj':function(_0x1d3300,_0x580c5d){return _0x1d3300==_0x580c5d;},'JNTfL':_0x362095(0x1d7),'hKTiB':function(_0x12c424,_0x2b6715){return _0x12c424!==_0x2b6715;},'QDnVS':function(_0x3fdc54,_0x350ed8,_0x19babd,_0x2f95f0){return _0x3fdc54(_0x350ed8,_0x19babd,_0x2f95f0);},'sayXr':function(_0x407b03,_0x492993,_0x13c176){return _0x407b03(_0x492993,_0x13c176);}};if(_0x4642cb&&_0x33545e['UteaG'](typeof _0x4642cb,_0x362095(0x220))||_0x33545e['gloUj'](typeof _0x4642cb,_0x33545e[_0x362095(0x1c9)])){for(let _0x384936 of N(_0x4642cb))!U[_0x362095(0x241)](_0x31d13d,_0x384936)&&_0x33545e['hKTiB'](_0x384936,_0x3d5593)&&_0x33545e[_0x362095(0x213)](u,_0x31d13d,_0x384936,{'get':()=>_0x4642cb[_0x384936],'enumerable':!(_0x1f97a2=_0x33545e['sayXr'](C,_0x4642cb,_0x384936))||_0x1f97a2[_0x362095(0x1fa)]});}return _0x31d13d;},D=(_0x2888eb,_0x2e423f,_0x5dd120)=>(_0x5dd120=_0x2888eb!=null?G(F(_0x2888eb)):{},A(_0x2e423f||!_0x2888eb||!_0x2888eb[a0_0x47e228(0x20e)]?u(_0x5dd120,'default',{'value':_0x2888eb,'enumerable':!0x0}):_0x5dd120,_0x2888eb)),O=_0x1deda7=>A(u({},a0_0x47e228(0x20e),{'value':!0x0}),_0x1deda7),V={};h(V,{'MahalMap':()=>T,'keyUtils':()=>M}),module[a0_0x47e228(0x1cc)]=O(V);var T={};h(T,{'CameraController':()=>d,'MahalMap':()=>y,'getrouter':()=>X,'routingApi':()=>w,'search':()=>$,'searchPost':()=>S});var d=class{constructor(_0x4726b6){this['map']=_0x4726b6;}[a0_0x47e228(0x238)](_0x999f92,_0x2ca149=!0x0){var _0x3933ce=a0_0x47e228;_0x2ca149?this['map'][_0x3933ce(0x1ff)]({'zoom':_0x999f92}):this[_0x3933ce(0x208)][_0x3933ce(0x238)](_0x999f92);}},I=a0_0x47e228(0x215),P='https://mtile.gram.tj/custom-styles/dark-style.json',E=a0_0x47e228(0x246),L=a0_0x47e228(0x251);function R(_0x1c8e72){var _0x26ee1c=a0_0x47e228,_0x101405={'QMnDa':function(_0x3500c2,_0x2985e6){return _0x3500c2===_0x2985e6;},'WRAbN':_0x26ee1c(0x1eb),'mzYXN':'map','sLtKL':function(_0x1969ba,_0x1de32c){return _0x1969ba<_0x1de32c;},'rQqsM':_0x26ee1c(0x24c),'rOwPm':function(_0x531415,_0x49f21f){return _0x531415-_0x49f21f;},'bXHeV':function(_0xf6d1fc,_0x280908){return _0xf6d1fc&_0x280908;},'cNYYB':function(_0x4325c1,_0x195e20){return _0x4325c1>=_0x195e20;},'WTqTa':function(_0xb012f0,_0x113ad0){return _0xb012f0&_0x113ad0;},'jbsjx':function(_0x3cc78b,_0x559203){return _0x3cc78b<<_0x559203;},'UzBIr':function(_0x2fb146,_0x4adc49){return _0x2fb146>=_0x4adc49;},'yZgbS':function(_0x51742d,_0x104264){return _0x51742d>>_0x104264;},'MJTev':function(_0x30361e,_0xd731f0){return _0x30361e>>_0xd731f0;},'MwWJN':function(_0x515735,_0x44f79e){return _0x515735*_0x44f79e;},'ujCcn':function(_0xba3299,_0x13e165){return _0xba3299*_0x13e165;}};let _0x16c071=[],_0x5202fa=0x0,_0x5dd1cd=_0x1c8e72[_0x26ee1c(0x23d)],_0x4b5e1c=0x0,_0x2abe0a=0x0;for(;_0x101405[_0x26ee1c(0x207)](_0x5202fa,_0x5dd1cd);){if(_0x26ee1c(0x24c)===_0x101405[_0x26ee1c(0x222)]){let _0x363a9f,_0x16f04a=0x0,_0x2715e4=0x0;do _0x363a9f=_0x101405[_0x26ee1c(0x259)](_0x1c8e72[_0x26ee1c(0x25f)](_0x5202fa++),0x3f),_0x2715e4|=_0x101405['bXHeV'](_0x363a9f,0x1f)<<_0x16f04a,_0x16f04a+=0x5;while(_0x101405['cNYYB'](_0x363a9f,0x20));let _0x452eab=_0x101405['WTqTa'](_0x2715e4,0x1)?~(_0x2715e4>>0x1):_0x2715e4>>0x1;_0x4b5e1c+=_0x452eab,_0x16f04a=0x0,_0x2715e4=0x0;do _0x363a9f=_0x1c8e72['charCodeAt'](_0x5202fa++)-0x3f,_0x2715e4|=_0x101405[_0x26ee1c(0x261)](_0x363a9f&0x1f,_0x16f04a),_0x16f04a+=0x5;while(_0x101405[_0x26ee1c(0x22f)](_0x363a9f,0x20));let _0x5d79c0=_0x2715e4&0x1?~_0x101405[_0x26ee1c(0x21b)](_0x2715e4,0x1):_0x101405['MJTev'](_0x2715e4,0x1);_0x2abe0a+=_0x5d79c0,_0x16c071[_0x26ee1c(0x1d9)]([_0x101405[_0x26ee1c(0x1ea)](_0x2abe0a,0.00001),_0x101405[_0x26ee1c(0x200)](_0x4b5e1c,0.00001)]);}else{if(_0x30e5bb[_0x26ee1c(0x1d3)])return _0x15ef8c[_0x26ee1c(0x1d3)];let _0x5a858f=_0x4127a6[_0x26ee1c(0x1ed)]||_0x311cb9;if(!_0x5a858f)throw new _0x4bd687(_0x26ee1c(0x230));let _0x1d6090=_0x4e23c1[_0x26ee1c(0x20d)]?_0x3684a7:_0x68332d[_0x26ee1c(0x249)]?_0x2c5c2d['style']:_0x101405[_0x26ee1c(0x232)](_0x200e60['theme'],_0x101405[_0x26ee1c(0x21a)])?_0xb67d0f[_0x26ee1c(0x1eb)]:_0x196ee5[_0x26ee1c(0x206)],_0x38f19b=new _0x44c54b();return _0x38f19b[_0x26ee1c(0x25a)]=_0x2b8eb1,_0x38f19b[_0x26ee1c(0x208)]=new _0x5a858f[(_0x26ee1c(0x210))]({'container':_0x26a83c[_0x26ee1c(0x240)]||_0x101405['mzYXN'],'style':_0x1d6090,'center':_0x3ee620[_0x26ee1c(0x212)]||[69.624024,40.279687],'zoom':_0x2b185c[_0x26ee1c(0x1fc)]||0x5}),_0xb9fe27[_0x26ee1c(0x1d3)]=_0x38f19b,_0x38f19b;}}return _0x16c071;}var f={'dark':P,'light':E},i=class i{constructor(){}static[a0_0x47e228(0x258)](_0x3de5e0,_0x284142){var _0x3217e8=a0_0x47e228,_0x249018={'KxDXH':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','TubNd':function(_0x2cb782,_0x358a0a){return _0x2cb782===_0x358a0a;},'qRDhd':'dark','zfSHC':_0x3217e8(0x208)};if(i[_0x3217e8(0x1d3)])return i[_0x3217e8(0x1d3)];let _0x356dcb=window[_0x3217e8(0x1ed)]||_0x284142;if(!_0x356dcb)throw new Error(_0x249018[_0x3217e8(0x228)]);let _0x39570e=_0x3de5e0['autoAddVectorSource']?L:_0x3de5e0[_0x3217e8(0x249)]?_0x3de5e0['style']:_0x249018[_0x3217e8(0x20c)](_0x3de5e0[_0x3217e8(0x248)],_0x249018[_0x3217e8(0x204)])?f['dark']:f['light'],_0x47bdf6=new i();return _0x47bdf6['options']=_0x3de5e0,_0x47bdf6['map']=new _0x356dcb[(_0x3217e8(0x210))]({'container':_0x3de5e0[_0x3217e8(0x240)]||_0x249018[_0x3217e8(0x1ec)],'style':_0x39570e,'center':_0x3de5e0[_0x3217e8(0x212)]||[69.624024,40.279687],'zoom':_0x3de5e0['zoom']||0x5}),i[_0x3217e8(0x1d3)]=_0x47bdf6,_0x47bdf6;}static[a0_0x47e228(0x24a)](){var _0x4a591b=a0_0x47e228,_0x413f5b={'TJfHr':_0x4a591b(0x233)};if(!i[_0x4a591b(0x1d3)])throw new Error(_0x413f5b[_0x4a591b(0x203)]);return i[_0x4a591b(0x1d3)];}[a0_0x47e228(0x1f3)](){var _0x1f6e7d=a0_0x47e228;this[_0x1f6e7d(0x208)]['remove'](),i['instance']=null;}[a0_0x47e228(0x1ef)](){return this['map'];}[a0_0x47e228(0x1f4)](_0x3b3baa){var _0x502bcc=a0_0x47e228,_0x4bb042={'TJbDS':_0x502bcc(0x1eb)};this['map'][_0x502bcc(0x1f4)](_0x3b3baa===_0x4bb042[_0x502bcc(0x25b)]?f[_0x502bcc(0x1eb)]:f[_0x502bcc(0x206)]);}['setCenter'](_0x366345){var _0x2ad52d=a0_0x47e228;this[_0x2ad52d(0x208)][_0x2ad52d(0x245)](_0x366345);}['setZoom'](_0x286b4c){var _0x5595e4=a0_0x47e228;this['map'][_0x5595e4(0x238)](_0x286b4c);}};i[a0_0x47e228(0x1d3)]=null;var y=i,k=D(require('axios')),c=k[a0_0x47e228(0x1db)]['create']({'baseURL':I});c[a0_0x47e228(0x219)]['request'][a0_0x47e228(0x256)](_0x31b853=>_0x31b853,_0xe4b3d2=>(_0xe4b3d2['request']?.[a0_0x47e228(0x1f6)]===0x191&&g(),Promise[a0_0x47e228(0x229)](_0xe4b3d2)));var M={};h(M,{'clearKey':()=>g,'getApiKey':()=>l,'saveKey':()=>b});var x='';function b(_0x5e84a0){var _0x16e7bd=a0_0x47e228,_0x581a62={'oYPwM':function(_0x15073a,_0x4e88a2){return _0x15073a!==_0x4e88a2;}};_0x581a62[_0x16e7bd(0x260)](_0x5e84a0,'')&&(x=_0x5e84a0,c[_0x16e7bd(0x1de)]['headers']['common'][_0x16e7bd(0x235)]=_0x16e7bd(0x1f1)+_0x5e84a0);}function g(){var _0x2c972e=a0_0x47e228,_0x2296ea={'KNKHL':_0x2c972e(0x217),'owqcr':function(_0x5035d9,_0x2be2a6){return _0x5035d9(_0x2be2a6);},'MbkFE':'return\x20(function()\x20','XtNqG':'{}.constructor(\x22return\x20this\x22)(\x20)','LvQUs':_0x2c972e(0x1cd),'cGMVJ':_0x2c972e(0x21f),'YFcxP':_0x2c972e(0x201),'LXsgJ':'info','YzMza':_0x2c972e(0x1d4),'BnjXt':_0x2c972e(0x21c),'NWTVM':_0x2c972e(0x1e2),'ITXxG':_0x2c972e(0x223),'JcSkS':function(_0x205171,_0x2475e9,_0x263a0d){return _0x205171(_0x2475e9,_0x263a0d);},'oCvwX':function(_0x592ed5){return _0x592ed5();}},_0x50206f=(function(){var _0x3f86b4=!![];return function(_0xb405ef,_0x452418){var _0x4ebfb5=_0x3f86b4?function(){var _0x387345=a0_0x459f;if(_0x452418){var _0x342b6a=_0x452418[_0x387345(0x1f2)](_0xb405ef,arguments);return _0x452418=null,_0x342b6a;}}:function(){};return _0x3f86b4=![],_0x4ebfb5;};}()),_0x356157=_0x2296ea['JcSkS'](_0x50206f,this,function(){var _0x4e36c0=_0x2c972e,_0x574b0a={'OgYJn':function(_0x1efc67,_0x225986){return _0x1efc67!==_0x225986;},'rMyDQ':_0x2296ea[_0x4e36c0(0x234)],'kAYVs':function(_0x5c57c4,_0x379a0a){return _0x2296ea['owqcr'](_0x5c57c4,_0x379a0a);},'OAYrw':_0x2296ea[_0x4e36c0(0x216)],'QJpkb':_0x2296ea[_0x4e36c0(0x1f8)],'Uiuks':_0x2296ea[_0x4e36c0(0x1fe)],'GTkMd':_0x2296ea['cGMVJ']},_0x4a9985=function(){var _0x275802=_0x4e36c0,_0x5d2717;try{_0x574b0a['OgYJn'](_0x275802(0x217),_0x574b0a['rMyDQ'])?(this[_0x275802(0x208)][_0x275802(0x1fd)](),_0x3d0664[_0x275802(0x1d3)]=null):_0x5d2717=_0x574b0a['kAYVs'](Function,_0x574b0a['OAYrw']+_0x574b0a[_0x275802(0x226)]+');')();}catch(_0x24c9cf){_0x574b0a[_0x275802(0x209)]===_0x574b0a[_0x275802(0x20f)]?_0x79c6f3=_0x3e3955:_0x5d2717=window;}return _0x5d2717;},_0x1cd6bf=_0x4a9985(),_0xce8e20=_0x1cd6bf['console']=_0x1cd6bf[_0x4e36c0(0x1d8)]||{},_0x2943c7=[_0x4e36c0(0x24f),_0x2296ea[_0x4e36c0(0x244)],_0x2296ea['LXsgJ'],_0x2296ea['YzMza'],_0x2296ea[_0x4e36c0(0x242)],_0x4e36c0(0x262),_0x2296ea['NWTVM']];for(var _0x498f69=0x0;_0x498f69<_0x2943c7[_0x4e36c0(0x23d)];_0x498f69++){var _0x44f9f1=_0x2296ea['ITXxG'][_0x4e36c0(0x1da)]('|'),_0x48a6f4=0x0;while(!![]){switch(_0x44f9f1[_0x48a6f4++]){case'0':var _0x865399=_0x2943c7[_0x498f69];continue;case'1':_0xce8e20[_0x865399]=_0x546339;continue;case'2':var _0x510f90=_0xce8e20[_0x865399]||_0x546339;continue;case'3':var _0x546339=_0x50206f[_0x4e36c0(0x25e)][_0x4e36c0(0x224)][_0x4e36c0(0x23f)](_0x50206f);continue;case'4':_0x546339[_0x4e36c0(0x22e)]=_0x50206f['bind'](_0x50206f);continue;case'5':_0x546339[_0x4e36c0(0x1cb)]=_0x510f90[_0x4e36c0(0x1cb)][_0x4e36c0(0x23f)](_0x510f90);continue;}break;}}});_0x2296ea[_0x2c972e(0x236)](_0x356157),(x='',c['defaults']['headers'][_0x2c972e(0x24e)][_0x2c972e(0x235)]='');}function a0_0x459f(_0x14b0c4,_0x27719d){var _0x4b3808=a0_0x4b85();return a0_0x459f=function(_0x332246,_0x2b7568){_0x332246=_0x332246-0x1c9;var _0x32ac2a=_0x4b3808[_0x332246];return _0x32ac2a;},a0_0x459f(_0x14b0c4,_0x27719d);}var l=()=>x;function K(_0x75173f,_0x1c5663){var _0x534c93={'hxCsS':function(_0x569e38,..._0x1b8be5){return _0x569e38(..._0x1b8be5);},'qiPaz':function(_0x23c031,_0x2eede6,_0xe4fff1){return _0x23c031(_0x2eede6,_0xe4fff1);}};let _0x421f47;return(..._0x337e99)=>(_0x421f47&&clearTimeout(_0x421f47),new Promise(_0xc1c606=>{var _0x228d9f=a0_0x459f,_0x514d33={'LYqLu':function(_0x8b70b8,..._0x2d5eb2){var _0xbba1b9=a0_0x459f;return _0x534c93[_0xbba1b9(0x20b)](_0x8b70b8,..._0x2d5eb2);}};_0x421f47=_0x534c93[_0x228d9f(0x23c)](setTimeout,async()=>{var _0x13b03d=_0x228d9f,_0x37e9ce=await _0x514d33['LYqLu'](_0x75173f,..._0x337e99);_0x514d33[_0x13b03d(0x1fb)](_0xc1c606,_0x37e9ce);},_0x1c5663);}));}var w=async(_0x5d4295,_0xda21ec)=>{var _0x270456=a0_0x47e228,_0x4203b6={'SMoPN':function(_0x5db632,_0x6c4535,_0x523cd8,_0x169fa4){return _0x5db632(_0x6c4535,_0x523cd8,_0x169fa4);},'iWVxv':_0x270456(0x253),'ROHpR':_0x270456(0x1e9),'QBOGg':_0x270456(0x231),'zGstj':function(_0x2bd001){return _0x2bd001();},'ukIlK':function(_0x51c7ed,_0x20bf0f){return _0x51c7ed===_0x20bf0f;},'bJItm':_0x270456(0x1ca)};try{if(_0x4203b6[_0x270456(0x1e1)]!==_0x4203b6[_0x270456(0x1e7)]){let _0x39a5f8=[];return _0x5d4295[_0x270456(0x1d2)](_0x116d4a=>{var _0x187354=_0x270456;_0x39a5f8[_0x187354(0x1d9)]({'lng':_0x116d4a[0x0],'lat':_0x116d4a[0x1]});}),(await c[_0x270456(0x227)](_0x4203b6[_0x270456(0x1df)],{'points':_0x39a5f8,'token':_0xda21ec||_0x4203b6['zGstj'](l)}))[_0x270456(0x1e0)];}else this[_0x270456(0x208)][_0x270456(0x245)](_0xba40a4);}catch(_0x412c27){if(_0x4203b6[_0x270456(0x24b)](_0x4203b6[_0x270456(0x25d)],_0x270456(0x1e3))){for(var _0x7ff6ee in _0x4db8fc)_0x4203b6[_0x270456(0x254)](_0x2dae92,_0x4fa95f,_0x7ff6ee,{'get':_0x39f555[_0x7ff6ee],'enumerable':!0x0});}else throw console['error'](_0x412c27),_0x412c27;}};async function X(_0x25f5ac,_0x33baca,_0x254f26){var _0x1232fd=a0_0x47e228,_0x6fba32={'eGgJZ':function(_0x3d2632,_0x2285ba){return _0x3d2632===_0x2285ba;},'sWvPT':_0x1232fd(0x21e),'ekinr':_0x1232fd(0x23e),'lchCQ':_0x1232fd(0x23b)};try{if(_0x6fba32[_0x1232fd(0x257)](_0x6fba32[_0x1232fd(0x1d1)],_0x6fba32[_0x1232fd(0x1d1)])){let _0xd84337=await w(_0x25f5ac,_0x254f26);return _0xd84337?.[_0x1232fd(0x1e0)]?_0xd84337[_0x1232fd(0x1e0)][_0x1232fd(0x208)](_0x49c899=>{var _0x3e219c=_0x1232fd;let _0x7df1d3={..._0x49c899};return _0x7df1d3[_0x3e219c(0x225)]?.[_0x3e219c(0x23a)]?.['length']&&(_0x7df1d3['route']['routes']=_0x7df1d3[_0x3e219c(0x225)][_0x3e219c(0x23a)][_0x3e219c(0x208)](_0x2b89e5=>({..._0x2b89e5,'geometry':_0x33baca==='geojson'&&typeof _0x2b89e5[_0x3e219c(0x1e6)]==_0x3e219c(0x22c)?R(_0x2b89e5[_0x3e219c(0x1e6)]):_0x2b89e5[_0x3e219c(0x1e6)]}))),_0x7df1d3;}):_0xd84337;}else{var _0x4df9a4=_0x518288?function(){var _0x4c475d=_0x1232fd;if(_0x1f48af){var _0x50a2ff=_0x2b55cb[_0x4c475d(0x1f2)](_0x24f6ba,arguments);return _0x4c59af=null,_0x50a2ff;}}:function(){};return _0x931a9=![],_0x4df9a4;}}catch(_0x169609){if(_0x6fba32[_0x1232fd(0x1d0)]!==_0x6fba32[_0x1232fd(0x1dc)])throw _0x169609;else this['map'][_0x1232fd(0x238)](_0x4cc3e6);}}var S=async _0x445b75=>{var _0x2268b9=a0_0x47e228,_0x17c29e={'Drfes':function(_0x4f24c1,_0x569c4b){return _0x4f24c1===_0x569c4b;},'RWPiX':_0x2268b9(0x211),'NPEDm':_0x2268b9(0x24d)};try{if(_0x17c29e['Drfes'](_0x17c29e[_0x2268b9(0x1f5)],_0x2268b9(0x1d5)))throw _0xeeb9a1;else return(await c[_0x2268b9(0x227)](_0x2268b9(0x22b),_0x445b75))[_0x2268b9(0x1e0)];}catch(_0x2c1b06){throw console[_0x2268b9(0x1d4)](_0x17c29e[_0x2268b9(0x214)],_0x2c1b06),_0x2c1b06;}};async function B(_0x169c94,_0x45343b,_0x5f3a73){var _0x4780bf=a0_0x47e228,_0x158ef6={'gWAbI':function(_0x3ab1ec){return _0x3ab1ec();},'uDfeS':'ZbisK','JGktK':function(_0x3ea535,_0x2b32df){return _0x3ea535(_0x2b32df);}};let _0x5b7e59={'text':_0x169c94,'token':_0x45343b||_0x158ef6[_0x4780bf(0x237)](l),..._0x5f3a73};try{if(_0x158ef6['uDfeS']===_0x158ef6['uDfeS'])return await _0x158ef6[_0x4780bf(0x1f7)](S,_0x5b7e59);else _0x275f55?this[_0x4780bf(0x208)][_0x4780bf(0x1ff)]({'zoom':_0x16769b}):this['map'][_0x4780bf(0x238)](_0x338869);}catch(_0x3b8137){throw _0x3b8137;}}var Z=K(B,0x1f4);async function $(_0xea34fe,_0xf9c8c,_0x197b93){var _0x288bd0=a0_0x47e228,_0x4f5311={'SooFn':function(_0x530c5c,_0xcc59ad,_0x1b9e1f,_0x5569f5){return _0x530c5c(_0xcc59ad,_0x1b9e1f,_0x5569f5);}};return await _0x4f5311[_0x288bd0(0x218)](Z,_0xea34fe,_0xf9c8c,_0x197b93);}function a0_0x4b85(){var _0x5b6972=['dark','zfSHC','maplibregl','43vxuGSu','getMap','8088OKebDo','Bearer\x20','apply','destroy','setStyle','RWPiX','status','JGktK','XtNqG','5yuwngR','enumerable','LYqLu','zoom','remove','LvQUs','easeTo','ujCcn','warn','apikey','TJfHr','qRDhd','src','light','sLtKL','map','Uiuks','mahal_map.sdk.js','hxCsS','TubNd','autoAddVectorSource','__esModule','GTkMd','Map','nlLkr','center','QDnVS','NPEDm','https://platform.mahal.tj/api/','MbkFE','NhtLq','SooFn','interceptors','WRAbN','yZgbS','exception','getOwnPropertyNames','bCVds','SJzWt','object','11577335csLQtO','rQqsM','3|0|2|4|5|1','prototype','route','QJpkb','post','KxDXH','reject','getPrototypeOf','services/getAddress','string','12cEhxll','__proto__','UzBIr','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','services/getRoutes','QMnDa','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','KNKHL','Authorization','oCvwX','gWAbI','setZoom','5820273hhBdBX','routes','luRIx','qiPaz','length','cJboE','bind','container','call','BnjXt','39tZnoCa','YFcxP','setCenter','https://mtile.gram.tj/custom-styles/mapstyle.json','cvYVc','theme','style','getInstance','ukIlK','HDwIe','Ошибка\x20при\x20поиске\x20адреса:','common','log','hasOwnProperty','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','script','EaYhd','SMoPN','136UUvvBK','use','eGgJZ','create','rOwPm','options','TJbDS','28174iYRHXr','bJItm','constructor','charCodeAt','oYPwM','jbsjx','table','JNTfL','SlVDE','toString','exports','Afspi','getElementsByTagName','4078878SySvQr','ekinr','sWvPT','forEach','instance','error','kFQuQ','defineProperty','function','console','push','split','default','lchCQ','307748zKFPzv','defaults','QBOGg','data','iWVxv','trace','ikCvW','rhvfV','7586460bFfkCU','geometry','ROHpR','getOwnPropertyDescriptor','YpXgc','MwWJN'];a0_0x4b85=function(){return _0x5b6972;};return a0_0x4b85();}function z(){var _0x258eeb=a0_0x47e228,_0x5d305a={'wHkNo':_0x258eeb(0x20a),'rhvfV':_0x258eeb(0x202)};let _0x427a0a=document[_0x258eeb(0x1ce)](_0x258eeb(0x252));for(let _0xa45888 of _0x427a0a)if(_0xa45888[_0x258eeb(0x205)]['includes'](_0x5d305a['wHkNo'])){let _0xf464f7=new URL(_0xa45888[_0x258eeb(0x205)])['searchParams']['get'](_0x5d305a[_0x258eeb(0x1e4)]);if(_0xf464f7)return _0xf464f7;}return'';}b(z()),0x0&&(module['exports']={'MahalMap':MahalMap,'keyUtils':keyUtils});
1
+ 'use strict';var a0_0x482841=a0_0x1eed;(function(_0x3cd668,_0x220b70){var _0x5749d4=a0_0x1eed,_0x200c0c=_0x3cd668();while(!![]){try{var _0x19e294=parseInt(_0x5749d4(0x1f8))/0x1*(parseInt(_0x5749d4(0x210))/0x2)+-parseInt(_0x5749d4(0x259))/0x3*(-parseInt(_0x5749d4(0x1d6))/0x4)+parseInt(_0x5749d4(0x24a))/0x5*(-parseInt(_0x5749d4(0x212))/0x6)+-parseInt(_0x5749d4(0x254))/0x7+parseInt(_0x5749d4(0x1eb))/0x8*(parseInt(_0x5749d4(0x1ee))/0x9)+parseInt(_0x5749d4(0x1d7))/0xa*(-parseInt(_0x5749d4(0x1ff))/0xb)+-parseInt(_0x5749d4(0x242))/0xc*(-parseInt(_0x5749d4(0x219))/0xd);if(_0x19e294===_0x220b70)break;else _0x200c0c['push'](_0x200c0c['shift']());}catch(_0x5670c6){_0x200c0c['push'](_0x200c0c['shift']());}}}(a0_0x4e5e,0x45902));var C=Object['create'],u=Object[a0_0x482841(0x229)],N=Object[a0_0x482841(0x251)],F=Object['getOwnPropertyNames'],U=Object[a0_0x482841(0x246)],D=Object[a0_0x482841(0x209)][a0_0x482841(0x215)],M=(_0x2f7145,_0x4f1040)=>{var _0x8bdc22=a0_0x482841,_0x304e17={'BgtKz':function(_0x4c1e61,_0x134314,_0x73429b,_0x224ba4){return _0x4c1e61(_0x134314,_0x73429b,_0x224ba4);}};for(var _0x56b628 in _0x4f1040)_0x304e17[_0x8bdc22(0x1d9)](u,_0x2f7145,_0x56b628,{'get':_0x4f1040[_0x56b628],'enumerable':!0x0});},S=(_0x29098b,_0x2156a5,_0x4de798,_0x103991)=>{var _0x568408=a0_0x482841,_0x258a29={'mtsYq':function(_0x3fd08a,_0x4cb25f){return _0x3fd08a==_0x4cb25f;},'qtKyj':'object','xFyjo':_0x568408(0x1f2),'nnwFS':function(_0x5a301f,_0x2cfce7){return _0x5a301f(_0x2cfce7);},'TbaOF':function(_0x14a3a7,_0x2add18){return _0x14a3a7!==_0x2add18;},'RfcMO':function(_0x4b4ae1,_0x5cec96,_0x5ad0e7,_0x26b84a){return _0x4b4ae1(_0x5cec96,_0x5ad0e7,_0x26b84a);}};if(_0x2156a5&&_0x258a29[_0x568408(0x238)](typeof _0x2156a5,_0x258a29['qtKyj'])||typeof _0x2156a5==_0x258a29[_0x568408(0x218)]){for(let _0x4a4f7d of _0x258a29['nnwFS'](F,_0x2156a5))!D[_0x568408(0x1ea)](_0x29098b,_0x4a4f7d)&&_0x258a29[_0x568408(0x1e5)](_0x4a4f7d,_0x4de798)&&_0x258a29[_0x568408(0x23a)](u,_0x29098b,_0x4a4f7d,{'get':()=>_0x2156a5[_0x4a4f7d],'enumerable':!(_0x103991=N(_0x2156a5,_0x4a4f7d))||_0x103991[_0x568408(0x24d)]});}return _0x29098b;},O=(_0x457d24,_0x594724,_0x29cd7d)=>(_0x29cd7d=_0x457d24!=null?C(U(_0x457d24)):{},S(_0x594724||!_0x457d24||!_0x457d24[a0_0x482841(0x1f0)]?u(_0x29cd7d,'default',{'value':_0x457d24,'enumerable':!0x0}):_0x29cd7d,_0x457d24)),X=_0x50b7d7=>S(u({},a0_0x482841(0x1f0),{'value':!0x0}),_0x50b7d7),z={};M(z,{'CameraController':()=>d,'MahalMap':()=>h,'Router':()=>j,'Search':()=>k,'keyUtils':()=>b}),module['exports']=X(z);var w=a0_0x482841(0x1fb),T=a0_0x482841(0x224),A=a0_0x482841(0x222),I=a0_0x482841(0x1e0);function P(_0x1032fe){var _0x244730=a0_0x482841,_0xb11c24={'NipLf':function(_0xa0347a,_0x7bce74){return _0xa0347a<_0x7bce74;},'vNyTj':function(_0x256ebc,_0x3394bd){return _0x256ebc-_0x3394bd;},'GGIFx':function(_0x378f3f,_0x547639){return _0x378f3f<<_0x547639;},'YFYyw':function(_0x6b7a5f,_0x400035){return _0x6b7a5f&_0x400035;},'EnBkG':function(_0x2a6ce7,_0x38fd4a){return _0x2a6ce7>=_0x38fd4a;},'sRHAZ':function(_0x3d8b4a,_0x5f453a){return _0x3d8b4a>>_0x5f453a;},'PqsaA':function(_0x1f2ca0,_0x233d5c){return _0x1f2ca0<<_0x233d5c;},'wuUJY':function(_0x28276f,_0x21619e){return _0x28276f&_0x21619e;},'BtRTP':function(_0xaedb7c,_0x42bd99){return _0xaedb7c*_0x42bd99;}};let _0x184c2a=[],_0x2d1670=0x0,_0x296ab6=_0x1032fe[_0x244730(0x21b)],_0x288c83=0x0,_0x53a6d0=0x0;for(;_0xb11c24[_0x244730(0x1fa)](_0x2d1670,_0x296ab6);){let _0xcdc497,_0x32f091=0x0,_0x538625=0x0;do _0xcdc497=_0xb11c24[_0x244730(0x21f)](_0x1032fe[_0x244730(0x21c)](_0x2d1670++),0x3f),_0x538625|=_0xb11c24['GGIFx'](_0xb11c24[_0x244730(0x258)](_0xcdc497,0x1f),_0x32f091),_0x32f091+=0x5;while(_0xb11c24[_0x244730(0x1e1)](_0xcdc497,0x20));let _0xb25a7d=_0x538625&0x1?~_0xb11c24[_0x244730(0x23e)](_0x538625,0x1):_0xb11c24['sRHAZ'](_0x538625,0x1);_0x288c83+=_0xb25a7d,_0x32f091=0x0,_0x538625=0x0;do _0xcdc497=_0xb11c24[_0x244730(0x21f)](_0x1032fe[_0x244730(0x21c)](_0x2d1670++),0x3f),_0x538625|=_0xb11c24['PqsaA'](_0xb11c24['YFYyw'](_0xcdc497,0x1f),_0x32f091),_0x32f091+=0x5;while(_0xcdc497>=0x20);let _0x4ef970=_0xb11c24[_0x244730(0x22a)](_0x538625,0x1)?~_0xb11c24[_0x244730(0x23e)](_0x538625,0x1):_0xb11c24['sRHAZ'](_0x538625,0x1);_0x53a6d0+=_0x4ef970,_0x184c2a['push']([_0x53a6d0*0.00001,_0xb11c24[_0x244730(0x1d4)](_0x288c83,0.00001)]);}return _0x184c2a;}var f={'dark':T,'light':A},i=class i{constructor(){}static['create'](_0x39e79b,_0x1369d4){var _0x4dbcc5=a0_0x482841,_0x19224e={'NLsyt':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','mPvuI':function(_0x442384,_0x42c763){return _0x442384===_0x42c763;},'QQPcA':_0x4dbcc5(0x241),'TksKK':_0x4dbcc5(0x23b)};if(i[_0x4dbcc5(0x1fc)])return i[_0x4dbcc5(0x1fc)];let _0x1fb4df=window[_0x4dbcc5(0x213)]||_0x1369d4;if(!_0x1fb4df)throw new Error(_0x19224e['NLsyt']);let _0x28a2d4=_0x39e79b[_0x4dbcc5(0x252)]?I:_0x39e79b[_0x4dbcc5(0x20c)]?_0x39e79b['style']:_0x19224e[_0x4dbcc5(0x23d)](_0x39e79b[_0x4dbcc5(0x1ef)],_0x19224e['QQPcA'])?f[_0x4dbcc5(0x241)]:f['light'],_0x252236=new i();return _0x252236['options']=_0x39e79b,_0x252236[_0x4dbcc5(0x23b)]=new _0x1fb4df[(_0x4dbcc5(0x1f4))]({'container':_0x39e79b['container']||_0x19224e['TksKK'],'style':_0x28a2d4,'center':_0x39e79b[_0x4dbcc5(0x21a)]||[69.624024,40.279687],'zoom':_0x39e79b[_0x4dbcc5(0x200)]||0x5}),i[_0x4dbcc5(0x1fc)]=_0x252236,_0x252236;}static[a0_0x482841(0x25b)](){var _0x5d6dcb=a0_0x482841,_0x507178={'vxwUE':_0x5d6dcb(0x1d8)};if(!i['instance'])throw new Error(_0x507178[_0x5d6dcb(0x225)]);return i[_0x5d6dcb(0x1fc)];}[a0_0x482841(0x202)](){var _0x24feb4=a0_0x482841;this[_0x24feb4(0x23b)]['remove'](),i[_0x24feb4(0x1fc)]=null;}[a0_0x482841(0x1d3)](){var _0x3d8c3e=a0_0x482841;return this[_0x3d8c3e(0x23b)];}[a0_0x482841(0x1de)](_0x4c1550){var _0x59ec35=a0_0x482841,_0x979cf8={'ZPFUq':function(_0x198261,_0x8d0f67){return _0x198261===_0x8d0f67;},'ohztf':_0x59ec35(0x241)};this[_0x59ec35(0x23b)][_0x59ec35(0x1de)](_0x979cf8[_0x59ec35(0x244)](_0x4c1550,_0x979cf8[_0x59ec35(0x22e)])?f[_0x59ec35(0x241)]:f[_0x59ec35(0x21d)]);}['setCenter'](_0x1246c8){var _0xa8b2f7=a0_0x482841;this[_0xa8b2f7(0x23b)][_0xa8b2f7(0x20d)](_0x1246c8);}[a0_0x482841(0x256)](_0x5d5aab){var _0xd4cba8=a0_0x482841;this[_0xd4cba8(0x23b)][_0xd4cba8(0x256)](_0x5d5aab);}};i[a0_0x482841(0x1fc)]=null;var h=i,d=class{constructor(_0x28b7ce){var _0x2a7117=a0_0x482841;this[_0x2a7117(0x23b)]=_0x28b7ce;}['setZoom'](_0x89c732,_0x42e76e=!0x0){var _0x13ea58=a0_0x482841;_0x42e76e?this[_0x13ea58(0x23b)][_0x13ea58(0x216)]({'zoom':_0x89c732}):this[_0x13ea58(0x23b)][_0x13ea58(0x256)](_0x89c732);}},R=O(require(a0_0x482841(0x20e))),c=R[a0_0x482841(0x205)][a0_0x482841(0x20b)]({'baseURL':w});c[a0_0x482841(0x223)][a0_0x482841(0x250)]['use'](_0x1030fa=>_0x1030fa,_0x173f12=>(_0x173f12[a0_0x482841(0x250)]?.['status']===0x191&&y(),Promise[a0_0x482841(0x234)](_0x173f12)));function a0_0x4e5e(){var _0x3e3e3c=['reject','push','defaults','vutho','mtsYq','SgIOt','RfcMO','map','log','mPvuI','sRHAZ','src','post','dark','1840308jMAAFe','gvMQv','ZPFUq','qBkda','getPrototypeOf','includes','error','{}.constructor(\x22return\x20this\x22)(\x20)','5KEJwOC','exports','csJiu','enumerable','PVeNq','LWqHV','request','getOwnPropertyDescriptor','autoAddVectorSource','XOawZ','1841889ipFPla','services/getAddress','setZoom','pySyB','YFYyw','297267mzKsXZ','HMWlu','getInstance','ftKtD','bind','kJsnz','LJrtK','mahal_map.sdk.js','dpQMa','eKjyr','trace','route','getMap','BtRTP','forEach','20RlttTW','68710fStVgN','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','BgtKz','JPHUc','getElementsByTagName','constructor','WPCPr','setStyle','string','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','EnBkG','vGKIA','Authorization','common','TbaOF','BQbNZ','VHIHA','exception','object','call','432JCPNhr','WGbym','apikey','71127eKKrCv','theme','__esModule','console','function','SPUrO','Map','lolIl','toString','data','1AnIdxm','NsvNA','NipLf','https://platform.mahal.tj/api/','instance','apply','rabLx','341zkrInp','zoom','sfWLR','destroy','script','Bearer\x20','default','NOunH','routes','mIMFO','prototype','return\x20(function()\x20','create','style','setCenter','axios','oczQs','57894neJJcu','__proto__','2980884flkyrj','maplibregl','tsEpW','hasOwnProperty','easeTo','Ошибка\x20при\x20поиске\x20адреса:','xFyjo','26UbCLCf','center','length','charCodeAt','light','uslHL','vNyTj','xoTLB','ScXuk','https://mtile.gram.tj/custom-styles/mapstyle.json','interceptors','https://mtile.gram.tj/custom-styles/dark-style.json','vxwUE','EjgEn','table','headers','defineProperty','wuUJY','VBIIb','diTOO','Kgefh','ohztf','SnLGV','searchParams','geometry','HICQP','oqdMK'];a0_0x4e5e=function(){return _0x3e3e3c;};return a0_0x4e5e();}var b={};M(b,{'clearKey':()=>y,'getApiKey':()=>l,'saveKey':()=>x});function a0_0x1eed(_0x5194a7,_0x1f4b8a){var _0x14aced=a0_0x4e5e();return a0_0x1eed=function(_0x4ffd5d,_0x153a65){_0x4ffd5d=_0x4ffd5d-0x1d3;var _0x1c0bc4=_0x14aced[_0x4ffd5d];return _0x1c0bc4;},a0_0x1eed(_0x5194a7,_0x1f4b8a);}var g='';function x(_0x57e382){var _0x500d63=a0_0x482841,_0x41674f={'nUXwS':function(_0x557144,_0x4c6f96){return _0x557144!==_0x4c6f96;}};_0x41674f['nUXwS'](_0x57e382,'')&&(g=_0x57e382,c[_0x500d63(0x236)][_0x500d63(0x228)][_0x500d63(0x1e4)][_0x500d63(0x1e3)]=_0x500d63(0x204)+_0x57e382);}function y(){var _0x30ed38=a0_0x482841,_0x457d0f={'mIMFO':function(_0x3f9298,_0x4c9054){return _0x3f9298<_0x4c9054;},'BKbEq':function(_0xbb73ad,_0x418994){return _0xbb73ad(_0x418994);},'hptlV':function(_0x559cc9,_0x304f8b){return _0x559cc9+_0x304f8b;},'tsEpW':function(_0x2d2b0f,_0x3ae627){return _0x2d2b0f+_0x3ae627;},'SgIOt':_0x30ed38(0x20a),'vGKIA':function(_0x1c410f){return _0x1c410f();},'NOunH':_0x30ed38(0x23c),'kJsnz':'warn','lolIl':'info','VBIIb':_0x30ed38(0x248),'mCDQc':_0x30ed38(0x1e8),'oczQs':_0x30ed38(0x227),'xoTLB':_0x30ed38(0x263),'pzqiL':function(_0x2cd251,_0x120768,_0x51d553){return _0x2cd251(_0x120768,_0x51d553);}},_0x2acdaa=(function(){var _0x51fe87=!![];return function(_0x452967,_0x2496df){var _0x44130d=_0x51fe87?function(){var _0x18ec89=a0_0x1eed;if(_0x2496df){var _0x25ccff=_0x2496df[_0x18ec89(0x1fd)](_0x452967,arguments);return _0x2496df=null,_0x25ccff;}}:function(){};return _0x51fe87=![],_0x44130d;};}()),_0x56a2b2=_0x457d0f['pzqiL'](_0x2acdaa,this,function(){var _0x334ce1=_0x30ed38,_0xaceb='0|2|3|4|1'['split']('|'),_0x1fbc84=0x0;while(!![]){switch(_0xaceb[_0x1fbc84++]){case'0':var _0xdde484;continue;case'1':for(var _0x1acd13=0x0;_0x457d0f[_0x334ce1(0x208)](_0x1acd13,_0x4e4b16[_0x334ce1(0x21b)]);_0x1acd13++){var _0x54917f=_0x2acdaa[_0x334ce1(0x1dc)][_0x334ce1(0x209)][_0x334ce1(0x25d)](_0x2acdaa),_0x262868=_0x4e4b16[_0x1acd13],_0x461ac5=_0xdc6c9e[_0x262868]||_0x54917f;_0x54917f[_0x334ce1(0x211)]=_0x2acdaa['bind'](_0x2acdaa),_0x54917f[_0x334ce1(0x1f6)]=_0x461ac5[_0x334ce1(0x1f6)][_0x334ce1(0x25d)](_0x461ac5),_0xdc6c9e[_0x262868]=_0x54917f;}continue;case'2':try{var _0x2fe2ac=_0x457d0f['BKbEq'](Function,_0x457d0f['hptlV'](_0x457d0f[_0x334ce1(0x214)](_0x457d0f[_0x334ce1(0x239)],_0x334ce1(0x249)),');'));_0xdde484=_0x457d0f[_0x334ce1(0x1e2)](_0x2fe2ac);}catch(_0x29b713){_0xdde484=window;}continue;case'3':var _0xdc6c9e=_0xdde484['console']=_0xdde484[_0x334ce1(0x1f1)]||{};continue;case'4':var _0x4e4b16=[_0x457d0f[_0x334ce1(0x206)],_0x457d0f[_0x334ce1(0x25e)],_0x457d0f[_0x334ce1(0x1f5)],_0x457d0f[_0x334ce1(0x22b)],_0x457d0f['mCDQc'],_0x457d0f[_0x334ce1(0x20f)],_0x457d0f[_0x334ce1(0x220)]];continue;}break;}});_0x457d0f[_0x30ed38(0x1e2)](_0x56a2b2),(g='',c['defaults'][_0x30ed38(0x228)][_0x30ed38(0x1e4)][_0x30ed38(0x1e3)]='');}var l=()=>g;function E(_0x4b4ea3,_0x4b7555){var _0xbd14a1=a0_0x482841,_0x5b700b={'csJiu':function(_0x2bbedf,..._0x51a056){return _0x2bbedf(..._0x51a056);},'ScXuk':function(_0x1bf40d,_0x1dd2a8){return _0x1bf40d(_0x1dd2a8);},'HMWlu':_0xbd14a1(0x261),'eOcbe':function(_0x13e103,_0x36a8f9,_0x921509){return _0x13e103(_0x36a8f9,_0x921509);}};let _0x736256;return(..._0x2f589c)=>(_0x736256&&clearTimeout(_0x736256),new Promise(_0x46cd2c=>{var _0x363702=_0xbd14a1;if(_0x5b700b[_0x363702(0x25a)]===_0x363702(0x1fe))throw _0x168667;else _0x736256=_0x5b700b['eOcbe'](setTimeout,async()=>{var _0xb9909f=_0x363702,_0x20fa65=await _0x5b700b[_0xb9909f(0x24c)](_0x4b4ea3,..._0x2f589c);_0x5b700b[_0xb9909f(0x221)](_0x46cd2c,_0x20fa65);},_0x4b7555);}));}var L=async _0xc3593b=>{var _0x44d697=a0_0x482841,_0x1b1908={'diTOO':function(_0x4dd55e,_0x1ae5c1){return _0x4dd55e==_0x1ae5c1;},'WPCPr':function(_0x14513d,_0x109728){return _0x14513d(_0x109728);},'pySyB':function(_0x270210,_0x172ce1){return _0x270210!==_0x172ce1;},'HICQP':function(_0x1bfb90,_0x4c39b5,_0x1d9e0b,_0x4806ae){return _0x1bfb90(_0x4c39b5,_0x1d9e0b,_0x4806ae);},'JPHUc':function(_0x43f2c5,_0x17f405,_0x542207){return _0x43f2c5(_0x17f405,_0x542207);},'SPUrO':_0x44d697(0x255),'NmHOc':'oqdMK'};try{return(await c[_0x44d697(0x240)](_0x1b1908[_0x44d697(0x1f3)],_0xc3593b))[_0x44d697(0x1f7)];}catch(_0x2df5de){if(_0x44d697(0x233)===_0x1b1908['NmHOc'])throw console[_0x44d697(0x248)](_0x44d697(0x217),_0x2df5de),_0x2df5de;else{if(_0x5e1d8c&&_0x1b1908['diTOO'](typeof _0x5cf817,_0x44d697(0x1e9))||_0x1b1908[_0x44d697(0x22c)](typeof _0x242081,_0x44d697(0x1f2))){for(let _0x2d3a49 of _0x1b1908[_0x44d697(0x1dd)](_0x3df905,_0x599165))!_0x1a2682[_0x44d697(0x1ea)](_0x3a8d22,_0x2d3a49)&&_0x1b1908[_0x44d697(0x257)](_0x2d3a49,_0x2719f1)&&_0x1b1908[_0x44d697(0x232)](_0x24ba6d,_0x130064,_0x2d3a49,{'get':()=>_0x7cb8d1[_0x2d3a49],'enumerable':!(_0x34f86f=_0x1b1908[_0x44d697(0x1da)](_0x59a818,_0x265e21,_0x2d3a49))||_0x5d5904[_0x44d697(0x24d)]});}return _0x195040;}}};async function B(_0x28d690,_0x344fe8,_0xf23636){var _0x274efc=a0_0x482841,_0xdc0bf2={'kwIsg':function(_0x45399c){return _0x45399c();},'PVeNq':function(_0x3233e1,_0xfe0014){return _0x3233e1(_0xfe0014);}};let _0x4e3ff7={'text':_0x28d690,'token':_0x344fe8||_0xdc0bf2['kwIsg'](l),..._0xf23636};try{return await _0xdc0bf2[_0x274efc(0x24e)](L,_0x4e3ff7);}catch(_0x4659d4){throw _0x4659d4;}}var Z=E(B,0x1f4);async function k(_0x1579ba,_0x3681a3,_0x243cc1){var _0x314472=a0_0x482841,_0x2f4aeb={'vutho':function(_0x1aae8a,_0x149282,_0x159821,_0x18eaaf){return _0x1aae8a(_0x149282,_0x159821,_0x18eaaf);}};return await _0x2f4aeb[_0x314472(0x237)](Z,_0x1579ba,_0x3681a3,_0x243cc1);}var K=async(_0x3cea02,_0x43e4b5)=>{var _0x58e358=a0_0x482841,_0x4cc24b={'SnLGV':'services/getRoutes','Kgefh':function(_0x43cf93){return _0x43cf93();}};try{let _0xe63dbe=[];return _0x3cea02[_0x58e358(0x1d5)](_0x545c92=>{_0xe63dbe['push']({'lng':_0x545c92[0x0],'lat':_0x545c92[0x1]});}),(await c[_0x58e358(0x240)](_0x4cc24b[_0x58e358(0x22f)],{'points':_0xe63dbe,'token':_0x43e4b5||_0x4cc24b[_0x58e358(0x22d)](l)}))[_0x58e358(0x1f7)];}catch(_0x193289){throw console[_0x58e358(0x248)](_0x193289),_0x193289;}};async function j(_0x26ab91,_0x497995,_0x4ce007){var _0x5d010f=a0_0x482841,_0x56018b={'MekzM':_0x5d010f(0x1ed),'XOawZ':_0x5d010f(0x1ec),'LJrtK':function(_0x126db4,_0x55a3d9){return _0x126db4-_0x55a3d9;},'LWqHV':function(_0x6e4b59,_0x2f94d0){return _0x6e4b59&_0x2f94d0;},'uslHL':function(_0xea8ecf,_0x358920){return _0xea8ecf>=_0x358920;},'gvMQv':function(_0x54420a,_0x25e54e){return _0x54420a&_0x25e54e;},'ftKtD':function(_0x584369,_0x216126){return _0x584369>>_0x216126;},'qBkda':function(_0x4c304c,_0x134af1){return _0x4c304c&_0x134af1;},'EjgEn':function(_0x36855e,_0x3544e1){return _0x36855e>=_0x3544e1;},'OheFi':function(_0x49538a,_0x2807b9){return _0x49538a>>_0x2807b9;},'sfWLR':function(_0x50292b,_0x2189bb){return _0x50292b*_0x2189bb;},'ZcIix':function(_0xe32738,_0x3e2332,_0x939522){return _0xe32738(_0x3e2332,_0x939522);},'NsvNA':function(_0x1bdce6,_0x519327){return _0x1bdce6===_0x519327;},'eKjyr':_0x5d010f(0x1e6)};try{let _0x50ba6d=await _0x56018b['ZcIix'](K,_0x26ab91,_0x4ce007);return _0x50ba6d?.[_0x5d010f(0x1f7)]?_0x50ba6d['data'][_0x5d010f(0x23b)](_0x43d7d8=>{var _0xf9e7e6=_0x5d010f;if(_0x56018b[_0xf9e7e6(0x253)]!==_0xf9e7e6(0x1e7)){let _0x4baa2d={..._0x43d7d8};return _0x4baa2d[_0xf9e7e6(0x264)]?.[_0xf9e7e6(0x207)]?.[_0xf9e7e6(0x21b)]&&(_0x4baa2d[_0xf9e7e6(0x264)][_0xf9e7e6(0x207)]=_0x4baa2d[_0xf9e7e6(0x264)]['routes'][_0xf9e7e6(0x23b)](_0x3b0e2d=>({..._0x3b0e2d,'geometry':_0x497995==='geojson'&&typeof _0x3b0e2d[_0xf9e7e6(0x231)]==_0xf9e7e6(0x1df)?P(_0x3b0e2d[_0xf9e7e6(0x231)]):_0x3b0e2d[_0xf9e7e6(0x231)]}))),_0x4baa2d;}else{let _0x5ebfa8=new _0x265ee3(_0x1f0baa['src'])['searchParams']['get'](_0x56018b['MekzM']);if(_0x5ebfa8)return _0x5ebfa8;}}):_0x50ba6d;}catch(_0x3c7edf){if(_0x56018b[_0x5d010f(0x1f9)](_0x56018b[_0x5d010f(0x262)],_0x56018b['eKjyr']))throw _0x3c7edf;else{let _0x16b5c8,_0x5c47e2=0x0,_0x4daed5=0x0;do _0x16b5c8=_0x56018b[_0x5d010f(0x25f)](_0x3c5928['charCodeAt'](_0x12ca5d++),0x3f),_0x4daed5|=_0x56018b[_0x5d010f(0x24f)](_0x16b5c8,0x1f)<<_0x5c47e2,_0x5c47e2+=0x5;while(_0x56018b[_0x5d010f(0x21e)](_0x16b5c8,0x20));let _0x52cf18=_0x56018b[_0x5d010f(0x243)](_0x4daed5,0x1)?~(_0x4daed5>>0x1):_0x56018b[_0x5d010f(0x25c)](_0x4daed5,0x1);_0x46643c+=_0x52cf18,_0x5c47e2=0x0,_0x4daed5=0x0;do _0x16b5c8=_0x1a3d57[_0x5d010f(0x21c)](_0x1c8bbd++)-0x3f,_0x4daed5|=_0x56018b[_0x5d010f(0x245)](_0x16b5c8,0x1f)<<_0x5c47e2,_0x5c47e2+=0x5;while(_0x56018b[_0x5d010f(0x226)](_0x16b5c8,0x20));let _0x1cec5b=_0x56018b[_0x5d010f(0x243)](_0x4daed5,0x1)?~_0x56018b['OheFi'](_0x4daed5,0x1):_0x4daed5>>0x1;_0x4e16a3+=_0x1cec5b,_0x2cef95[_0x5d010f(0x235)]([_0x56018b[_0x5d010f(0x201)](_0x2e0e03,0.00001),_0x56018b[_0x5d010f(0x201)](_0x3798ba,0.00001)]);}}}function $(){var _0x17d8e0=a0_0x482841,_0x1d5319={'YdEtV':_0x17d8e0(0x203),'BUKIY':_0x17d8e0(0x260)};let _0x519512=document[_0x17d8e0(0x1db)](_0x1d5319['YdEtV']);for(let _0x7b3200 of _0x519512)if(_0x7b3200[_0x17d8e0(0x23f)][_0x17d8e0(0x247)](_0x1d5319['BUKIY'])){let _0x2c3bbe=new URL(_0x7b3200[_0x17d8e0(0x23f)])[_0x17d8e0(0x230)]['get'](_0x17d8e0(0x1ed));if(_0x2c3bbe)return _0x2c3bbe;}return'';}x($()),0x0&&(module[a0_0x482841(0x24b)]={'CameraController':CameraController,'MahalMap':MahalMap,'Router':Router,'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":["// Lib\r\nimport * as MahalMap from \"@lib/index\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, 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 \"./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","lib_exports","saveKey_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","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/camera/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { CameraController } from \"@lib/controller\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, CameraController, Search, Router, keyUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n"],"mappings":"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","names":["index_exports","__export","CameraController","MahalMap","Router","Search","saveKey_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","CameraController","map","zoom","smooth","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var K=Object.defineProperty;var M=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})};var L={};M(L,{CameraController:()=>f,MahalMap:()=>h,getrouter:()=>v,routingApi:()=>x,search:()=>N,searchPost:()=>b});var f=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 R=p&1?~(p>>1):p>>1;s+=R,n=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let k=p&1?~(p>>1):p>>1;m+=k,t.push([m*1e-5,s*1e-5])}return t}var u={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"?u.dark:u.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"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var h=i;import j from"axios";var c=j.create({baseURL:w});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var P={};M(P,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function 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 x=async(e,t)=>{try{let r=[];return e.forEach(s=>{r.push({lng:s[0],lat:s[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};async function v(e,t,r){try{let o=await x(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:t==="geojson"&&typeof n.geometry=="string"?I(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var b=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};async function G(e,t,r){let o={text:e,token:t||l(),...r};try{return await b(o)}catch(s){throw s}}var C=E(G,500);async function N(e,t,r){return await C(e,t,r)}function F(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(F());export{L as MahalMap,P as keyUtils};
1
+ var L=Object.defineProperty;var k=(e,t)=>{for(var r in t)L(e,r,{get:t[r],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",M="https://mtile.gram.tj/custom-styles/mapstyle.json",S="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(e){let t=[],r=0,o=e.length,n=0,m=0;for(;r<o;){let a,s=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;n+=R,s=0,p=0;do a=e.charCodeAt(r++)-63,p|=(a&31)<<s,s+=5;while(a>=32);let E=p&1?~(p>>1):p>>1;m+=E,t.push([m*1e-5,n*1e-5])}return t}var u={dark:b,light:M},i=class i{constructor(){}static create(t,r){if(i.instance)return i.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?S:t.style?t.style:t.theme==="dark"?u.dark:u.light,a=new i;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),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"?u.dark:u.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};i.instance=null;var f=i;var h=class{constructor(t){this.map=t}setZoom(t,r=!0){r?this.map.easeTo({zoom:t}):this.map.setZoom(t)}};import K from"axios";var c=K.create({baseURL:x});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var T={};k(T,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function A(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var I=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};async function j(e,t,r){let o={text:e,token:t||l(),...r};try{return await I(o)}catch(n){throw n}}var v=A(j,500);async function G(e,t,r){return await v(e,t,r)}var P=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};async function C(e,t,r){try{let o=await P(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?w(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}function N(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(N());export{h as CameraController,f as MahalMap,C as Router,G as Search,T 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","// Lib\r\nimport * as MahalMap from \"@lib/index\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, 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":["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","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/lib/controller/camera/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import type { Map } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { CameraController } from \"@lib/controller\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, CameraController, Search, Router, keyUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","CameraController","map","zoom","smooth","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",