@vcd/sdk 15.0.4 → 15.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client/index.d.ts +1 -0
- package/client/client/types.d.ts +9 -0
- package/client/client/vcd.api.client.d.ts +1 -1
- package/client/client/vcd.http.client.d.ts +6 -4
- package/common/container-hooks.d.ts +4 -0
- package/core/plugin.module.d.ts +6 -0
- package/esm2020/client/client/index.mjs +2 -1
- package/esm2020/client/client/types.mjs +13 -0
- package/esm2020/client/client/vcd.api.client.mjs +12 -12
- package/esm2020/client/client/vcd.http.client.mjs +16 -7
- package/esm2020/common/container-hooks.mjs +1 -1
- package/esm2020/core/plugin.module.mjs +6 -1
- package/esm2020/main.mjs +2 -2
- package/fesm2015/vcd-sdk.mjs +145 -174
- package/fesm2015/vcd-sdk.mjs.map +1 -1
- package/fesm2020/vcd-sdk.mjs +143 -174
- package/fesm2020/vcd-sdk.mjs.map +1 -1
- package/main.d.ts +1 -1
- package/{open_source_license_@vcdsdk_15.0.4_GA.txt → open_source_license_@vcdsdk_15.0.6_GA.txt} +37 -19
- package/package.json +1 -1
- package/client/container-hooks/index.d.ts +0 -58
- package/esm2020/client/container-hooks/index.mjs +0 -57
- /package/{VMware-vcd_ui_sdk-15.0.4-ODP.tar.gz → VMware-vcd_ui_sdk-15.0.6-ODP.tar.gz} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { VCD_HTTP_INTERCEPTORS } from "../../core";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common/http";
|
|
5
6
|
import * as i2 from "./logging.interceptor";
|
|
@@ -28,25 +29,33 @@ export class VcdHttpClient extends HttpClient {
|
|
|
28
29
|
/**
|
|
29
30
|
* Create an HttpClient with the logging and header interceptors in the chain.
|
|
30
31
|
* @param httpBackend backend (likely injected from HttpClientModule)
|
|
31
|
-
* @param hateoasHeaderInterceptor the hateoas header interceptor
|
|
32
32
|
* @param loggingInterceptor the logging interceptor
|
|
33
33
|
* @param requestHeadersInterceptor the request header interceptor
|
|
34
|
+
* @param responseNormalizationInterceptor
|
|
35
|
+
* @param customInterceptors
|
|
34
36
|
*/
|
|
35
|
-
constructor(httpBackend, loggingInterceptor, requestHeadersInterceptor, responseNormalizationInterceptor) {
|
|
37
|
+
constructor(httpBackend, loggingInterceptor, requestHeadersInterceptor, responseNormalizationInterceptor, customInterceptors) {
|
|
36
38
|
const interceptors = [
|
|
37
39
|
loggingInterceptor,
|
|
38
40
|
requestHeadersInterceptor,
|
|
39
|
-
responseNormalizationInterceptor
|
|
41
|
+
responseNormalizationInterceptor,
|
|
42
|
+
...(customInterceptors ?? []),
|
|
40
43
|
];
|
|
41
44
|
const chain = interceptors.reduceRight((next, interceptor) => new VcdHttpInterceptorHandler(next, interceptor), httpBackend);
|
|
42
45
|
super(chain);
|
|
46
|
+
this.customInterceptors = customInterceptors;
|
|
43
47
|
this.loggingInterceptor = loggingInterceptor;
|
|
44
48
|
this.requestHeadersInterceptor = requestHeadersInterceptor;
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
|
-
VcdHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, deps: [{ token: i1.HttpBackend }, { token: i2.LoggingInterceptor }, { token: i3.RequestHeadersInterceptor }, { token: i4.ResponseNormalizationInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
VcdHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, deps: [{ token: i1.HttpBackend }, { token: i2.LoggingInterceptor }, { token: i3.RequestHeadersInterceptor }, { token: i4.ResponseNormalizationInterceptor }, { token: VCD_HTTP_INTERCEPTORS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
52
|
VcdHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient });
|
|
49
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, decorators: [{
|
|
50
54
|
type: Injectable
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i1.HttpBackend }, { type: i2.LoggingInterceptor }, { type: i3.RequestHeadersInterceptor }, { type: i4.ResponseNormalizationInterceptor }
|
|
52
|
-
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i1.HttpBackend }, { type: i2.LoggingInterceptor }, { type: i3.RequestHeadersInterceptor }, { type: i4.ResponseNormalizationInterceptor }, { type: undefined, decorators: [{
|
|
56
|
+
type: Optional
|
|
57
|
+
}, {
|
|
58
|
+
type: Inject,
|
|
59
|
+
args: [VCD_HTTP_INTERCEPTORS]
|
|
60
|
+
}] }]; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmNkLmh0dHAuY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY2xpZW50L2NsaWVudC92Y2QuaHR0cC5jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBdUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLHlCQUF5QjtJQUMzQixZQUFvQixJQUFpQixFQUFVLFdBQTRCO1FBQXZELFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFBRyxDQUFDO0lBRS9FLE1BQU0sQ0FBQyxHQUFxQjtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNKO0FBRUQ7Ozs7OztHQU1HO0FBRUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBV3pDOzs7Ozs7O09BT0c7SUFDSCxZQUFZLFdBQXdCLEVBQ3hCLGtCQUFzQyxFQUN0Qyx5QkFBb0QsRUFDcEQsZ0NBQWtFLEVBQ2Ysa0JBQXFDO1FBRWhHLE1BQU0sWUFBWSxHQUFzQjtZQUNwQyxrQkFBa0I7WUFDbEIseUJBQXlCO1lBQ3pCLGdDQUFnQztZQUNoQyxHQUFHLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDO1NBQ2hDLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsV0FBVyxDQUNsQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUkseUJBQXlCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUN2RSxXQUFXLENBQ2QsQ0FBQztRQUNGLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVo4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBYWhHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7SUFDL0QsQ0FBQzs7MEdBdENRLGFBQWEsd0tBdUJVLHFCQUFxQjs4R0F2QjVDLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBd0JNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQmFja2VuZCwgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dpbmdJbnRlcmNlcHRvcn0gZnJvbSAnLi9sb2dnaW5nLmludGVyY2VwdG9yJztcbmltcG9ydCB7UmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvcn0gZnJvbSAnLi9yZXF1ZXN0LmhlYWRlcnMuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHtSZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvcn0gZnJvbSAnLi9yZXNwb25zZS5ub3JtYWxpemF0aW9uLmludGVyY2VwdG9yJztcbmltcG9ydCB7VkNEX0hUVFBfSU5URVJDRVBUT1JTfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuXG4vKipcbiAqIEFuZ3VsYXIncyBIdHRwSW50ZXJjZXB0b3JIYW5kbGVyIGlzIG5vdCBwdWJsaWNseSBleHBvc2VkLiAgVGhpcyBpcyBhIGNsb25lIG9mIGl0LlxuICovXG5jbGFzcyBWY2RIdHRwSW50ZXJjZXB0b3JIYW5kbGVyIGltcGxlbWVudHMgSHR0cEhhbmRsZXIge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmV4dDogSHR0cEhhbmRsZXIsIHByaXZhdGUgaW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvcikge31cblxuICAgIGhhbmRsZShyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyY2VwdG9yLmludGVyY2VwdChyZXEsIHRoaXMubmV4dCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgYSBzcGVjaWFsaXN0IHN1YmNsYXNzIG9mIEh0dHBDbGllbnQuICBUaGUgSHR0cENsaWVudCB0aGF0IGlzIGRlZmluZWQvaW1wb3J0ZWRcbiAqIGJ5IEh0dHBDbGllbnRNb2R1bGUgaXMgYSBzaW5nbGV0b24gZnJvbSB0aGUgY29udGFpbmVyLCBtZWFuaW5nIHRoYXQgYWxsIGV4dGVuc2lvbnMgd291bGRcbiAqIGdldCB0aGUgc2FtZSBvbmUuICBXZSBzdWItY2xhc3MgaXQgc28gdGhhdCBlYWNoIGV4dGVuc2lvbiBnZXRzIHRoZWlyIG93biBpbnN0YW5jZS5cbiAqIEV4dGVuc2lvbiBjb25zdW1lcnMgc2hvdWxkIGluamVjdCB0aGlzLlxuICogQHNlZSBIdHRwQ2xpZW50XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWY2RIdHRwQ2xpZW50IGV4dGVuZHMgSHR0cENsaWVudCB7XG4gICAgLyoqXG4gICAgICogUHJvdmlkZSBhY2Nlc3MgdG8gdGhlIGxvZ2dpbmcgaW50ZXJjZXB0b3IgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBhbmQgY29uZmlndXJpbmcuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9nZ2luZ0ludGVyY2VwdG9yOiBMb2dnaW5nSW50ZXJjZXB0b3I7XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlIGFjY2VzcyB0byB0aGUgaGVhZGVycyBpbnRlcmNlcHRvciBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGFuZCBjb25maWd1cmluZy5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yOiBSZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuIEh0dHBDbGllbnQgd2l0aCB0aGUgbG9nZ2luZyBhbmQgaGVhZGVyIGludGVyY2VwdG9ycyBpbiB0aGUgY2hhaW4uXG4gICAgICogQHBhcmFtIGh0dHBCYWNrZW5kIGJhY2tlbmQgKGxpa2VseSBpbmplY3RlZCBmcm9tIEh0dHBDbGllbnRNb2R1bGUpXG4gICAgICogQHBhcmFtIGxvZ2dpbmdJbnRlcmNlcHRvciB0aGUgbG9nZ2luZyBpbnRlcmNlcHRvclxuICAgICAqIEBwYXJhbSByZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yIHRoZSByZXF1ZXN0IGhlYWRlciBpbnRlcmNlcHRvclxuICAgICAqIEBwYXJhbSByZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvclxuICAgICAqIEBwYXJhbSBjdXN0b21JbnRlcmNlcHRvcnNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihodHRwQmFja2VuZDogSHR0cEJhY2tlbmQsXG4gICAgICAgICAgICAgICAgbG9nZ2luZ0ludGVyY2VwdG9yOiBMb2dnaW5nSW50ZXJjZXB0b3IsXG4gICAgICAgICAgICAgICAgcmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvcjogUmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvcixcbiAgICAgICAgICAgICAgICByZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvcjogUmVzcG9uc2VOb3JtYWxpemF0aW9uSW50ZXJjZXB0b3IsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChWQ0RfSFRUUF9JTlRFUkNFUFRPUlMpIHByaXZhdGUgY3VzdG9tSW50ZXJjZXB0b3JzOiBIdHRwSW50ZXJjZXB0b3JbXSxcbiAgICApIHtcbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3JzOiBIdHRwSW50ZXJjZXB0b3JbXSA9IFtcbiAgICAgICAgICAgIGxvZ2dpbmdJbnRlcmNlcHRvcixcbiAgICAgICAgICAgIHJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IsXG4gICAgICAgICAgICByZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvcixcbiAgICAgICAgICAgIC4uLihjdXN0b21JbnRlcmNlcHRvcnMgPz8gW10pLFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBjaGFpbiA9IGludGVyY2VwdG9ycy5yZWR1Y2VSaWdodChcbiAgICAgICAgICAgIChuZXh0LCBpbnRlcmNlcHRvcikgPT4gbmV3IFZjZEh0dHBJbnRlcmNlcHRvckhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLFxuICAgICAgICAgICAgaHR0cEJhY2tlbmRcbiAgICAgICAgKTtcbiAgICAgICAgc3VwZXIoY2hhaW4pO1xuICAgICAgICB0aGlzLmxvZ2dpbmdJbnRlcmNlcHRvciA9IGxvZ2dpbmdJbnRlcmNlcHRvcjtcbiAgICAgICAgdGhpcy5yZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yID0gcmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvcjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -82,4 +82,4 @@ export class _WizardExtensionWithContextComponent extends _WizardExtensionCompon
|
|
|
82
82
|
}
|
|
83
83
|
// tslint:disable-next-line:max-line-length
|
|
84
84
|
export const WizardExtensionWithContextComponent = containerHooks.WizardExtensionWithContextComponent;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY29tbW9uL2NvbnRhaW5lci1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsMERBQTBEO0FBQzFELElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxJQUFJLENBQUUsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7SUFDckcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0NBQ2xEO0FBRUQsSUFBSSxjQUFjLEdBQVMsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzdFLElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDakIsY0FBYyxHQUFJLE1BQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQzFFO0FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRTtJQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7Q0FDOUU7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixjQUFjLENBQUMsYUFBYSxDQUFDO0FBRWxGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUEyQixjQUFjLENBQUMsb0JBQW9CLENBQUM7QUFFaEc7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUEyQixjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFekg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRTNJOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUEyQixjQUFjLENBQUMsZUFBZSxDQUFDO0FBRXRGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUE0QixjQUFjLENBQUMsUUFBUSxDQUFDO0FBZ0N6RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBdUMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0FBWWhJLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFvQixjQUFjLENBQUMsc0JBQXNCLENBQUM7QUErQzdGOztHQUVHO0FBQ0gsc0NBQXNDO0FBQ3RDLE1BQU0sT0FBZ0IsK0JBQStCO0NBaUJwRDtBQUNELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUEyQyxjQUFjLENBQUMsOEJBQThCLENBQUM7QUFFcEksc0NBQXNDO0FBQ3RDLE1BQU0sT0FBZ0IseUJBQXlCO0NBUzlDO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQXFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQztBQU1sSCxzQ0FBc0M7QUFDdEMsTUFBTSxPQUFnQix1Q0FBaUQsU0FBUSx5QkFBa0M7Q0FLaEg7QUFFRCwyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQW1ELGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQztBQUU1Sjs7Ozs7R0FLRztBQUNILHNDQUFzQztBQUN0QyxNQUFNLE9BQWdCLG9DQUE4QyxTQUFRLHlCQUFrQztDQVE3RztBQUVELDJDQUEyQztBQUMzQyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBZ0QsY0FBYyxDQUFDLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGlzIHRoZSBjdXJyZW50bHkgc3VwcG9ydGVkIC0gYWxiZWl0IHZlcnkgbWluaW1hbCAtIHB1YmxpYyBTREsuXG4gKi9cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQmluZCBzdHJhaWdodCBpbnRvIHRoZSBob29rcyBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLlxuaWYgKCEod2luZG93IGFzIGFueSkuU3lzdGVtIHx8ICEod2luZG93IGFzIGFueSkuU3lzdGVtLnJlZ2lzdHJ5IHx8ICEod2luZG93IGFzIGFueSkuU3lzdGVtLnJlZ2lzdHJ5LmdldCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU3lzdGVtSlMgcmVnaXN0cnkgbm90IGZvdW5kJyk7XG59XG5cbmxldCBjb250YWluZXJIb29rczogYW55ID0gKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQoJ0B2Y2QvY29tbW9uJyk7XG5pZiAoIWNvbnRhaW5lckhvb2tzKSB7XG4gICAgY29udGFpbmVySG9va3MgPSAod2luZG93IGFzIGFueSkuU3lzdGVtLnJlZ2lzdHJ5LmdldCgnQHZjZC11aS9jb21tb24nKTtcbn1cblxuaWYgKCFjb250YWluZXJIb29rcykge1xuICAgIHRocm93IG5ldyBFcnJvcignVkNEIFVJIGNvbnRhaW5lciBob29rcyBub3QgcHJlc2VudCBpbiBTeXN0ZW1KUyByZWdpc3RyeScpO1xufVxuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBzdHJpbmcuICBHaXZlcyB0aGUgcm9vdCBVUkwgZm9yIEFQSSBhY2Nlc3MgKGZvciBleGFtcGxlLCB0aGUgbG9hZCBiYWxhbmNlciBVUkxcbiAqIG9yIHRoZSBzaW5nbGUtY2VsbCBVUkwpLlxuICovXG5leHBvcnQgY29uc3QgQVBJX1JPT1RfVVJMOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuQVBJX1JPT1RfVVJMO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBzdHJpbmcuICBHaXZlcyB0aGUgcm9vdCBVUkwgZm9yIHRoZSBsZWdhY3kgRmxleCBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IEZMRVhfQVBQX1VSTDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLkFQSV9ST09UX1VSTDtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIGN1cnJlbnQgc2NvcGUgb2YgdGhlIFZDRC1VSS4gIEFzIG9mIGN1cnJlbnQsIHRoaXMgd2lsbCBiZVxuICogZWl0aGVyICd0ZW5hbnQnIGZvciB0aGUgdGVuYW50IHBvcnRhbCwgb3IgJ3NlcnZpY2UtcHJvdmlkZXInIGZvciB0aGUgc2VydmljZS1wcm92aWRlciBwb3J0YWwuXG4gKi9cbmV4cG9ydCBjb25zdCBTRVNTSU9OX1NDT1BFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuU0VTU0lPTl9TQ09QRTtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHVuaXF1ZSBuYW1lIChub3QgdGhlIGRpc3BsYXkgbmFtZSkgb2YgdGhlIGN1cnJlbnQgdGVuYW50XG4gKiBvcmdhbml6YXRpb24gdGhhdCB0aGUgVkNELVVJIGlzIGJlaW5nIHVzZWQgZm9yLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9PUkdBTklaQVRJT046IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5TRVNTSU9OX09SR0FOSVpBVElPTjtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIFVVSUQgaWRlbnRpZmllciBvZiB0aGUgY3VycmVudCB0ZW5hbnRcbiAqIG9yZ2FuaXphdGlvbiB0aGF0IHRoZSBWQ0QtVUkgaXMgYmVpbmcgdXNlZCBmb3IuXG4gKi9cbmV4cG9ydCBjb25zdCBTRVNTSU9OX09SR19JRDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fT1JHX0lEID8gY29udGFpbmVySG9va3MuU0VTU0lPTl9PUkdfSUQgOiAnJztcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIGZ1bGwgcm9vdCBwYXRoIGZvciBtb2R1bGUgYXNzZXRzIChlLmcuIGltYWdlcywgc2NyaXB0cywgdGV4dCBmaWxlcylcbiAqXG4gKiBBVFRFTlRJT04hXG4gKiBBZGQgfHwgbmV3IEluamVjdGlvblRva2VuIHRvIHdvcmthcm91bmQgdGhlIEFuZ3VsYXIgc2VjdXJpdHkgbWVjaGFuaWNzIHdoaWNoIHByZXZlbnQgdXNlIG9mIGluamVjdGlvbiB0b2tlbnNcbiAqIHdoaWNoIHBvdGVudGlhbGx5IGFyZSBub3QgZGVmaWVuZC4gVGhlIHNhbWUgZml4IGNhbiBiZSBhcHBsaWVkIGZvciB0aGUgcmVzdCB0b2tlbnMgaWYgbmVlZGVkLlxuICovXG5leHBvcnQgY29uc3QgRVhURU5TSU9OX0FTU0VUX1VSTDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLkVYVEVOU0lPTl9BU1NFVF9VUkwgfHwgbmV3IEluamVjdGlvblRva2VuKCdFWFRFTlNJT05fQVNTRVRfVVJMJyk7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBBbmd1bGFyIDIgcm91dGUgdGhhdCB0aGUgbW9kdWxlIGlzIHJlZ2lzdGVyZWQgdW5kZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBFWFRFTlNJT05fUk9VVEU6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5FWFRFTlNJT05fUk9VVEU7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIGJvb2xlYW4uICBUcnVlIGlmIHJ1bm5pbmcgdW5kZXIgdGhlIFNESywgZmFsc2UgaWYgcnVubmluZyBpbiBwcm9kdWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgU0RLX01PREU6IEluamVjdGlvblRva2VuPGJvb2xlYW4+ID0gY29udGFpbmVySG9va3MuU0RLX01PREU7XG5cbi8qKlxuICogUGF5bG9hZCBmb3IgcmVnaXN0ZXJpbmcgYSBuYXZpZ2F0aW9uIG1lbnUgZW50cnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcm91dGVyIHBhdGggdG8gbmF2aWdhdGUgdG8gd2hlbiBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBwYXRoOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBpMTgga2V5IGZvciBuYW1lIG9mIGV4dGVuc2lvbiwgdG8gYmUgdXNlZCBhcyB0ZXh0IGZvciBsaW5rc1xuICAgICAqL1xuICAgIG5hbWVDb2RlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBpMThuIGtleSBmb3IgZGVzY3JpcHRpb24gb2YgZXh0ZW5zaW9uLCB0byBiZSB1c2VkIG9uIGhvdmVyIGZvciBsaW5rc1xuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uQ29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERpc3BhdGNoIHRoaXMgdG8gdGhlIHJlZHV4IHN0b3JlIHRvIHJlZ2lzdGVyIGEgbmF2aWdhdGlvbiBtZW51LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbiB7XG4gICAgcGF5bG9hZDogRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uO1xuICAgIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uQWN0aW9uQ3RvciA9IG5ldyhwYXlsb2FkOiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb24pID0+IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbjtcblxuZXhwb3J0IGNvbnN0IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbjogRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uQWN0aW9uQ3RvciA9IGNvbnRhaW5lckhvb2tzLkV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbjtcblxuLyoqXG4gKiBJbmplY3QgdGhpcyB0byBhY2Nlc3MgdGhlIGF1dGhlbnRpY2F0aW9uIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhUb2tlbkhvbGRlclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSBhdXRoZW50aWNhdGlvbiB0b2tlbi5cbiAgICAgKi9cbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgQXV0aFRva2VuSG9sZGVyU2VydmljZToge3Rva2VuOiBzdHJpbmd9ID0gY29udGFpbmVySG9va3MuQXV0aFRva2VuSG9sZGVyU2VydmljZTtcblxuLyoqXG4gKiBUaGlzIHJlcHJlc2VudHMgYSBtZW51IGl0ZW0gdGhhdCBjYW4gYmUgY2xpY2tlZCB0byBwZXJmb3JtIGFuIGFjdGlvbiBvbiBhbiBlbnRpdHkgKGUuZy4gVk0pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUFjdGlvbkV4dGVuc2lvbk1lbnVJdGVtIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGEgdW5pcXVlIFVSTiBpZGVudGlmeWluZyB0aGUgYWN0aW9uLiBUaGlzIGlzIHNvIHRoZSBjb21wb25lbnQgY2FuIGJlIG5vdGlmaWVkIHdoaWNoIGFjdGlvbiB3YXMgcmVxdWVzdGVkLlxuICAgICAqL1xuICAgIHVybjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSBtZW51IGl0ZW0uIEl0IGlzIG5vdCBhdXRvbWF0aWNhbGx5IHRyYW5zbGF0ZWQuXG4gICAgICovXG4gICAgdGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgZW5hYmxlZCBzdGF0ZSBmb3IgdGhlIG1lbnUgaXRlbS5cbiAgICAgKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgYnVzeSBzdGF0ZSBmb3IgdGhlIG1lbnUgaXRlbS5cbiAgICAgKi9cbiAgICBidXN5OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgcmVwcmVzZW50cyBhIHN1Yi1tZW51IHRoYXQgY29udGFpbnMgb3RoZXIgc3ViLW1lbnVzIG9yIG1lbnUgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25TdWJtZW51IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHN1Yi1tZW51LiBJdCBpcyBub3QgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gYXJiaXRyYXJ5LCBvcmRlcmVkIGxpc3Qgb2YgRW50aXR5QWN0aW9uTWVudUl0ZW0uXG4gICAgICovXG4gICAgY2hpbGRyZW46IEVudGl0eUFjdGlvbkV4dGVuc2lvbk1lbnVJdGVtW107XG59XG5cbi8qKlxuICogVGhpcyByZXByZXNlbnRzIG1lbnUgaW5mb3JtYXRpb24gZm9yIGFuIGVudGl0eSBhY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEVudGl0eUFjdGlvbkV4dGVuc2lvbk1lbnVFbnRyeSA9IEVudGl0eUFjdGlvbkV4dGVuc2lvbk1lbnVJdGVtIHwgRW50aXR5QWN0aW9uRXh0ZW5zaW9uU3VibWVudTtcblxuLyoqXG4gKiBFdmVyeSBjb21wb25lbnQgcmVmZXJlbmNlZCBieSBhbiBlbnRpdHkgYWN0aW9uIGV4dGVuc2lvbiBwb2ludCBtdXN0IGluaGVyaXQgZnJvbSB0aGlzLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9FbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFRoaXMgcmV0dXJucyBpcyBhbiBPYnNlcnZhYmxlIHRoYXQgZGVmaW5lcyB0aGUgbWVudSBlbnRyeSBmb3IgdGhpcyBjb21wb25lbnQuIFRoaXMgaXMgYWN0aXZlbHkgYm91bmQgLVxuICAgICAqIHRoZSBjb21wb25lbnQgaXMgYWJsZSB0byBjaGFuZ2UgaXQgaW4gb3JkZXIgdG8gaGF2ZSB0aGUgbWVudSBjaGFuZ2UgKGZvciBleGFtcGxlLCB0byBjaGFuZ2UgYnVzeVxuICAgICAqIG9yIGVuYWJsZWQgc3RhdGVzKS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRNZW51RW50cnkoZW50aXR5VXJuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVudGl0eUFjdGlvbkV4dGVuc2lvbk1lbnVFbnRyeT47XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZpZWxkIGlzIGEgbWV0aG9kIHRoYXQgaXMgY2FsbGVkIGlmIGEgbWVudSBpdGVtIGlzIGNsaWNrZWQgd2hpbGUgZW5hYmxlZC4gSXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgbWVudVxuICAgICAqIGl0ZW0ncyBVUk4gYW5kIHRoZSBVUk4gb2YgdGhlIGVudGl0eSB0aGF0IHRoZSBhY3Rpb24gaXMgYmVpbmcgY2FsbGVkIGZvciAoZS5nLiB0aGUgVVJOIG9mIHRoZSBWTSBiZWluZyBlZGl0ZWQpLlxuICAgICAqIEl0IG11c3QgcmV0dXJuIGEgc2luZ2xlLXNob3QgKGUuZy4gb2YsIGZyb21Qcm9taXNlIG9yIC5maXJzdCkgT2JzZXJ2YWJsZSBvbiBjb21wbGV0aW9uLiBUaGlzIE9ic2VydmFibGUgcmV0dXJuc1xuICAgICAqIGEgc2luZ2xlIHZhbHVlLCByZWZyZXNoUmVxdWVzdGVkLiBJZiB0aGlzIGlzIHRydWUsIHRoZSBlbnRpdHkgYmVpbmcgZWRpdGVkIHdpbGwgYmUgaW1tZWRpYXRlbHkgcmVmcmVzaGVkLlxuICAgICAqIEBwYXJhbSBtZW51SXRlbVVybiB0aGUgVVJOIG9mIHRoZSBjbGlja2VkIG1lbnUgaXRlbVxuICAgICAqIEBwYXJhbSBlbnRpdHlVcm5UaGUgVVJOIG9mIHRoZSBlbnRpdHkgdGhhdCB0aGUgYWN0aW9uIGlzIGJlaW5nIGNhbGxlZCBmb3JcbiAgICAgKi9cbiAgICAgYWJzdHJhY3QgcGVyZm9ybUFjdGlvbihtZW51SXRlbVVybjogc3RyaW5nLCBlbnRpdHlVcm46IHN0cmluZyk6IE9ic2VydmFibGU8eyByZWZyZXNoUmVxdWVzdGVkOiBib29sZWFuIH0+O1xufVxuZXhwb3J0IGNvbnN0IEVudGl0eUFjdGlvbkV4dGVuc2lvbkNvbXBvbmVudDogdHlwZW9mIF9FbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQgPSBjb250YWluZXJIb29rcy5FbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQ7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjbGFzcy1uYW1lXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX1dpemFyZEV4dGVuc2lvbkNvbXBvbmVudDxQLCBSLCBFPiB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lIG1ldGhvZCB3aGljaCB3aWxsIGJlIGV4ZWN1dGVkIGJ5IHRoZSBFeHRlbnNpb24gUG9pbnQgT3JjaGVzdHJhdG9yLFxuICAgICAqIHdoZW4gY2VydGFpbiBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSB0aGUgcGF5bG9hZCBvZiB0aGUgcmVxdWVzdCB0cmlnZ2VyZWQgYnkgdGhlIENvcmUgVUkuXG4gICAgICogQHBhcmFtIHJlc3BvbnNlIC0gdGhlIHJlc3BvbnNlIGZyb20gdGhlIHJlcXVlc3QgdHJpZ2dlcmVkIGJ5IHRoZSBDb3JlIFVJLlxuICAgICAqIEBwYXJhbSBlcnJvciAtIHRoZSBDb3JlIFVJIHdpbGwgcmVwcm90IGFueSBlcnJvciB0aGF0IG1heSBhcHBlYXIgZHVyaW5nIGV4ZWN1dGlvbi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBwZXJmb3JtQWN0aW9uKHBheWxvYWQ6IFAsIHJlc3BvbnNlOiBSLCBlcnJvcjogRSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBXaXphcmRFeHRlbnNpb25Db21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50ID0gY29udGFpbmVySG9va3MuV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50O1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpemFyZEV4dGVuc2lvblN0YXRlIHtcbiAgICBpc1ZhbGlkOiBib29sZWFuO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudDxQLCBSLCBFPiBleHRlbmRzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgIC8qKlxuICAgICAqIEdldCBleHRlbnNpb24gcG9pbnQgc3RhdGUuXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxXaXphcmRFeHRlbnNpb25TdGF0ZT47XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbmV4cG9ydCBjb25zdCBXaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudDogdHlwZW9mIF9XaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudCA9IGNvbnRhaW5lckhvb2tzLldpemFyZEV4dGVuc2lvbldpdGhWYWxpZGF0aW9uQ29tcG9uZW50O1xuXG4vKipcbiAqIEV2ZXJ5IGNvbXBvbmVudC1iYXNlZCBFeHRlbnNpb24gUG9pbnQgdGhhdCBpcyByZW5kZXJkIGluIENsb3VkIERpcmVjdG9yIFVJIEVudGl0eSBEZXRhaWxzXG4gKiBtdXN0IGV4dGVuZCB0aGF0IGNsYXNzIHRvIG9idGFpbiBjb250ZXh0IGFib3V0IHRoZSBFbnRpdHkuXG4gKiBcbiAqIFNlZSBjb21tZW50cyBvZiB0aGUgbWV0aG9kcyBvZiB0aGUgYWJzdHJhY3QgY2xhc3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjbGFzcy1uYW1lXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX1dpemFyZEV4dGVuc2lvbldpdGhDb250ZXh0Q29tcG9uZW50PFAsIFIsIEU+IGV4dGVuZHMgX1dpemFyZEV4dGVuc2lvbkNvbXBvbmVudDxQLCBSLCBFPiB7XG4gICAgIC8qKlxuICAgICAqIERlZmluZSBtZXRob2Qgd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBvbiBpbml0IGFuZCBpbmZvcm1hdGlvblxuICAgICAqIGFib3V0IGNvbnRleHQgb2JqZWN0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBFeHRlbnNpb24gUG9pbnQuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNvbnRleHQgcmVmZXJlbmNlIHRvIHRoZSBjb250ZXh0IG9iamVjdC5cbiAgICAgKi9cbiAgICAgYWJzdHJhY3Qgb25Db250ZXh0KGNvbnRleHQ6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbmV4cG9ydCBjb25zdCBXaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudDogdHlwZW9mIF9XaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudCA9IGNvbnRhaW5lckhvb2tzLldpemFyZEV4dGVuc2lvbldpdGhDb250ZXh0Q29tcG9uZW50O1xuIl19
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY29tbW9uL2NvbnRhaW5lci1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsMERBQTBEO0FBQzFELElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxJQUFJLENBQUUsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7SUFDckcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0NBQ2xEO0FBRUQsSUFBSSxjQUFjLEdBQVMsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzdFLElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDakIsY0FBYyxHQUFJLE1BQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQzFFO0FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRTtJQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7Q0FDOUU7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixjQUFjLENBQUMsYUFBYSxDQUFDO0FBRWxGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUEyQixjQUFjLENBQUMsb0JBQW9CLENBQUM7QUFFaEc7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUEyQixjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFekg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRTNJOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUEyQixjQUFjLENBQUMsZUFBZSxDQUFDO0FBRXRGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUE0QixjQUFjLENBQUMsUUFBUSxDQUFDO0FBZ0N6RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBdUMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0FBaUJoSSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBb0IsY0FBYyxDQUFDLHNCQUFzQixDQUFDO0FBK0M3Rjs7R0FFRztBQUNILHNDQUFzQztBQUN0QyxNQUFNLE9BQWdCLCtCQUErQjtDQWlCcEQ7QUFDRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBMkMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0FBRXBJLHNDQUFzQztBQUN0QyxNQUFNLE9BQWdCLHlCQUF5QjtDQVM5QztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFxQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7QUFNbEgsc0NBQXNDO0FBQ3RDLE1BQU0sT0FBZ0IsdUNBQWlELFNBQVEseUJBQWtDO0NBS2hIO0FBRUQsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFtRCxjQUFjLENBQUMsc0NBQXNDLENBQUM7QUFFNUo7Ozs7O0dBS0c7QUFDSCxzQ0FBc0M7QUFDdEMsTUFBTSxPQUFnQixvQ0FBOEMsU0FBUSx5QkFBa0M7Q0FRN0c7QUFFRCwyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQWdELGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBpcyB0aGUgY3VycmVudGx5IHN1cHBvcnRlZCAtIGFsYmVpdCB2ZXJ5IG1pbmltYWwgLSBwdWJsaWMgU0RLLlxuICovXG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8vIEJpbmQgc3RyYWlnaHQgaW50byB0aGUgaG9va3MgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lci5cbmlmICghKHdpbmRvdyBhcyBhbnkpLlN5c3RlbSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N5c3RlbUpTIHJlZ2lzdHJ5IG5vdCBmb3VuZCcpO1xufVxuXG5sZXQgY29udGFpbmVySG9va3M6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5TeXN0ZW0ucmVnaXN0cnkuZ2V0KCdAdmNkL2NvbW1vbicpO1xuaWYgKCFjb250YWluZXJIb29rcykge1xuICAgIGNvbnRhaW5lckhvb2tzID0gKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQoJ0B2Y2QtdWkvY29tbW9uJyk7XG59XG5cbmlmICghY29udGFpbmVySG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZDRCBVSSBjb250YWluZXIgaG9va3Mgbm90IHByZXNlbnQgaW4gU3lzdGVtSlMgcmVnaXN0cnknKTtcbn1cblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciBBUEkgYWNjZXNzIChmb3IgZXhhbXBsZSwgdGhlIGxvYWQgYmFsYW5jZXIgVVJMXG4gKiBvciB0aGUgc2luZ2xlLWNlbGwgVVJMKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9ST09UX1VSTDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLkFQSV9ST09UX1VSTDtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciB0aGUgbGVnYWN5IEZsZXggYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBGTEVYX0FQUF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5BUElfUk9PVF9VUkw7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBjdXJyZW50IHNjb3BlIG9mIHRoZSBWQ0QtVUkuICBBcyBvZiBjdXJyZW50LCB0aGlzIHdpbGwgYmVcbiAqIGVpdGhlciAndGVuYW50JyBmb3IgdGhlIHRlbmFudCBwb3J0YWwsIG9yICdzZXJ2aWNlLXByb3ZpZGVyJyBmb3IgdGhlIHNlcnZpY2UtcHJvdmlkZXIgcG9ydGFsLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9TQ09QRTogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fU0NPUEU7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSB1bmlxdWUgbmFtZSAobm90IHRoZSBkaXNwbGF5IG5hbWUpIG9mIHRoZSBjdXJyZW50IHRlbmFudFxuICogb3JnYW5pemF0aW9uIHRoYXQgdGhlIFZDRC1VSSBpcyBiZWluZyB1c2VkIGZvci5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFU1NJT05fT1JHQU5JWkFUSU9OOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuU0VTU0lPTl9PUkdBTklaQVRJT047XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBVVUlEIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgdGVuYW50XG4gKiBvcmdhbml6YXRpb24gdGhhdCB0aGUgVkNELVVJIGlzIGJlaW5nIHVzZWQgZm9yLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9PUkdfSUQ6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5TRVNTSU9OX09SR19JRCA/IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fT1JHX0lEIDogJyc7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBmdWxsIHJvb3QgcGF0aCBmb3IgbW9kdWxlIGFzc2V0cyAoZS5nLiBpbWFnZXMsIHNjcmlwdHMsIHRleHQgZmlsZXMpXG4gKlxuICogQVRURU5USU9OIVxuICogQWRkIHx8IG5ldyBJbmplY3Rpb25Ub2tlbiB0byB3b3JrYXJvdW5kIHRoZSBBbmd1bGFyIHNlY3VyaXR5IG1lY2hhbmljcyB3aGljaCBwcmV2ZW50IHVzZSBvZiBpbmplY3Rpb24gdG9rZW5zXG4gKiB3aGljaCBwb3RlbnRpYWxseSBhcmUgbm90IGRlZmllbmQuIFRoZSBzYW1lIGZpeCBjYW4gYmUgYXBwbGllZCBmb3IgdGhlIHJlc3QgdG9rZW5zIGlmIG5lZWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9BU1NFVF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5FWFRFTlNJT05fQVNTRVRfVVJMIHx8IG5ldyBJbmplY3Rpb25Ub2tlbignRVhURU5TSU9OX0FTU0VUX1VSTCcpO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBzdHJpbmcuICBHaXZlcyB0aGUgQW5ndWxhciAyIHJvdXRlIHRoYXQgdGhlIG1vZHVsZSBpcyByZWdpc3RlcmVkIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgRVhURU5TSU9OX1JPVVRFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuRVhURU5TSU9OX1JPVVRFO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBib29sZWFuLiAgVHJ1ZSBpZiBydW5uaW5nIHVuZGVyIHRoZSBTREssIGZhbHNlIGlmIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19NT0RFOiBJbmplY3Rpb25Ub2tlbjxib29sZWFuPiA9IGNvbnRhaW5lckhvb2tzLlNES19NT0RFO1xuXG4vKipcbiAqIFBheWxvYWQgZm9yIHJlZ2lzdGVyaW5nIGEgbmF2aWdhdGlvbiBtZW51IGVudHJ5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbiB7XG4gICAgLyoqXG4gICAgICogVGhlIHJvdXRlciBwYXRoIHRvIG5hdmlnYXRlIHRvIHdoZW4gc2VsZWN0ZWQuXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4IGtleSBmb3IgbmFtZSBvZiBleHRlbnNpb24sIHRvIGJlIHVzZWQgYXMgdGV4dCBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBuYW1lQ29kZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4biBrZXkgZm9yIGRlc2NyaXB0aW9uIG9mIGV4dGVuc2lvbiwgdG8gYmUgdXNlZCBvbiBob3ZlciBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbkNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNwYXRjaCB0aGlzIHRvIHRoZSByZWR1eCBzdG9yZSB0byByZWdpc3RlciBhIG5hdmlnYXRpb24gbWVudS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb24ge1xuICAgIHBheWxvYWQ6IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbjtcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBuZXcocGF5bG9hZDogRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uKSA9PiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbmV4cG9ydCBjb25zdCBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb246IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBjb250YWluZXJIb29rcy5FeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbi8qKlxuICogSW5qZWN0IHRoaXMgdG8gYWNjZXNzIHRoZSBhdXRoZW50aWNhdGlvbiB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoVG9rZW5Ib2xkZXJTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aGVudGljYXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgdG9rZW46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEpXVCB0b2tlblxuICAgICAqL1xuICAgIGp3dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEF1dGhUb2tlbkhvbGRlclNlcnZpY2U6IHt0b2tlbjogc3RyaW5nfSA9IGNvbnRhaW5lckhvb2tzLkF1dGhUb2tlbkhvbGRlclNlcnZpY2U7XG5cbi8qKlxuICogVGhpcyByZXByZXNlbnRzIGEgbWVudSBpdGVtIHRoYXQgY2FuIGJlIGNsaWNrZWQgdG8gcGVyZm9ybSBhbiBhY3Rpb24gb24gYW4gZW50aXR5IChlLmcuIFZNKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhIHVuaXF1ZSBVUk4gaWRlbnRpZnlpbmcgdGhlIGFjdGlvbi4gVGhpcyBpcyBzbyB0aGUgY29tcG9uZW50IGNhbiBiZSBub3RpZmllZCB3aGljaCBhY3Rpb24gd2FzIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICB1cm46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgbWVudSBpdGVtLiBJdCBpcyBub3QgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGVuYWJsZWQgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGJ1c3kgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgYnVzeTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIHJlcHJlc2VudHMgYSBzdWItbWVudSB0aGF0IGNvbnRhaW5zIG90aGVyIHN1Yi1tZW51cyBvciBtZW51IGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWN0aW9uRXh0ZW5zaW9uU3VibWVudSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSBzdWItbWVudS4gSXQgaXMgbm90IGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGFyYml0cmFyeSwgb3JkZXJlZCBsaXN0IG9mIEVudGl0eUFjdGlvbk1lbnVJdGVtLlxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbVtdO1xufVxuXG4vKipcbiAqIFRoaXMgcmVwcmVzZW50cyBtZW51IGluZm9ybWF0aW9uIGZvciBhbiBlbnRpdHkgYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnkgPSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB8IEVudGl0eUFjdGlvbkV4dGVuc2lvblN1Ym1lbnU7XG5cbi8qKlxuICogRXZlcnkgY29tcG9uZW50IHJlZmVyZW5jZWQgYnkgYW4gZW50aXR5IGFjdGlvbiBleHRlbnNpb24gcG9pbnQgbXVzdCBpbmhlcml0IGZyb20gdGhpcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIHJldHVybnMgaXMgYW4gT2JzZXJ2YWJsZSB0aGF0IGRlZmluZXMgdGhlIG1lbnUgZW50cnkgZm9yIHRoaXMgY29tcG9uZW50LiBUaGlzIGlzIGFjdGl2ZWx5IGJvdW5kIC1cbiAgICAgKiB0aGUgY29tcG9uZW50IGlzIGFibGUgdG8gY2hhbmdlIGl0IGluIG9yZGVyIHRvIGhhdmUgdGhlIG1lbnUgY2hhbmdlIChmb3IgZXhhbXBsZSwgdG8gY2hhbmdlIGJ1c3lcbiAgICAgKiBvciBlbmFibGVkIHN0YXRlcykuXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TWVudUVudHJ5KGVudGl0eVVybjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmaWVsZCBpcyBhIG1ldGhvZCB0aGF0IGlzIGNhbGxlZCBpZiBhIG1lbnUgaXRlbSBpcyBjbGlja2VkIHdoaWxlIGVuYWJsZWQuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIG1lbnVcbiAgICAgKiBpdGVtJ3MgVVJOIGFuZCB0aGUgVVJOIG9mIHRoZSBlbnRpdHkgdGhhdCB0aGUgYWN0aW9uIGlzIGJlaW5nIGNhbGxlZCBmb3IgKGUuZy4gdGhlIFVSTiBvZiB0aGUgVk0gYmVpbmcgZWRpdGVkKS5cbiAgICAgKiBJdCBtdXN0IHJldHVybiBhIHNpbmdsZS1zaG90IChlLmcuIG9mLCBmcm9tUHJvbWlzZSBvciAuZmlyc3QpIE9ic2VydmFibGUgb24gY29tcGxldGlvbi4gVGhpcyBPYnNlcnZhYmxlIHJldHVybnNcbiAgICAgKiBhIHNpbmdsZSB2YWx1ZSwgcmVmcmVzaFJlcXVlc3RlZC4gSWYgdGhpcyBpcyB0cnVlLCB0aGUgZW50aXR5IGJlaW5nIGVkaXRlZCB3aWxsIGJlIGltbWVkaWF0ZWx5IHJlZnJlc2hlZC5cbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1Vcm4gdGhlIFVSTiBvZiB0aGUgY2xpY2tlZCBtZW51IGl0ZW1cbiAgICAgKiBAcGFyYW0gZW50aXR5VXJuVGhlIFVSTiBvZiB0aGUgZW50aXR5IHRoYXQgdGhlIGFjdGlvbiBpcyBiZWluZyBjYWxsZWQgZm9yXG4gICAgICovXG4gICAgIGFic3RyYWN0IHBlcmZvcm1BY3Rpb24obWVudUl0ZW1Vcm46IHN0cmluZywgZW50aXR5VXJuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmVmcmVzaFJlcXVlc3RlZDogYm9vbGVhbiB9Pjtcbn1cbmV4cG9ydCBjb25zdCBFbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQ6IHR5cGVvZiBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50ID0gY29udGFpbmVySG9va3MuRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgIC8qKlxuICAgICAqIERlZmluZSBtZXRob2Qgd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBieSB0aGUgRXh0ZW5zaW9uIFBvaW50IE9yY2hlc3RyYXRvcixcbiAgICAgKiB3aGVuIGNlcnRhaW4gZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gdGhlIHBheWxvYWQgb2YgdGhlIHJlcXVlc3QgdHJpZ2dlcmVkIGJ5IHRoZSBDb3JlIFVJLlxuICAgICAqIEBwYXJhbSByZXNwb25zZSAtIHRoZSByZXNwb25zZSBmcm9tIHRoZSByZXF1ZXN0IHRyaWdnZXJlZCBieSB0aGUgQ29yZSBVSS5cbiAgICAgKiBAcGFyYW0gZXJyb3IgLSB0aGUgQ29yZSBVSSB3aWxsIHJlcHJvdCBhbnkgZXJyb3IgdGhhdCBtYXkgYXBwZWFyIGR1cmluZyBleGVjdXRpb24uXG4gICAgICovXG4gICAgYWJzdHJhY3QgcGVyZm9ybUFjdGlvbihwYXlsb2FkOiBQLCByZXNwb25zZTogUiwgZXJyb3I6IEUpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50OiB0eXBlb2YgX1dpemFyZEV4dGVuc2lvbkNvbXBvbmVudCA9IGNvbnRhaW5lckhvb2tzLldpemFyZEV4dGVuc2lvbkNvbXBvbmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBXaXphcmRFeHRlbnNpb25TdGF0ZSB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ8UCwgUiwgRT4gZXh0ZW5kcyBfV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50PFAsIFIsIEU+IHtcbiAgICAvKipcbiAgICAgKiBHZXQgZXh0ZW5zaW9uIHBvaW50IHN0YXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFN0YXRlKCk6IE9ic2VydmFibGU8V2l6YXJkRXh0ZW5zaW9uU3RhdGU+O1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQgPSBjb250YWluZXJIb29rcy5XaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudDtcblxuLyoqXG4gKiBFdmVyeSBjb21wb25lbnQtYmFzZWQgRXh0ZW5zaW9uIFBvaW50IHRoYXQgaXMgcmVuZGVyZCBpbiBDbG91ZCBEaXJlY3RvciBVSSBFbnRpdHkgRGV0YWlsc1xuICogbXVzdCBleHRlbmQgdGhhdCBjbGFzcyB0byBvYnRhaW4gY29udGV4dCBhYm91dCB0aGUgRW50aXR5LlxuICogXG4gKiBTZWUgY29tbWVudHMgb2YgdGhlIG1ldGhvZHMgb2YgdGhlIGFic3RyYWN0IGNsYXNzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudDxQLCBSLCBFPiBleHRlbmRzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgICAvKipcbiAgICAgKiBEZWZpbmUgbWV0aG9kIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgb24gaW5pdCBhbmQgaW5mb3JtYXRpb25cbiAgICAgKiBhYm91dCBjb250ZXh0IG9iamVjdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgRXh0ZW5zaW9uIFBvaW50LlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBjb250ZXh0IHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBvYmplY3QuXG4gICAgICovXG4gICAgIGFic3RyYWN0IG9uQ29udGV4dChjb250ZXh0OiBzdHJpbmcpOiB2b2lkO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uV2l0aENvbnRleHRDb21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uV2l0aENvbnRleHRDb21wb25lbnQgPSBjb250YWluZXJIb29rcy5XaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudDtcbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ExtensionNavRegistrationAction } from '../common';
|
|
2
|
+
import { InjectionToken } from "@angular/core";
|
|
2
3
|
export class PluginModule {
|
|
3
4
|
constructor(appStore) {
|
|
4
5
|
this.appStore = appStore;
|
|
@@ -15,4 +16,8 @@ export class PluginModule {
|
|
|
15
16
|
*/
|
|
16
17
|
export class VcdSdkConfig {
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Use this token for injecting custom HttpInterceptor implementations inside the HttpClient
|
|
21
|
+
*/
|
|
22
|
+
export const VCD_HTTP_INTERCEPTORS = new InjectionToken("VCD_HTTP_INTERCEPTORS");
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjZC9zZGsvc3JjL2NvcmUvcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsTUFBTSxPQUFPLFlBQVk7SUFFckIsWUFBb0IsUUFBb0I7UUFBcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtJQUN4QyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsU0FBbUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7Q0FFeEI7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFvQix1QkFBdUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb24sIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbiB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtIdHRwSW50ZXJjZXB0b3J9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuXG5leHBvcnQgY2xhc3MgUGx1Z2luTW9kdWxlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwU3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVnaXN0ZXJFeHRlbnNpb24oZXh0ZW5zaW9uOiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBTdG9yZS5kaXNwYXRjaChuZXcgRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uQWN0aW9uKGV4dGVuc2lvbikpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb25maWcgb2JqZWN0IHRoYXQgaXMgcGFzc2VkIG9uIFZjZFNka01vZHVsZSBpbml0XG4gKiB1c2luZyAuZm9yUm9vdCgpIG1ldGhvZC4gSXQgY2FuIGJlIHVzZWQgdG8gc3RvcmVcbiAqIGNvbmZpZ3V0cmF0aW9uIHByb3BlcnRpZXMgdGhhdCBhcmUgbGF0ZXIgdXNlZCBieSB0aGUgU2VydmljZXNcbiAqIHByb3ZpZGVkLlxuICovXG5leHBvcnQgY2xhc3MgVmNkU2RrQ29uZmlnIHtcbiAgICBhcGlWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXNlIHRoaXMgdG9rZW4gZm9yIGluamVjdGluZyBjdXN0b20gSHR0cEludGVyY2VwdG9yIGltcGxlbWVudGF0aW9ucyBpbnNpZGUgdGhlIEh0dHBDbGllbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFZDRF9IVFRQX0lOVEVSQ0VQVE9SUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIdHRwSW50ZXJjZXB0b3JbXT4oXCJWQ0RfSFRUUF9JTlRFUkNFUFRPUlNcIilcbiJdfQ==
|
package/esm2020/main.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { HttpClientModule } from '@angular/common/http';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as client from './client';
|
|
5
|
-
import { VcdSdkConfig } from "./core
|
|
5
|
+
import { VcdSdkConfig } from "./core";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
8
8
|
* Extensions should import this module.
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
42
42
|
exports: [],
|
|
43
43
|
}]
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjZC9zZGsvc3JjL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxRQUFRLENBQUM7O0FBQ3BDOzs7R0FHRztBQVNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBcUI7UUFDbEMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxNQUFNLENBQUMseUJBQXlCO2dCQUNoQyxNQUFNLENBQUMsa0JBQWtCO2dCQUN6QixNQUFNLENBQUMsZ0NBQWdDO2dCQUN2QyxNQUFNLENBQUMsYUFBYTtnQkFDcEIsTUFBTSxDQUFDLFlBQVk7Z0JBQ25CO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsTUFBTSxJQUFJLEVBQUU7aUJBQ3ZCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7eUdBaEJVLFlBQVk7MEdBQVosWUFBWSxZQU5yQixnQkFBZ0I7UUFDaEIsWUFBWTswR0FLSCxZQUFZLFlBTnJCLGdCQUFnQjtRQUNoQixZQUFZOzJGQUtILFlBQVk7a0JBUnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBjbGllbnQgZnJvbSAnLi9jbGllbnQnO1xuaW1wb3J0IHtWY2RTZGtDb25maWd9IGZyb20gXCIuL2NvcmVcIjtcbi8qKlxuICogRXh0ZW5zaW9ucyBzaG91bGQgaW1wb3J0IHRoaXMgbW9kdWxlLlxuICogVGhleSBjYW4gdGhlbiB3aXJlIGluIFNESyBjb21wb25lbnRzIGFzIGRlc2lyZWQuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFZjZFNka01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IFZjZFNka0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VmNkU2RrTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBWY2RTZGtNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY2xpZW50LlJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IsXG4gICAgICAgIGNsaWVudC5Mb2dnaW5nSW50ZXJjZXB0b3IsXG4gICAgICAgIGNsaWVudC5SZXNwb25zZU5vcm1hbGl6YXRpb25JbnRlcmNlcHRvcixcbiAgICAgICAgY2xpZW50LlZjZEh0dHBDbGllbnQsXG4gICAgICAgIGNsaWVudC5WY2RBcGlDbGllbnQsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBWY2RTZGtDb25maWcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyB8fCB7fVxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/vcd-sdk.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common/http';
|
|
2
2
|
import { HttpResponse, HttpClient, HttpHeaders, HttpClientModule } from '@angular/common/http';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, Optional,
|
|
4
|
+
import { Injectable, InjectionToken, Optional, Inject, NgModule } from '@angular/core';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import { tap, finalize, map, catchError, switchMap, retry, flatMap, skipWhile, share, concatMap, filter, withLatestFrom } from 'rxjs/operators';
|
|
7
7
|
import { Observable, throwError, BehaviorSubject, of, ReplaySubject, merge } from 'rxjs';
|
|
@@ -322,6 +322,111 @@ class ApiResult {
|
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
+
/**
|
|
326
|
+
* This is the currently supported - albeit very minimal - public SDK.
|
|
327
|
+
*/
|
|
328
|
+
// Bind straight into the hooks provided by the container.
|
|
329
|
+
if (!window.System || !window.System.registry || !window.System.registry.get) {
|
|
330
|
+
throw new Error('SystemJS registry not found');
|
|
331
|
+
}
|
|
332
|
+
let containerHooks = window.System.registry.get('@vcd/common');
|
|
333
|
+
if (!containerHooks) {
|
|
334
|
+
containerHooks = window.System.registry.get('@vcd-ui/common');
|
|
335
|
+
}
|
|
336
|
+
if (!containerHooks) {
|
|
337
|
+
throw new Error('VCD UI container hooks not present in SystemJS registry');
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Wire in as a string. Gives the root URL for API access (for example, the load balancer URL
|
|
341
|
+
* or the single-cell URL).
|
|
342
|
+
*/
|
|
343
|
+
const API_ROOT_URL = containerHooks.API_ROOT_URL;
|
|
344
|
+
/**
|
|
345
|
+
* Wire in as a string. Gives the root URL for the legacy Flex application.
|
|
346
|
+
*/
|
|
347
|
+
const FLEX_APP_URL = containerHooks.API_ROOT_URL;
|
|
348
|
+
/**
|
|
349
|
+
* Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be
|
|
350
|
+
* either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.
|
|
351
|
+
*/
|
|
352
|
+
const SESSION_SCOPE = containerHooks.SESSION_SCOPE;
|
|
353
|
+
/**
|
|
354
|
+
* Wire in as a string. Gives the unique name (not the display name) of the current tenant
|
|
355
|
+
* organization that the VCD-UI is being used for.
|
|
356
|
+
*/
|
|
357
|
+
const SESSION_ORGANIZATION = containerHooks.SESSION_ORGANIZATION;
|
|
358
|
+
/**
|
|
359
|
+
* Wire in as a string. Gives the UUID identifier of the current tenant
|
|
360
|
+
* organization that the VCD-UI is being used for.
|
|
361
|
+
*/
|
|
362
|
+
const SESSION_ORG_ID = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';
|
|
363
|
+
/**
|
|
364
|
+
* Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)
|
|
365
|
+
*
|
|
366
|
+
* ATTENTION!
|
|
367
|
+
* Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens
|
|
368
|
+
* which potentially are not defiend. The same fix can be applied for the rest tokens if needed.
|
|
369
|
+
*/
|
|
370
|
+
const EXTENSION_ASSET_URL = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');
|
|
371
|
+
/**
|
|
372
|
+
* Wire in as a string. Gives the Angular 2 route that the module is registered under.
|
|
373
|
+
*/
|
|
374
|
+
const EXTENSION_ROUTE = containerHooks.EXTENSION_ROUTE;
|
|
375
|
+
/**
|
|
376
|
+
* Wire in as a boolean. True if running under the SDK, false if running in production.
|
|
377
|
+
*/
|
|
378
|
+
const SDK_MODE = containerHooks.SDK_MODE;
|
|
379
|
+
const ExtensionNavRegistrationAction = containerHooks.ExtensionNavRegistrationAction;
|
|
380
|
+
const AuthTokenHolderService = containerHooks.AuthTokenHolderService;
|
|
381
|
+
/**
|
|
382
|
+
* Every component referenced by an entity action extension point must inherit from this.
|
|
383
|
+
*/
|
|
384
|
+
// tslint:disable-next-line:class-name
|
|
385
|
+
class _EntityActionExtensionComponent {
|
|
386
|
+
}
|
|
387
|
+
const EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;
|
|
388
|
+
// tslint:disable-next-line:class-name
|
|
389
|
+
class _WizardExtensionComponent {
|
|
390
|
+
}
|
|
391
|
+
const WizardExtensionComponent = containerHooks.WizardExtensionComponent;
|
|
392
|
+
// tslint:disable-next-line:class-name
|
|
393
|
+
class _WizardExtensionWithValidationComponent extends _WizardExtensionComponent {
|
|
394
|
+
}
|
|
395
|
+
// tslint:disable-next-line:max-line-length
|
|
396
|
+
const WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;
|
|
397
|
+
/**
|
|
398
|
+
* Every component-based Extension Point that is renderd in Cloud Director UI Entity Details
|
|
399
|
+
* must extend that class to obtain context about the Entity.
|
|
400
|
+
*
|
|
401
|
+
* See comments of the methods of the abstract class for more information.
|
|
402
|
+
*/
|
|
403
|
+
// tslint:disable-next-line:class-name
|
|
404
|
+
class _WizardExtensionWithContextComponent extends _WizardExtensionComponent {
|
|
405
|
+
}
|
|
406
|
+
// tslint:disable-next-line:max-line-length
|
|
407
|
+
const WizardExtensionWithContextComponent = containerHooks.WizardExtensionWithContextComponent;
|
|
408
|
+
|
|
409
|
+
class PluginModule {
|
|
410
|
+
constructor(appStore) {
|
|
411
|
+
this.appStore = appStore;
|
|
412
|
+
}
|
|
413
|
+
registerExtension(extension) {
|
|
414
|
+
this.appStore.dispatch(new ExtensionNavRegistrationAction(extension));
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Config object that is passed on VcdSdkModule init
|
|
419
|
+
* using .forRoot() method. It can be used to store
|
|
420
|
+
* configutration properties that are later used by the Services
|
|
421
|
+
* provided.
|
|
422
|
+
*/
|
|
423
|
+
class VcdSdkConfig {
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Use this token for injecting custom HttpInterceptor implementations inside the HttpClient
|
|
427
|
+
*/
|
|
428
|
+
const VCD_HTTP_INTERCEPTORS = new InjectionToken("VCD_HTTP_INTERCEPTORS");
|
|
429
|
+
|
|
325
430
|
// tslint:disable:variable-name
|
|
326
431
|
class LoggingInterceptor {
|
|
327
432
|
set enabled(enabled) {
|
|
@@ -538,83 +643,37 @@ class VcdHttpClient extends HttpClient {
|
|
|
538
643
|
/**
|
|
539
644
|
* Create an HttpClient with the logging and header interceptors in the chain.
|
|
540
645
|
* @param httpBackend backend (likely injected from HttpClientModule)
|
|
541
|
-
* @param hateoasHeaderInterceptor the hateoas header interceptor
|
|
542
646
|
* @param loggingInterceptor the logging interceptor
|
|
543
647
|
* @param requestHeadersInterceptor the request header interceptor
|
|
648
|
+
* @param responseNormalizationInterceptor
|
|
649
|
+
* @param customInterceptors
|
|
544
650
|
*/
|
|
545
|
-
constructor(httpBackend, loggingInterceptor, requestHeadersInterceptor, responseNormalizationInterceptor) {
|
|
651
|
+
constructor(httpBackend, loggingInterceptor, requestHeadersInterceptor, responseNormalizationInterceptor, customInterceptors) {
|
|
546
652
|
const interceptors = [
|
|
547
653
|
loggingInterceptor,
|
|
548
654
|
requestHeadersInterceptor,
|
|
549
|
-
responseNormalizationInterceptor
|
|
655
|
+
responseNormalizationInterceptor,
|
|
656
|
+
...(customInterceptors !== null && customInterceptors !== void 0 ? customInterceptors : []),
|
|
550
657
|
];
|
|
551
658
|
const chain = interceptors.reduceRight((next, interceptor) => new VcdHttpInterceptorHandler(next, interceptor), httpBackend);
|
|
552
659
|
super(chain);
|
|
660
|
+
this.customInterceptors = customInterceptors;
|
|
553
661
|
this.loggingInterceptor = loggingInterceptor;
|
|
554
662
|
this.requestHeadersInterceptor = requestHeadersInterceptor;
|
|
555
663
|
}
|
|
556
664
|
}
|
|
557
|
-
VcdHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, deps: [{ token: i1.HttpBackend }, { token: LoggingInterceptor }, { token: RequestHeadersInterceptor }, { token: ResponseNormalizationInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
665
|
+
VcdHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, deps: [{ token: i1.HttpBackend }, { token: LoggingInterceptor }, { token: RequestHeadersInterceptor }, { token: ResponseNormalizationInterceptor }, { token: VCD_HTTP_INTERCEPTORS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
558
666
|
VcdHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient });
|
|
559
667
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VcdHttpClient, decorators: [{
|
|
560
668
|
type: Injectable
|
|
561
|
-
}], ctorParameters: function () {
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
}
|
|
570
|
-
let containerHooks$1 = window.System.registry.get('@vcd/common');
|
|
571
|
-
if (!containerHooks$1) {
|
|
572
|
-
containerHooks$1 = window.System.registry.get('@vcd-ui/common');
|
|
573
|
-
}
|
|
574
|
-
if (!containerHooks$1) {
|
|
575
|
-
throw new Error('VCD UI container hooks not present in SystemJS registry');
|
|
576
|
-
}
|
|
577
|
-
/**
|
|
578
|
-
* Wire in as a string. Gives the root URL for API access (for example, the load balancer URL
|
|
579
|
-
* or the single-cell URL).
|
|
580
|
-
*/
|
|
581
|
-
const API_ROOT_URL$1 = containerHooks$1.API_ROOT_URL;
|
|
582
|
-
/**
|
|
583
|
-
* Wire in as a string. Gives the root URL for the legacy Flex application.
|
|
584
|
-
*/
|
|
585
|
-
const FLEX_APP_URL$1 = containerHooks$1.API_ROOT_URL;
|
|
586
|
-
/**
|
|
587
|
-
* Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be
|
|
588
|
-
* either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.
|
|
589
|
-
*/
|
|
590
|
-
const SESSION_SCOPE$1 = containerHooks$1.SESSION_SCOPE;
|
|
591
|
-
/**
|
|
592
|
-
* Wire in as a string. Gives the unique name (not the display name) of the current tenant
|
|
593
|
-
* organization that the VCD-UI is being used for.
|
|
594
|
-
*/
|
|
595
|
-
const SESSION_ORGANIZATION$1 = containerHooks$1.SESSION_ORGANIZATION;
|
|
596
|
-
/**
|
|
597
|
-
* Wire in as a string. Gives the UUID identifier of the current tenant
|
|
598
|
-
* organization that the VCD-UI is being used for.
|
|
599
|
-
*/
|
|
600
|
-
const SESSION_ORG_ID$1 = containerHooks$1.SESSION_ORG_ID ? containerHooks$1.SESSION_ORG_ID : '';
|
|
601
|
-
/**
|
|
602
|
-
* Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)
|
|
603
|
-
*
|
|
604
|
-
* ATTENTION!
|
|
605
|
-
* Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens
|
|
606
|
-
* which potentially are not defiend. The same fix can be applied for the rest tokens if needed.
|
|
607
|
-
*/
|
|
608
|
-
const EXTENSION_ASSET_URL$1 = containerHooks$1.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');
|
|
609
|
-
/**
|
|
610
|
-
* Wire in as a string. Gives the Angular 2 route that the module is registered under.
|
|
611
|
-
*/
|
|
612
|
-
const EXTENSION_ROUTE$1 = containerHooks$1.EXTENSION_ROUTE;
|
|
613
|
-
/**
|
|
614
|
-
* Wire in as a boolean. True if running under the SDK, false if running in production.
|
|
615
|
-
*/
|
|
616
|
-
const SDK_MODE$1 = containerHooks$1.SDK_MODE;
|
|
617
|
-
const AuthTokenHolderService$1 = containerHooks$1.AuthTokenHolderService;
|
|
669
|
+
}], ctorParameters: function () {
|
|
670
|
+
return [{ type: i1.HttpBackend }, { type: LoggingInterceptor }, { type: RequestHeadersInterceptor }, { type: ResponseNormalizationInterceptor }, { type: undefined, decorators: [{
|
|
671
|
+
type: Optional
|
|
672
|
+
}, {
|
|
673
|
+
type: Inject,
|
|
674
|
+
args: [VCD_HTTP_INTERCEPTORS]
|
|
675
|
+
}] }];
|
|
676
|
+
} });
|
|
618
677
|
|
|
619
678
|
/**
|
|
620
679
|
* Default chunk size is 50MiB. This is equal to the chunk size the VCD UI uses for library uploads.
|
|
@@ -779,106 +838,18 @@ class VcdTransferClient {
|
|
|
779
838
|
}
|
|
780
839
|
}
|
|
781
840
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
throw new Error('SystemJS registry not found');
|
|
788
|
-
}
|
|
789
|
-
let containerHooks = window.System.registry.get('@vcd/common');
|
|
790
|
-
if (!containerHooks) {
|
|
791
|
-
containerHooks = window.System.registry.get('@vcd-ui/common');
|
|
792
|
-
}
|
|
793
|
-
if (!containerHooks) {
|
|
794
|
-
throw new Error('VCD UI container hooks not present in SystemJS registry');
|
|
795
|
-
}
|
|
796
|
-
/**
|
|
797
|
-
* Wire in as a string. Gives the root URL for API access (for example, the load balancer URL
|
|
798
|
-
* or the single-cell URL).
|
|
799
|
-
*/
|
|
800
|
-
const API_ROOT_URL = containerHooks.API_ROOT_URL;
|
|
801
|
-
/**
|
|
802
|
-
* Wire in as a string. Gives the root URL for the legacy Flex application.
|
|
803
|
-
*/
|
|
804
|
-
const FLEX_APP_URL = containerHooks.API_ROOT_URL;
|
|
805
|
-
/**
|
|
806
|
-
* Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be
|
|
807
|
-
* either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.
|
|
808
|
-
*/
|
|
809
|
-
const SESSION_SCOPE = containerHooks.SESSION_SCOPE;
|
|
810
|
-
/**
|
|
811
|
-
* Wire in as a string. Gives the unique name (not the display name) of the current tenant
|
|
812
|
-
* organization that the VCD-UI is being used for.
|
|
813
|
-
*/
|
|
814
|
-
const SESSION_ORGANIZATION = containerHooks.SESSION_ORGANIZATION;
|
|
815
|
-
/**
|
|
816
|
-
* Wire in as a string. Gives the UUID identifier of the current tenant
|
|
817
|
-
* organization that the VCD-UI is being used for.
|
|
818
|
-
*/
|
|
819
|
-
const SESSION_ORG_ID = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';
|
|
820
|
-
/**
|
|
821
|
-
* Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)
|
|
822
|
-
*
|
|
823
|
-
* ATTENTION!
|
|
824
|
-
* Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens
|
|
825
|
-
* which potentially are not defiend. The same fix can be applied for the rest tokens if needed.
|
|
826
|
-
*/
|
|
827
|
-
const EXTENSION_ASSET_URL = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');
|
|
828
|
-
/**
|
|
829
|
-
* Wire in as a string. Gives the Angular 2 route that the module is registered under.
|
|
830
|
-
*/
|
|
831
|
-
const EXTENSION_ROUTE = containerHooks.EXTENSION_ROUTE;
|
|
832
|
-
/**
|
|
833
|
-
* Wire in as a boolean. True if running under the SDK, false if running in production.
|
|
834
|
-
*/
|
|
835
|
-
const SDK_MODE = containerHooks.SDK_MODE;
|
|
836
|
-
const ExtensionNavRegistrationAction = containerHooks.ExtensionNavRegistrationAction;
|
|
837
|
-
const AuthTokenHolderService = containerHooks.AuthTokenHolderService;
|
|
838
|
-
/**
|
|
839
|
-
* Every component referenced by an entity action extension point must inherit from this.
|
|
840
|
-
*/
|
|
841
|
-
// tslint:disable-next-line:class-name
|
|
842
|
-
class _EntityActionExtensionComponent {
|
|
843
|
-
}
|
|
844
|
-
const EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;
|
|
845
|
-
// tslint:disable-next-line:class-name
|
|
846
|
-
class _WizardExtensionComponent {
|
|
847
|
-
}
|
|
848
|
-
const WizardExtensionComponent = containerHooks.WizardExtensionComponent;
|
|
849
|
-
// tslint:disable-next-line:class-name
|
|
850
|
-
class _WizardExtensionWithValidationComponent extends _WizardExtensionComponent {
|
|
851
|
-
}
|
|
852
|
-
// tslint:disable-next-line:max-line-length
|
|
853
|
-
const WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;
|
|
854
|
-
/**
|
|
855
|
-
* Every component-based Extension Point that is renderd in Cloud Director UI Entity Details
|
|
856
|
-
* must extend that class to obtain context about the Entity.
|
|
857
|
-
*
|
|
858
|
-
* See comments of the methods of the abstract class for more information.
|
|
859
|
-
*/
|
|
860
|
-
// tslint:disable-next-line:class-name
|
|
861
|
-
class _WizardExtensionWithContextComponent extends _WizardExtensionComponent {
|
|
862
|
-
}
|
|
863
|
-
// tslint:disable-next-line:max-line-length
|
|
864
|
-
const WizardExtensionWithContextComponent = containerHooks.WizardExtensionWithContextComponent;
|
|
865
|
-
|
|
866
|
-
class PluginModule {
|
|
867
|
-
constructor(appStore) {
|
|
868
|
-
this.appStore = appStore;
|
|
869
|
-
}
|
|
870
|
-
registerExtension(extension) {
|
|
871
|
-
this.appStore.dispatch(new ExtensionNavRegistrationAction(extension));
|
|
841
|
+
class ClientError extends Error {
|
|
842
|
+
constructor(message, type) {
|
|
843
|
+
super(message);
|
|
844
|
+
this.message = message;
|
|
845
|
+
this.type = type;
|
|
872
846
|
}
|
|
873
847
|
}
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
*/
|
|
880
|
-
class VcdSdkConfig {
|
|
881
|
-
}
|
|
848
|
+
var ClientErrorType;
|
|
849
|
+
(function (ClientErrorType) {
|
|
850
|
+
ClientErrorType["HateoasLinkMissing"] = "HateoasLinkMissing";
|
|
851
|
+
ClientErrorType["TaskLinkMissing"] = "TaskLinkMissing";
|
|
852
|
+
})(ClientErrorType || (ClientErrorType = {}));
|
|
882
853
|
|
|
883
854
|
const TRANSFER_LINK_REL = 'upload:default';
|
|
884
855
|
const HATEOAS_HEADER = 'Link';
|
|
@@ -998,7 +969,7 @@ class VcdApiClient {
|
|
|
998
969
|
* In this case the old API (/api/session) should not be used at all.
|
|
999
970
|
*/
|
|
1000
971
|
this._isCloudApiLogin = false;
|
|
1001
|
-
this._baseUrl = this.injector.get(API_ROOT_URL
|
|
972
|
+
this._baseUrl = this.injector.get(API_ROOT_URL);
|
|
1002
973
|
let negotiatedVersion;
|
|
1003
974
|
if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.apiVersion) {
|
|
1004
975
|
negotiatedVersion = of(this.config.apiVersion).pipe(map((version) => {
|
|
@@ -1010,7 +981,7 @@ class VcdApiClient {
|
|
|
1010
981
|
negotiatedVersion = this.http.get(`${this._baseUrl}/api/versions`).pipe(map(versions => this.negotiateVersion(versions)), tap(version => this.setVersion(version)));
|
|
1011
982
|
}
|
|
1012
983
|
this._negotiateVersion = negotiatedVersion.pipe(share({ connector: () => new ReplaySubject(1), resetOnError: false, resetOnComplete: false, resetOnRefCountZero: false }));
|
|
1013
|
-
const tokenHolder = this.injector.get(AuthTokenHolderService
|
|
984
|
+
const tokenHolder = this.injector.get(AuthTokenHolderService, { token: '' });
|
|
1014
985
|
const token = tokenHolder.jwt ? `Bearer ${tokenHolder.jwt}` : tokenHolder.token;
|
|
1015
986
|
this._getSession = this.setAuthentication(token)
|
|
1016
987
|
.pipe(share({ connector: () => new ReplaySubject(1), resetOnError: false, resetOnComplete: false, resetOnRefCountZero: false }));
|
|
@@ -1090,10 +1061,10 @@ class VcdApiClient {
|
|
|
1090
1061
|
this.http.requestHeadersInterceptor.authentication = authentication;
|
|
1091
1062
|
return this.http.get(`${this._baseUrl}/api/session`).pipe(tap(session => {
|
|
1092
1063
|
// automatically set actAs for provider in tenant scope
|
|
1093
|
-
if (session.org === 'System' && this.injector.get(SESSION_SCOPE
|
|
1064
|
+
if (session.org === 'System' && this.injector.get(SESSION_SCOPE) === 'tenant') {
|
|
1094
1065
|
// Automatic actAs only works in versions >=9.5
|
|
1095
1066
|
try {
|
|
1096
|
-
this.actAs({ id: this.injector.get(SESSION_ORG_ID
|
|
1067
|
+
this.actAs({ id: this.injector.get(SESSION_ORG_ID) });
|
|
1097
1068
|
}
|
|
1098
1069
|
catch (e) {
|
|
1099
1070
|
console.warn('No SESSION_ORG_ID set in container. Automatic actAs is disabled.');
|
|
@@ -1202,10 +1173,10 @@ class VcdApiClient {
|
|
|
1202
1173
|
// Clear previous actAs
|
|
1203
1174
|
this.actAs(null);
|
|
1204
1175
|
// automatically set actAs for provider in tenant scope
|
|
1205
|
-
if (session.org && session.org.name === 'System' && this.injector.get(SESSION_SCOPE
|
|
1176
|
+
if (session.org && session.org.name === 'System' && this.injector.get(SESSION_SCOPE) === 'tenant') {
|
|
1206
1177
|
// Automatic actAs only works in versions >=9.5
|
|
1207
1178
|
try {
|
|
1208
|
-
this.actAs({ id: this.injector.get(SESSION_ORG_ID
|
|
1179
|
+
this.actAs({ id: this.injector.get(SESSION_ORG_ID) });
|
|
1209
1180
|
}
|
|
1210
1181
|
catch (e) {
|
|
1211
1182
|
console.warn('No SESSION_ORG_ID set in container. Automatic actAs is disabled.');
|
|
@@ -1267,7 +1238,7 @@ class VcdApiClient {
|
|
|
1267
1238
|
const link = [...headerLinks, ...links]
|
|
1268
1239
|
.find((l) => l.rel === transferRel);
|
|
1269
1240
|
if (!link) {
|
|
1270
|
-
throw new
|
|
1241
|
+
throw new ClientError(`Response from ${endpoint} did not contain a transfer link`, ClientErrorType.HateoasLinkMissing);
|
|
1271
1242
|
}
|
|
1272
1243
|
return link.href;
|
|
1273
1244
|
}));
|
|
@@ -1296,7 +1267,7 @@ class VcdApiClient {
|
|
|
1296
1267
|
const task = Object.assign(new TaskType(), response.body);
|
|
1297
1268
|
return of(task);
|
|
1298
1269
|
}
|
|
1299
|
-
return throwError(() => new
|
|
1270
|
+
return throwError(() => new ClientError(`An asynchronous request was made to [${httpVerb} ${response.url}], but no task was returned. The operation may still have been successful.`, ClientErrorType.TaskLinkMissing));
|
|
1300
1271
|
}
|
|
1301
1272
|
getEntity(entityRefOrUrn) {
|
|
1302
1273
|
const entityResolver = typeof entityRefOrUrn === 'string' ?
|
|
@@ -1313,7 +1284,7 @@ class VcdApiClient {
|
|
|
1313
1284
|
removeItem(item, options) {
|
|
1314
1285
|
const link = this.findLink(item, 'remove', null);
|
|
1315
1286
|
if (!link) {
|
|
1316
|
-
return throwError(() => new
|
|
1287
|
+
return throwError(() => new ClientError(`No 'remove' link for specified resource.`, ClientErrorType.HateoasLinkMissing));
|
|
1317
1288
|
}
|
|
1318
1289
|
return this.validateRequestContext().pipe(concatMap(() => this.http.delete(link.href, Object.assign({}, options))));
|
|
1319
1290
|
}
|
|
@@ -1323,7 +1294,7 @@ class VcdApiClient {
|
|
|
1323
1294
|
firstPage(result, multisite, options) {
|
|
1324
1295
|
const link = this.findLink(result, 'firstPage', result.type);
|
|
1325
1296
|
if (!link) {
|
|
1326
|
-
return throwError(() => new
|
|
1297
|
+
return throwError(() => new ClientError(`No 'firstPage' link for specified query.`, ClientErrorType.HateoasLinkMissing));
|
|
1327
1298
|
}
|
|
1328
1299
|
return this.getQueryPage(link.href, multisite, options);
|
|
1329
1300
|
}
|
|
@@ -1333,7 +1304,7 @@ class VcdApiClient {
|
|
|
1333
1304
|
previousPage(result, multisite, options) {
|
|
1334
1305
|
const link = this.findLink(result, 'previousPage', result.type);
|
|
1335
1306
|
if (!link) {
|
|
1336
|
-
return throwError(() => new
|
|
1307
|
+
return throwError(() => new ClientError(`No 'previousPage' link for specified query.`, ClientErrorType.HateoasLinkMissing));
|
|
1337
1308
|
}
|
|
1338
1309
|
return this.getQueryPage(link.href, multisite, options);
|
|
1339
1310
|
}
|
|
@@ -1343,7 +1314,7 @@ class VcdApiClient {
|
|
|
1343
1314
|
nextPage(result, multisite, options) {
|
|
1344
1315
|
const link = this.findLink(result, 'nextPage', result.type);
|
|
1345
1316
|
if (!link) {
|
|
1346
|
-
return throwError(() => new
|
|
1317
|
+
return throwError(() => new ClientError(`No 'nextPage' link for specified query.`, ClientErrorType.HateoasLinkMissing));
|
|
1347
1318
|
}
|
|
1348
1319
|
return this.getQueryPage(link.href, multisite, options);
|
|
1349
1320
|
}
|
|
@@ -1353,7 +1324,7 @@ class VcdApiClient {
|
|
|
1353
1324
|
lastPage(result, multisite, options) {
|
|
1354
1325
|
const link = this.findLink(result, 'lastPage', result.type);
|
|
1355
1326
|
if (!link) {
|
|
1356
|
-
return throwError(() => new
|
|
1327
|
+
return throwError(() => new ClientError(`No 'lastPage' link for specified query.`, ClientErrorType.HateoasLinkMissing));
|
|
1357
1328
|
}
|
|
1358
1329
|
return this.getQueryPage(link.href, multisite, options);
|
|
1359
1330
|
}
|
|
@@ -1520,5 +1491,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
1520
1491
|
* Generated bundle index. Do not edit.
|
|
1521
1492
|
*/
|
|
1522
1493
|
|
|
1523
|
-
export { API_ROOT_URL, ApiResult, ApiResultService, AuthTokenHolderService, EXTENSION_ASSET_URL, EXTENSION_ROUTE, EntityActionExtensionComponent, ExtensionNavRegistrationAction, FLEX_APP_URL, Filter, HATEOAS_HEADER, LinkRelType, LoggingInterceptor, MAX_CHUNK_RETRY_COUNT, MAX_CHUNK_SIZE, PluginModule, Query, RequestHeadersInterceptor, ResponseNormalizationInterceptor, SDK_MODE, SESSION_ORGANIZATION, SESSION_ORG_ID, SESSION_SCOPE, TRANSFER_LINK_REL, TransferError, VcdApiClient, VcdHttpClient, VcdSdkConfig, VcdSdkModule, VcdTransferClient, WizardExtensionComponent, WizardExtensionWithContextComponent, WizardExtensionWithValidationComponent, _EntityActionExtensionComponent, _WizardExtensionComponent, _WizardExtensionWithContextComponent, _WizardExtensionWithValidationComponent, parseHeaderHateoasLinks };
|
|
1494
|
+
export { API_ROOT_URL, ApiResult, ApiResultService, AuthTokenHolderService, ClientError, ClientErrorType, EXTENSION_ASSET_URL, EXTENSION_ROUTE, EntityActionExtensionComponent, ExtensionNavRegistrationAction, FLEX_APP_URL, Filter, HATEOAS_HEADER, LinkRelType, LoggingInterceptor, MAX_CHUNK_RETRY_COUNT, MAX_CHUNK_SIZE, PluginModule, Query, RequestHeadersInterceptor, ResponseNormalizationInterceptor, SDK_MODE, SESSION_ORGANIZATION, SESSION_ORG_ID, SESSION_SCOPE, TRANSFER_LINK_REL, TransferError, VCD_HTTP_INTERCEPTORS, VcdApiClient, VcdHttpClient, VcdSdkConfig, VcdSdkModule, VcdTransferClient, WizardExtensionComponent, WizardExtensionWithContextComponent, WizardExtensionWithValidationComponent, _EntityActionExtensionComponent, _WizardExtensionComponent, _WizardExtensionWithContextComponent, _WizardExtensionWithValidationComponent, parseHeaderHateoasLinks };
|
|
1524
1495
|
//# sourceMappingURL=vcd-sdk.mjs.map
|