@experteam-mx/ngx-services 20.0.0-beta.4 → 20.0.1
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/README.md +24 -24
- package/esm2022/experteam-mx-ngx-services.mjs +5 -0
- package/esm2022/lib/apis/api-billing-do.service.mjs +41 -0
- package/esm2022/lib/apis/api-billing-gt.service.mjs +61 -0
- package/esm2022/lib/apis/api-billing-mx.service.mjs +62 -0
- package/esm2022/lib/apis/api-billing-pa.service.mjs +105 -0
- package/esm2022/lib/apis/api-billing-sv.service.mjs +83 -0
- package/esm2022/lib/apis/api-cash-operations.service.mjs +93 -0
- package/esm2022/lib/apis/api-catalogs.service.mjs +626 -0
- package/esm2022/lib/apis/api-companies.service.mjs +1031 -0
- package/esm2022/lib/apis/api-composition.service.mjs +55 -0
- package/esm2022/lib/apis/api-customs.service.mjs +157 -0
- package/esm2022/lib/apis/api-discounts.service.mjs +243 -0
- package/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +75 -0
- package/esm2022/lib/apis/api-events.service.mjs +53 -0
- package/esm2022/lib/apis/api-external-pickups.service.mjs +74 -0
- package/esm2022/lib/apis/api-inventories.service.mjs +208 -0
- package/esm2022/lib/apis/api-invoices.service.mjs +398 -0
- package/esm2022/lib/apis/api-notifications.service.mjs +104 -0
- package/esm2022/lib/apis/api-open-items.service.mjs +62 -0
- package/esm2022/lib/apis/api-reports.service.mjs +172 -0
- package/esm2022/lib/apis/api-security.service.mjs +245 -0
- package/esm2022/lib/apis/api-services.service.mjs +93 -0
- package/esm2022/lib/apis/api-shipments.service.mjs +116 -0
- package/esm2022/lib/apis/api-supplies.service.mjs +133 -0
- package/esm2022/lib/apis/models/api-billing-do.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-do.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-mx.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-mx.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-pa.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-pa.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-sv.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing-sv.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-billing.models.mjs +2 -0
- package/esm2022/lib/apis/models/api-cash-operations.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-cash-operations.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-catalog.enum.mjs +9 -0
- package/esm2022/lib/apis/models/api-catalog.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-catalog.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-companies.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-companies.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-composition.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-composition.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-customs.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-customs.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-discounts.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-discounts.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-events.enum.mjs +7 -0
- package/esm2022/lib/apis/models/api-events.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-events.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-external-pickups.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-inventories.enum.mjs +22 -0
- package/esm2022/lib/apis/models/api-inventories.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-inventories.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-invoices.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-notifications.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-notifications.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-open-items.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-reports.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-reports.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-security.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-security.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-services.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-services.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-shipments.enums.mjs +8 -0
- package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-shipments.types.mjs +2 -0
- package/esm2022/lib/apis/models/api-supplies.interfaces.mjs +2 -0
- package/esm2022/lib/apis/models/api-supplies.types.mjs +2 -0
- package/esm2022/lib/apis/models/api.models.mjs +2 -0
- package/esm2022/lib/cypher/crypto.service.mjs +93 -0
- package/esm2022/lib/helpers/files.mjs +9 -0
- package/esm2022/lib/helpers/http.mjs +66 -0
- package/esm2022/lib/interceptors/api-headers.interceptor.mjs +24 -0
- package/esm2022/lib/interceptors/api-token.interceptor.mjs +28 -0
- package/esm2022/lib/interceptors/http-caching.interceptor.mjs +37 -0
- package/esm2022/lib/ngx-services.models.mjs +11 -0
- package/esm2022/lib/ngx-services.module.mjs +33 -0
- package/esm2022/lib/websockets/web-sockets.service.mjs +115 -0
- package/esm2022/public-api.mjs +90 -0
- package/fesm2022/experteam-mx-ngx-services.mjs +126 -5
- package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
- package/index.d.ts +287 -4
- package/lib/apis/api-billing-do.service.d.ts +24 -0
- package/lib/apis/api-billing-gt.service.d.ts +38 -0
- package/lib/apis/api-billing-mx.service.d.ts +39 -0
- package/lib/apis/api-billing-pa.service.d.ts +68 -0
- package/lib/apis/api-billing-sv.service.d.ts +55 -0
- package/lib/apis/api-cash-operations.service.d.ts +62 -0
- package/lib/apis/api-catalogs.service.d.ts +458 -0
- package/lib/apis/api-companies.service.d.ts +714 -0
- package/lib/apis/api-composition.service.d.ts +35 -0
- package/lib/apis/api-customs.service.d.ts +110 -0
- package/lib/apis/api-discounts.service.d.ts +167 -0
- package/lib/apis/api-e-tools-auto-billing.service.d.ts +49 -0
- package/lib/apis/api-events.service.d.ts +33 -0
- package/lib/apis/api-external-pickups.service.d.ts +46 -0
- package/lib/apis/api-inventories.service.d.ts +145 -0
- package/lib/apis/api-invoices.service.d.ts +280 -0
- package/lib/apis/api-notifications.service.d.ts +70 -0
- package/lib/apis/api-open-items.service.d.ts +41 -0
- package/lib/apis/api-reports.service.d.ts +120 -0
- package/lib/apis/api-security.service.d.ts +162 -0
- package/lib/apis/api-services.service.d.ts +61 -0
- package/lib/apis/api-shipments.service.d.ts +77 -0
- package/lib/apis/api-supplies.service.d.ts +93 -0
- package/lib/apis/models/api-billing-do.interfaces.d.ts +6 -0
- package/lib/apis/models/api-billing-do.types.d.ts +5 -0
- package/lib/apis/models/api-billing-mx.interfaces.d.ts +21 -0
- package/lib/apis/models/api-billing-mx.types.d.ts +13 -0
- package/lib/apis/models/api-billing-pa.interfaces.d.ts +26 -0
- package/lib/apis/models/api-billing-pa.types.d.ts +16 -0
- package/lib/apis/models/api-billing-sv.interfaces.d.ts +22 -0
- package/lib/apis/models/api-billing-sv.types.d.ts +21 -0
- package/lib/apis/models/api-billing.models.d.ts +27 -0
- package/lib/apis/models/api-cash-operations.interfaces.d.ts +40 -0
- package/lib/apis/models/api-cash-operations.types.d.ts +30 -0
- package/lib/apis/models/api-catalog.enum.d.ts +7 -0
- package/lib/apis/models/api-catalog.interfaces.d.ts +219 -0
- package/lib/apis/models/api-catalog.types.d.ts +217 -0
- package/lib/apis/models/api-companies.interfaces.d.ts +341 -0
- package/lib/apis/models/api-companies.types.d.ts +457 -0
- package/lib/apis/models/api-composition.interfaces.d.ts +272 -0
- package/lib/apis/models/api-composition.types.d.ts +9 -0
- package/lib/apis/models/api-customs.interfaces.d.ts +125 -0
- package/lib/apis/models/api-customs.types.d.ts +90 -0
- package/lib/apis/models/api-discounts.interfaces.d.ts +78 -0
- package/lib/apis/models/api-discounts.types.d.ts +89 -0
- package/lib/apis/models/api-e-tools-auto-billing.interfaces.d.ts +45 -0
- package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +30 -0
- package/lib/apis/models/api-events.enum.d.ts +5 -0
- package/lib/apis/models/api-events.interfaces.d.ts +21 -0
- package/lib/apis/models/api-events.types.d.ts +14 -0
- package/lib/apis/models/api-external-pickups.types.d.ts +31 -0
- package/lib/apis/models/api-inventories.enum.d.ts +18 -0
- package/lib/apis/models/api-inventories.interfaces.d.ts +40 -0
- package/lib/apis/models/api-inventories.types.d.ts +62 -0
- package/lib/apis/models/api-invoices.interfaces.d.ts +267 -0
- package/lib/apis/models/api-invoices.types.d.ts +195 -0
- package/lib/apis/models/api-notifications.interfaces.d.ts +36 -0
- package/lib/apis/models/api-notifications.types.d.ts +34 -0
- package/lib/apis/models/api-open-items.interfaces.d.ts +32 -0
- package/lib/apis/models/api-open-items.types.d.ts +58 -0
- package/lib/apis/models/api-reports.interfaces.d.ts +342 -0
- package/lib/apis/models/api-reports.types.d.ts +59 -0
- package/lib/apis/models/api-security.interfaces.d.ts +68 -0
- package/lib/apis/models/api-security.types.d.ts +72 -0
- package/lib/apis/models/api-services.interfaces.d.ts +43 -0
- package/lib/apis/models/api-services.types.d.ts +57 -0
- package/lib/apis/models/api-shipments.enums.d.ts +6 -0
- package/lib/apis/models/api-shipments.interfaces.d.ts +41 -0
- package/lib/apis/models/api-shipments.types.d.ts +121 -0
- package/lib/apis/models/api-supplies.interfaces.d.ts +40 -0
- package/lib/apis/models/api-supplies.types.d.ts +50 -0
- package/lib/apis/models/api.models.d.ts +36 -0
- package/lib/cypher/crypto.service.d.ts +15 -0
- package/lib/helpers/files.d.ts +2 -0
- package/lib/helpers/http.d.ts +38 -0
- package/lib/interceptors/api-headers.interceptor.d.ts +12 -0
- package/lib/interceptors/api-token.interceptor.d.ts +11 -0
- package/lib/interceptors/http-caching.interceptor.d.ts +12 -0
- package/lib/ngx-services.models.d.ts +62 -0
- package/lib/ngx-services.module.d.ts +16 -0
- package/lib/websockets/web-sockets.service.d.ts +49 -0
- package/package.json +1 -1
- package/public-api.d.ts +80 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
2
|
+
/**
|
|
3
|
+
* Convert an object of key-value pairs into a URL query string.
|
|
4
|
+
*
|
|
5
|
+
* @param {Object} params - The key-value pairs to converted into a query string.
|
|
6
|
+
*
|
|
7
|
+
* @return {string} - The generated query string.
|
|
8
|
+
*/
|
|
9
|
+
export const queryString = (params) => {
|
|
10
|
+
const queryElements = [];
|
|
11
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
const arrayQuery = value
|
|
14
|
+
.map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item)}`)
|
|
15
|
+
.join('&');
|
|
16
|
+
queryElements.push(arrayQuery);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
20
|
+
queryElements.push(encodedQuery);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const queryString = queryElements.join('&');
|
|
24
|
+
return queryString.length ? `?${queryString}` : '';
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Creates an instance of HttpParams using the provided params object.
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} params - The object containing the params to the HttpParams constructor.
|
|
30
|
+
*
|
|
31
|
+
* @returns {HttpParams} - An instance of HttpParams created from the params object.
|
|
32
|
+
*/
|
|
33
|
+
export const httpParams = (params) => new HttpParams({
|
|
34
|
+
fromObject: params
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Returns the headers for generating PDF files.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
40
|
+
*
|
|
41
|
+
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.
|
|
42
|
+
*/
|
|
43
|
+
export const pdfHeaders = (format = 'object') => {
|
|
44
|
+
const headers = {
|
|
45
|
+
Accept: 'application/pdf'
|
|
46
|
+
};
|
|
47
|
+
return format === 'object'
|
|
48
|
+
? headers
|
|
49
|
+
: new HttpHeaders(headers);
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Returns the headers for generating XML files.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} format - The format of the headers, 'object' or 'http_header'.
|
|
55
|
+
*
|
|
56
|
+
* @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.
|
|
57
|
+
*/
|
|
58
|
+
export const xmlHeaders = (format = 'object') => {
|
|
59
|
+
const headers = {
|
|
60
|
+
Accept: 'application/xml',
|
|
61
|
+
};
|
|
62
|
+
return format === 'object'
|
|
63
|
+
? headers
|
|
64
|
+
: new HttpHeaders(headers);
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9oZWxwZXJzL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc5RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFtQixFQUFVLEVBQUU7SUFDekQsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFBO0lBRWxDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUM5QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLFVBQVUsR0FBRyxLQUFLO2lCQUNyQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBaUMsQ0FBQyxFQUFFLENBQUM7aUJBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUVaLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFlBQVksR0FBRyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQWtDLENBQUMsRUFBRSxDQUFBO1lBRTNHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDbEMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUUzQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUNwRCxDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsTUFBbUIsRUFDUCxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDOUIsVUFBVSxFQUFFLE1BQU07Q0FDbkIsQ0FBQyxDQUFBO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBbUMsUUFBUSxFQUF5RCxFQUFFO0lBQy9ILE1BQU0sT0FBTyxHQUFHO1FBQ2QsTUFBTSxFQUFFLGlCQUFpQjtLQUMxQixDQUFBO0lBRUQsT0FBTyxNQUFNLEtBQUssUUFBUTtRQUN4QixDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFtQyxRQUFRLEVBQXlELEVBQUU7SUFDL0gsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsaUJBQWlCO0tBQzFCLENBQUE7SUFFRCxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLENBQUMsQ0FBQyxPQUFPO1FBQ1QsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vYXBpcy9tb2RlbHMvYXBpLm1vZGVscydcclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IGFuIG9iamVjdCBvZiBrZXktdmFsdWUgcGFpcnMgaW50byBhIFVSTCBxdWVyeSBzdHJpbmcuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNvbnZlcnRlZCBpbnRvIGEgcXVlcnkgc3RyaW5nLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtzdHJpbmd9IC0gVGhlIGdlbmVyYXRlZCBxdWVyeSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcXVlcnlTdHJpbmcgPSAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgcXVlcnlFbGVtZW50czogc3RyaW5nW10gPSBbXVxyXG5cclxuICBPYmplY3QuZW50cmllcyhwYXJhbXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IGFycmF5UXVlcnkgPSB2YWx1ZVxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtIGFzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pfWApXHJcbiAgICAgICAgLmpvaW4oJyYnKVxyXG5cclxuICAgICAgcXVlcnlFbGVtZW50cy5wdXNoKGFycmF5UXVlcnkpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBlbmNvZGVkUXVlcnkgPSBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YFxyXG5cclxuICAgICAgcXVlcnlFbGVtZW50cy5wdXNoKGVuY29kZWRRdWVyeSlcclxuICAgIH1cclxuICB9KVxyXG5cclxuICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5RWxlbWVudHMuam9pbignJicpXHJcblxyXG4gIHJldHVybiBxdWVyeVN0cmluZy5sZW5ndGggPyBgPyR7cXVlcnlTdHJpbmd9YCA6ICcnXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEh0dHBQYXJhbXMgdXNpbmcgdGhlIHByb3ZpZGVkIHBhcmFtcyBvYmplY3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHBhcmFtcyB0byB0aGUgSHR0cFBhcmFtcyBjb25zdHJ1Y3Rvci5cclxuICpcclxuICogQHJldHVybnMge0h0dHBQYXJhbXN9IC0gQW4gaW5zdGFuY2Ugb2YgSHR0cFBhcmFtcyBjcmVhdGVkIGZyb20gdGhlIHBhcmFtcyBvYmplY3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaHR0cFBhcmFtcyA9IChcclxuICBwYXJhbXM6IFF1ZXJ5UGFyYW1zXHJcbik6IEh0dHBQYXJhbXMgPT4gbmV3IEh0dHBQYXJhbXMoe1xyXG4gIGZyb21PYmplY3Q6IHBhcmFtc1xyXG59KVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGhlYWRlcnMgZm9yIGdlbmVyYXRpbmcgUERGIGZpbGVzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gVGhlIGZvcm1hdCBvZiB0aGUgaGVhZGVycywgJ29iamVjdCcgb3IgJ2h0dHBfaGVhZGVyJy5cclxuICpcclxuICogQHJldHVybnMge0h0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9fSAtIFRoZSBoZWFkZXJzIGZvciBnZW5lcmF0aW5nIFBERiBmaWxlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBwZGZIZWFkZXJzID0gKGZvcm1hdDogJ29iamVjdCcgfCAnaHR0cF9oZWFkZXInID0gJ29iamVjdCcpOiBIdHRwSGVhZGVycyB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSA9PiB7XHJcbiAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL3BkZidcclxuICB9XHJcblxyXG4gIHJldHVybiBmb3JtYXQgPT09ICdvYmplY3QnXHJcbiAgICA/IGhlYWRlcnNcclxuICAgIDogbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBoZWFkZXJzIGZvciBnZW5lcmF0aW5nIFhNTCBmaWxlcy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCAtIFRoZSBmb3JtYXQgb2YgdGhlIGhlYWRlcnMsICdvYmplY3QnIG9yICdodHRwX2hlYWRlcicuXHJcbiAqXHJcbiAqIEByZXR1cm5zIHtIdHRwSGVhZGVycyB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfX0gLSBUaGUgaGVhZGVycyBmb3IgZ2VuZXJhdGluZyBYTUwgZmlsZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgeG1sSGVhZGVycyA9IChmb3JtYXQ6ICdvYmplY3QnIHwgJ2h0dHBfaGVhZGVyJyA9ICdvYmplY3QnKTogSHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gPT4ge1xyXG4gIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi94bWwnLFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZvcm1hdCA9PT0gJ29iamVjdCdcclxuICAgID8gaGVhZGVyc1xyXG4gICAgOiBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycylcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intercepts an outgoing HTTP request and modifies its headers to include default values
|
|
3
|
+
* for Cache-Control, Expires, Pragma, Content-Type, Accept, and Accept-Language if they
|
|
4
|
+
* are not already present.
|
|
5
|
+
*
|
|
6
|
+
* @param {HttpRequest<unknown>} req - The outgoing HTTP request to be intercepted and modified.
|
|
7
|
+
* @param {HttpHandlerFn} next - The next handler in the chain to pass the modified request to.
|
|
8
|
+
* @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event resulting from the processed request.
|
|
9
|
+
*/
|
|
10
|
+
export function apiHeadersInterceptor(req, next) {
|
|
11
|
+
let { headers } = req;
|
|
12
|
+
if (!headers.has('Content-Type') && !(req.body instanceof FormData)) {
|
|
13
|
+
headers = headers.set('Content-Type', 'application/json');
|
|
14
|
+
}
|
|
15
|
+
if (!headers.has('Accept')) {
|
|
16
|
+
headers = headers.set('Accept', 'application/json');
|
|
17
|
+
}
|
|
18
|
+
if (!headers.has('Accept-Language')) {
|
|
19
|
+
headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en');
|
|
20
|
+
}
|
|
21
|
+
req = req.clone({ headers });
|
|
22
|
+
return next(req);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWhlYWRlcnMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvaW50ZXJjZXB0b3JzL2FwaS1oZWFkZXJzLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFFLEdBQXlCLEVBQUUsSUFBbUI7SUFDbkYsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQTtJQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksWUFBWSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBRUQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBRTVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyRm4sIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5cclxuLyoqXHJcbiAqIEludGVyY2VwdHMgYW4gb3V0Z29pbmcgSFRUUCByZXF1ZXN0IGFuZCBtb2RpZmllcyBpdHMgaGVhZGVycyB0byBpbmNsdWRlIGRlZmF1bHQgdmFsdWVzXHJcbiAqIGZvciBDYWNoZS1Db250cm9sLCBFeHBpcmVzLCBQcmFnbWEsIENvbnRlbnQtVHlwZSwgQWNjZXB0LCBhbmQgQWNjZXB0LUxhbmd1YWdlIGlmIHRoZXlcclxuICogYXJlIG5vdCBhbHJlYWR5IHByZXNlbnQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7SHR0cFJlcXVlc3Q8dW5rbm93bj59IHJlcSAtIFRoZSBvdXRnb2luZyBIVFRQIHJlcXVlc3QgdG8gYmUgaW50ZXJjZXB0ZWQgYW5kIG1vZGlmaWVkLlxyXG4gKiBAcGFyYW0ge0h0dHBIYW5kbGVyRm59IG5leHQgLSBUaGUgbmV4dCBoYW5kbGVyIGluIHRoZSBjaGFpbiB0byBwYXNzIHRoZSBtb2RpZmllZCByZXF1ZXN0IHRvLlxyXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj59IEFuIG9ic2VydmFibGUgb2YgdGhlIEhUVFAgZXZlbnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2Nlc3NlZCByZXF1ZXN0LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFwaUhlYWRlcnNJbnRlcmNlcHRvciAocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXJGbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgbGV0IHsgaGVhZGVycyB9ID0gcmVxXHJcblxyXG4gIGlmICghaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpICYmICEocmVxLmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKVxyXG4gIH1cclxuXHJcbiAgaWYgKCFoZWFkZXJzLmhhcygnQWNjZXB0JykpIHtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKVxyXG4gIH1cclxuXHJcbiAgaWYgKCFoZWFkZXJzLmhhcygnQWNjZXB0LUxhbmd1YWdlJykpIHtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0LUxhbmd1YWdlJywgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmcnKSA/PyAnZW4nKVxyXG4gIH1cclxuXHJcbiAgcmVxID0gcmVxLmNsb25lKHsgaGVhZGVycyB9KVxyXG5cclxuICByZXR1cm4gbmV4dChyZXEpXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { CookieService } from 'ngx-cookie-service';
|
|
3
|
+
import { ENVIRONMENT_TOKEN } from '../ngx-services.models';
|
|
4
|
+
/**
|
|
5
|
+
* An HTTP interceptor to append an Authorization header with a Bearer token
|
|
6
|
+
* to outgoing HTTP requests if certain conditions are met.
|
|
7
|
+
*
|
|
8
|
+
* @param {HttpRequest<unknown>} req - The outgoing HTTP request object which may be modified.
|
|
9
|
+
* @param {HttpHandlerFn} next - The next handler in the HTTP request pipeline.
|
|
10
|
+
* @return {Observable<HttpEvent<unknown>>} An observable of the HTTP event stream resulting from the request.
|
|
11
|
+
*/
|
|
12
|
+
export function apiTokenInterceptor(req, next) {
|
|
13
|
+
const { authCookie } = inject(ENVIRONMENT_TOKEN);
|
|
14
|
+
const cookie = inject(CookieService);
|
|
15
|
+
if (req.headers.has('Authorization') || req.headers.has('AppKey')) {
|
|
16
|
+
return next(req);
|
|
17
|
+
}
|
|
18
|
+
const token = cookie.get(authCookie);
|
|
19
|
+
if (!token)
|
|
20
|
+
return next(req);
|
|
21
|
+
req = req.clone({
|
|
22
|
+
setHeaders: {
|
|
23
|
+
Authorization: `Bearer ${token}`
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return next(req);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXRva2VuLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2ludGVyY2VwdG9ycy9hcGktdG9rZW4uaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUd0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBRSxHQUF5QixFQUFFLElBQW1CO0lBQ2pGLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7SUFFcEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRXBDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDZCxVQUFVLEVBQUU7WUFDVixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7U0FDakM7S0FDRixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlckZuLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSdcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlRfVE9LRU4gfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5cclxuLyoqXHJcbiAqIEFuIEhUVFAgaW50ZXJjZXB0b3IgdG8gYXBwZW5kIGFuIEF1dGhvcml6YXRpb24gaGVhZGVyIHdpdGggYSBCZWFyZXIgdG9rZW5cclxuICogdG8gb3V0Z29pbmcgSFRUUCByZXF1ZXN0cyBpZiBjZXJ0YWluIGNvbmRpdGlvbnMgYXJlIG1ldC5cclxuICpcclxuICogQHBhcmFtIHtIdHRwUmVxdWVzdDx1bmtub3duPn0gcmVxIC0gVGhlIG91dGdvaW5nIEhUVFAgcmVxdWVzdCBvYmplY3Qgd2hpY2ggbWF5IGJlIG1vZGlmaWVkLlxyXG4gKiBAcGFyYW0ge0h0dHBIYW5kbGVyRm59IG5leHQgLSBUaGUgbmV4dCBoYW5kbGVyIGluIHRoZSBIVFRQIHJlcXVlc3QgcGlwZWxpbmUuXHJcbiAqIEByZXR1cm4ge09ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+Pn0gQW4gb2JzZXJ2YWJsZSBvZiB0aGUgSFRUUCBldmVudCBzdHJlYW0gcmVzdWx0aW5nIGZyb20gdGhlIHJlcXVlc3QuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYXBpVG9rZW5JbnRlcmNlcHRvciAocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXJGbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgY29uc3QgeyBhdXRoQ29va2llIH0gPSBpbmplY3QoRU5WSVJPTk1FTlRfVE9LRU4pXHJcbiAgY29uc3QgY29va2llID0gaW5qZWN0KENvb2tpZVNlcnZpY2UpXHJcblxyXG4gIGlmIChyZXEuaGVhZGVycy5oYXMoJ0F1dGhvcml6YXRpb24nKSB8fCByZXEuaGVhZGVycy5oYXMoJ0FwcEtleScpKSB7XHJcbiAgICByZXR1cm4gbmV4dChyZXEpXHJcbiAgfVxyXG5cclxuICBjb25zdCB0b2tlbiA9IGNvb2tpZS5nZXQoYXV0aENvb2tpZSlcclxuXHJcbiAgaWYgKCF0b2tlbikgcmV0dXJuIG5leHQocmVxKVxyXG5cclxuICByZXEgPSByZXEuY2xvbmUoe1xyXG4gICAgc2V0SGVhZGVyczoge1xyXG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxyXG4gICAgfVxyXG4gIH0pXHJcblxyXG4gIHJldHVybiBuZXh0KHJlcSlcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { HttpResponse } from '@angular/common/http';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { tap } from 'rxjs/operators';
|
|
5
|
+
import { ENVIRONMENT_TOKEN } from '../ngx-services.models';
|
|
6
|
+
const DEFAULT_TTL = 10000; // ttl in ms
|
|
7
|
+
const cache = new Map();
|
|
8
|
+
/**
|
|
9
|
+
* Interceptor function to handle HTTP caching for GET requests. It retrieves cached responses
|
|
10
|
+
* if available and valid; otherwise, it processes the request and caches the response for future use.
|
|
11
|
+
*
|
|
12
|
+
* @param {HttpRequest<any>} req - The HTTP request object being intercepted.
|
|
13
|
+
* @param {HttpHandlerFn} next - The next HTTP handler function in the chain to process the request.
|
|
14
|
+
* @return {Observable<HttpEvent<any>>} An observable that emits the HTTP event, either from cache
|
|
15
|
+
* or by invoking the next handler.
|
|
16
|
+
*/
|
|
17
|
+
export function httpCachingInterceptor(req, next) {
|
|
18
|
+
const { cacheTtl } = inject(ENVIRONMENT_TOKEN);
|
|
19
|
+
if (req.method !== 'GET')
|
|
20
|
+
return next(req);
|
|
21
|
+
const cached = cache.get(req.urlWithParams);
|
|
22
|
+
if (cached) {
|
|
23
|
+
const isExpired = Date.now() > cached.ttl;
|
|
24
|
+
if (!isExpired) {
|
|
25
|
+
return of(cached.res);
|
|
26
|
+
}
|
|
27
|
+
cache.delete(req.urlWithParams); // If expired, remove the entry from cache
|
|
28
|
+
}
|
|
29
|
+
return next(req).pipe(tap((res) => {
|
|
30
|
+
if (!(res instanceof HttpResponse)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const ttl = Date.now() + (cacheTtl ?? DEFAULT_TTL);
|
|
34
|
+
cache.set(req.urlWithParams, { res, ttl });
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoaW5nLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWNhY2hpbmcuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0QyxPQUFPLEVBQXlDLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTFGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRTFELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQSxDQUFDLFlBQVk7QUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW1ELENBQUE7QUFFeEU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUUsR0FBcUIsRUFBRSxJQUFtQjtJQUNoRixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFOUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUUxQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUUzQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7UUFFekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQUMsQ0FBQztRQUV6QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQSxDQUFDLDBDQUEwQztJQUM1RSxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNuQixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNWLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQUMsT0FBTTtRQUFDLENBQUM7UUFFOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFBO1FBRWxELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLENBQUMsQ0FBQyxDQUNILENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlckZuLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9UT0tFTiB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcblxyXG5jb25zdCBERUZBVUxUX1RUTCA9IDEwMDAwIC8vIHR0bCBpbiBtc1xyXG5jb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCB7IHR0bDogbnVtYmVyLCByZXM6IEh0dHBSZXNwb25zZTxhbnk+IH0+KClcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmNlcHRvciBmdW5jdGlvbiB0byBoYW5kbGUgSFRUUCBjYWNoaW5nIGZvciBHRVQgcmVxdWVzdHMuIEl0IHJldHJpZXZlcyBjYWNoZWQgcmVzcG9uc2VzXHJcbiAqIGlmIGF2YWlsYWJsZSBhbmQgdmFsaWQ7IG90aGVyd2lzZSwgaXQgcHJvY2Vzc2VzIHRoZSByZXF1ZXN0IGFuZCBjYWNoZXMgdGhlIHJlc3BvbnNlIGZvciBmdXR1cmUgdXNlLlxyXG4gKlxyXG4gKiBAcGFyYW0ge0h0dHBSZXF1ZXN0PGFueT59IHJlcSAtIFRoZSBIVFRQIHJlcXVlc3Qgb2JqZWN0IGJlaW5nIGludGVyY2VwdGVkLlxyXG4gKiBAcGFyYW0ge0h0dHBIYW5kbGVyRm59IG5leHQgLSBUaGUgbmV4dCBIVFRQIGhhbmRsZXIgZnVuY3Rpb24gaW4gdGhlIGNoYWluIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QuXHJcbiAqIEByZXR1cm4ge09ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIEhUVFAgZXZlbnQsIGVpdGhlciBmcm9tIGNhY2hlXHJcbiAqIG9yIGJ5IGludm9raW5nIHRoZSBuZXh0IGhhbmRsZXIuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaHR0cENhY2hpbmdJbnRlcmNlcHRvciAocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlckZuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gIGNvbnN0IHsgY2FjaGVUdGwgfSA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTilcclxuXHJcbiAgaWYgKHJlcS5tZXRob2QgIT09ICdHRVQnKSByZXR1cm4gbmV4dChyZXEpXHJcblxyXG4gIGNvbnN0IGNhY2hlZCA9IGNhY2hlLmdldChyZXEudXJsV2l0aFBhcmFtcylcclxuXHJcbiAgaWYgKGNhY2hlZCkge1xyXG4gICAgY29uc3QgaXNFeHBpcmVkID0gRGF0ZS5ub3coKSA+IGNhY2hlZC50dGxcclxuXHJcbiAgICBpZiAoIWlzRXhwaXJlZCkgeyByZXR1cm4gb2YoY2FjaGVkLnJlcykgfVxyXG5cclxuICAgIGNhY2hlLmRlbGV0ZShyZXEudXJsV2l0aFBhcmFtcykgLy8gSWYgZXhwaXJlZCwgcmVtb3ZlIHRoZSBlbnRyeSBmcm9tIGNhY2hlXHJcbiAgfVxyXG5cclxuICByZXR1cm4gbmV4dChyZXEpLnBpcGUoXHJcbiAgICB0YXAoKHJlcykgPT4ge1xyXG4gICAgICBpZiAoIShyZXMgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpKSB7IHJldHVybiB9XHJcblxyXG4gICAgICBjb25zdCB0dGwgPSBEYXRlLm5vdygpICsgKGNhY2hlVHRsID8/IERFRkFVTFRfVFRMKVxyXG5cclxuICAgICAgY2FjaGUuc2V0KHJlcS51cmxXaXRoUGFyYW1zLCB7IHJlcywgdHRsIH0pXHJcbiAgICB9KVxyXG4gIClcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Injection token used to inject environment configurations.
|
|
4
|
+
*
|
|
5
|
+
* `ENVIRONMENT_TOKEN` is a dependency injection token that allows
|
|
6
|
+
* for the provision and retrieval of environment-specific configurations
|
|
7
|
+
* within the application. This token is typically associated with an
|
|
8
|
+
* `Environment` type that defines the structure of the configuration.
|
|
9
|
+
*/
|
|
10
|
+
export const ENVIRONMENT_TOKEN = new InjectionToken('Environments token');
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNlcnZpY2VzLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9uZ3gtc2VydmljZXMubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUF1RDlDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBYyxvQkFBb0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBhcHBsaWNhdGlvbidzIGVudmlyb25tZW50LlxyXG4gKiBUaGlzIHR5cGUgaW5jbHVkZXMgdmFyaW91cyBBUEkgZW5kcG9pbnQgVVJMcywgYXV0aGVudGljYXRpb24gZGV0YWlscywgY2FjaGluZyBvcHRpb25zLCBhbmQgb3RoZXIgcmVsZXZhbnQgc2V0dGluZ3MuXHJcbiAqXHJcbiAqIFByb3BlcnRpZXM6XHJcbiAqIC0gYXBpQ29tcGFuaWVzVXJsOiBUaGUgVVJMIGZvciB0aGUgY29tcGFuaWVzIEFQSSBlbmRwb2ludC5cclxuICogLSBhcGlFdmVudHNVcmw6IFRoZSBVUkwgZm9yIHRoZSBldmVudHMgQVBJIGVuZHBvaW50LlxyXG4gKiAtIGFwaUludm9pY2VzVXJsOiBUaGUgVVJMIGZvciB0aGUgaW52b2ljZXMgQVBJIGVuZHBvaW50LlxyXG4gKiAtIGFwaVJlcG9ydHNVcmw6IFRoZSBVUkwgZm9yIHRoZSByZXBvcnRzIEFQSSBlbmRwb2ludC5cclxuICogLSBhcGlTZWN1cml0eVVybDogVGhlIFVSTCBmb3IgdGhlIHNlY3VyaXR5LXJlbGF0ZWQgQVBJIGVuZHBvaW50LlxyXG4gKiAtIGFwaVNoaXBtZW50VXJsOiBUaGUgVVJMIGZvciB0aGUgc2hpcG1lbnQgQVBJIGVuZHBvaW50LlxyXG4gKiAtIGF1dGhDb29raWU6IFRoZSBuYW1lIG9mIHRoZSBhdXRoZW50aWNhdGlvbiBjb29raWUgdXNlZCBmb3IgdXNlciBzZXNzaW9ucy5cclxuICogLSBjYWNoZVR0bDogT3B0aW9uYWwuIFNwZWNpZmllcyB0aGUgdGltZS10by1saXZlIChUVEwpIGZvciBjYWNoZWQgaXRlbXMuXHJcbiAqIC0gcHJpbnRVcmw6IE9wdGlvbmFsLiBUaGUgVVJMIHVzZWQgZm9yIGdlbmVyYXRpbmcgb3IgZG93bmxvYWRpbmcgcHJpbnRhYmxlIGRvY3VtZW50cy5cclxuICogLSBzZWNyZXRLZXk6IEEgc2VjcmV0IGtleSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbiBvciBvdGhlciBzZWN1cmUgb3BlcmF0aW9ucy5cclxuICovXHJcbmV4cG9ydCB0eXBlIEVudmlyb25tZW50ID0ge1xyXG4gIGFwaUJpbGxpbmdETz86IHN0cmluZ1xyXG4gIGFwaUJpbGxpbmdHVD86IHN0cmluZ1xyXG4gIGFwaUJpbGxpbmdNWD86IHN0cmluZ1xyXG4gIGFwaUJpbGxpbmdQQT86IHN0cmluZ1xyXG4gIGFwaUJpbGxpbmdTVj86IHN0cmluZ1xyXG4gIGFwaUNhc2hPcGVyYXRpb25zVXJsPzogc3RyaW5nXHJcbiAgYXBpQ2F0YWxvZ3NVcmw/OiBzdHJpbmdcclxuICBhcGlDb21wYW5pZXNVcmw/OiBzdHJpbmdcclxuICBhcGlDb21wb3NpdGlvblVybD86IHN0cmluZ1xyXG4gIGFwaUN1c3RvbXNVcmw/OiBzdHJpbmdcclxuICBhcGlEaXNjb3VudHNVcmw/OiBzdHJpbmdcclxuICBhcGlFdmVudHNVcmw/OiBzdHJpbmdcclxuICBhcGlFVG9vbHNBdXRvQmlsbGluZz86IHN0cmluZ1xyXG4gIGFwaUV4dGVybmFsT3BlcmF0aW9uc0tleT86IHN0cmluZ1xyXG4gIGFwaUV4dGVybmFsT3BlcmF0aW9uc1VybD86IHN0cmluZ1xyXG4gIGFwaUludmVudG9yaWVzVXJsPzogc3RyaW5nXHJcbiAgYXBpSW52b2ljZXNVcmw/OiBzdHJpbmdcclxuICBhcGlOb3RpZmljYXRpb25zVXJsPzogc3RyaW5nXHJcbiAgYXBpT3Blbkl0ZW1zVXJsPzogc3RyaW5nXHJcbiAgYXBpUmVwb3J0c1VybD86IHN0cmluZ1xyXG4gIGFwaVNlY3VyaXR5VXJsPzogc3RyaW5nXHJcbiAgYXBpU2VydmljZXNVcmw/OiBzdHJpbmdcclxuICBhcGlTaGlwbWVudFVybD86IHN0cmluZ1xyXG4gIGFwaVN1cHBsaWVzVXJsPzogc3RyaW5nXHJcbiAgYXV0aENvb2tpZTogc3RyaW5nXHJcbiAgY2FjaGVUdGw/OiBudW1iZXJcclxuICBwcmludFVybD86IHN0cmluZ1xyXG4gIHNlY3JldEtleTogc3RyaW5nXHJcbiAgc29ja2V0cz86IHtcclxuICAgIGFwcF9rZXk6IHN0cmluZ1xyXG4gICAgZGVidWc/OiBib29sZWFuXHJcbiAgICBwb3J0OiBudW1iZXJcclxuICAgIHVybDogc3RyaW5nXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gaW5qZWN0IGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gKlxyXG4gKiBgRU5WSVJPTk1FTlRfVE9LRU5gIGlzIGEgZGVwZW5kZW5jeSBpbmplY3Rpb24gdG9rZW4gdGhhdCBhbGxvd3NcclxuICogZm9yIHRoZSBwcm92aXNpb24gYW5kIHJldHJpZXZhbCBvZiBlbnZpcm9ubWVudC1zcGVjaWZpYyBjb25maWd1cmF0aW9uc1xyXG4gKiB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLiBUaGlzIHRva2VuIGlzIHR5cGljYWxseSBhc3NvY2lhdGVkIHdpdGggYW5cclxuICogYEVudmlyb25tZW50YCB0eXBlIHRoYXQgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBjb25maWd1cmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVOVklST05NRU5UX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEVudmlyb25tZW50PignRW52aXJvbm1lbnRzIHRva2VuJylcclxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { provideHttpClient } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgxServicesModule {
|
|
5
|
+
/**
|
|
6
|
+
* Returns a module with providers for the NgxServicesModule.
|
|
7
|
+
*
|
|
8
|
+
* @param {Environment} environment - The environment configuration object.
|
|
9
|
+
*
|
|
10
|
+
* @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.
|
|
11
|
+
*/
|
|
12
|
+
static forRoot(environment) {
|
|
13
|
+
return {
|
|
14
|
+
ngModule: NgxServicesModule,
|
|
15
|
+
providers: [
|
|
16
|
+
{
|
|
17
|
+
provide: 'env',
|
|
18
|
+
useValue: environment
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgxServicesModule });
|
|
25
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxServicesModule, providers: [provideHttpClient()] });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxServicesModule, decorators: [{
|
|
28
|
+
type: NgModule,
|
|
29
|
+
args: [{
|
|
30
|
+
providers: [provideHttpClient()]
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNlcnZpY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9uZ3gtc2VydmljZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBOztBQUt4RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUUsV0FBd0I7UUFDN0MsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxXQUFXO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQTtJQUNILENBQUM7d0dBbEJVLGlCQUFpQjt5R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUIsYUFGakIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDOzs0RkFFckIsaUJBQWlCO2tCQUg3QixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUh0dHBDbGllbnQoKV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFNlcnZpY2VzTW9kdWxlIHtcclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbW9kdWxlIHdpdGggcHJvdmlkZXJzIGZvciB0aGUgTmd4U2VydmljZXNNb2R1bGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0Vudmlyb25tZW50fSBlbnZpcm9ubWVudCAtIFRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge01vZHVsZVdpdGhQcm92aWRlcnM8Tmd4U2VydmljZXNNb2R1bGU+fSBUaGUgbW9kdWxlIHdpdGggcHJvdmlkZXJzIGZvciB0aGUgTmd4U2VydmljZXNNb2R1bGUuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290IChlbnZpcm9ubWVudDogRW52aXJvbm1lbnQpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFNlcnZpY2VzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4U2VydmljZXNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdlbnYnLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGVudmlyb25tZW50XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import Pusher from 'pusher-js';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class WebSocketsService {
|
|
6
|
+
environments;
|
|
7
|
+
pusher;
|
|
8
|
+
constructor(environments) {
|
|
9
|
+
this.environments = environments;
|
|
10
|
+
this.pusher = null;
|
|
11
|
+
this.connect()
|
|
12
|
+
.then((pusher) => {
|
|
13
|
+
if (!pusher)
|
|
14
|
+
return;
|
|
15
|
+
this.pusher = pusher;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Publishes an event to the specified channel with the given data.
|
|
20
|
+
*
|
|
21
|
+
* @param {Channel} channel - The channel instance where the event will be published.
|
|
22
|
+
* @param {string} eventName - The name of the event to be published.
|
|
23
|
+
* @param {T} data - The payload data to be sent with the event.
|
|
24
|
+
* @return {Promise<boolean>} A promise that resolves to a boolean indicating
|
|
25
|
+
* whether the event was successfully triggered on the channel.
|
|
26
|
+
*/
|
|
27
|
+
async pub(channel, eventName, data) {
|
|
28
|
+
return channel.trigger(`client-${eventName}`, data);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Subscribes to a specified channel, retrying multiple times upon failure.
|
|
32
|
+
*
|
|
33
|
+
* @param {string} channelName - The name of the channel to be subscribed to.
|
|
34
|
+
* @return {Promise<Channel>} A promise that resolves to the subscribed channel object if successful.
|
|
35
|
+
* @throws {Error} If the subscription fails after the maximum number of retry attempts.
|
|
36
|
+
*/
|
|
37
|
+
async channelSub(channelName) {
|
|
38
|
+
const attempts = 3;
|
|
39
|
+
for (let attempt = 0; attempt <= attempts; attempt++) {
|
|
40
|
+
const channel = this.pusher?.channel(channelName);
|
|
41
|
+
if (channel?.subscribed) {
|
|
42
|
+
return channel;
|
|
43
|
+
}
|
|
44
|
+
this.pusher?.subscribe(channelName);
|
|
45
|
+
if (attempt < attempts) {
|
|
46
|
+
await this.wait();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`Failed to subscribe to channel "${channelName}" after ${attempts} attempts.`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Binds an event listener to a specified event on a given channel using Pusher or a Channel object,
|
|
53
|
+
* and returns an Observable that emits event data of type T.
|
|
54
|
+
*
|
|
55
|
+
* @param {Channel|string} channel - The channel to bind the event to. It can be a Channel object or a string representing the channel name.
|
|
56
|
+
* @param {string} event - The name of the event to bind to the channel.
|
|
57
|
+
* @return {Observable<T>} An Observable that emits data of type T when the specified event is triggered.
|
|
58
|
+
*/
|
|
59
|
+
eventBind(channel, event) {
|
|
60
|
+
return new Observable((subscriber) => {
|
|
61
|
+
if (channel?.name) {
|
|
62
|
+
channel.bind(event, (data) => subscriber.next(data));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.pusher?.subscribe(channel)
|
|
66
|
+
.bind(event, (data) => subscriber.next(data));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Unbinds an event from the specified channel and returns an observable
|
|
72
|
+
* that emits data when the event callback is triggered.
|
|
73
|
+
*
|
|
74
|
+
* @param {Channel} channel - The channel object from which the event should be unbound.
|
|
75
|
+
* @param {string} event - The name of the event to unbind.
|
|
76
|
+
* @return {Observable<T>} An observable that emits data from the unbound event callback.
|
|
77
|
+
*/
|
|
78
|
+
eventUnbind(channel, event) {
|
|
79
|
+
return new Observable((subscriber) => channel.unbind(event, (data) => subscriber.next(data)));
|
|
80
|
+
}
|
|
81
|
+
connect() {
|
|
82
|
+
return new Promise((resolve) => {
|
|
83
|
+
const { sockets } = this.environments;
|
|
84
|
+
if (!sockets)
|
|
85
|
+
return resolve(false);
|
|
86
|
+
const pusher = new Pusher(sockets.app_key, {
|
|
87
|
+
wsHost: sockets.url,
|
|
88
|
+
wsPort: sockets.port,
|
|
89
|
+
enabledTransports: ['wss', 'ws'],
|
|
90
|
+
forceTLS: false,
|
|
91
|
+
enableStats: false,
|
|
92
|
+
});
|
|
93
|
+
if (sockets.debug) {
|
|
94
|
+
Pusher.logToConsole = true;
|
|
95
|
+
}
|
|
96
|
+
return resolve(pusher);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async wait() {
|
|
100
|
+
const waitTime = 3 * 1000;
|
|
101
|
+
return new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
102
|
+
}
|
|
103
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebSocketsService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebSocketsService, providedIn: 'root' });
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WebSocketsService, decorators: [{
|
|
107
|
+
type: Injectable,
|
|
108
|
+
args: [{
|
|
109
|
+
providedIn: 'root',
|
|
110
|
+
}]
|
|
111
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
112
|
+
type: Inject,
|
|
113
|
+
args: ['env']
|
|
114
|
+
}] }] });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXNvY2tldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi93ZWJzb2NrZXRzL3dlYi1zb2NrZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxNQUFtQixNQUFNLFdBQVcsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBOztBQU1qQyxNQUFNLE9BQU8saUJBQWlCO0lBSUg7SUFIakIsTUFBTSxDQUFlO0lBRTdCLFlBQ3lCLFlBQXlCO1FBQXpCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBRWxCLElBQUksQ0FBQyxPQUFPLEVBQUU7YUFDWCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU07WUFFbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFLLE9BQWdCLEVBQUUsU0FBaUIsRUFBRSxJQUFPO1FBQ3hELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFFLFdBQW1CO1FBQ25DLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQTtRQUVsQixLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLElBQUksUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFakQsSUFBSSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sT0FBTyxDQUFBO1lBQ2hCLENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUVuQyxJQUFJLE9BQU8sR0FBRyxRQUFRLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxXQUFXLFdBQVcsUUFBUSxZQUFZLENBQUMsQ0FBQTtJQUNoRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FBSyxPQUF5QixFQUFFLEtBQWE7UUFDcEQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLElBQUssT0FBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsT0FBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDdEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFFLE9BQWtCLENBQUM7cUJBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUNwRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFdBQVcsQ0FBSyxPQUFnQixFQUFFLEtBQWE7UUFDN0MsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sSUFBSSxPQUFPLENBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUE7WUFFckMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFFbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDekMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNuQixNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUk7Z0JBQ3BCLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztnQkFDaEMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsV0FBVyxFQUFFLEtBQUs7YUFDbkIsQ0FBQyxDQUFBO1lBRUYsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1lBQzVCLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsSUFBSTtRQUNoQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBRXpCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO3dHQWxIVSxpQkFBaUIsa0JBSWxCLEtBQUs7NEdBSkosaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCBQdXNoZXIsIHsgQ2hhbm5lbCB9IGZyb20gJ3B1c2hlci1qcydcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXRzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBwdXNoZXI6IFB1c2hlciB8IG51bGxcclxuXHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLnB1c2hlciA9IG51bGxcclxuXHJcbiAgICB0aGlzLmNvbm5lY3QoKVxyXG4gICAgICAudGhlbigocHVzaGVyKSA9PiB7XHJcbiAgICAgICAgaWYgKCFwdXNoZXIpIHJldHVyblxyXG5cclxuICAgICAgICB0aGlzLnB1c2hlciA9IHB1c2hlclxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVibGlzaGVzIGFuIGV2ZW50IHRvIHRoZSBzcGVjaWZpZWQgY2hhbm5lbCB3aXRoIHRoZSBnaXZlbiBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDaGFubmVsfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgaW5zdGFuY2Ugd2hlcmUgdGhlIGV2ZW50IHdpbGwgYmUgcHVibGlzaGVkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gYmUgcHVibGlzaGVkLlxyXG4gICAqIEBwYXJhbSB7VH0gZGF0YSAtIFRoZSBwYXlsb2FkIGRhdGEgdG8gYmUgc2VudCB3aXRoIHRoZSBldmVudC5cclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gaW5kaWNhdGluZ1xyXG4gICAqIHdoZXRoZXIgdGhlIGV2ZW50IHdhcyBzdWNjZXNzZnVsbHkgdHJpZ2dlcmVkIG9uIHRoZSBjaGFubmVsLlxyXG4gICAqL1xyXG4gIGFzeW5jIHB1YjxUPiAoY2hhbm5lbDogQ2hhbm5lbCwgZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE6IFQpIHtcclxuICAgIHJldHVybiBjaGFubmVsLnRyaWdnZXIoYGNsaWVudC0ke2V2ZW50TmFtZX1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlcyB0byBhIHNwZWNpZmllZCBjaGFubmVsLCByZXRyeWluZyBtdWx0aXBsZSB0aW1lcyB1cG9uIGZhaWx1cmUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2hhbm5lbCB0byBiZSBzdWJzY3JpYmVkIHRvLlxyXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q2hhbm5lbD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzdWJzY3JpYmVkIGNoYW5uZWwgb2JqZWN0IGlmIHN1Y2Nlc3NmdWwuXHJcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzdWJzY3JpcHRpb24gZmFpbHMgYWZ0ZXIgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJ5IGF0dGVtcHRzLlxyXG4gICAqL1xyXG4gIGFzeW5jIGNoYW5uZWxTdWIgKGNoYW5uZWxOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENoYW5uZWw+IHtcclxuICAgIGNvbnN0IGF0dGVtcHRzID0gM1xyXG5cclxuICAgIGZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDw9IGF0dGVtcHRzOyBhdHRlbXB0KyspIHtcclxuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMucHVzaGVyPy5jaGFubmVsKGNoYW5uZWxOYW1lKVxyXG5cclxuICAgICAgaWYgKGNoYW5uZWw/LnN1YnNjcmliZWQpIHtcclxuICAgICAgICByZXR1cm4gY2hhbm5lbFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnB1c2hlcj8uc3Vic2NyaWJlKGNoYW5uZWxOYW1lKVxyXG5cclxuICAgICAgaWYgKGF0dGVtcHQgPCBhdHRlbXB0cykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMud2FpdCgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gY2hhbm5lbCBcIiR7Y2hhbm5lbE5hbWV9XCIgYWZ0ZXIgJHthdHRlbXB0c30gYXR0ZW1wdHMuYClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgc3BlY2lmaWVkIGV2ZW50IG9uIGEgZ2l2ZW4gY2hhbm5lbCB1c2luZyBQdXNoZXIgb3IgYSBDaGFubmVsIG9iamVjdCxcclxuICAgKiBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZXZlbnQgZGF0YSBvZiB0eXBlIFQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0NoYW5uZWx8c3RyaW5nfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgdG8gYmluZCB0aGUgZXZlbnQgdG8uIEl0IGNhbiBiZSBhIENoYW5uZWwgb2JqZWN0IG9yIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY2hhbm5lbCBuYW1lLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBiaW5kIHRvIHRoZSBjaGFubmVsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBkYXRhIG9mIHR5cGUgVCB3aGVuIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxyXG4gICAqL1xyXG4gIGV2ZW50QmluZDxUPiAoY2hhbm5lbDogQ2hhbm5lbCB8IHN0cmluZywgZXZlbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XHJcbiAgICAgIGlmICgoY2hhbm5lbCBhcyBDaGFubmVsKT8ubmFtZSkge1xyXG4gICAgICAgIChjaGFubmVsIGFzIENoYW5uZWwpLmJpbmQoZXZlbnQsIChkYXRhOiBUKSA9PiBzdWJzY3JpYmVyLm5leHQoZGF0YSkpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wdXNoZXI/LnN1YnNjcmliZSgoY2hhbm5lbCBhcyBzdHJpbmcpKVxyXG4gICAgICAgICAgLmJpbmQoZXZlbnQsIChkYXRhOiBUKSA9PiBzdWJzY3JpYmVyLm5leHQoZGF0YSkpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmRzIGFuIGV2ZW50IGZyb20gdGhlIHNwZWNpZmllZCBjaGFubmVsIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGVcclxuICAgKiB0aGF0IGVtaXRzIGRhdGEgd2hlbiB0aGUgZXZlbnQgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDaGFubmVsfSBjaGFubmVsIC0gVGhlIGNoYW5uZWwgb2JqZWN0IGZyb20gd2hpY2ggdGhlIGV2ZW50IHNob3VsZCBiZSB1bmJvdW5kLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBldmVudCB0byB1bmJpbmQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxUPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGRhdGEgZnJvbSB0aGUgdW5ib3VuZCBldmVudCBjYWxsYmFjay5cclxuICAgKi9cclxuICBldmVudFVuYmluZDxUPiAoY2hhbm5lbDogQ2hhbm5lbCwgZXZlbnQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PlxyXG4gICAgICBjaGFubmVsLnVuYmluZChldmVudCwgKGRhdGE6IFQpID0+IHN1YnNjcmliZXIubmV4dChkYXRhKSkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbm5lY3QgKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFB1c2hlciB8IGZhbHNlPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCB7IHNvY2tldHMgfSA9IHRoaXMuZW52aXJvbm1lbnRzXHJcblxyXG4gICAgICBpZiAoIXNvY2tldHMpIHJldHVybiByZXNvbHZlKGZhbHNlKVxyXG5cclxuICAgICAgY29uc3QgcHVzaGVyID0gbmV3IFB1c2hlcihzb2NrZXRzLmFwcF9rZXksIHtcclxuICAgICAgICB3c0hvc3Q6IHNvY2tldHMudXJsLFxyXG4gICAgICAgIHdzUG9ydDogc29ja2V0cy5wb3J0LFxyXG4gICAgICAgIGVuYWJsZWRUcmFuc3BvcnRzOiBbJ3dzcycsICd3cyddLFxyXG4gICAgICAgIGZvcmNlVExTOiBmYWxzZSxcclxuICAgICAgICBlbmFibGVTdGF0czogZmFsc2UsXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAoc29ja2V0cy5kZWJ1Zykge1xyXG4gICAgICAgIFB1c2hlci5sb2dUb0NvbnNvbGUgPSB0cnVlXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiByZXNvbHZlKHB1c2hlcilcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHdhaXQgKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgd2FpdFRpbWUgPSAzICogMTAwMFxyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCB3YWl0VGltZSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-services
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ngx-services.models';
|
|
5
|
+
export * from './lib/ngx-services.module';
|
|
6
|
+
// api services
|
|
7
|
+
export * from './lib/apis/api-billing-do.service';
|
|
8
|
+
export * from './lib/apis/api-billing-gt.service';
|
|
9
|
+
export * from './lib/apis/api-billing-mx.service';
|
|
10
|
+
export * from './lib/apis/api-billing-pa.service';
|
|
11
|
+
export * from './lib/apis/api-billing-sv.service';
|
|
12
|
+
export * from './lib/apis/api-cash-operations.service';
|
|
13
|
+
export * from './lib/apis/api-catalogs.service';
|
|
14
|
+
export * from './lib/apis/api-companies.service';
|
|
15
|
+
export * from './lib/apis/api-composition.service';
|
|
16
|
+
export * from './lib/apis/api-customs.service';
|
|
17
|
+
export * from './lib/apis/api-discounts.service';
|
|
18
|
+
export * from './lib/apis/api-events.service';
|
|
19
|
+
export * from './lib/apis/api-e-tools-auto-billing.service';
|
|
20
|
+
export * from './lib/apis/api-external-pickups.service';
|
|
21
|
+
export * from './lib/apis/api-inventories.service';
|
|
22
|
+
export * from './lib/apis/api-invoices.service';
|
|
23
|
+
export * from './lib/apis/api-notifications.service';
|
|
24
|
+
export * from './lib/apis/api-open-items.service';
|
|
25
|
+
export * from './lib/apis/api-reports.service';
|
|
26
|
+
export * from './lib/apis/api-security.service';
|
|
27
|
+
export * from './lib/apis/api-services.service';
|
|
28
|
+
export * from './lib/apis/api-shipments.service';
|
|
29
|
+
export * from './lib/apis/api-supplies.service';
|
|
30
|
+
// api models
|
|
31
|
+
export * from './lib/apis/models/api-billing-do.interfaces';
|
|
32
|
+
export * from './lib/apis/models/api-billing-do.types';
|
|
33
|
+
export * from './lib/apis/models/api-billing-mx.interfaces';
|
|
34
|
+
export * from './lib/apis/models/api-billing-mx.types';
|
|
35
|
+
export * from './lib/apis/models/api-billing-pa.interfaces';
|
|
36
|
+
export * from './lib/apis/models/api-billing-pa.types';
|
|
37
|
+
export * from './lib/apis/models/api-billing-sv.interfaces';
|
|
38
|
+
export * from './lib/apis/models/api-billing-sv.types';
|
|
39
|
+
export * from './lib/apis/models/api-billing.models';
|
|
40
|
+
export * from './lib/apis/models/api-cash-operations.interfaces';
|
|
41
|
+
export * from './lib/apis/models/api-cash-operations.types';
|
|
42
|
+
export * from './lib/apis/models/api-catalog.enum';
|
|
43
|
+
export * from './lib/apis/models/api-catalog.interfaces';
|
|
44
|
+
export * from './lib/apis/models/api-catalog.types';
|
|
45
|
+
export * from './lib/apis/models/api-companies.interfaces';
|
|
46
|
+
export * from './lib/apis/models/api-companies.types';
|
|
47
|
+
export * from './lib/apis/models/api-composition.interfaces';
|
|
48
|
+
export * from './lib/apis/models/api-composition.types';
|
|
49
|
+
export * from './lib/apis/models/api-customs.interfaces';
|
|
50
|
+
export * from './lib/apis/models/api-customs.types';
|
|
51
|
+
export * from './lib/apis/models/api-discounts.interfaces';
|
|
52
|
+
export * from './lib/apis/models/api-discounts.types';
|
|
53
|
+
export * from './lib/apis/models/api-e-tools-auto-billing.interfaces';
|
|
54
|
+
export * from './lib/apis/models/api-e-tools-auto-billing.types';
|
|
55
|
+
export * from './lib/apis/models/api-events.enum';
|
|
56
|
+
export * from './lib/apis/models/api-events.interfaces';
|
|
57
|
+
export * from './lib/apis/models/api-events.types';
|
|
58
|
+
export * from './lib/apis/models/api-external-pickups.types';
|
|
59
|
+
export * from './lib/apis/models/api-inventories.enum';
|
|
60
|
+
export * from './lib/apis/models/api-inventories.interfaces';
|
|
61
|
+
export * from './lib/apis/models/api-inventories.types';
|
|
62
|
+
export * from './lib/apis/models/api-invoices.interfaces';
|
|
63
|
+
export * from './lib/apis/models/api-invoices.types';
|
|
64
|
+
export * from './lib/apis/models/api-notifications.interfaces';
|
|
65
|
+
export * from './lib/apis/models/api-notifications.types';
|
|
66
|
+
export * from './lib/apis/models/api-open-items.interfaces';
|
|
67
|
+
export * from './lib/apis/models/api-open-items.types';
|
|
68
|
+
export * from './lib/apis/models/api-reports.interfaces';
|
|
69
|
+
export * from './lib/apis/models/api-reports.types';
|
|
70
|
+
export * from './lib/apis/models/api-security.interfaces';
|
|
71
|
+
export * from './lib/apis/models/api-security.types';
|
|
72
|
+
export * from './lib/apis/models/api-services.interfaces';
|
|
73
|
+
export * from './lib/apis/models/api-services.types';
|
|
74
|
+
export * from './lib/apis/models/api-shipments.interfaces';
|
|
75
|
+
export * from './lib/apis/models/api-shipments.types';
|
|
76
|
+
export * from './lib/apis/models/api-supplies.interfaces';
|
|
77
|
+
export * from './lib/apis/models/api-supplies.types';
|
|
78
|
+
export * from './lib/apis/models/api.models';
|
|
79
|
+
// websockets
|
|
80
|
+
export * from './lib/websockets/web-sockets.service';
|
|
81
|
+
// cypher
|
|
82
|
+
export * from './lib/cypher/crypto.service';
|
|
83
|
+
// interceptors
|
|
84
|
+
export * from './lib/interceptors/api-headers.interceptor';
|
|
85
|
+
export * from './lib/interceptors/api-token.interceptor';
|
|
86
|
+
export * from './lib/interceptors/http-caching.interceptor';
|
|
87
|
+
// helpers
|
|
88
|
+
export * from './lib/helpers/http';
|
|
89
|
+
export * from './lib/helpers/files';
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUE7QUFFekMsZUFBZTtBQUNmLGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUUvQyxhQUFhO0FBQ2IsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQTtBQUN0RCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQTtBQUN0RCxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLDRDQUE0QyxDQUFBO0FBQzFELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMsOEJBQThCLENBQUE7QUFFNUMsYUFBYTtBQUNiLGNBQWMsc0NBQXNDLENBQUE7QUFFcEQsU0FBUztBQUNULGNBQWMsNkJBQTZCLENBQUE7QUFFM0MsZUFBZTtBQUNmLGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLDZDQUE2QyxDQUFBO0FBRTNELFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMscUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXNlcnZpY2VzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtc2VydmljZXMubW9kdWxlJ1xyXG5cclxuLy8gYXBpIHNlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWJpbGxpbmctZG8uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktYmlsbGluZy1ndC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1iaWxsaW5nLW14LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWJpbGxpbmctcGEuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktYmlsbGluZy1zdi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1jYXNoLW9wZXJhdGlvbnMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktY2F0YWxvZ3Muc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktY29tcGFuaWVzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWNvbXBvc2l0aW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWN1c3RvbXMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktZGlzY291bnRzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWV2ZW50cy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1lLXRvb2xzLWF1dG8tYmlsbGluZy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1leHRlcm5hbC1waWNrdXBzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWludmVudG9yaWVzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWludm9pY2VzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLW5vdGlmaWNhdGlvbnMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktb3Blbi1pdGVtcy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1yZXBvcnRzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLXNlY3VyaXR5LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLXNlcnZpY2VzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLXNoaXBtZW50cy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1zdXBwbGllcy5zZXJ2aWNlJ1xyXG5cclxuLy8gYXBpIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktYmlsbGluZy1kby5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktYmlsbGluZy1kby50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWJpbGxpbmctbXguaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWJpbGxpbmctbXgudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1iaWxsaW5nLXBhLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1iaWxsaW5nLXBhLnR5cGVzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktYmlsbGluZy1zdi5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktYmlsbGluZy1zdi50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWJpbGxpbmcubW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktY2FzaC1vcGVyYXRpb25zLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jYXNoLW9wZXJhdGlvbnMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jYXRhbG9nLmVudW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jYXRhbG9nLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jYXRhbG9nLnR5cGVzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktY29tcGFuaWVzLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wb3NpdGlvbi5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktY29tcG9zaXRpb24udHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jdXN0b21zLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jdXN0b21zLnR5cGVzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktZGlzY291bnRzLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1kaXNjb3VudHMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1lLXRvb2xzLWF1dG8tYmlsbGluZy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktZS10b29scy1hdXRvLWJpbGxpbmcudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1ldmVudHMuZW51bSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWV2ZW50cy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktZXZlbnRzLnR5cGVzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktZXh0ZXJuYWwtcGlja3Vwcy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWludmVudG9yaWVzLmVudW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1pbnZlbnRvcmllcy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktaW52ZW50b3JpZXMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1pbnZvaWNlcy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktaW52b2ljZXMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1ub3RpZmljYXRpb25zLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1ub3RpZmljYXRpb25zLnR5cGVzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktb3Blbi1pdGVtcy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktb3Blbi1pdGVtcy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXJlcG9ydHMuaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXJlcG9ydHMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zZWN1cml0eS5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktc2VjdXJpdHkudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zZXJ2aWNlcy5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktc2VydmljZXMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zaGlwbWVudHMuaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXNoaXBtZW50cy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXN1cHBsaWVzLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zdXBwbGllcy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLm1vZGVscydcclxuXHJcbi8vIHdlYnNvY2tldHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2Vic29ja2V0cy93ZWItc29ja2V0cy5zZXJ2aWNlJ1xyXG5cclxuLy8gY3lwaGVyXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N5cGhlci9jcnlwdG8uc2VydmljZSdcclxuXHJcbi8vIGludGVyY2VwdG9yc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXBpLWhlYWRlcnMuaW50ZXJjZXB0b3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9hcGktdG9rZW4uaW50ZXJjZXB0b3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9odHRwLWNhY2hpbmcuaW50ZXJjZXB0b3InXHJcblxyXG4vLyBoZWxwZXJzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlbHBlcnMvaHR0cCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVscGVycy9maWxlcydcclxuIl19
|