mahal_map 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Map as Map$1 } from 'maplibre-gl';
1
+ import { Map } from 'maplibre-gl';
2
2
 
3
3
  interface IMahalMapOptions {
4
4
  container?: string | HTMLDocument;
@@ -10,15 +10,29 @@ interface IMahalMapOptions {
10
10
  }
11
11
 
12
12
  interface ISearchParam {
13
- id?: string;
14
- text?: string;
13
+ text: string;
15
14
  lat?: string;
16
15
  lng?: string;
17
- radius?: string;
18
- user_lat?: string;
19
- user_lng?: string;
20
- limit?: string;
21
- page?: string;
16
+ token: string;
17
+ }
18
+ interface ISearch {
19
+ fullAddress: string;
20
+ latitude: number;
21
+ longitude: number;
22
+ type: string;
23
+ distance: number | null;
24
+ detailInfo: {
25
+ categories: string;
26
+ name: string;
27
+ };
28
+ detailDetail: {
29
+ city: string | null;
30
+ city_type: string | null;
31
+ street_name: string | null;
32
+ street_type: string | null;
33
+ subject_name: string | null;
34
+ subject_type: string | null;
35
+ };
22
36
  }
23
37
 
24
38
  interface IAdditionalParamType {
@@ -58,13 +72,23 @@ interface IRoute {
58
72
  };
59
73
  }
60
74
 
61
- declare function createMap(options: IMahalMapOptions, maplibreObject?: {
62
- Map: typeof Map$1;
63
- } | typeof Map$1): Map$1;
75
+ declare class MahalMap$1 {
76
+ private static instance;
77
+ private map;
78
+ private options;
79
+ private constructor();
80
+ static create(options: IMahalMapOptions, maplibreObject?: {
81
+ Map: typeof Map;
82
+ } | typeof Map): MahalMap$1;
83
+ static getInstance(): MahalMap$1;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
88
+ }
64
89
 
65
- declare const Map_createMap: typeof createMap;
66
- declare namespace Map {
67
- export { Map_createMap as createMap };
90
+ declare namespace MahalMap {
91
+ export { MahalMap$1 as MahalMap };
68
92
  }
69
93
 
70
94
  declare function saveKey(param: string): void;
@@ -78,26 +102,26 @@ declare namespace keyUtils {
78
102
  export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
79
103
  }
80
104
 
81
- declare function search(param: string, additionalParam?: IAdditionalParamType): Promise<any>;
105
+ declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
82
106
 
83
107
  declare const searchUtils_search: typeof search;
84
108
  declare namespace searchUtils {
85
109
  export { searchUtils_search as search };
86
110
  }
87
111
 
88
- declare function getrouter(param: number[][], typeData: string): Promise<IRoute[]>;
112
+ declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
89
113
 
90
114
  declare const routerUtils_getrouter: typeof getrouter;
91
115
  declare namespace routerUtils {
92
116
  export { routerUtils_getrouter as getrouter };
93
117
  }
94
118
 
95
- declare const MahalMap: {
96
- Map: typeof Map;
119
+ declare const MMap: {
120
+ MahalMap: typeof MahalMap;
97
121
  keyUtils: typeof keyUtils;
98
122
  searchUtils: typeof searchUtils;
99
123
  routerUtils: typeof routerUtils;
100
124
  loadKeyFromScriptUrl: () => string;
101
125
  };
102
126
 
103
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
127
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Map as Map$1 } from 'maplibre-gl';
1
+ import { Map } from 'maplibre-gl';
2
2
 
3
3
  interface IMahalMapOptions {
4
4
  container?: string | HTMLDocument;
@@ -10,15 +10,29 @@ interface IMahalMapOptions {
10
10
  }
11
11
 
12
12
  interface ISearchParam {
13
- id?: string;
14
- text?: string;
13
+ text: string;
15
14
  lat?: string;
16
15
  lng?: string;
17
- radius?: string;
18
- user_lat?: string;
19
- user_lng?: string;
20
- limit?: string;
21
- page?: string;
16
+ token: string;
17
+ }
18
+ interface ISearch {
19
+ fullAddress: string;
20
+ latitude: number;
21
+ longitude: number;
22
+ type: string;
23
+ distance: number | null;
24
+ detailInfo: {
25
+ categories: string;
26
+ name: string;
27
+ };
28
+ detailDetail: {
29
+ city: string | null;
30
+ city_type: string | null;
31
+ street_name: string | null;
32
+ street_type: string | null;
33
+ subject_name: string | null;
34
+ subject_type: string | null;
35
+ };
22
36
  }
23
37
 
24
38
  interface IAdditionalParamType {
@@ -58,13 +72,23 @@ interface IRoute {
58
72
  };
59
73
  }
60
74
 
61
- declare function createMap(options: IMahalMapOptions, maplibreObject?: {
62
- Map: typeof Map$1;
63
- } | typeof Map$1): Map$1;
75
+ declare class MahalMap$1 {
76
+ private static instance;
77
+ private map;
78
+ private options;
79
+ private constructor();
80
+ static create(options: IMahalMapOptions, maplibreObject?: {
81
+ Map: typeof Map;
82
+ } | typeof Map): MahalMap$1;
83
+ static getInstance(): MahalMap$1;
84
+ getMap(): Map;
85
+ setStyle(theme: "dark" | "light"): void;
86
+ setCenter(center: [number, number]): void;
87
+ setZoom(zoom: number): void;
88
+ }
64
89
 
65
- declare const Map_createMap: typeof createMap;
66
- declare namespace Map {
67
- export { Map_createMap as createMap };
90
+ declare namespace MahalMap {
91
+ export { MahalMap$1 as MahalMap };
68
92
  }
69
93
 
70
94
  declare function saveKey(param: string): void;
@@ -78,26 +102,26 @@ declare namespace keyUtils {
78
102
  export { keyUtils_clearKey as clearKey, keyUtils_getApiKey as getApiKey, keyUtils_saveKey as saveKey };
79
103
  }
80
104
 
81
- declare function search(param: string, additionalParam?: IAdditionalParamType): Promise<any>;
105
+ declare function search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearch[]>;
82
106
 
83
107
  declare const searchUtils_search: typeof search;
84
108
  declare namespace searchUtils {
85
109
  export { searchUtils_search as search };
86
110
  }
87
111
 
88
- declare function getrouter(param: number[][], typeData: string): Promise<IRoute[]>;
112
+ declare function getrouter(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
89
113
 
90
114
  declare const routerUtils_getrouter: typeof getrouter;
91
115
  declare namespace routerUtils {
92
116
  export { routerUtils_getrouter as getrouter };
93
117
  }
94
118
 
95
- declare const MahalMap: {
96
- Map: typeof Map;
119
+ declare const MMap: {
120
+ MahalMap: typeof MahalMap;
97
121
  keyUtils: typeof keyUtils;
98
122
  searchUtils: typeof searchUtils;
99
123
  routerUtils: typeof routerUtils;
100
124
  loadKeyFromScriptUrl: () => string;
101
125
  };
102
126
 
103
- export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearchParam, Map, MahalMap as default, keyUtils, routerUtils, searchUtils };
127
+ export { type IAdditionalParamType, type IMahalMapOptions, type IRoute, type ISearch, type ISearchParam, MahalMap, MMap as default, keyUtils, routerUtils, searchUtils };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0xd768ba=a0_0x1f0e;(function(_0x5a6d03,_0x38f677){var _0x4fdf5b=a0_0x1f0e,_0xc4311f=_0x5a6d03();while(!![]){try{var _0x104652=parseInt(_0x4fdf5b(0x232))/0x1*(-parseInt(_0x4fdf5b(0x222))/0x2)+-parseInt(_0x4fdf5b(0x235))/0x3+-parseInt(_0x4fdf5b(0x24b))/0x4+-parseInt(_0x4fdf5b(0x204))/0x5+-parseInt(_0x4fdf5b(0x219))/0x6*(parseInt(_0x4fdf5b(0x207))/0x7)+-parseInt(_0x4fdf5b(0x203))/0x8+parseInt(_0x4fdf5b(0x1ef))/0x9;if(_0x104652===_0x38f677)break;else _0xc4311f['push'](_0xc4311f['shift']());}catch(_0x2d20df){_0xc4311f['push'](_0xc4311f['shift']());}}}(a0_0x3ca6,0x796aa));var U=Object[a0_0xd768ba(0x1e3)],c=Object[a0_0xd768ba(0x221)],N=Object[a0_0xd768ba(0x23f)],X=Object['getOwnPropertyNames'],_=Object[a0_0xd768ba(0x214)],v=Object[a0_0xd768ba(0x1f4)][a0_0xd768ba(0x1ec)],m=(_0x1c49b2,_0x22dd20)=>{var _0x15b1e2=a0_0xd768ba,_0x21242d={'zEcrI':function(_0x3ef468,_0x542e77,_0x3dc614,_0x290df0){return _0x3ef468(_0x542e77,_0x3dc614,_0x290df0);}};for(var _0x4ea66b in _0x22dd20)_0x21242d[_0x15b1e2(0x225)](c,_0x1c49b2,_0x4ea66b,{'get':_0x22dd20[_0x4ea66b],'enumerable':!0x0});},L=(_0x44c4af,_0x287472,_0x5695a2,_0x52c3ce)=>{var _0x23eb42=a0_0xd768ba,_0x25bc8d={'rnZtw':function(_0x22b9a2,_0xc3f7e2){return _0x22b9a2==_0xc3f7e2;},'wBHOA':_0x23eb42(0x234),'ifuQr':_0x23eb42(0x260),'ezuCi':function(_0x45c244,_0x296dc0){return _0x45c244(_0x296dc0);},'RxwSH':function(_0x4bdf7d,_0x128975,_0x3b0903,_0x5b5159){return _0x4bdf7d(_0x128975,_0x3b0903,_0x5b5159);},'CihVj':function(_0x2b2122,_0x3931ce,_0x5106bd){return _0x2b2122(_0x3931ce,_0x5106bd);}};if(_0x287472&&_0x25bc8d[_0x23eb42(0x20a)](typeof _0x287472,_0x25bc8d['wBHOA'])||_0x25bc8d[_0x23eb42(0x20a)](typeof _0x287472,_0x25bc8d['ifuQr'])){for(let _0x3736fb of _0x25bc8d[_0x23eb42(0x258)](X,_0x287472))!v[_0x23eb42(0x1f5)](_0x44c4af,_0x3736fb)&&_0x3736fb!==_0x5695a2&&_0x25bc8d[_0x23eb42(0x206)](c,_0x44c4af,_0x3736fb,{'get':()=>_0x287472[_0x3736fb],'enumerable':!(_0x52c3ce=_0x25bc8d['CihVj'](N,_0x287472,_0x3736fb))||_0x52c3ce['enumerable']});}return _0x44c4af;},z=(_0x571aa0,_0x12e6cc,_0x3e5d0c)=>(_0x3e5d0c=_0x571aa0!=null?U(_(_0x571aa0)):{},L(_0x12e6cc||!_0x571aa0||!_0x571aa0['__esModule']?c(_0x3e5d0c,a0_0xd768ba(0x243),{'value':_0x571aa0,'enumerable':!0x0}):_0x3e5d0c,_0x571aa0)),B=_0x854a27=>L(c({},a0_0xd768ba(0x1fd),{'value':!0x0}),_0x854a27),q={};m(q,{'Map':()=>d,'keyUtils':()=>x,'routerUtils':()=>E,'searchUtils':()=>b}),module[a0_0xd768ba(0x213)]=B(q);var d={};m(d,{'createMap':()=>D});var M=a0_0xd768ba(0x209),f=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,u=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,w=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,R='https://mtile.gram.tj/custom-styles/dark-style.json',A=a0_0xd768ba(0x1e8),T=a0_0xd768ba(0x24c);function j(_0x1e58c9){var _0x3e5810=a0_0xd768ba,_0x355054={'FXtqB':function(_0x20d5fd,_0x5e5d7e){return _0x20d5fd<_0x5e5d7e;},'cnEMh':function(_0x4e052b,_0x2db9a1){return _0x4e052b-_0x2db9a1;},'GLjxn':function(_0x2086f2,_0x30f817){return _0x2086f2&_0x30f817;},'eDoCO':function(_0x43c01d,_0x59a6d2){return _0x43c01d>>_0x59a6d2;},'geitl':function(_0x2938cc,_0x34af61){return _0x2938cc<<_0x34af61;},'LCukO':function(_0x47f7a1,_0x465549){return _0x47f7a1>=_0x465549;},'xRhon':function(_0x57aab0,_0x34e27d){return _0x57aab0>>_0x34e27d;},'CltvD':function(_0x54127f,_0x1447d1){return _0x54127f>>_0x1447d1;},'wgGYA':function(_0x201206,_0x1d59f7){return _0x201206*_0x1d59f7;}};let _0x36dedd=[],_0x55d950=0x0,_0x56ec38=_0x1e58c9[_0x3e5810(0x1fa)],_0x2fa9b8=0x0,_0x3f83be=0x0;for(;_0x355054[_0x3e5810(0x24f)](_0x55d950,_0x56ec38);){let _0x75474,_0x9f43e1=0x0,_0x294b55=0x0;do _0x75474=_0x355054['cnEMh'](_0x1e58c9[_0x3e5810(0x23a)](_0x55d950++),0x3f),_0x294b55|=_0x355054['GLjxn'](_0x75474,0x1f)<<_0x9f43e1,_0x9f43e1+=0x5;while(_0x75474>=0x20);let _0x525e21=_0x355054[_0x3e5810(0x1f3)](_0x294b55,0x1)?~_0x355054[_0x3e5810(0x246)](_0x294b55,0x1):_0x355054['eDoCO'](_0x294b55,0x1);_0x2fa9b8+=_0x525e21,_0x9f43e1=0x0,_0x294b55=0x0;do _0x75474=_0x1e58c9[_0x3e5810(0x23a)](_0x55d950++)-0x3f,_0x294b55|=_0x355054[_0x3e5810(0x252)](_0x355054['GLjxn'](_0x75474,0x1f),_0x9f43e1),_0x9f43e1+=0x5;while(_0x355054[_0x3e5810(0x23d)](_0x75474,0x20));let _0x325336=_0x355054[_0x3e5810(0x1f3)](_0x294b55,0x1)?~_0x355054[_0x3e5810(0x205)](_0x294b55,0x1):_0x355054[_0x3e5810(0x22b)](_0x294b55,0x1);_0x3f83be+=_0x325336,_0x36dedd['push']([_0x355054['wgGYA'](_0x3f83be,0.00001),_0x355054[_0x3e5810(0x20e)](_0x2fa9b8,0.00001)]);}return _0x36dedd;}var G={'dark':R,'light':A};function D(_0x4b604e,_0xe1b45b){var _0x44e602=a0_0xd768ba,_0x503fc1={'MpKFA':_0x44e602(0x216),'sFICD':function(_0x4f3d52,_0xc9b473){return _0x4f3d52===_0xc9b473;}};let _0xd54654,_0x1777c3=window['maplibregl']||_0xe1b45b;if(!_0x1777c3)throw new Error(_0x503fc1[_0x44e602(0x215)]);return _0x4b604e[_0x44e602(0x223)]?_0xd54654=T:_0xd54654=_0x4b604e[_0x44e602(0x1f2)]?_0x4b604e[_0x44e602(0x1f2)]:_0x503fc1['sFICD'](_0x4b604e['theme'],_0x44e602(0x1ff))?G[_0x44e602(0x1ff)]:G[_0x44e602(0x23b)],new _0x1777c3[(_0x44e602(0x25e))]({'container':_0x4b604e[_0x44e602(0x259)]||'map','style':_0xd54654,'center':_0x4b604e[_0x44e602(0x21b)]||[69.624024,40.279687],'zoom':_0x4b604e[_0x44e602(0x25c)]||0x5});}var x={};m(x,{'clearKey':()=>h,'getApiKey':()=>O,'saveKey':()=>g});var P=z(require(a0_0xd768ba(0x233))),p=P['default'][a0_0xd768ba(0x1e3)]({'baseURL':M});p[a0_0xd768ba(0x22c)][a0_0xd768ba(0x20f)][a0_0xd768ba(0x244)](_0x33b54e=>_0x33b54e,_0x4fbf8e=>(_0x4fbf8e[a0_0xd768ba(0x20f)]?.['status']===0x191&&h(),Promise[a0_0xd768ba(0x1ee)](_0x4fbf8e)));function k(_0x2b2e61){var _0x33ae08=a0_0xd768ba,_0x1b6b68={'UVPwC':_0x33ae08(0x245),'ATaiE':function(_0x393f5b,_0x147a7c){return _0x393f5b===_0x147a7c;},'itwvJ':'nIDJH','KXarQ':_0x33ae08(0x257)};let _0x76f63d,_0x277669;if(f[_0x33ae08(0x248)](_0x2b2e61)){let _0x3379d8=_0x2b2e61['match'](f);_0x3379d8&&([,_0x76f63d,_0x277669]=_0x3379d8);}else{if(u[_0x33ae08(0x248)](_0x2b2e61)){if(_0x1b6b68['ATaiE']('nIDJH',_0x1b6b68[_0x33ae08(0x24a)])){let _0x1e934e=_0x2b2e61[_0x33ae08(0x25f)](u);_0x1e934e&&([,_0x277669,_0x76f63d]=_0x1e934e);}else throw _0x147d0e['error'](_0x1b6b68[_0x33ae08(0x200)],_0x404621),_0x1ae205;}else return console['log'](_0x1b6b68[_0x33ae08(0x21f)]),null;}return{'lat':_0x76f63d,'lng':_0x277669};}var y='';function g(_0x110e50){var _0x4f27e6=a0_0xd768ba,_0x4f80be={'QUtmW':function(_0xc071c7,_0x56158d){return _0xc071c7!==_0x56158d;}};_0x4f80be[_0x4f27e6(0x21e)](_0x110e50,'')&&(y=_0x110e50,p[_0x4f27e6(0x255)][_0x4f27e6(0x251)][_0x4f27e6(0x1fe)]['Authorization']=_0x4f27e6(0x218)+_0x110e50);}function h(){var _0x265392=a0_0xd768ba,_0x27ce30={'EAzTV':_0x265392(0x24d),'CphPz':_0x265392(0x236),'TKrPS':function(_0x341d27,_0x29534f){return _0x341d27+_0x29534f;},'DPYyE':_0x265392(0x256),'dpbXz':_0x265392(0x23c),'ydWNX':function(_0x9d5ed8){return _0x9d5ed8();},'deBCt':'info','vUKrU':_0x265392(0x22f),'hGdgR':'exception','XAeFm':_0x265392(0x1e5),'BkkQR':_0x265392(0x229),'oMAcs':function(_0x4c89b5,_0x1af83c){return _0x4c89b5<_0x1af83c;},'sHKNL':function(_0x3d2afd,_0x5d1d96,_0x26014b){return _0x3d2afd(_0x5d1d96,_0x26014b);}},_0x324e7e=(function(){var _0x104a62=!![];return function(_0x28f5ed,_0x4aff74){var _0x333627=_0x104a62?function(){if(_0x4aff74){var _0x1a2316=_0x4aff74['apply'](_0x28f5ed,arguments);return _0x4aff74=null,_0x1a2316;}}:function(){};return _0x104a62=![],_0x333627;};}()),_0x3a7ea4=_0x27ce30[_0x265392(0x1ea)](_0x324e7e,this,function(){var _0x5c147f=_0x265392;if(_0x27ce30['EAzTV']!==_0x27ce30[_0x5c147f(0x1e2)]){var _0x2dba58='2|0|4|1|3'[_0x5c147f(0x1f1)]('|'),_0x28fe2d=0x0;while(!![]){switch(_0x2dba58[_0x28fe2d++]){case'0':try{var _0x78aa2d=Function(_0x27ce30['TKrPS'](_0x27ce30[_0x5c147f(0x226)](_0x27ce30[_0x5c147f(0x228)],_0x27ce30[_0x5c147f(0x23e)]),');'));_0x131aff=_0x27ce30['ydWNX'](_0x78aa2d);}catch(_0x2c47d8){_0x131aff=window;}continue;case'1':var _0x25fdb2=[_0x5c147f(0x22d),_0x5c147f(0x253),_0x27ce30[_0x5c147f(0x1eb)],_0x27ce30[_0x5c147f(0x249)],_0x27ce30[_0x5c147f(0x217)],_0x27ce30['XAeFm'],_0x27ce30[_0x5c147f(0x210)]];continue;case'2':var _0x131aff;continue;case'3':for(var _0x368d3d=0x0;_0x27ce30[_0x5c147f(0x1e4)](_0x368d3d,_0x25fdb2['length']);_0x368d3d++){var _0x3a6907=_0x324e7e[_0x5c147f(0x211)][_0x5c147f(0x1f4)][_0x5c147f(0x239)](_0x324e7e),_0x35d857=_0x25fdb2[_0x368d3d],_0x5c4d43=_0x915d2c[_0x35d857]||_0x3a6907;_0x3a6907[_0x5c147f(0x25d)]=_0x324e7e[_0x5c147f(0x239)](_0x324e7e),_0x3a6907[_0x5c147f(0x22e)]=_0x5c4d43['toString'][_0x5c147f(0x239)](_0x5c4d43),_0x915d2c[_0x35d857]=_0x3a6907;}continue;case'4':var _0x915d2c=_0x131aff['console']=_0x131aff[_0x5c147f(0x22a)]||{};continue;}break;}}else throw _0x7f6dbe[_0x5c147f(0x22f)](_0x1e740b),_0x42cd34;});_0x27ce30[_0x265392(0x1f6)](_0x3a7ea4),(y='',p[_0x265392(0x255)]['headers']['common'][_0x265392(0x220)]='');}var O=()=>y,b={};m(b,{'search':()=>$});var I=async _0x27b819=>{var _0x1b20ce=a0_0xd768ba,_0x11bb6f={'KYHxi':_0x1b20ce(0x21c),'rBZuS':function(_0x5f3544,_0x4a0250){return _0x5f3544!==_0x4a0250;},'TtiKl':_0x1b20ce(0x201),'rREMS':'Ошибка\x20при\x20поиске\x20адреса:'};try{let _0x72d64e={'params':_0x27b819};return(await p['get'](_0x11bb6f['KYHxi'],_0x72d64e))[_0x1b20ce(0x261)];}catch(_0x51bee6){if(_0x11bb6f[_0x1b20ce(0x212)](_0x11bb6f[_0x1b20ce(0x25a)],_0x1b20ce(0x201)))_0x1c9409=_0x3ad284;else throw console[_0x1b20ce(0x22f)](_0x11bb6f['rREMS'],_0x51bee6),_0x51bee6;}};async function $(_0x5a3a2c,_0x4daeb2){var _0x256db5=a0_0xd768ba,_0x4e5978={'NLUBb':function(_0xe5ec30,_0x4fbd9f){return _0xe5ec30!==_0x4fbd9f;},'YpsmY':function(_0x559832,_0x23558a){return _0x559832(_0x23558a);},'hsaSi':_0x256db5(0x1f9)};let _0x447f70={'text':'',..._0x4daeb2};if(_0x4e5978['NLUBb'](_0x5a3a2c,'')){if(w[_0x256db5(0x248)](_0x5a3a2c)){let _0x2f9c8b=await _0x4e5978[_0x256db5(0x250)](k,_0x5a3a2c);_0x2f9c8b&&(_0x447f70={'lat':_0x2f9c8b['lat']??'','lng':_0x2f9c8b[_0x256db5(0x20b)]??''});}else _0x447f70[_0x256db5(0x1f7)]=_0x5a3a2c;}else _0x447f70[_0x256db5(0x1f7)]='';try{return await I(_0x447f70);}catch(_0x547e6b){throw console[_0x256db5(0x22f)](_0x4e5978[_0x256db5(0x237)],_0x547e6b),_0x547e6b;}}function a0_0x1f0e(_0x488c98,_0x24c14a){var _0x1d6578=a0_0x3ca6();return a0_0x1f0e=function(_0x17cf49,_0x1f04a2){_0x17cf49=_0x17cf49-0x1e2;var _0x127367=_0x1d6578[_0x17cf49];return _0x127367;},a0_0x1f0e(_0x488c98,_0x24c14a);}function a0_0x3ca6(){var _0xfaa953=['TtiKl','SwsqX','zoom','__proto__','Map','match','function','data','CphPz','create','oMAcs','table','cSVdD','forEach','https://mtile.gram.tj/custom-styles/mapstyle.json','aanYb','sHKNL','deBCt','hasOwnProperty','geojson','reject','25474959qopWiq','mfMuj','split','style','GLjxn','prototype','call','ydWNX','text','route','Ошибка\x20при\x20выполнении\x20поиска:','length','BtvRh','TcRcl','__esModule','common','dark','UVPwC','yBqXs','map','1580944NLGXxy','1313790NBJOxX','xRhon','RxwSH','7VkZYOm','hCBcR','https://platform.mahal.tj/api/','rnZtw','lng','services/getRoutes','routes','wgGYA','request','BkkQR','constructor','rBZuS','exports','getPrototypeOf','MpKFA','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20добавь\x20<script\x20src=\x27https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js\x27>\x20в\x20HTML.','hGdgR','Bearer\x20','5099946MlEGyF','script','center','elastic/search','string','QUtmW','KXarQ','Authorization','defineProperty','2dYwYbL','autoAddVectorSource','OkfUm','zEcrI','TKrPS','iEliF','DPYyE','trace','console','CltvD','interceptors','log','toString','error','get','geometry','336358tapNkr','axios','object','201597xDozwU','vahZJ','hsaSi','paZNz','bind','charCodeAt','light','{}.constructor(\x22return\x20this\x22)(\x20)','LCukO','dpbXz','getOwnPropertyDescriptor','WvhdL','includes','apikey','default','use','Ошибка\x20при\x20поиске\x20адреса:','eDoCO','JExTP','test','vUKrU','itwvJ','2477220UmlTEQ','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','WzTKI','hyHmP','FXtqB','YpsmY','headers','geitl','warn','scHek','defaults','return\x20(function()\x20','Неверный\x20формат\x20координат','ezuCi','container'];a0_0x3ca6=function(){return _0xfaa953;};return a0_0x3ca6();}var E={};m(E,{'getrouter':()=>H});var S=async _0x53ff9d=>{var _0x325f2a=a0_0xd768ba,_0x44dff2={'BtvRh':function(_0x19a760,_0x4dbcb7){return _0x19a760!==_0x4dbcb7;},'aanYb':_0x325f2a(0x24e),'ujpHQ':function(_0x37c12b,_0x135d11){return _0x37c12b!==_0x135d11;},'scHek':_0x325f2a(0x25b),'mfMuj':_0x325f2a(0x20c),'YLiUc':'inpbC','OkfUm':_0x325f2a(0x1e6)};try{if(_0x44dff2['ujpHQ'](_0x44dff2[_0x325f2a(0x254)],_0x325f2a(0x238))){let _0x5927e1=[];return _0x53ff9d[_0x325f2a(0x1e7)](_0x3074f0=>{var _0x13d4b4=_0x325f2a;if(_0x44dff2[_0x13d4b4(0x1fb)](_0x44dff2[_0x13d4b4(0x1e9)],_0x13d4b4(0x240)))_0x5927e1['push']({'lng':_0x3074f0[0x0],'lat':_0x3074f0[0x1]});else{let _0x4ae8c8={..._0x444ad9};return _0x4ae8c8[_0x13d4b4(0x1f8)]?.[_0x13d4b4(0x20d)]?.[_0x13d4b4(0x1fa)]&&(_0x4ae8c8['route']['routes']=_0x4ae8c8['route'][_0x13d4b4(0x20d)][_0x13d4b4(0x202)](_0xfeb386=>({..._0xfeb386,'geometry':_0x4aa39d===_0x13d4b4(0x1ed)&&typeof _0xfeb386[_0x13d4b4(0x231)]==_0x13d4b4(0x21d)?_0x3d4e4e(_0xfeb386['geometry']):_0xfeb386[_0x13d4b4(0x231)]}))),_0x4ae8c8;}}),(await p['post'](_0x44dff2[_0x325f2a(0x1f0)],{'points':_0x5927e1}))[_0x325f2a(0x261)];}else{for(var _0x1208c4 in _0x431e46)_0x47c33b(_0x493537,_0x1208c4,{'get':_0x57c54d[_0x1208c4],'enumerable':!0x0});}}catch(_0xce6d1d){if(_0x44dff2['YLiUc']!==_0x44dff2[_0x325f2a(0x224)])throw console[_0x325f2a(0x22f)](_0xce6d1d),_0xce6d1d;else{if(_0x1e19fc){var _0x5702d1=_0x514ec7['apply'](_0x2a244e,arguments);return _0x1c73bf=null,_0x5702d1;}}}};async function H(_0x5f437d,_0x3f4063){var _0x1125e5=a0_0xd768ba,_0x2794d6={'iEliF':function(_0x115525,_0x3a0d99){return _0x115525(_0x3a0d99);}};try{let _0x13c17f=await _0x2794d6[_0x1125e5(0x227)](S,_0x5f437d);return _0x13c17f?.[_0x1125e5(0x261)]?_0x13c17f[_0x1125e5(0x261)][_0x1125e5(0x202)](_0x13f110=>{var _0x539e0b=_0x1125e5;let _0x11d094={..._0x13f110};return _0x11d094['route']?.['routes']?.[_0x539e0b(0x1fa)]&&(_0x11d094[_0x539e0b(0x1f8)][_0x539e0b(0x20d)]=_0x11d094[_0x539e0b(0x1f8)]['routes'][_0x539e0b(0x202)](_0x4e07bd=>({..._0x4e07bd,'geometry':_0x3f4063===_0x539e0b(0x1ed)&&typeof _0x4e07bd[_0x539e0b(0x231)]==_0x539e0b(0x21d)?j(_0x4e07bd['geometry']):_0x4e07bd[_0x539e0b(0x231)]}))),_0x11d094;}):_0x13c17f;}catch(_0xd09b25){throw console[_0x1125e5(0x22f)](_0xd09b25),_0xd09b25;}}function V(){var _0x1d5526=a0_0xd768ba,_0x335248={'hCBcR':_0x1d5526(0x21a),'JExTP':'mahal_map.sdk.js','TcRcl':_0x1d5526(0x242)};let _0x320631=document['getElementsByTagName'](_0x335248[_0x1d5526(0x208)]);for(let _0x392fd0 of _0x320631)if(_0x392fd0['src'][_0x1d5526(0x241)](_0x335248[_0x1d5526(0x247)])){let _0x48e75e=new URL(_0x392fd0['src'])['searchParams'][_0x1d5526(0x230)](_0x335248[_0x1d5526(0x1fc)]);if(_0x48e75e)return _0x48e75e;}return'';}g(V()),0x0&&(module[a0_0xd768ba(0x213)]={'Map':Map,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
1
+ 'use strict';var a0_0x10912f=a0_0x2c76;(function(_0x62b54d,_0x207956){var _0x117ff9=a0_0x2c76,_0x784446=_0x62b54d();while(!![]){try{var _0x15d2a8=parseInt(_0x117ff9(0x1e1))/0x1+parseInt(_0x117ff9(0x210))/0x2+parseInt(_0x117ff9(0x237))/0x3+-parseInt(_0x117ff9(0x1d9))/0x4*(-parseInt(_0x117ff9(0x23b))/0x5)+parseInt(_0x117ff9(0x1f8))/0x6*(-parseInt(_0x117ff9(0x1e5))/0x7)+parseInt(_0x117ff9(0x1ce))/0x8*(-parseInt(_0x117ff9(0x21c))/0x9)+-parseInt(_0x117ff9(0x22a))/0xa;if(_0x15d2a8===_0x207956)break;else _0x784446['push'](_0x784446['shift']());}catch(_0x576441){_0x784446['push'](_0x784446['shift']());}}}(a0_0xe4aa,0xce4ea));var U=Object[a0_0x10912f(0x1e9)],f=Object[a0_0x10912f(0x1a3)],F=Object['getOwnPropertyDescriptor'],D=Object[a0_0x10912f(0x221)],O=Object[a0_0x10912f(0x1e2)],X=Object['prototype'][a0_0x10912f(0x1b5)],l=(_0x249981,_0x5574b3)=>{var _0x139ecc=a0_0x10912f,_0x200533={'eiPpN':function(_0x5dffcd,_0x32d0cc,_0x5db1c2,_0x400d31){return _0x5dffcd(_0x32d0cc,_0x5db1c2,_0x400d31);}};for(var _0x2143c3 in _0x5574b3)_0x200533[_0x139ecc(0x1bb)](f,_0x249981,_0x2143c3,{'get':_0x5574b3[_0x2143c3],'enumerable':!0x0});},P=(_0x41fa07,_0x4baf46,_0x2de185,_0xf6a625)=>{var _0x10e845=a0_0x10912f,_0x1571a4={'lOWbl':function(_0x2e9b61,_0x113e34){return _0x2e9b61==_0x113e34;},'WpZvh':_0x10e845(0x1d3),'XZxMl':function(_0x3587e2,_0x3fba3f){return _0x3587e2(_0x3fba3f);},'BDSqd':function(_0x10a5d1,_0x6c8cf9){return _0x10a5d1!==_0x6c8cf9;},'gNBRC':function(_0xcb2727,_0x3dc00b,_0x387cdd,_0x33fd22){return _0xcb2727(_0x3dc00b,_0x387cdd,_0x33fd22);},'AIljv':function(_0x1fec00,_0x309774,_0x54b35f){return _0x1fec00(_0x309774,_0x54b35f);}};if(_0x4baf46&&_0x1571a4[_0x10e845(0x1d8)](typeof _0x4baf46,_0x10e845(0x227))||_0x1571a4[_0x10e845(0x1d8)](typeof _0x4baf46,_0x1571a4[_0x10e845(0x1a8)])){for(let _0xc8d060 of _0x1571a4[_0x10e845(0x1bd)](D,_0x4baf46))!X['call'](_0x41fa07,_0xc8d060)&&_0x1571a4[_0x10e845(0x201)](_0xc8d060,_0x2de185)&&_0x1571a4[_0x10e845(0x1de)](f,_0x41fa07,_0xc8d060,{'get':()=>_0x4baf46[_0xc8d060],'enumerable':!(_0xf6a625=_0x1571a4[_0x10e845(0x1c6)](F,_0x4baf46,_0xc8d060))||_0xf6a625[_0x10e845(0x211)]});}return _0x41fa07;},z=(_0x16472f,_0x512ad0,_0x422bea)=>(_0x422bea=_0x16472f!=null?U(O(_0x16472f)):{},P(_0x512ad0||!_0x16472f||!_0x16472f[a0_0x10912f(0x1fe)]?f(_0x422bea,a0_0x10912f(0x235),{'value':_0x16472f,'enumerable':!0x0}):_0x422bea,_0x16472f)),B=_0x15e392=>P(f({},'__esModule',{'value':!0x0}),_0x15e392),H={};l(H,{'MahalMap':()=>I,'keyUtils':()=>b,'routerUtils':()=>w,'searchUtils':()=>A}),module['exports']=B(H);var I={};l(I,{'MahalMap':()=>d,'getrouter':()=>G,'routingApi':()=>M,'search':()=>C,'searchPost':()=>S});var T=a0_0x10912f(0x1be),E=a0_0x10912f(0x1cb),L=a0_0x10912f(0x212),R=a0_0x10912f(0x205);function k(_0x554b9b){var _0xdc0afc=a0_0x10912f,_0x2d1839={'nXbUh':function(_0x53ce9c,_0x16a01a){return _0x53ce9c<<_0x16a01a;},'rLGdb':function(_0x48898f,_0x159e62){return _0x48898f&_0x159e62;},'voHVL':function(_0xe9a5ac,_0x413927){return _0xe9a5ac>>_0x413927;},'mOzov':function(_0x5e6516,_0x1f4991){return _0x5e6516-_0x1f4991;},'MftRv':function(_0x566604,_0x32e1fd){return _0x566604<<_0x32e1fd;},'zuDsp':function(_0x130001,_0x2f591f){return _0x130001>=_0x2f591f;},'bLQkz':function(_0x4684ed,_0x7bd7cb){return _0x4684ed*_0x7bd7cb;}};let _0x12b919=[],_0x34f7f4=0x0,_0x52a7ba=_0x554b9b['length'],_0x3975ab=0x0,_0x4775c1=0x0;for(;_0x34f7f4<_0x52a7ba;){let _0x81e435,_0x4ab142=0x0,_0x3de90b=0x0;do _0x81e435=_0x554b9b[_0xdc0afc(0x1ed)](_0x34f7f4++)-0x3f,_0x3de90b|=_0x2d1839['nXbUh'](_0x2d1839[_0xdc0afc(0x223)](_0x81e435,0x1f),_0x4ab142),_0x4ab142+=0x5;while(_0x81e435>=0x20);let _0x322895=_0x3de90b&0x1?~_0x2d1839['voHVL'](_0x3de90b,0x1):_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1);_0x3975ab+=_0x322895,_0x4ab142=0x0,_0x3de90b=0x0;do _0x81e435=_0x2d1839[_0xdc0afc(0x23c)](_0x554b9b[_0xdc0afc(0x1ed)](_0x34f7f4++),0x3f),_0x3de90b|=_0x2d1839[_0xdc0afc(0x1db)](_0x81e435&0x1f,_0x4ab142),_0x4ab142+=0x5;while(_0x2d1839[_0xdc0afc(0x1b0)](_0x81e435,0x20));let _0x3452c6=_0x2d1839['rLGdb'](_0x3de90b,0x1)?~_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1):_0x2d1839[_0xdc0afc(0x1a9)](_0x3de90b,0x1);_0x4775c1+=_0x3452c6,_0x12b919[_0xdc0afc(0x1f9)]([_0x2d1839[_0xdc0afc(0x1ab)](_0x4775c1,0.00001),_0x2d1839[_0xdc0afc(0x1ab)](_0x3975ab,0.00001)]);}return _0x12b919;}function a0_0xe4aa(){var _0xa0df3d=['aSDOl','4602570VRxviB','Map','apikey','jFGTc','38065Zrqevx','mOzov','status','srgkj','return\x20(function()\x20','YxGOr','defineProperty','src','LeIZe','prototype','theme','WpZvh','voHVL','DquHG','bLQkz','TbjxL','length','request','jjrse','zuDsp','DmrqH','get','getInstance','qBgaZ','hasOwnProperty','mLPwo','table','pjZFP','qCuPk','exports','eiPpN','lJqKD','XZxMl','https://platform.mahal.tj/api/','fJGec','setCenter','YadVH','route','searchParams','fFmVb','trace','AIljv','data','MUBuH','container','LGFHi','https://mtile.gram.tj/custom-styles/dark-style.json','setStyle','OzfGH','2840WxZPLx','getElementsByTagName','{}.constructor(\x22return\x20this\x22)(\x20)','Mqcfw','rollV','function','style','SRxXQ','use','sYgBe','lOWbl','304lyAhmO','interceptors','MftRv','common','TkJCF','gNBRC','script','warn','229942RqasGM','getPrototypeOf','vnGAu','WrXIb','14PywxkA','toString','apply','routes','create','options','Bearer\x20','headers','charCodeAt','services/getAddress','ANvvo','GvQFb','center','sPrpi','nngfF','JYPIB','exception','frZnV','bind','1481340xsjRJe','push','zoom','FPywa','services/getRoutes','split','__esModule','arKQM','map','BDSqd','bLfAC','defaults','info','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','GWAwP','console','geojson','log','mahal_map.sdk.js','dNswN','OoiZs','geometry','Authorization','post','3005266cqBajW','enumerable','https://mtile.gram.tj/custom-styles/mapstyle.json','GlhJi','2|1|4|5|3|0','VZeXB','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','maplibregl','WQOJm','jwGJi','TJhHh','instance','11142qTUYay','error','forEach','AosDH','vybFc','getOwnPropertyNames','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','rLGdb','YXzYG','autoAddVectorSource','WjCAz','object','HnGiC','GAqen','20670490gBQRYZ','ciZlN','reject','zwdSG','WeJFs','light','__proto__','IYidN','setZoom','TCvMv','dark','default'];a0_0xe4aa=function(){return _0xa0df3d;};return a0_0xe4aa();}var h={'dark':E,'light':L},p=class p{constructor(){}static[a0_0x10912f(0x1e9)](_0x5730f2,_0x596e8c){var _0x283a3b=a0_0x10912f,_0x10eda6={'srgkj':function(_0xa1e048,_0x53ed34){return _0xa1e048===_0x53ed34;},'sYgBe':_0x283a3b(0x234),'BsQOC':_0x283a3b(0x200)};if(p[_0x283a3b(0x21b)])return p[_0x283a3b(0x21b)];let _0x2f407f=window[_0x283a3b(0x217)]||_0x596e8c;if(!_0x2f407f)throw new Error(_0x283a3b(0x216));let _0xcff1a7=_0x5730f2[_0x283a3b(0x225)]?R:_0x5730f2[_0x283a3b(0x1d4)]?_0x5730f2['style']:_0x10eda6[_0x283a3b(0x1a0)](_0x5730f2[_0x283a3b(0x1a7)],_0x10eda6[_0x283a3b(0x1d7)])?h[_0x283a3b(0x234)]:h[_0x283a3b(0x22f)],_0x225f17=new p();return _0x225f17[_0x283a3b(0x1ea)]=_0x5730f2,_0x225f17[_0x283a3b(0x200)]=new _0x2f407f[(_0x283a3b(0x238))]({'container':_0x5730f2[_0x283a3b(0x1c9)]||_0x10eda6['BsQOC'],'style':_0xcff1a7,'center':_0x5730f2[_0x283a3b(0x1f1)]||[69.624024,40.279687],'zoom':_0x5730f2[_0x283a3b(0x1fa)]||0x5}),p['instance']=_0x225f17,_0x225f17;}static[a0_0x10912f(0x1b3)](){var _0x1e9df4=a0_0x10912f,_0x2b5c24={'FPywa':_0x1e9df4(0x222)};if(!p[_0x1e9df4(0x21b)])throw new Error(_0x2b5c24[_0x1e9df4(0x1fb)]);return p[_0x1e9df4(0x21b)];}['getMap'](){var _0x409c3a=a0_0x10912f;return this[_0x409c3a(0x200)];}[a0_0x10912f(0x1cc)](_0x8b540f){var _0x1fc3bd=a0_0x10912f;this[_0x1fc3bd(0x200)][_0x1fc3bd(0x1cc)](_0x8b540f===_0x1fc3bd(0x234)?h[_0x1fc3bd(0x234)]:h[_0x1fc3bd(0x22f)]);}[a0_0x10912f(0x1c0)](_0x46e85f){var _0x15f0a6=a0_0x10912f;this[_0x15f0a6(0x200)][_0x15f0a6(0x1c0)](_0x46e85f);}[a0_0x10912f(0x232)](_0x37e60a){var _0x1c0e28=a0_0x10912f;this[_0x1c0e28(0x200)][_0x1c0e28(0x232)](_0x37e60a);}};function a0_0x2c76(_0x445631,_0x24eb48){var _0x4b406e=a0_0xe4aa();return a0_0x2c76=function(_0xeb54fc,_0x3556c4){_0xeb54fc=_0xeb54fc-0x1a0;var _0x432a3d=_0x4b406e[_0xeb54fc];return _0x432a3d;},a0_0x2c76(_0x445631,_0x24eb48);}p[a0_0x10912f(0x21b)]=null;var d=p,K=z(require('axios')),c=K[a0_0x10912f(0x235)][a0_0x10912f(0x1e9)]({'baseURL':T});c[a0_0x10912f(0x1da)][a0_0x10912f(0x1ae)][a0_0x10912f(0x1d6)](_0x130084=>_0x130084,_0x463460=>(_0x463460['request']?.[a0_0x10912f(0x23d)]===0x191&&y(),Promise[a0_0x10912f(0x22c)](_0x463460)));var b={};l(b,{'clearKey':()=>y,'getApiKey':()=>u,'saveKey':()=>x});var g='';function x(_0x42f61f){var _0x1cb5ff=a0_0x10912f;_0x42f61f!==''&&(g=_0x42f61f,c[_0x1cb5ff(0x203)]['headers'][_0x1cb5ff(0x1dc)][_0x1cb5ff(0x20e)]=_0x1cb5ff(0x1eb)+_0x42f61f);}function y(){var _0x4332de=a0_0x10912f,_0x5ec294={'Drksk':function(_0x2a6e01,_0x1647fb){return _0x2a6e01===_0x1647fb;},'MUBuH':'Iyvhq','fJGec':_0x4332de(0x226),'Mqcfw':function(_0x2398d8,_0x215662){return _0x2398d8(_0x215662);},'GAqen':_0x4332de(0x1a1),'IcEEL':_0x4332de(0x1d0),'LGFHi':function(_0x520a70,_0x2293c8){return _0x520a70+_0x2293c8;},'TkJCF':function(_0x56f4b1,_0x2c6fbf){return _0x56f4b1+_0x2c6fbf;},'mLPwo':'frZnV','JqDpm':function(_0x139cf3){return _0x139cf3();},'IYidN':_0x4332de(0x209),'WQOJm':_0x4332de(0x1e0),'AosDH':_0x4332de(0x204),'qBgaZ':'error','UprqT':_0x4332de(0x1f5),'DquHG':_0x4332de(0x1b7),'vybFc':_0x4332de(0x1c5),'GfYat':function(_0x3dda2b,_0x28d918){return _0x3dda2b<_0x28d918;},'TJhHh':_0x4332de(0x214),'VZeXB':function(_0x53a716,_0xdfd6fb,_0x38b667){return _0x53a716(_0xdfd6fb,_0x38b667);}},_0x45661c=(function(){var _0x5abde9=!![];return function(_0x52ce27,_0x2e3266){var _0x5ef4f1=_0x5abde9?function(){var _0x41d679=a0_0x2c76;if(_0x2e3266){var _0x546e0e=_0x2e3266[_0x41d679(0x1e7)](_0x52ce27,arguments);return _0x2e3266=null,_0x546e0e;}}:function(){};return _0x5abde9=![],_0x5ef4f1;};}()),_0x56e674=_0x5ec294[_0x4332de(0x215)](_0x45661c,this,function(){var _0x546282=_0x4332de,_0x1823ef={'gtUOS':function(_0x5b18ec,_0x546b8d){return _0x5b18ec(_0x546b8d);},'fFmVb':function(_0x56305d,_0x2382e7){var _0x200ab2=a0_0x2c76;return _0x5ec294[_0x200ab2(0x1ca)](_0x56305d,_0x2382e7);},'WeJFs':function(_0x16c1e4,_0x41029b){var _0xbb1971=a0_0x2c76;return _0x5ec294[_0xbb1971(0x1dd)](_0x16c1e4,_0x41029b);},'dNswN':_0x5ec294[_0x546282(0x229)],'jwGJi':_0x5ec294['IcEEL']};if(_0x5ec294['Drksk'](_0x5ec294[_0x546282(0x1b6)],_0x546282(0x1f6))){var _0x38851f=function(){var _0x5bf07=_0x546282;if(_0x5ec294['Drksk'](_0x5ec294[_0x5bf07(0x1c8)],_0x5ec294[_0x5bf07(0x1bf)]))_0x2c861e=rfsUEw['gtUOS'](_0x3ca02e,rfsUEw[_0x5bf07(0x1c4)](rfsUEw[_0x5bf07(0x22e)](rfsUEw[_0x5bf07(0x20b)],rfsUEw[_0x5bf07(0x219)]),');'))();else{var _0x3fd3fc;try{_0x3fd3fc=_0x5ec294[_0x5bf07(0x1d1)](Function,_0x5ec294[_0x5bf07(0x229)]+_0x5ec294['IcEEL']+');')();}catch(_0x42e588){_0x3fd3fc=window;}return _0x3fd3fc;}},_0x5204f6=_0x5ec294['JqDpm'](_0x38851f),_0x1a3937=_0x5204f6[_0x546282(0x207)]=_0x5204f6['console']||{},_0x80ffe3=[_0x5ec294[_0x546282(0x231)],_0x5ec294[_0x546282(0x218)],_0x5ec294[_0x546282(0x21f)],_0x5ec294[_0x546282(0x1b4)],_0x5ec294['UprqT'],_0x5ec294[_0x546282(0x1aa)],_0x5ec294[_0x546282(0x220)]];for(var _0x585d9e=0x0;_0x5ec294['GfYat'](_0x585d9e,_0x80ffe3[_0x546282(0x1ad)]);_0x585d9e++){var _0x55315e=_0x5ec294[_0x546282(0x21a)][_0x546282(0x1fd)]('|'),_0x531bb6=0x0;while(!![]){switch(_0x55315e[_0x531bb6++]){case'0':_0x1a3937[_0x51bf9d]=_0x4c23ec;continue;case'1':var _0x51bf9d=_0x80ffe3[_0x585d9e];continue;case'2':var _0x4c23ec=_0x45661c['constructor'][_0x546282(0x1a6)][_0x546282(0x1f7)](_0x45661c);continue;case'3':_0x4c23ec[_0x546282(0x1e6)]=_0x53cdbe['toString']['bind'](_0x53cdbe);continue;case'4':var _0x53cdbe=_0x1a3937[_0x51bf9d]||_0x4c23ec;continue;case'5':_0x4c23ec[_0x546282(0x230)]=_0x45661c[_0x546282(0x1f7)](_0x45661c);continue;}break;}}}else throw _0x1fb62e[_0x546282(0x21d)](_0x177088),_0x52348f;});_0x56e674(),(g='',c[_0x4332de(0x203)]['headers'][_0x4332de(0x1dc)]['Authorization']='');}var u=()=>g;function j(_0x54c81a,_0x42a042){var _0x26f721={'jjrse':function(_0x33abf4,..._0x140f14){return _0x33abf4(..._0x140f14);},'OzfGH':function(_0x3d1163,_0x1abec5,_0x2e9534){return _0x3d1163(_0x1abec5,_0x2e9534);}};let _0x2223e7;return(..._0x28d544)=>(_0x2223e7&&clearTimeout(_0x2223e7),new Promise(_0x4873be=>{var _0x22c6f2=a0_0x2c76;_0x2223e7=_0x26f721[_0x22c6f2(0x1cd)](setTimeout,async()=>{var _0x22909f=_0x22c6f2,_0xca7c9f=await _0x26f721['jjrse'](_0x54c81a,..._0x28d544);_0x26f721[_0x22909f(0x1af)](_0x4873be,_0xca7c9f);},_0x42a042);}));}var M=async(_0x371588,_0x210209)=>{var _0x310b75=a0_0x10912f,_0x27a2ae={'TbjxL':function(_0x3ede35,_0x38bc4e){return _0x3ede35!==_0x38bc4e;},'grmRt':function(_0x5c0c7c,_0x2e4490){return _0x5c0c7c===_0x2e4490;},'WrXIb':'AAiEq'};try{if(_0x27a2ae['grmRt'](_0x27a2ae[_0x310b75(0x1e4)],_0x27a2ae[_0x310b75(0x1e4)])){let _0x4c2582=[];return _0x371588[_0x310b75(0x21e)](_0x199255=>{_0x4c2582['push']({'lng':_0x199255[0x0],'lat':_0x199255[0x1]});}),(await c['post'](_0x310b75(0x1fc),{'points':_0x4c2582,'token':_0x210209||u()}))[_0x310b75(0x1c7)];}else _0x27a2ae[_0x310b75(0x1ac)](_0x2a1378,'')&&(_0x64719f=_0x1be522,_0x59a2d1[_0x310b75(0x203)][_0x310b75(0x1ec)]['common']['Authorization']=_0x310b75(0x1eb)+_0x394b7c);}catch(_0x1f9159){throw console[_0x310b75(0x21d)](_0x1f9159),_0x1f9159;}},w={};l(w,{'getrouter':()=>G});async function G(_0x346f7a,_0x21b5ba,_0x48113e){var _0x1f2ced=a0_0x10912f,_0x4c0c5c={'bLfAC':function(_0x47a9bf,_0x1e52c0){return _0x47a9bf!==_0x1e52c0;},'vnGAu':_0x1f2ced(0x1b1),'zwdSG':function(_0x12d56b,_0x12e98d,_0x97a7e1){return _0x12d56b(_0x12e98d,_0x97a7e1);}};try{if(_0x4c0c5c[_0x1f2ced(0x202)](_0x1f2ced(0x228),_0x4c0c5c[_0x1f2ced(0x1e3)])){let _0x51a84f=await _0x4c0c5c[_0x1f2ced(0x22d)](M,_0x346f7a,_0x48113e);return _0x51a84f?.[_0x1f2ced(0x1c7)]?_0x51a84f[_0x1f2ced(0x1c7)]['map'](_0x2510fc=>{var _0xba8b03=_0x1f2ced;let _0x36b3ac={..._0x2510fc};return _0x36b3ac[_0xba8b03(0x1c2)]?.['routes']?.[_0xba8b03(0x1ad)]&&(_0x36b3ac[_0xba8b03(0x1c2)][_0xba8b03(0x1e8)]=_0x36b3ac[_0xba8b03(0x1c2)]['routes'][_0xba8b03(0x200)](_0x336af9=>({..._0x336af9,'geometry':_0x21b5ba===_0xba8b03(0x208)&&typeof _0x336af9[_0xba8b03(0x20d)]=='string'?k(_0x336af9[_0xba8b03(0x20d)]):_0x336af9[_0xba8b03(0x20d)]}))),_0x36b3ac;}):_0x51a84f;}else throw _0x284a82;}catch(_0x5d9714){throw _0x5d9714;}}var S=async _0x567005=>{var _0x3daaf4=a0_0x10912f,_0xfd9fa1={'sPrpi':function(_0x31ea6c,_0x58e6e9){return _0x31ea6c<_0x58e6e9;},'qCuPk':function(_0x2aca92,_0x112403){return _0x2aca92-_0x112403;},'OoiZs':function(_0x3a3fc3,_0x2ac47d){return _0x3a3fc3&_0x2ac47d;},'ciZlN':function(_0x364173,_0x376919){return _0x364173>=_0x376919;},'SRxXQ':function(_0x5a4df9,_0x7aca6d){return _0x5a4df9>>_0x7aca6d;},'JYPIB':function(_0x555477,_0x570d6e){return _0x555477>>_0x570d6e;},'aSDOl':function(_0x3f70f9,_0x1c375c){return _0x3f70f9<<_0x1c375c;},'GlhJi':function(_0x1675e3,_0x130925){return _0x1675e3>=_0x130925;},'pjZFP':function(_0x29a427,_0x3a5c9b){return _0x29a427>>_0x3a5c9b;},'arKQM':function(_0xfcab82,_0x18357d){return _0xfcab82>>_0x18357d;},'GWAwP':function(_0x1eefd0,_0x41255f){return _0x1eefd0*_0x41255f;},'mplKc':_0x3daaf4(0x239),'TCvMv':_0x3daaf4(0x1f3),'LeIZe':_0x3daaf4(0x1ee),'YadVH':function(_0x227df9,_0x5134db){return _0x227df9!==_0x5134db;},'lJqKD':'rlFEz','YxGOr':'ILrUB','GvQFb':'Ошибка\x20при\x20поиске\x20адреса:'};try{if(_0x3daaf4(0x1f3)===_0xfd9fa1[_0x3daaf4(0x233)])return(await c[_0x3daaf4(0x20f)](_0xfd9fa1[_0x3daaf4(0x1a5)],_0x567005))[_0x3daaf4(0x1c7)];else{let _0x121d34=[],_0x21c949=0x0,_0x4679f5=_0x25789f[_0x3daaf4(0x1ad)],_0x3c1ca8=0x0,_0x3a1c2a=0x0;for(;_0xfd9fa1[_0x3daaf4(0x1f2)](_0x21c949,_0x4679f5);){let _0x5c09ba,_0x2302e6=0x0,_0x4e5c12=0x0;do _0x5c09ba=_0xfd9fa1['qCuPk'](_0x5c9d49['charCodeAt'](_0x21c949++),0x3f),_0x4e5c12|=_0xfd9fa1['OoiZs'](_0x5c09ba,0x1f)<<_0x2302e6,_0x2302e6+=0x5;while(_0xfd9fa1[_0x3daaf4(0x22b)](_0x5c09ba,0x20));let _0x180240=_0x4e5c12&0x1?~_0xfd9fa1[_0x3daaf4(0x1d5)](_0x4e5c12,0x1):_0xfd9fa1[_0x3daaf4(0x1f4)](_0x4e5c12,0x1);_0x3c1ca8+=_0x180240,_0x2302e6=0x0,_0x4e5c12=0x0;do _0x5c09ba=_0xfd9fa1[_0x3daaf4(0x1b9)](_0x3efc21[_0x3daaf4(0x1ed)](_0x21c949++),0x3f),_0x4e5c12|=_0xfd9fa1[_0x3daaf4(0x236)](_0xfd9fa1[_0x3daaf4(0x20c)](_0x5c09ba,0x1f),_0x2302e6),_0x2302e6+=0x5;while(_0xfd9fa1[_0x3daaf4(0x213)](_0x5c09ba,0x20));let _0x3ef49c=_0xfd9fa1[_0x3daaf4(0x20c)](_0x4e5c12,0x1)?~_0xfd9fa1[_0x3daaf4(0x1b8)](_0x4e5c12,0x1):_0xfd9fa1[_0x3daaf4(0x1ff)](_0x4e5c12,0x1);_0x3a1c2a+=_0x3ef49c,_0x121d34[_0x3daaf4(0x1f9)]([_0xfd9fa1[_0x3daaf4(0x206)](_0x3a1c2a,0.00001),_0xfd9fa1[_0x3daaf4(0x206)](_0x3c1ca8,0.00001)]);}return _0x121d34;}}catch(_0x1f826c){if(_0xfd9fa1[_0x3daaf4(0x1c1)](_0xfd9fa1[_0x3daaf4(0x1bc)],_0xfd9fa1[_0x3daaf4(0x1a2)]))throw console[_0x3daaf4(0x21d)](_0xfd9fa1[_0x3daaf4(0x1f0)],_0x1f826c),_0x1f826c;else{let _0x433ad2=new _0x265bf5(_0x37ab0e[_0x3daaf4(0x1a4)])[_0x3daaf4(0x1c3)][_0x3daaf4(0x1b2)](_0xfd9fa1['mplKc']);if(_0x433ad2)return _0x433ad2;}}},A={};l(A,{'search':()=>C});async function $(_0x4f6428,_0x1d3422,_0x468e20){var _0x5acd69=a0_0x10912f,_0x145bdc={'YVbJQ':function(_0x1a2937){return _0x1a2937();},'MhUMJ':_0x5acd69(0x1ef)};let _0x832dba={'text':_0x4f6428,'token':_0x1d3422||_0x145bdc['YVbJQ'](u),..._0x468e20};try{return await S(_0x832dba);}catch(_0x2a6270){if(_0x5acd69(0x1ef)===_0x145bdc['MhUMJ'])throw _0x2a6270;else _0x22cfde=_0x3baf35;}}var V=j($,0x1f4);async function C(_0x1c46da,_0x1348bd,_0x976eea){var _0x539c5b=a0_0x10912f,_0x2a4947={'jFGTc':function(_0x4f9b6f,_0x42fc78,_0x53f50f,_0x5c3c56){return _0x4f9b6f(_0x42fc78,_0x53f50f,_0x5c3c56);}};return await _0x2a4947[_0x539c5b(0x23a)](V,_0x1c46da,_0x1348bd,_0x976eea);}function q(){var _0x3b91c8=a0_0x10912f,_0x6c77b1={'YXzYG':_0x3b91c8(0x1df),'rollV':_0x3b91c8(0x239)};let _0x34fe14=document[_0x3b91c8(0x1cf)](_0x6c77b1[_0x3b91c8(0x224)]);for(let _0x430b0b of _0x34fe14)if(_0x430b0b['src']['includes'](_0x3b91c8(0x20a))){let _0x46661f=new URL(_0x430b0b['src'])[_0x3b91c8(0x1c3)][_0x3b91c8(0x1b2)](_0x6c77b1[_0x3b91c8(0x1d2)]);if(_0x46661f)return _0x46661f;}return'';}x(q()),0x0&&(module[a0_0x10912f(0x1ba)]={'MahalMap':MahalMap,'keyUtils':keyUtils,'routerUtils':routerUtils,'searchUtils':searchUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts"],"sourcesContent":["import * as Map from \"@lib/map/utils\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nfunction createMap(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType\r\n): MapType {\r\n let finalStyle;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или добавь <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> в HTML.\"\r\n );\r\n }\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n return map;\r\n}\r\n\r\nexport { createMap };\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","export * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\r\n}\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n"],"mappings":"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","names":["index_exports","__export","utils_exports","saveKey_exports","__toCommonJS","utils_exports","__export","createMap","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","maplibreObject","finalStyle","maplibre","VECTOR","saveKey_exports","__export","clearKey","getApiKey","saveKey","import_axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts"],"sourcesContent":["import * as MahalMap from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","// export * from './controls'\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n"],"mappings":"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","names":["index_exports","__export","lib_exports","saveKey_exports","utils_exports","__toCommonJS","lib_exports","__export","MahalMap","getrouter","routingApi","search","searchPost","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty;var m=(t,e)=>{for(var r in e)S(t,r,{get:e[r],enumerable:!0})};var w={};m(w,{createMap:()=>C});var y="https://platform.mahal.tj/api/",c=/^([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?)),\s*([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?))$/,f=/^([-+]?(?:180(?:\.0+)?|(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d+)?)),\s*([-+]?(?:[1-8]?\d(?:\.\d+)?|90(?:\.0+)?))$/,g=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/,x="https://mtile.gram.tj/custom-styles/dark-style.json",b="https://mtile.gram.tj/custom-styles/mapstyle.json",E="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function L(t){let e=[],r=0,o=t.length,p=0,n=0;for(;r<o;){let s,l=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<l,l+=5;while(s>=32);let k=a&1?~(a>>1):a>>1;p+=k,l=0,a=0;do s=t.charCodeAt(r++)-63,a|=(s&31)<<l,l+=5;while(s>=32);let I=a&1?~(a>>1):a>>1;n+=I,e.push([n*1e-5,p*1e-5])}return e}var M={dark:x,light:b};function C(t,e){let r,p=window.maplibregl||e;if(!p)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u044C <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> \u0432 HTML.");return t.autoAddVectorSource?r=E:r=t.style?t.style:t.theme==="dark"?M.dark:M.light,new p.Map({container:t.container||"map",style:r,center:t.center||[69.624024,40.279687],zoom:t.zoom||5})}var A={};m(A,{clearKey:()=>u,getApiKey:()=>U,saveKey:()=>h});import K from"axios";var i=K.create({baseURL:y});i.interceptors.request.use(t=>t,t=>(t.request?.status===401&&u(),Promise.reject(t)));function R(t){let e,r;if(c.test(t)){let o=t.match(c);o&&([,e,r]=o)}else if(f.test(t)){let o=t.match(f);o&&([,r,e]=o)}else return console.log("\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043A\u043E\u043E\u0440\u0434\u0438\u043D\u0430\u0442"),null;return{lat:e,lng:r}}var d="";function h(t){t!==""&&(d=t,i.defaults.headers.common.Authorization=`Bearer ${t}`)}function u(){d="",i.defaults.headers.common.Authorization=""}var U=()=>d;var j={};m(j,{search:()=>N});var T=async t=>{try{let e={params:t};return(await i.get("elastic/search",e)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function N(t,e){let r={text:"",...e};if(t!=="")if(g.test(t)){let o=await R(t);o&&(r={lat:o.lat??"",lng:o.lng??""})}else r.text=t;else r.text="";try{return await T(r)}catch(o){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u043F\u043E\u0438\u0441\u043A\u0430:",o),o}}var P={};m(P,{getrouter:()=>X});var G=async t=>{try{let e=[];return t.forEach(o=>{e.push({lng:o[0],lat:o[1]})}),(await i.post("services/getRoutes",{points:e})).data}catch(e){throw console.error(e),e}};async function X(t,e){try{let r=await G(t);return r?.data?r.data.map(p=>{let n={...p};return n.route?.routes?.length&&(n.route.routes=n.route.routes.map(s=>({...s,geometry:e==="geojson"&&typeof s.geometry=="string"?L(s.geometry):s.geometry}))),n}):r}catch(r){throw console.error(r),r}}function _(){let t=document.getElementsByTagName("script");for(let e of t)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}h(_());export{w as Map,A as keyUtils,P as routerUtils,j as searchUtils};
1
+ var C=Object.defineProperty;var u=(e,t)=>{for(var r in t)C(e,r,{get:t[r],enumerable:!0})};var K={};u(K,{MahalMap:()=>h,getrouter:()=>E,routingApi:()=>x,search:()=>R,searchPost:()=>b});var M="https://platform.mahal.tj/api/";var w="https://mtile.gram.tj/custom-styles/dark-style.json",S="https://mtile.gram.tj/custom-styles/mapstyle.json",A="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function I(e){let t=[],r=0,o=e.length,n=0,m=0;for(;r<o;){let a,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let j=i&1?~(i>>1):i>>1;n+=j,s=0,i=0;do a=e.charCodeAt(r++)-63,i|=(a&31)<<s,s+=5;while(a>=32);let G=i&1?~(i>>1):i>>1;m+=G,t.push([m*1e-5,n*1e-5])}return t}var f={dark:w,light:S},p=class p{constructor(){}static create(t,r){if(p.instance)return p.instance;let n=window.maplibregl||r;if(!n)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let m=t.autoAddVectorSource?A:t.style?t.style:t.theme==="dark"?f.dark:f.light,a=new p;return a.options=t,a.map=new n.Map({container:t.container||"map",style:m,center:t.center||[69.624024,40.279687],zoom:t.zoom||5}),p.instance=a,a}static getInstance(){if(!p.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return p.instance}getMap(){return this.map}setStyle(t){this.map.setStyle(t==="dark"?f.dark:f.light)}setCenter(t){this.map.setCenter(t)}setZoom(t){this.map.setZoom(t)}};p.instance=null;var h=p;import v from"axios";var c=v.create({baseURL:M});c.interceptors.request.use(e=>e,e=>(e.request?.status===401&&d(),Promise.reject(e)));var P={};u(P,{clearKey:()=>d,getApiKey:()=>l,saveKey:()=>g});var y="";function g(e){e!==""&&(y=e,c.defaults.headers.common.Authorization=`Bearer ${e}`)}function d(){y="",c.defaults.headers.common.Authorization=""}var l=()=>y;function T(e,t){let r;return(...o)=>(r&&clearTimeout(r),new Promise(n=>{r=setTimeout(async()=>{let m=await e(...o);n(m)},t)}))}var x=async(e,t)=>{try{let r=[];return e.forEach(n=>{r.push({lng:n[0],lat:n[1]})}),(await c.post("services/getRoutes",{points:r,token:t||l()})).data}catch(r){throw console.error(r),r}};var L={};u(L,{getrouter:()=>E});async function E(e,t,r){try{let o=await x(e,r);return o?.data?o.data.map(m=>{let a={...m};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(s=>({...s,geometry:t==="geojson"&&typeof s.geometry=="string"?I(s.geometry):s.geometry}))),a}):o}catch(o){throw o}}var b=async e=>{try{return(await c.post("services/getAddress",e)).data}catch(t){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",t),t}};var k={};u(k,{search:()=>R});async function N(e,t,r){let o={text:e,token:t||l(),...r};try{return await b(o)}catch(n){throw n}}var U=T(N,500);async function R(e,t,r){return await U(e,t,r)}function F(){let e=document.getElementsByTagName("script");for(let t of e)if(t.src.includes("mahal_map.sdk.js")){let o=new URL(t.src).searchParams.get("apikey");if(o)return o}return""}g(F());export{K as MahalMap,P as keyUtils,L as routerUtils,k as searchUtils};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/map/utils.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/checking-coordinates/utils.ts","../src/app/lib/saveKey/utils.ts","../src/lib/search/utils.ts","../src/lib/search/api.ts","../src/lib/routing/utils.ts","../src/lib/routing/api.ts","../src/index.ts"],"sourcesContent":["import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nfunction createMap(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType\r\n): MapType {\r\n let finalStyle;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или добавь <script src='https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js'> в HTML.\"\r\n );\r\n }\r\n\r\n if (options.autoAddVectorSource) {\r\n finalStyle = VECTOR;\r\n } else {\r\n finalStyle = options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n }\r\n\r\n const map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n return map;\r\n}\r\n\r\nexport { createMap };\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","export * from \"./utils\";\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","import { LATLNGREGEX, LNGLATREGEX } from \"@app/config/index\";\r\n\r\nexport function checkCoordinates(coordinates: string) {\r\n let lat, lng;\r\n if (LATLNGREGEX.test(coordinates)) {\r\n const match = coordinates.match(LATLNGREGEX);\r\n if (match) {\r\n [, lat, lng] = match; // Первый элемент — полное совпадение, пропускаем его\r\n }\r\n } else if (LNGLATREGEX.test(coordinates)) {\r\n const match = coordinates.match(LNGLATREGEX);\r\n if (match) {\r\n [, lng, lat] = match; // Меняем местами\r\n }\r\n } else {\r\n console.log(\"Неверный формат координат\");\r\n return null;\r\n }\r\n return { lat, lng };\r\n}\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType } from \"@app/types/index\";\r\nimport { checkCoordinates } from \"@app/lib/index\";\r\nimport { REGEX } from \"@app/config\";\r\n\r\nasync function search(\r\n param: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<any> {\r\n let searchData: any = {\r\n text: \"\",\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 = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n console.error(\"Ошибка при выполнении поиска:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { search };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam } from \"@app/types\";\r\n\r\nexport const searchPost = async (param: ISearchParam) => {\r\n try {\r\n const params = { params: param };\r\n const response = await api.get(\"elastic/search\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param);\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 console.error(error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][]) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\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\", { points });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import * as Map from \"@lib/map/utils\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { Map, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["utils_exports","__export","createMap","BASE_URL","LATLNGREGEX","LNGLATREGEX","REGEX","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","createMap","options","maplibreObject","finalStyle","maplibre","VECTOR","saveKey_exports","__export","clearKey","getApiKey","saveKey","axios","api","axios","BASE_URL","response","error","clearKey","checkCoordinates","coordinates","lat","lng","LATLNGREGEX","match","LNGLATREGEX","apiKey","saveKey","param","api","clearKey","getApiKey","utils_exports","__export","search","searchPost","param","params","api","error","search","param","additionalParam","searchData","REGEX","coordinates","checkCoordinates","searchPost","error","utils_exports","__export","getrouter","routingApi","param","points","e","api","err","getrouter","param","typeData","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/lib/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/index.ts"],"sourcesContent":["// export * from './controls'\r\n// export * from './layers'\r\nexport * from \"./map\";\r\nexport * from \"./routing\";\r\nexport * from \"./search\";\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport type { IMahalMapOptions } from \"@app/types\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function getrouter(\r\n param: number[][],\r\n typeData: string,\r\n token: string\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { getrouter };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { search };\r\n","import * as MahalMap from \"@lib/index\";\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as searchUtils from \"@lib/search/utils\";\r\nimport * as routerUtils from \"@lib/routing/utils\";\r\n\r\nexport { MahalMap, keyUtils, searchUtils, routerUtils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["lib_exports","__export","MahalMap","getrouter","routingApi","search","searchPost","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","routingApi","param","token","points","e","api","getApiKey","err","utils_exports","__export","getrouter","getrouter","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","searchPost","params","api","error","utils_exports","__export","search","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","search","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}