@inceptionbg/main 2.0.134 → 2.0.136

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.
@@ -1,670 +1,671 @@
1
1
  import { NavigateFunction, Location, LinkProps } from 'react-router-dom';
2
2
 
3
- declare const ModuleIds = [
4
- 'ADMIN',
5
- 'EARCHIVE',
6
- 'ERDS',
7
- 'EINVOICE',
8
- 'EFORMS',
9
- 'EDMS',
10
- 'ESIGN',
11
- 'EVALIDATION',
12
- 'EPROCUREMENT',
13
- 'EREGISTER',
14
- 'PAM',
15
- 'ERP_CASH_REGISTER',
16
- 'ERP_RIF',
17
- 'ERP_MAT_ACC',
18
- 'ERP_SMALL_INVENTORY',
19
- 'ERP_WMS',
3
+ declare const ModuleIds = [
4
+ 'ADMIN',
5
+ 'EARCHIVE',
6
+ 'ERDS',
7
+ 'EINVOICE',
8
+ 'EFORMS',
9
+ 'EDMS',
10
+ 'ESIGN',
11
+ 'EVALIDATION',
12
+ 'EPROCUREMENT',
13
+ 'EREGISTER',
14
+ 'PAM',
15
+ 'ERP_CASH_REGISTER',
16
+ 'ERP_RIF',
17
+ 'ERP_MAT_ACC',
18
+ 'ERP_SMALL_INVENTORY',
19
+ 'ERP_WMS',
20
20
  ] as const;
21
21
 
22
22
  type IModuleId = (typeof ModuleIds)[number];
23
23
 
24
- type IEnv = 'DEV' | 'TEST' | 'PROD' | 'LOCAL' | 'UAT' | 'TEST_PPLCG';
25
- type IServiceApi =
26
- | 'auth'
27
- | 'idm'
28
- | 'codebook'
29
- | 'auditLog'
30
- | 'notifications'
31
- | 'indexData'
32
- | 'registration'
33
- | 'reportTemplates'
34
- | 'procurement'
35
- | 'archive'
36
- | 'invoice'
37
- | 'rif'
38
- | 'cashRegister'
39
- | 'jisuszProxy';
40
-
41
- // TypeScript Version: 4.7
42
- type AxiosHeaderValue = AxiosHeaders | string | string[] | number | boolean | null;
43
-
44
- type CustomHeader = {
45
- public?: boolean;
46
- baseUrl?: string;
47
- service?: IServiceApi;
48
- token?: string;
49
- noToast?: boolean;
50
- noErrors?: boolean;
51
- };
52
-
53
- interface RawAxiosHeaders {
54
- [key: string]: AxiosHeaderValue;
55
- }
56
-
57
- type MethodsHeaders = Partial<
58
- {
59
- [Key in Method as Lowercase<Key>]: AxiosHeaders;
60
- } & { common: AxiosHeaders }
61
- >;
62
-
63
- type AxiosHeaderMatcher =
64
- | string
65
- | RegExp
66
- | ((this: AxiosHeaders, value: string, name: string) => boolean);
67
-
68
- type AxiosHeaderParser = (
69
- this: AxiosHeaders,
70
- value: AxiosHeaderValue,
71
- header: string
72
- ) => any;
73
-
74
- declare class AxiosHeaders {
75
- constructor(headers?: RawAxiosHeaders | AxiosHeaders | string);
76
-
77
- [key: string]: any;
78
-
79
- set(
80
- headerName?: string,
81
- value?: AxiosHeaderValue,
82
- rewrite?: boolean | AxiosHeaderMatcher
83
- ): AxiosHeaders;
84
- set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean): AxiosHeaders;
85
-
86
- get(headerName: string, parser: RegExp): RegExpExecArray | null;
87
- get(headerName: string, matcher?: true | AxiosHeaderParser): AxiosHeaderValue;
88
-
89
- has(header: string, matcher?: AxiosHeaderMatcher): boolean;
90
-
91
- delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean;
92
-
93
- clear(matcher?: AxiosHeaderMatcher): boolean;
94
-
95
- normalize(format: boolean): AxiosHeaders;
96
-
97
- concat(
98
- ...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>
99
- ): AxiosHeaders;
100
-
101
- toJSON(asStrings?: boolean): RawAxiosHeaders;
102
-
103
- static from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders;
104
-
105
- static accessor(header: string | string[]): AxiosHeaders;
106
-
107
- static concat(
108
- ...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>
109
- ): AxiosHeaders;
110
-
111
- setContentType(
112
- value: ContentType,
113
- rewrite?: boolean | AxiosHeaderMatcher
114
- ): AxiosHeaders;
115
- getContentType(parser?: RegExp): RegExpExecArray | null;
116
- getContentType(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
117
- hasContentType(matcher?: AxiosHeaderMatcher): boolean;
118
-
119
- setContentLength(
120
- value: AxiosHeaderValue,
121
- rewrite?: boolean | AxiosHeaderMatcher
122
- ): AxiosHeaders;
123
- getContentLength(parser?: RegExp): RegExpExecArray | null;
124
- getContentLength(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
125
- hasContentLength(matcher?: AxiosHeaderMatcher): boolean;
126
-
127
- setAccept(
128
- value: AxiosHeaderValue,
129
- rewrite?: boolean | AxiosHeaderMatcher
130
- ): AxiosHeaders;
131
- getAccept(parser?: RegExp): RegExpExecArray | null;
132
- getAccept(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
133
- hasAccept(matcher?: AxiosHeaderMatcher): boolean;
134
-
135
- setUserAgent(
136
- value: AxiosHeaderValue,
137
- rewrite?: boolean | AxiosHeaderMatcher
138
- ): AxiosHeaders;
139
- getUserAgent(parser?: RegExp): RegExpExecArray | null;
140
- getUserAgent(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
141
- hasUserAgent(matcher?: AxiosHeaderMatcher): boolean;
142
-
143
- setContentEncoding(
144
- value: AxiosHeaderValue,
145
- rewrite?: boolean | AxiosHeaderMatcher
146
- ): AxiosHeaders;
147
- getContentEncoding(parser?: RegExp): RegExpExecArray | null;
148
- getContentEncoding(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
149
- hasContentEncoding(matcher?: AxiosHeaderMatcher): boolean;
150
-
151
- setAuthorization(
152
- value: AxiosHeaderValue,
153
- rewrite?: boolean | AxiosHeaderMatcher
154
- ): AxiosHeaders;
155
- getAuthorization(parser?: RegExp): RegExpExecArray | null;
156
- getAuthorization(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
157
- hasAuthorization(matcher?: AxiosHeaderMatcher): boolean;
158
-
159
- [Symbol.iterator](): IterableIterator<[string, AxiosHeaderValue]>;
160
- }
161
-
162
- type CommonRequestHeadersList =
163
- | 'Accept'
164
- | 'Content-Length'
165
- | 'User-Agent'
166
- | 'Content-Encoding'
167
- | 'Authorization';
168
-
169
- type ContentType =
170
- | AxiosHeaderValue
171
- | 'text/html'
172
- | 'text/plain'
173
- | 'multipart/form-data'
174
- | 'application/json'
175
- | 'application/x-www-form-urlencoded'
176
- | 'application/octet-stream';
177
-
178
- type RawAxiosRequestHeaders = Partial<
179
- RawAxiosHeaders & {
180
- [Key in CommonRequestHeadersList]: AxiosHeaderValue;
181
- } & {
182
- 'Content-Type': ContentType;
183
- }
184
- >;
185
-
186
- type AxiosRequestHeaders = RawAxiosRequestHeaders & AxiosHeaders;
187
-
188
- type CommonResponseHeadersList =
189
- | 'Server'
190
- | 'Content-Type'
191
- | 'Content-Length'
192
- | 'Cache-Control'
193
- | 'Content-Encoding';
194
-
195
- type RawCommonResponseHeaders = {
196
- [Key in CommonResponseHeadersList]: AxiosHeaderValue;
197
- } & {
198
- 'set-cookie': string[];
199
- };
200
-
201
- type RawAxiosResponseHeaders = Partial<RawAxiosHeaders & RawCommonResponseHeaders>;
202
-
203
- type AxiosResponseHeaders = RawAxiosResponseHeaders & AxiosHeaders;
204
-
205
- interface AxiosRequestTransformer {
206
- (this: InternalAxiosRequestConfig, data: any, headers: AxiosRequestHeaders): any;
207
- }
208
-
209
- interface AxiosResponseTransformer {
210
- (
211
- this: InternalAxiosRequestConfig,
212
- data: any,
213
- headers: AxiosResponseHeaders,
214
- status?: number
215
- ): any;
216
- }
217
-
218
- interface AxiosAdapter {
219
- (config: InternalAxiosRequestConfig): AxiosPromise;
220
- }
221
-
222
- interface AxiosBasicCredentials {
223
- username: string;
224
- password: string;
225
- }
226
-
227
- interface AxiosProxyConfig {
228
- host: string;
229
- port: number;
230
- auth?: AxiosBasicCredentials;
231
- protocol?: string;
232
- }
233
-
234
- declare enum HttpStatusCode {
235
- Continue = 100,
236
- SwitchingProtocols = 101,
237
- Processing = 102,
238
- EarlyHints = 103,
239
- Ok = 200,
240
- Created = 201,
241
- Accepted = 202,
242
- NonAuthoritativeInformation = 203,
243
- NoContent = 204,
244
- ResetContent = 205,
245
- PartialContent = 206,
246
- MultiStatus = 207,
247
- AlreadyReported = 208,
248
- ImUsed = 226,
249
- MultipleChoices = 300,
250
- MovedPermanently = 301,
251
- Found = 302,
252
- SeeOther = 303,
253
- NotModified = 304,
254
- UseProxy = 305,
255
- Unused = 306,
256
- TemporaryRedirect = 307,
257
- PermanentRedirect = 308,
258
- BadRequest = 400,
259
- Unauthorized = 401,
260
- PaymentRequired = 402,
261
- Forbidden = 403,
262
- NotFound = 404,
263
- MethodNotAllowed = 405,
264
- NotAcceptable = 406,
265
- ProxyAuthenticationRequired = 407,
266
- RequestTimeout = 408,
267
- Conflict = 409,
268
- Gone = 410,
269
- LengthRequired = 411,
270
- PreconditionFailed = 412,
271
- PayloadTooLarge = 413,
272
- UriTooLong = 414,
273
- UnsupportedMediaType = 415,
274
- RangeNotSatisfiable = 416,
275
- ExpectationFailed = 417,
276
- ImATeapot = 418,
277
- MisdirectedRequest = 421,
278
- UnprocessableEntity = 422,
279
- Locked = 423,
280
- FailedDependency = 424,
281
- TooEarly = 425,
282
- UpgradeRequired = 426,
283
- PreconditionRequired = 428,
284
- TooManyRequests = 429,
285
- RequestHeaderFieldsTooLarge = 431,
286
- UnavailableForLegalReasons = 451,
287
- InternalServerError = 500,
288
- NotImplemented = 501,
289
- BadGateway = 502,
290
- ServiceUnavailable = 503,
291
- GatewayTimeout = 504,
292
- HttpVersionNotSupported = 505,
293
- VariantAlsoNegotiates = 506,
294
- InsufficientStorage = 507,
295
- LoopDetected = 508,
296
- NotExtended = 510,
297
- NetworkAuthenticationRequired = 511,
298
- }
299
-
300
- type Method =
301
- | 'get'
302
- | 'GET'
303
- | 'delete'
304
- | 'DELETE'
305
- | 'head'
306
- | 'HEAD'
307
- | 'options'
308
- | 'OPTIONS'
309
- | 'post'
310
- | 'POST'
311
- | 'put'
312
- | 'PUT'
313
- | 'patch'
314
- | 'PATCH'
315
- | 'purge'
316
- | 'PURGE'
317
- | 'link'
318
- | 'LINK'
319
- | 'unlink'
320
- | 'UNLINK';
321
-
322
- type ResponseType =
323
- | 'arraybuffer'
324
- | 'blob'
325
- | 'document'
326
- | 'json'
327
- | 'text'
328
- | 'stream'
329
- | 'formdata';
330
-
331
- type responseEncoding =
332
- | 'ascii'
333
- | 'ASCII'
334
- | 'ansi'
335
- | 'ANSI'
336
- | 'binary'
337
- | 'BINARY'
338
- | 'base64'
339
- | 'BASE64'
340
- | 'base64url'
341
- | 'BASE64URL'
342
- | 'hex'
343
- | 'HEX'
344
- | 'latin1'
345
- | 'LATIN1'
346
- | 'ucs-2'
347
- | 'UCS-2'
348
- | 'ucs2'
349
- | 'UCS2'
350
- | 'utf-8'
351
- | 'UTF-8'
352
- | 'utf8'
353
- | 'UTF8'
354
- | 'utf16le'
355
- | 'UTF16LE';
356
-
357
- interface TransitionalOptions {
358
- silentJSONParsing?: boolean;
359
- forcedJSONParsing?: boolean;
360
- clarifyTimeoutError?: boolean;
361
- }
362
-
363
- interface GenericAbortSignal {
364
- readonly aborted: boolean;
365
- onabort?: ((...args: any) => any) | null;
366
- addEventListener?: (...args: any) => any;
367
- removeEventListener?: (...args: any) => any;
368
- }
369
-
370
- interface FormDataVisitorHelpers {
371
- defaultVisitor: SerializerVisitor;
372
- convertValue: (value: any) => any;
373
- isVisitable: (value: any) => boolean;
374
- }
375
-
376
- interface SerializerVisitor {
377
- (
378
- this: GenericFormData,
379
- value: any,
380
- key: string | number,
381
- path: null | Array<string | number>,
382
- helpers: FormDataVisitorHelpers
383
- ): boolean;
384
- }
385
-
386
- interface SerializerOptions {
387
- visitor?: SerializerVisitor;
388
- dots?: boolean;
389
- metaTokens?: boolean;
390
- indexes?: boolean | null;
391
- }
392
-
393
- // tslint:disable-next-line
394
- interface FormSerializerOptions extends SerializerOptions {}
395
-
396
- interface ParamEncoder {
397
- (value: any, defaultEncoder: (value: any) => any): any;
398
- }
399
-
400
- interface CustomParamsSerializer {
401
- (params: Record<string, any>, options?: ParamsSerializerOptions): string;
402
- }
403
-
404
- interface ParamsSerializerOptions extends SerializerOptions {
405
- encode?: ParamEncoder;
406
- serialize?: CustomParamsSerializer;
407
- }
408
-
409
- type MaxUploadRate = number;
410
-
411
- type MaxDownloadRate = number;
412
-
413
- type BrowserProgressEvent = any;
414
-
415
- interface AxiosProgressEvent {
416
- loaded: number;
417
- total?: number;
418
- progress?: number;
419
- bytes: number;
420
- rate?: number;
421
- estimated?: number;
422
- upload?: boolean;
423
- download?: boolean;
424
- event?: BrowserProgressEvent;
425
- lengthComputable: boolean;
426
- }
427
-
428
- type Milliseconds = number;
429
-
430
- type AxiosAdapterName = 'fetch' | 'xhr' | 'http' | string;
431
-
432
- type AxiosAdapterConfig = AxiosAdapter | AxiosAdapterName;
433
-
434
- type AddressFamily = 4 | 6 | undefined;
435
-
436
- interface LookupAddressEntry {
437
- address: string;
438
- family?: AddressFamily;
439
- }
440
-
441
- type LookupAddress = string | LookupAddressEntry;
442
-
443
- interface AxiosRequestConfig<D = any> {
444
- url?: string;
445
- method?: Method | string;
446
- baseURL?: string;
447
- transformRequest?: AxiosRequestTransformer | AxiosRequestTransformer[];
448
- transformResponse?: AxiosResponseTransformer | AxiosResponseTransformer[];
449
- headers?: ((RawAxiosRequestHeaders & MethodsHeaders) | AxiosHeaders) & CustomHeader;
450
- params?: any;
451
- paramsSerializer?: ParamsSerializerOptions | CustomParamsSerializer;
452
- data?: D;
453
- timeout?: Milliseconds;
454
- timeoutErrorMessage?: string;
455
- withCredentials?: boolean;
456
- adapter?: AxiosAdapterConfig | AxiosAdapterConfig[];
457
- auth?: AxiosBasicCredentials;
458
- responseType?: ResponseType;
459
- responseEncoding?: responseEncoding | string;
460
- xsrfCookieName?: string;
461
- xsrfHeaderName?: string;
462
- onUploadProgress?: (progressEvent: AxiosProgressEvent) => void;
463
- onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void;
464
- maxContentLength?: number;
465
- validateStatus?: ((status: number) => boolean) | null;
466
- maxBodyLength?: number;
467
- maxRedirects?: number;
468
- maxRate?: number | [MaxUploadRate, MaxDownloadRate];
469
- beforeRedirect?: (
470
- options: Record<string, any>,
471
- responseDetails: { headers: Record<string, string>; statusCode: HttpStatusCode }
472
- ) => void;
473
- socketPath?: string | null;
474
- transport?: any;
475
- httpAgent?: any;
476
- httpsAgent?: any;
477
- proxy?: AxiosProxyConfig | false;
478
- cancelToken?: CancelToken;
479
- decompress?: boolean;
480
- transitional?: TransitionalOptions;
481
- signal?: GenericAbortSignal;
482
- insecureHTTPParser?: boolean;
483
- env?: {
484
- FormData?: new (...args: any[]) => object;
485
- };
486
- formSerializer?: FormSerializerOptions;
487
- family?: AddressFamily;
488
- lookup?:
489
- | ((
490
- hostname: string,
491
- options: object,
492
- cb: (
493
- err: Error | null,
494
- address: LookupAddress | LookupAddress[],
495
- family?: AddressFamily
496
- ) => void
497
- ) => void)
498
- | ((
499
- hostname: string,
500
- options: object
501
- ) => Promise<
502
- | [address: LookupAddressEntry | LookupAddressEntry[], family?: AddressFamily]
503
- | LookupAddress
504
- >);
505
- withXSRFToken?: boolean | ((config: InternalAxiosRequestConfig) => boolean | undefined);
506
- fetchOptions?: Record<string, any>;
507
- }
508
-
509
- interface InternalAxiosRequestConfig<D = any> extends AxiosRequestConfig<D> {
510
- headers: AxiosRequestHeaders;
511
- }
512
-
513
- interface HeadersDefaults {
514
- common: RawAxiosRequestHeaders;
515
- delete: RawAxiosRequestHeaders;
516
- get: RawAxiosRequestHeaders;
517
- head: RawAxiosRequestHeaders;
518
- post: RawAxiosRequestHeaders;
519
- put: RawAxiosRequestHeaders;
520
- patch: RawAxiosRequestHeaders;
521
- options?: RawAxiosRequestHeaders;
522
- purge?: RawAxiosRequestHeaders;
523
- link?: RawAxiosRequestHeaders;
524
- unlink?: RawAxiosRequestHeaders;
525
- }
526
-
527
- interface AxiosDefaults<D = any> extends Omit<AxiosRequestConfig<D>, 'headers'> {
528
- headers: HeadersDefaults;
529
- }
530
-
531
- interface AxiosResponse<T = any, D = any> {
532
- data: T;
533
- status: number;
534
- statusText: string;
535
- headers: RawAxiosResponseHeaders | AxiosResponseHeaders;
536
- config: InternalAxiosRequestConfig<D>;
537
- request?: any;
538
- }
539
-
540
- type AxiosPromise<T = any> = Promise<AxiosResponse<T>>;
541
-
542
- interface Cancel {
543
- message: string | undefined;
544
- }
545
-
546
- interface CancelToken {
547
- promise: Promise<Cancel>;
548
- reason?: Cancel;
549
- throwIfRequested(): void;
550
- }
551
-
552
- interface AxiosInterceptorOptions {
553
- synchronous?: boolean;
554
- runWhen?: (config: InternalAxiosRequestConfig) => boolean;
555
- }
556
-
557
- interface AxiosInterceptorManager<V> {
558
- use(
559
- onFulfilled?: ((value: V) => V | Promise<V>) | null,
560
- onRejected?: ((error: any) => any) | null,
561
- options?: AxiosInterceptorOptions
562
- ): number;
563
- eject(id: number): void;
564
- clear(): void;
565
- }
566
-
567
- declare class Axios {
568
- constructor(config?: AxiosRequestConfig);
569
- defaults: AxiosDefaults;
570
- interceptors: {
571
- request: AxiosInterceptorManager<InternalAxiosRequestConfig>;
572
- response: AxiosInterceptorManager<AxiosResponse>;
573
- };
574
- getUri(config?: AxiosRequestConfig): string;
575
- request<T = any, R = AxiosResponse<T>, D = any>(
576
- config: AxiosRequestConfig<D>
577
- ): Promise<R>;
578
- get<T = any, R = AxiosResponse<T>, D = any>(
579
- url: string,
580
- config?: AxiosRequestConfig<D>
581
- ): Promise<R>;
582
- delete<T = any, R = AxiosResponse<T>, D = any>(
583
- url: string,
584
- config?: AxiosRequestConfig<D>
585
- ): Promise<R>;
586
- head<T = any, R = AxiosResponse<T>, D = any>(
587
- url: string,
588
- config?: AxiosRequestConfig<D>
589
- ): Promise<R>;
590
- options<T = any, R = AxiosResponse<T>, D = any>(
591
- url: string,
592
- config?: AxiosRequestConfig<D>
593
- ): Promise<R>;
594
- post<T = any, R = AxiosResponse<T>, D = any>(
595
- url: string,
596
- data?: D,
597
- config?: AxiosRequestConfig<D>
598
- ): Promise<R>;
599
- put<T = any, R = AxiosResponse<T>, D = any>(
600
- url: string,
601
- data?: D,
602
- config?: AxiosRequestConfig<D>
603
- ): Promise<R>;
604
- patch<T = any, R = AxiosResponse<T>, D = any>(
605
- url: string,
606
- data?: D,
607
- config?: AxiosRequestConfig<D>
608
- ): Promise<R>;
609
- postForm<T = any, R = AxiosResponse<T>, D = any>(
610
- url: string,
611
- data?: D,
612
- config?: AxiosRequestConfig<D>
613
- ): Promise<R>;
614
- putForm<T = any, R = AxiosResponse<T>, D = any>(
615
- url: string,
616
- data?: D,
617
- config?: AxiosRequestConfig<D>
618
- ): Promise<R>;
619
- patchForm<T = any, R = AxiosResponse<T>, D = any>(
620
- url: string,
621
- data?: D,
622
- config?: AxiosRequestConfig<D>
623
- ): Promise<R>;
624
- }
625
-
626
- interface AxiosInstance extends Axios {
627
- <T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
628
- <T = any, R = AxiosResponse<T>, D = any>(
629
- url: string,
630
- config?: AxiosRequestConfig<D>
631
- ): Promise<R>;
632
-
633
- defaults: Omit<AxiosDefaults, 'headers'> & {
634
- headers: HeadersDefaults & {
635
- [key: string]: AxiosHeaderValue;
636
- };
637
- };
638
- }
639
-
640
- interface GenericFormData {
641
- append(name: string, value: any, options?: any): any;
24
+ type IEnv = 'DEV' | 'TEST' | 'PROD' | 'LOCAL' | 'UAT' | 'TEST_PPLCG';
25
+ type IServiceApi =
26
+ | 'auth'
27
+ | 'idm'
28
+ | 'codebook'
29
+ | 'auditLog'
30
+ | 'notifications'
31
+ | 'indexData'
32
+ | 'registration'
33
+ | 'reportTemplates'
34
+ | 'procurement'
35
+ | 'archive'
36
+ | 'invoice'
37
+ | 'rif'
38
+ | 'cashRegister'
39
+ | 'jisuszProxy'
40
+ | 'article';
41
+
42
+ // TypeScript Version: 4.7
43
+ type AxiosHeaderValue = AxiosHeaders | string | string[] | number | boolean | null;
44
+
45
+ type CustomHeader = {
46
+ public?: boolean;
47
+ baseUrl?: string;
48
+ service?: IServiceApi;
49
+ token?: string;
50
+ noToast?: boolean;
51
+ noErrors?: boolean;
52
+ };
53
+
54
+ interface RawAxiosHeaders {
55
+ [key: string]: AxiosHeaderValue;
56
+ }
57
+
58
+ type MethodsHeaders = Partial<
59
+ {
60
+ [Key in Method as Lowercase<Key>]: AxiosHeaders;
61
+ } & { common: AxiosHeaders }
62
+ >;
63
+
64
+ type AxiosHeaderMatcher =
65
+ | string
66
+ | RegExp
67
+ | ((this: AxiosHeaders, value: string, name: string) => boolean);
68
+
69
+ type AxiosHeaderParser = (
70
+ this: AxiosHeaders,
71
+ value: AxiosHeaderValue,
72
+ header: string
73
+ ) => any;
74
+
75
+ declare class AxiosHeaders {
76
+ constructor(headers?: RawAxiosHeaders | AxiosHeaders | string);
77
+
78
+ [key: string]: any;
79
+
80
+ set(
81
+ headerName?: string,
82
+ value?: AxiosHeaderValue,
83
+ rewrite?: boolean | AxiosHeaderMatcher
84
+ ): AxiosHeaders;
85
+ set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean): AxiosHeaders;
86
+
87
+ get(headerName: string, parser: RegExp): RegExpExecArray | null;
88
+ get(headerName: string, matcher?: true | AxiosHeaderParser): AxiosHeaderValue;
89
+
90
+ has(header: string, matcher?: AxiosHeaderMatcher): boolean;
91
+
92
+ delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean;
93
+
94
+ clear(matcher?: AxiosHeaderMatcher): boolean;
95
+
96
+ normalize(format: boolean): AxiosHeaders;
97
+
98
+ concat(
99
+ ...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>
100
+ ): AxiosHeaders;
101
+
102
+ toJSON(asStrings?: boolean): RawAxiosHeaders;
103
+
104
+ static from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders;
105
+
106
+ static accessor(header: string | string[]): AxiosHeaders;
107
+
108
+ static concat(
109
+ ...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>
110
+ ): AxiosHeaders;
111
+
112
+ setContentType(
113
+ value: ContentType,
114
+ rewrite?: boolean | AxiosHeaderMatcher
115
+ ): AxiosHeaders;
116
+ getContentType(parser?: RegExp): RegExpExecArray | null;
117
+ getContentType(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
118
+ hasContentType(matcher?: AxiosHeaderMatcher): boolean;
119
+
120
+ setContentLength(
121
+ value: AxiosHeaderValue,
122
+ rewrite?: boolean | AxiosHeaderMatcher
123
+ ): AxiosHeaders;
124
+ getContentLength(parser?: RegExp): RegExpExecArray | null;
125
+ getContentLength(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
126
+ hasContentLength(matcher?: AxiosHeaderMatcher): boolean;
127
+
128
+ setAccept(
129
+ value: AxiosHeaderValue,
130
+ rewrite?: boolean | AxiosHeaderMatcher
131
+ ): AxiosHeaders;
132
+ getAccept(parser?: RegExp): RegExpExecArray | null;
133
+ getAccept(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
134
+ hasAccept(matcher?: AxiosHeaderMatcher): boolean;
135
+
136
+ setUserAgent(
137
+ value: AxiosHeaderValue,
138
+ rewrite?: boolean | AxiosHeaderMatcher
139
+ ): AxiosHeaders;
140
+ getUserAgent(parser?: RegExp): RegExpExecArray | null;
141
+ getUserAgent(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
142
+ hasUserAgent(matcher?: AxiosHeaderMatcher): boolean;
143
+
144
+ setContentEncoding(
145
+ value: AxiosHeaderValue,
146
+ rewrite?: boolean | AxiosHeaderMatcher
147
+ ): AxiosHeaders;
148
+ getContentEncoding(parser?: RegExp): RegExpExecArray | null;
149
+ getContentEncoding(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
150
+ hasContentEncoding(matcher?: AxiosHeaderMatcher): boolean;
151
+
152
+ setAuthorization(
153
+ value: AxiosHeaderValue,
154
+ rewrite?: boolean | AxiosHeaderMatcher
155
+ ): AxiosHeaders;
156
+ getAuthorization(parser?: RegExp): RegExpExecArray | null;
157
+ getAuthorization(matcher?: AxiosHeaderMatcher): AxiosHeaderValue;
158
+ hasAuthorization(matcher?: AxiosHeaderMatcher): boolean;
159
+
160
+ [Symbol.iterator](): IterableIterator<[string, AxiosHeaderValue]>;
161
+ }
162
+
163
+ type CommonRequestHeadersList =
164
+ | 'Accept'
165
+ | 'Content-Length'
166
+ | 'User-Agent'
167
+ | 'Content-Encoding'
168
+ | 'Authorization';
169
+
170
+ type ContentType =
171
+ | AxiosHeaderValue
172
+ | 'text/html'
173
+ | 'text/plain'
174
+ | 'multipart/form-data'
175
+ | 'application/json'
176
+ | 'application/x-www-form-urlencoded'
177
+ | 'application/octet-stream';
178
+
179
+ type RawAxiosRequestHeaders = Partial<
180
+ RawAxiosHeaders & {
181
+ [Key in CommonRequestHeadersList]: AxiosHeaderValue;
182
+ } & {
183
+ 'Content-Type': ContentType;
184
+ }
185
+ >;
186
+
187
+ type AxiosRequestHeaders = RawAxiosRequestHeaders & AxiosHeaders;
188
+
189
+ type CommonResponseHeadersList =
190
+ | 'Server'
191
+ | 'Content-Type'
192
+ | 'Content-Length'
193
+ | 'Cache-Control'
194
+ | 'Content-Encoding';
195
+
196
+ type RawCommonResponseHeaders = {
197
+ [Key in CommonResponseHeadersList]: AxiosHeaderValue;
198
+ } & {
199
+ 'set-cookie': string[];
200
+ };
201
+
202
+ type RawAxiosResponseHeaders = Partial<RawAxiosHeaders & RawCommonResponseHeaders>;
203
+
204
+ type AxiosResponseHeaders = RawAxiosResponseHeaders & AxiosHeaders;
205
+
206
+ interface AxiosRequestTransformer {
207
+ (this: InternalAxiosRequestConfig, data: any, headers: AxiosRequestHeaders): any;
208
+ }
209
+
210
+ interface AxiosResponseTransformer {
211
+ (
212
+ this: InternalAxiosRequestConfig,
213
+ data: any,
214
+ headers: AxiosResponseHeaders,
215
+ status?: number
216
+ ): any;
217
+ }
218
+
219
+ interface AxiosAdapter {
220
+ (config: InternalAxiosRequestConfig): AxiosPromise;
221
+ }
222
+
223
+ interface AxiosBasicCredentials {
224
+ username: string;
225
+ password: string;
226
+ }
227
+
228
+ interface AxiosProxyConfig {
229
+ host: string;
230
+ port: number;
231
+ auth?: AxiosBasicCredentials;
232
+ protocol?: string;
233
+ }
234
+
235
+ declare enum HttpStatusCode {
236
+ Continue = 100,
237
+ SwitchingProtocols = 101,
238
+ Processing = 102,
239
+ EarlyHints = 103,
240
+ Ok = 200,
241
+ Created = 201,
242
+ Accepted = 202,
243
+ NonAuthoritativeInformation = 203,
244
+ NoContent = 204,
245
+ ResetContent = 205,
246
+ PartialContent = 206,
247
+ MultiStatus = 207,
248
+ AlreadyReported = 208,
249
+ ImUsed = 226,
250
+ MultipleChoices = 300,
251
+ MovedPermanently = 301,
252
+ Found = 302,
253
+ SeeOther = 303,
254
+ NotModified = 304,
255
+ UseProxy = 305,
256
+ Unused = 306,
257
+ TemporaryRedirect = 307,
258
+ PermanentRedirect = 308,
259
+ BadRequest = 400,
260
+ Unauthorized = 401,
261
+ PaymentRequired = 402,
262
+ Forbidden = 403,
263
+ NotFound = 404,
264
+ MethodNotAllowed = 405,
265
+ NotAcceptable = 406,
266
+ ProxyAuthenticationRequired = 407,
267
+ RequestTimeout = 408,
268
+ Conflict = 409,
269
+ Gone = 410,
270
+ LengthRequired = 411,
271
+ PreconditionFailed = 412,
272
+ PayloadTooLarge = 413,
273
+ UriTooLong = 414,
274
+ UnsupportedMediaType = 415,
275
+ RangeNotSatisfiable = 416,
276
+ ExpectationFailed = 417,
277
+ ImATeapot = 418,
278
+ MisdirectedRequest = 421,
279
+ UnprocessableEntity = 422,
280
+ Locked = 423,
281
+ FailedDependency = 424,
282
+ TooEarly = 425,
283
+ UpgradeRequired = 426,
284
+ PreconditionRequired = 428,
285
+ TooManyRequests = 429,
286
+ RequestHeaderFieldsTooLarge = 431,
287
+ UnavailableForLegalReasons = 451,
288
+ InternalServerError = 500,
289
+ NotImplemented = 501,
290
+ BadGateway = 502,
291
+ ServiceUnavailable = 503,
292
+ GatewayTimeout = 504,
293
+ HttpVersionNotSupported = 505,
294
+ VariantAlsoNegotiates = 506,
295
+ InsufficientStorage = 507,
296
+ LoopDetected = 508,
297
+ NotExtended = 510,
298
+ NetworkAuthenticationRequired = 511,
299
+ }
300
+
301
+ type Method =
302
+ | 'get'
303
+ | 'GET'
304
+ | 'delete'
305
+ | 'DELETE'
306
+ | 'head'
307
+ | 'HEAD'
308
+ | 'options'
309
+ | 'OPTIONS'
310
+ | 'post'
311
+ | 'POST'
312
+ | 'put'
313
+ | 'PUT'
314
+ | 'patch'
315
+ | 'PATCH'
316
+ | 'purge'
317
+ | 'PURGE'
318
+ | 'link'
319
+ | 'LINK'
320
+ | 'unlink'
321
+ | 'UNLINK';
322
+
323
+ type ResponseType =
324
+ | 'arraybuffer'
325
+ | 'blob'
326
+ | 'document'
327
+ | 'json'
328
+ | 'text'
329
+ | 'stream'
330
+ | 'formdata';
331
+
332
+ type responseEncoding =
333
+ | 'ascii'
334
+ | 'ASCII'
335
+ | 'ansi'
336
+ | 'ANSI'
337
+ | 'binary'
338
+ | 'BINARY'
339
+ | 'base64'
340
+ | 'BASE64'
341
+ | 'base64url'
342
+ | 'BASE64URL'
343
+ | 'hex'
344
+ | 'HEX'
345
+ | 'latin1'
346
+ | 'LATIN1'
347
+ | 'ucs-2'
348
+ | 'UCS-2'
349
+ | 'ucs2'
350
+ | 'UCS2'
351
+ | 'utf-8'
352
+ | 'UTF-8'
353
+ | 'utf8'
354
+ | 'UTF8'
355
+ | 'utf16le'
356
+ | 'UTF16LE';
357
+
358
+ interface TransitionalOptions {
359
+ silentJSONParsing?: boolean;
360
+ forcedJSONParsing?: boolean;
361
+ clarifyTimeoutError?: boolean;
362
+ }
363
+
364
+ interface GenericAbortSignal {
365
+ readonly aborted: boolean;
366
+ onabort?: ((...args: any) => any) | null;
367
+ addEventListener?: (...args: any) => any;
368
+ removeEventListener?: (...args: any) => any;
369
+ }
370
+
371
+ interface FormDataVisitorHelpers {
372
+ defaultVisitor: SerializerVisitor;
373
+ convertValue: (value: any) => any;
374
+ isVisitable: (value: any) => boolean;
375
+ }
376
+
377
+ interface SerializerVisitor {
378
+ (
379
+ this: GenericFormData,
380
+ value: any,
381
+ key: string | number,
382
+ path: null | Array<string | number>,
383
+ helpers: FormDataVisitorHelpers
384
+ ): boolean;
385
+ }
386
+
387
+ interface SerializerOptions {
388
+ visitor?: SerializerVisitor;
389
+ dots?: boolean;
390
+ metaTokens?: boolean;
391
+ indexes?: boolean | null;
392
+ }
393
+
394
+ // tslint:disable-next-line
395
+ interface FormSerializerOptions extends SerializerOptions {}
396
+
397
+ interface ParamEncoder {
398
+ (value: any, defaultEncoder: (value: any) => any): any;
399
+ }
400
+
401
+ interface CustomParamsSerializer {
402
+ (params: Record<string, any>, options?: ParamsSerializerOptions): string;
403
+ }
404
+
405
+ interface ParamsSerializerOptions extends SerializerOptions {
406
+ encode?: ParamEncoder;
407
+ serialize?: CustomParamsSerializer;
408
+ }
409
+
410
+ type MaxUploadRate = number;
411
+
412
+ type MaxDownloadRate = number;
413
+
414
+ type BrowserProgressEvent = any;
415
+
416
+ interface AxiosProgressEvent {
417
+ loaded: number;
418
+ total?: number;
419
+ progress?: number;
420
+ bytes: number;
421
+ rate?: number;
422
+ estimated?: number;
423
+ upload?: boolean;
424
+ download?: boolean;
425
+ event?: BrowserProgressEvent;
426
+ lengthComputable: boolean;
427
+ }
428
+
429
+ type Milliseconds = number;
430
+
431
+ type AxiosAdapterName = 'fetch' | 'xhr' | 'http' | string;
432
+
433
+ type AxiosAdapterConfig = AxiosAdapter | AxiosAdapterName;
434
+
435
+ type AddressFamily = 4 | 6 | undefined;
436
+
437
+ interface LookupAddressEntry {
438
+ address: string;
439
+ family?: AddressFamily;
440
+ }
441
+
442
+ type LookupAddress = string | LookupAddressEntry;
443
+
444
+ interface AxiosRequestConfig<D = any> {
445
+ url?: string;
446
+ method?: Method | string;
447
+ baseURL?: string;
448
+ transformRequest?: AxiosRequestTransformer | AxiosRequestTransformer[];
449
+ transformResponse?: AxiosResponseTransformer | AxiosResponseTransformer[];
450
+ headers?: ((RawAxiosRequestHeaders & MethodsHeaders) | AxiosHeaders) & CustomHeader;
451
+ params?: any;
452
+ paramsSerializer?: ParamsSerializerOptions | CustomParamsSerializer;
453
+ data?: D;
454
+ timeout?: Milliseconds;
455
+ timeoutErrorMessage?: string;
456
+ withCredentials?: boolean;
457
+ adapter?: AxiosAdapterConfig | AxiosAdapterConfig[];
458
+ auth?: AxiosBasicCredentials;
459
+ responseType?: ResponseType;
460
+ responseEncoding?: responseEncoding | string;
461
+ xsrfCookieName?: string;
462
+ xsrfHeaderName?: string;
463
+ onUploadProgress?: (progressEvent: AxiosProgressEvent) => void;
464
+ onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void;
465
+ maxContentLength?: number;
466
+ validateStatus?: ((status: number) => boolean) | null;
467
+ maxBodyLength?: number;
468
+ maxRedirects?: number;
469
+ maxRate?: number | [MaxUploadRate, MaxDownloadRate];
470
+ beforeRedirect?: (
471
+ options: Record<string, any>,
472
+ responseDetails: { headers: Record<string, string>; statusCode: HttpStatusCode }
473
+ ) => void;
474
+ socketPath?: string | null;
475
+ transport?: any;
476
+ httpAgent?: any;
477
+ httpsAgent?: any;
478
+ proxy?: AxiosProxyConfig | false;
479
+ cancelToken?: CancelToken;
480
+ decompress?: boolean;
481
+ transitional?: TransitionalOptions;
482
+ signal?: GenericAbortSignal;
483
+ insecureHTTPParser?: boolean;
484
+ env?: {
485
+ FormData?: new (...args: any[]) => object;
486
+ };
487
+ formSerializer?: FormSerializerOptions;
488
+ family?: AddressFamily;
489
+ lookup?:
490
+ | ((
491
+ hostname: string,
492
+ options: object,
493
+ cb: (
494
+ err: Error | null,
495
+ address: LookupAddress | LookupAddress[],
496
+ family?: AddressFamily
497
+ ) => void
498
+ ) => void)
499
+ | ((
500
+ hostname: string,
501
+ options: object
502
+ ) => Promise<
503
+ | [address: LookupAddressEntry | LookupAddressEntry[], family?: AddressFamily]
504
+ | LookupAddress
505
+ >);
506
+ withXSRFToken?: boolean | ((config: InternalAxiosRequestConfig) => boolean | undefined);
507
+ fetchOptions?: Record<string, any>;
508
+ }
509
+
510
+ interface InternalAxiosRequestConfig<D = any> extends AxiosRequestConfig<D> {
511
+ headers: AxiosRequestHeaders;
512
+ }
513
+
514
+ interface HeadersDefaults {
515
+ common: RawAxiosRequestHeaders;
516
+ delete: RawAxiosRequestHeaders;
517
+ get: RawAxiosRequestHeaders;
518
+ head: RawAxiosRequestHeaders;
519
+ post: RawAxiosRequestHeaders;
520
+ put: RawAxiosRequestHeaders;
521
+ patch: RawAxiosRequestHeaders;
522
+ options?: RawAxiosRequestHeaders;
523
+ purge?: RawAxiosRequestHeaders;
524
+ link?: RawAxiosRequestHeaders;
525
+ unlink?: RawAxiosRequestHeaders;
526
+ }
527
+
528
+ interface AxiosDefaults<D = any> extends Omit<AxiosRequestConfig<D>, 'headers'> {
529
+ headers: HeadersDefaults;
530
+ }
531
+
532
+ interface AxiosResponse<T = any, D = any> {
533
+ data: T;
534
+ status: number;
535
+ statusText: string;
536
+ headers: RawAxiosResponseHeaders | AxiosResponseHeaders;
537
+ config: InternalAxiosRequestConfig<D>;
538
+ request?: any;
539
+ }
540
+
541
+ type AxiosPromise<T = any> = Promise<AxiosResponse<T>>;
542
+
543
+ interface Cancel {
544
+ message: string | undefined;
545
+ }
546
+
547
+ interface CancelToken {
548
+ promise: Promise<Cancel>;
549
+ reason?: Cancel;
550
+ throwIfRequested(): void;
551
+ }
552
+
553
+ interface AxiosInterceptorOptions {
554
+ synchronous?: boolean;
555
+ runWhen?: (config: InternalAxiosRequestConfig) => boolean;
556
+ }
557
+
558
+ interface AxiosInterceptorManager<V> {
559
+ use(
560
+ onFulfilled?: ((value: V) => V | Promise<V>) | null,
561
+ onRejected?: ((error: any) => any) | null,
562
+ options?: AxiosInterceptorOptions
563
+ ): number;
564
+ eject(id: number): void;
565
+ clear(): void;
566
+ }
567
+
568
+ declare class Axios {
569
+ constructor(config?: AxiosRequestConfig);
570
+ defaults: AxiosDefaults;
571
+ interceptors: {
572
+ request: AxiosInterceptorManager<InternalAxiosRequestConfig>;
573
+ response: AxiosInterceptorManager<AxiosResponse>;
574
+ };
575
+ getUri(config?: AxiosRequestConfig): string;
576
+ request<T = any, R = AxiosResponse<T>, D = any>(
577
+ config: AxiosRequestConfig<D>
578
+ ): Promise<R>;
579
+ get<T = any, R = AxiosResponse<T>, D = any>(
580
+ url: string,
581
+ config?: AxiosRequestConfig<D>
582
+ ): Promise<R>;
583
+ delete<T = any, R = AxiosResponse<T>, D = any>(
584
+ url: string,
585
+ config?: AxiosRequestConfig<D>
586
+ ): Promise<R>;
587
+ head<T = any, R = AxiosResponse<T>, D = any>(
588
+ url: string,
589
+ config?: AxiosRequestConfig<D>
590
+ ): Promise<R>;
591
+ options<T = any, R = AxiosResponse<T>, D = any>(
592
+ url: string,
593
+ config?: AxiosRequestConfig<D>
594
+ ): Promise<R>;
595
+ post<T = any, R = AxiosResponse<T>, D = any>(
596
+ url: string,
597
+ data?: D,
598
+ config?: AxiosRequestConfig<D>
599
+ ): Promise<R>;
600
+ put<T = any, R = AxiosResponse<T>, D = any>(
601
+ url: string,
602
+ data?: D,
603
+ config?: AxiosRequestConfig<D>
604
+ ): Promise<R>;
605
+ patch<T = any, R = AxiosResponse<T>, D = any>(
606
+ url: string,
607
+ data?: D,
608
+ config?: AxiosRequestConfig<D>
609
+ ): Promise<R>;
610
+ postForm<T = any, R = AxiosResponse<T>, D = any>(
611
+ url: string,
612
+ data?: D,
613
+ config?: AxiosRequestConfig<D>
614
+ ): Promise<R>;
615
+ putForm<T = any, R = AxiosResponse<T>, D = any>(
616
+ url: string,
617
+ data?: D,
618
+ config?: AxiosRequestConfig<D>
619
+ ): Promise<R>;
620
+ patchForm<T = any, R = AxiosResponse<T>, D = any>(
621
+ url: string,
622
+ data?: D,
623
+ config?: AxiosRequestConfig<D>
624
+ ): Promise<R>;
625
+ }
626
+
627
+ interface AxiosInstance extends Axios {
628
+ <T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
629
+ <T = any, R = AxiosResponse<T>, D = any>(
630
+ url: string,
631
+ config?: AxiosRequestConfig<D>
632
+ ): Promise<R>;
633
+
634
+ defaults: Omit<AxiosDefaults, 'headers'> & {
635
+ headers: HeadersDefaults & {
636
+ [key: string]: AxiosHeaderValue;
637
+ };
638
+ };
639
+ }
640
+
641
+ interface GenericFormData {
642
+ append(name: string, value: any, options?: any): any;
642
643
  }
643
644
 
644
- declare global {
645
- var environment: IEnv;
646
- var moduleId: IModuleId | null;
647
- var moduleUrls: {
648
- [id in IModuleId]?: string;
649
- };
650
- var axiosInstance: AxiosInstance;
651
- var useNavigate: () => NavigateFunction;
652
- var useLocation: () => Location;
653
- var Link: React.ForwardRefExoticComponent<
654
- LinkProps & React.RefAttributes<HTMLAnchorElement>
655
- >;
656
- var appVersion: string | undefined;
657
- var api: {
658
- apiUrl: string;
659
- clientId: string;
660
- authScope?: string;
661
- additionalScopes?: string[];
662
- redirectUrl?: string;
663
- };
664
- var zE: {
665
- show: () => void;
666
- hide: () => void;
667
- activate: () => void;
668
- setLocale: (locale: string) => void;
669
- };
645
+ declare global {
646
+ var environment: IEnv;
647
+ var moduleId: IModuleId | null;
648
+ var moduleUrls: {
649
+ [id in IModuleId]?: string;
650
+ };
651
+ var axiosInstance: AxiosInstance;
652
+ var useNavigate: () => NavigateFunction;
653
+ var useLocation: () => Location;
654
+ var Link: React.ForwardRefExoticComponent<
655
+ LinkProps & React.RefAttributes<HTMLAnchorElement>
656
+ >;
657
+ var appVersion: string | undefined;
658
+ var api: {
659
+ apiUrl: string;
660
+ clientId: string;
661
+ authScope?: string;
662
+ additionalScopes?: string[];
663
+ redirectUrl?: string;
664
+ };
665
+ var zE: {
666
+ show: () => void;
667
+ hide: () => void;
668
+ activate: () => void;
669
+ setLocale: (locale: string) => void;
670
+ };
670
671
  }