@lenne.tech/ng-base 0.0.9 → 0.2.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/bundles/lenne.tech-ng-base-src-lib-base.umd.js +180 -71
- package/bundles/lenne.tech-ng-base-src-lib-base.umd.js.map +1 -1
- package/bundles/lenne.tech-ng-base.umd.js +180 -71
- package/bundles/lenne.tech-ng-base.umd.js.map +1 -1
- package/esm2015/lib/base/base.module.js +24 -15
- package/esm2015/lib/base/factories/apollo-options.factory.js +43 -4
- package/esm2015/lib/base/interfaces/base-module-config.interface.js +1 -1
- package/esm2015/lib/base/services/graphql-plus.service.js +5 -2
- package/esm2015/lib/base/services/graphql.service.js +107 -46
- package/esm2015/src/lib/base/base.module.js +24 -15
- package/esm2015/src/lib/base/factories/apollo-options.factory.js +43 -4
- package/esm2015/src/lib/base/interfaces/base-module-config.interface.js +1 -1
- package/esm2015/src/lib/base/services/graphql-plus.service.js +5 -2
- package/esm2015/src/lib/base/services/graphql.service.js +107 -46
- package/fesm2015/lenne.tech-ng-base-src-lib-base.js +174 -63
- package/fesm2015/lenne.tech-ng-base-src-lib-base.js.map +1 -1
- package/fesm2015/lenne.tech-ng-base.js +174 -63
- package/fesm2015/lenne.tech-ng-base.js.map +1 -1
- package/lib/base/interfaces/base-module-config.interface.d.ts +8 -0
- package/lib/base/services/graphql.service.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/base/interfaces/base-module-config.interface.d.ts +8 -0
- package/src/lib/base/lenne.tech-ng-base-src-lib-base.metadata.json +1 -1
- package/src/lib/base/services/graphql.service.d.ts +1 -1
|
@@ -19,7 +19,7 @@ const elements = [
|
|
|
19
19
|
ResizableDirective,
|
|
20
20
|
// Pipes
|
|
21
21
|
EllipsesPipe,
|
|
22
|
-
SafeHtmlPipe
|
|
22
|
+
SafeHtmlPipe,
|
|
23
23
|
];
|
|
24
24
|
/**
|
|
25
25
|
* Base module
|
|
@@ -30,27 +30,36 @@ export class BaseModule {
|
|
|
30
30
|
*/
|
|
31
31
|
static forRoot(baseModuleConfig = {}) {
|
|
32
32
|
// Default config
|
|
33
|
-
const config = Object.assign({ apiUrl: 'localhost:
|
|
33
|
+
const config = Object.assign({ apiUrl: 'localhost:3000', authGuardRedirectUrl: '/auth', logging: false, version: null, prefix: null, scrollDetectionOffset: 200, scrollOffset: 100, storageType: 'local' }, baseModuleConfig);
|
|
34
|
+
// Prepare providers
|
|
35
|
+
const providers = [
|
|
36
|
+
{
|
|
37
|
+
provide: BASE_MODULE_CONFIG,
|
|
38
|
+
useValue: baseModuleConfig,
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
// Add apollo features if API URL is set
|
|
42
|
+
if (baseModuleConfig.apiUrl) {
|
|
43
|
+
providers.push({
|
|
44
|
+
provide: APOLLO_OPTIONS,
|
|
45
|
+
useFactory: apolloOptionsFactory,
|
|
46
|
+
deps: [BASE_MODULE_CONFIG, HttpLink, AuthService],
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else if (config.logging) {
|
|
50
|
+
console.log('apiUrl is missing, ApolloLink is not initialized');
|
|
51
|
+
}
|
|
52
|
+
// Return root module
|
|
34
53
|
return {
|
|
35
54
|
ngModule: BaseModule,
|
|
36
|
-
providers
|
|
37
|
-
{
|
|
38
|
-
provide: BASE_MODULE_CONFIG,
|
|
39
|
-
useValue: baseModuleConfig
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
provide: APOLLO_OPTIONS,
|
|
43
|
-
useFactory: apolloOptionsFactory,
|
|
44
|
-
deps: [BASE_MODULE_CONFIG, HttpLink, AuthService],
|
|
45
|
-
}
|
|
46
|
-
]
|
|
55
|
+
providers,
|
|
47
56
|
};
|
|
48
57
|
}
|
|
49
58
|
}
|
|
50
59
|
BaseModule.decorators = [
|
|
51
60
|
{ type: NgModule, args: [{
|
|
52
61
|
declarations: elements,
|
|
53
|
-
exports: elements
|
|
62
|
+
exports: elements,
|
|
54
63
|
},] }
|
|
55
64
|
];
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9saWIvYmFzZS9iYXNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sMkNBQTJDLENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxpQ0FBaUM7QUFDakMsTUFBTSxRQUFRLEdBQUc7SUFDZixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBRWxCLFFBQVE7SUFDUixZQUFZO0lBQ1osWUFBWTtDQUNiLENBQUM7QUFFRjs7R0FFRztBQUtILE1BQU0sT0FBTyxVQUFVO0lBQ3JCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBcUMsRUFBRTtRQUNwRCxpQkFBaUI7UUFDakIsTUFBTSxNQUFNLG1CQUNWLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsb0JBQW9CLEVBQUUsT0FBTyxFQUM3QixPQUFPLEVBQUUsS0FBSyxFQUNkLE9BQU8sRUFBRSxJQUFJLEVBQ2IsTUFBTSxFQUFFLElBQUksRUFDWixxQkFBcUIsRUFBRSxHQUFHLEVBQzFCLFlBQVksRUFBRSxHQUFHLEVBQ2pCLFdBQVcsRUFBRSxPQUFPLElBQ2pCLGdCQUFnQixDQUNwQixDQUFDO1FBRUYsb0JBQW9CO1FBQ3BCLE1BQU0sU0FBUyxHQUFlO1lBQzVCO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7U0FDRixDQUFDO1FBRUYsd0NBQXdDO1FBQ3hDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQzNCLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUM7YUFDbEQsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQscUJBQXFCO1FBQ3JCLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7OztZQTlDRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLE9BQU8sRUFBRSxRQUFRO2FBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBPTExPX09QVElPTlMgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBIdHRwTGluayB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEJBU0VfTU9EVUxFX0NPTkZJRywgQmFzZU1vZHVsZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9iYXNlLW1vZHVsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGFwb2xsb09wdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3JpZXMvYXBvbGxvLW9wdGlvbnMuZmFjdG9yeSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IExhenlMb2FkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xhenktbG9hZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0Y2hIZWlnaHREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWF0Y2gtaGVpZ2h0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZXNpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmVzaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFbGxpcHNlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2VsbGlwc2VzLnBpcGUnO1xuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5cbi8vIEltcG9ydGVkIGFuZCBleHBvcnRlZCBlbGVtZW50c1xuY29uc3QgZWxlbWVudHMgPSBbXG4gIC8vIERpcmVjdGl2ZXNcbiAgQ29udGV4dE1lbnVEaXJlY3RpdmUsXG4gIExhenlMb2FkRGlyZWN0aXZlLFxuICBNYXRjaEhlaWdodERpcmVjdGl2ZSxcbiAgUmVzaXphYmxlRGlyZWN0aXZlLFxuXG4gIC8vIFBpcGVzXG4gIEVsbGlwc2VzUGlwZSxcbiAgU2FmZUh0bWxQaXBlLFxuXTtcblxuLyoqXG4gKiBCYXNlIG1vZHVsZVxuICovXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IGVsZW1lbnRzLFxuICBleHBvcnRzOiBlbGVtZW50cyxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZU1vZHVsZSB7XG4gIC8qKlxuICAgKiBTZXQgY29uZmlndXJhdGlvbiBvZiBiYXNlIG1vZHVsZSBpbiByb290IG1vZHVsZSBvZiB0aGUgYXBwXG4gICAqL1xuICBzdGF0aWMgZm9yUm9vdChiYXNlTW9kdWxlQ29uZmlnOiBCYXNlTW9kdWxlQ29uZmlnID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhc2VNb2R1bGU+IHtcbiAgICAvLyBEZWZhdWx0IGNvbmZpZ1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGFwaVVybDogJ2xvY2FsaG9zdDozMDAwJyxcbiAgICAgIGF1dGhHdWFyZFJlZGlyZWN0VXJsOiAnL2F1dGgnLFxuICAgICAgbG9nZ2luZzogZmFsc2UsXG4gICAgICB2ZXJzaW9uOiBudWxsLFxuICAgICAgcHJlZml4OiBudWxsLFxuICAgICAgc2Nyb2xsRGV0ZWN0aW9uT2Zmc2V0OiAyMDAsXG4gICAgICBzY3JvbGxPZmZzZXQ6IDEwMCxcbiAgICAgIHN0b3JhZ2VUeXBlOiAnbG9jYWwnLFxuICAgICAgLi4uYmFzZU1vZHVsZUNvbmZpZyxcbiAgICB9O1xuXG4gICAgLy8gUHJlcGFyZSBwcm92aWRlcnNcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IEJBU0VfTU9EVUxFX0NPTkZJRyxcbiAgICAgICAgdXNlVmFsdWU6IGJhc2VNb2R1bGVDb25maWcsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICAvLyBBZGQgYXBvbGxvIGZlYXR1cmVzIGlmIEFQSSBVUkwgaXMgc2V0XG4gICAgaWYgKGJhc2VNb2R1bGVDb25maWcuYXBpVXJsKSB7XG4gICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgIHByb3ZpZGU6IEFQT0xMT19PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiBhcG9sbG9PcHRpb25zRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0JBU0VfTU9EVUxFX0NPTkZJRywgSHR0cExpbmssIEF1dGhTZXJ2aWNlXSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoY29uZmlnLmxvZ2dpbmcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdhcGlVcmwgaXMgbWlzc2luZywgQXBvbGxvTGluayBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gcm9vdCBtb2R1bGVcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEJhc2VNb2R1bGUsXG4gICAgICBwcm92aWRlcnMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { ApolloLink } from '@apollo/client/core';
|
|
1
|
+
import { ApolloLink, concat, split } from '@apollo/client/core';
|
|
2
2
|
import { InMemoryCache } from '@apollo/client/cache';
|
|
3
|
+
import { WebSocketLink } from '@apollo/client/link/ws';
|
|
4
|
+
import { getMainDefinition } from '@apollo/client/utilities';
|
|
3
5
|
/**
|
|
4
6
|
* Factory for apollo-angular options
|
|
5
7
|
*/
|
|
6
8
|
export function apolloOptionsFactory(baseModuleConfig, httpLink, authService) {
|
|
7
|
-
const
|
|
9
|
+
const links = [];
|
|
10
|
+
const http = httpLink.create({
|
|
8
11
|
uri: baseModuleConfig.apiUrl,
|
|
9
12
|
});
|
|
10
13
|
const authMiddleware = new ApolloLink((operation, forward) => {
|
|
@@ -18,8 +21,44 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService) {
|
|
|
18
21
|
}
|
|
19
22
|
return forward(operation);
|
|
20
23
|
});
|
|
24
|
+
if (baseModuleConfig.wsUrl) {
|
|
25
|
+
let wsClient;
|
|
26
|
+
if (localStorage) {
|
|
27
|
+
const token = authService.token || null;
|
|
28
|
+
wsClient = new WebSocketLink({
|
|
29
|
+
uri: baseModuleConfig.wsUrl,
|
|
30
|
+
options: {
|
|
31
|
+
reconnect: true,
|
|
32
|
+
connectionParams: {
|
|
33
|
+
authToken: token,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
wsClient = new WebSocketLink({
|
|
40
|
+
uri: baseModuleConfig.wsUrl,
|
|
41
|
+
options: {
|
|
42
|
+
reconnect: true,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// using the ability to split links, you can send data to each link
|
|
47
|
+
// depending on what kind of operation is being sent
|
|
48
|
+
links.push(split(
|
|
49
|
+
// split based on operation type
|
|
50
|
+
({ query }) => {
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
const { kind, operation } = getMainDefinition(query);
|
|
53
|
+
return kind === 'OperationDefinition' && operation === 'subscription';
|
|
54
|
+
}, wsClient, concat(authMiddleware, http)));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
links.push(http);
|
|
58
|
+
links.push(authMiddleware);
|
|
59
|
+
}
|
|
21
60
|
return {
|
|
22
|
-
link: ApolloLink.from(
|
|
61
|
+
link: ApolloLink.from(links),
|
|
23
62
|
cache: new InMemoryCache(),
|
|
24
63
|
defaultOptions: {
|
|
25
64
|
query: {
|
|
@@ -28,4 +67,4 @@ export function apolloOptionsFactory(baseModuleConfig, httpLink, authService) {
|
|
|
28
67
|
},
|
|
29
68
|
};
|
|
30
69
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLW9wdGlvbnMuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2xpYi9iYXNlL2ZhY3Rvcmllcy9hcG9sbG8tb3B0aW9ucy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsZ0JBQWtDLEVBQUUsUUFBa0IsRUFBRSxXQUF3QjtJQUNuSCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFakIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMzQixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtLQUM3QixDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDeEIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDeEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLGFBQWEsR0FBRyxTQUFTLEdBQUcsS0FBSyxDQUFDO2FBQzNDO1lBQ0QsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtRQUMxQixJQUFJLFFBQVEsQ0FBQztRQUViLElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ3hDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQztnQkFDM0IsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7Z0JBQzNCLE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsSUFBSTtvQkFDZixnQkFBZ0IsRUFBRTt3QkFDaEIsU0FBUyxFQUFFLEtBQUs7cUJBQ2pCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQztnQkFDM0IsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7Z0JBQzNCLE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsSUFBSTtpQkFDaEI7YUFDRixDQUFDLENBQUM7U0FDSjtRQUVELG1FQUFtRTtRQUNuRSxvREFBb0Q7UUFDcEQsS0FBSyxDQUFDLElBQUksQ0FDUixLQUFLO1FBQ0gsZ0NBQWdDO1FBQ2hDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ1osYUFBYTtZQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckQsT0FBTyxJQUFJLEtBQUsscUJBQXFCLElBQUksU0FBUyxLQUFLLGNBQWMsQ0FBQztRQUN4RSxDQUFDLEVBQ0QsUUFBUSxFQUNSLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQzdCLENBQ0YsQ0FBQztLQUNIO1NBQU07UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDNUI7SUFFRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtRQUMxQixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLGNBQWM7YUFDNUI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cExpbmsgfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcbmltcG9ydCB7IEJhc2VNb2R1bGVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2Jhc2UtbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBvbGxvTGluaywgY29uY2F0LCBzcGxpdCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NhY2hlJztcbmltcG9ydCB7IFdlYlNvY2tldExpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3dzJztcbmltcG9ydCB7IGdldE1haW5EZWZpbml0aW9uIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcblxuLyoqXG4gKiBGYWN0b3J5IGZvciBhcG9sbG8tYW5ndWxhciBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcG9sbG9PcHRpb25zRmFjdG9yeShiYXNlTW9kdWxlQ29uZmlnOiBCYXNlTW9kdWxlQ29uZmlnLCBodHRwTGluazogSHR0cExpbmssIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkge1xuICBjb25zdCBsaW5rcyA9IFtdO1xuXG4gIGNvbnN0IGh0dHAgPSBodHRwTGluay5jcmVhdGUoe1xuICAgIHVyaTogYmFzZU1vZHVsZUNvbmZpZy5hcGlVcmwsXG4gIH0pO1xuXG4gIGNvbnN0IGF1dGhNaWRkbGV3YXJlID0gbmV3IEFwb2xsb0xpbmsoKG9wZXJhdGlvbiwgZm9yd2FyZCkgPT4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHt9O1xuICAgIGlmIChsb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gYXV0aFNlcnZpY2UudG9rZW4gfHwgbnVsbDtcbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSAnQmVhcmVyICcgKyB0b2tlbjtcbiAgICAgIH1cbiAgICAgIG9wZXJhdGlvbi5zZXRDb250ZXh0KCgpID0+ICh7IGhlYWRlcnMgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gZm9yd2FyZChvcGVyYXRpb24pO1xuICB9KTtcblxuICBpZiAoYmFzZU1vZHVsZUNvbmZpZy53c1VybCkge1xuICAgIGxldCB3c0NsaWVudDtcblxuICAgIGlmIChsb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gYXV0aFNlcnZpY2UudG9rZW4gfHwgbnVsbDtcbiAgICAgIHdzQ2xpZW50ID0gbmV3IFdlYlNvY2tldExpbmsoe1xuICAgICAgICB1cmk6IGJhc2VNb2R1bGVDb25maWcud3NVcmwsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICByZWNvbm5lY3Q6IHRydWUsXG4gICAgICAgICAgY29ubmVjdGlvblBhcmFtczoge1xuICAgICAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdzQ2xpZW50ID0gbmV3IFdlYlNvY2tldExpbmsoe1xuICAgICAgICB1cmk6IGJhc2VNb2R1bGVDb25maWcud3NVcmwsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICByZWNvbm5lY3Q6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyB1c2luZyB0aGUgYWJpbGl0eSB0byBzcGxpdCBsaW5rcywgeW91IGNhbiBzZW5kIGRhdGEgdG8gZWFjaCBsaW5rXG4gICAgLy8gZGVwZW5kaW5nIG9uIHdoYXQga2luZCBvZiBvcGVyYXRpb24gaXMgYmVpbmcgc2VudFxuICAgIGxpbmtzLnB1c2goXG4gICAgICBzcGxpdChcbiAgICAgICAgLy8gc3BsaXQgYmFzZWQgb24gb3BlcmF0aW9uIHR5cGVcbiAgICAgICAgKHsgcXVlcnkgfSkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBjb25zdCB7IGtpbmQsIG9wZXJhdGlvbiB9ID0gZ2V0TWFpbkRlZmluaXRpb24ocXVlcnkpO1xuICAgICAgICAgIHJldHVybiBraW5kID09PSAnT3BlcmF0aW9uRGVmaW5pdGlvbicgJiYgb3BlcmF0aW9uID09PSAnc3Vic2NyaXB0aW9uJztcbiAgICAgICAgfSxcbiAgICAgICAgd3NDbGllbnQsXG4gICAgICAgIGNvbmNhdChhdXRoTWlkZGxld2FyZSwgaHR0cClcbiAgICAgIClcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGxpbmtzLnB1c2goaHR0cCk7XG4gICAgbGlua3MucHVzaChhdXRoTWlkZGxld2FyZSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxpbms6IEFwb2xsb0xpbmsuZnJvbShsaW5rcyksXG4gICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKCksXG4gICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2xpYi9iYXNlL2ludGVyZmFjZXMvYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBNkQvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvc3RvcmFnZS50eXBlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBiYXNlIG1vZHVsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VNb2R1bGVDb25maWcge1xuICAvKipcbiAgICogVVJMIHRvIHNlcnZlciBBUElcbiAgICogRGVmYXVsdDogJ2xvY2FsaG9zdDozMDAwJ1xuICAgKi9cbiAgYXBpVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXZWJzb2NrZXQgVVJMIHRvIHNlcnZlciBBUElcbiAgICovXG4gIHdzVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHJlZGlyZWN0IFVSTCBmb3IgQXV0aEd1YXJkXG4gICAqIERlZmF1bHQ6ICcvYXV0aCdcbiAgICovXG4gIGF1dGhHdWFyZFJlZGlyZWN0VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxvZ2dpbmcgaXMgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIGxvZ2dpbmc/OiBmYWxzZTtcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiB0aGUgQXBwIChmb3Igc3RvcmFnZSBoYW5kbGluZylcbiAgICogRGVmYXVsdDogbnVsbFxuICAgKi9cbiAgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUHJlZml4IG9mIHRoZSBBcHAgKGZvciBzdG9yYWdlIGhhbmRsaW5nKVxuICAgKiBEZWZhdWx0OiBudWxsXG4gICAqL1xuICBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNjcm9sbCBkZXRlY3Rpb24gb2Zmc2V0IGZvciBTY3JvbGxTZXJ2aWNlXG4gICAqIFNob3VsZCBiZSA+PSBzY3JvbGxPZmZzZXRcbiAgICogRGVmYXVsdDogMjAwXG4gICAqL1xuICBzY3JvbGxEZXRlY3Rpb25PZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNjcm9sbCBvZmZzZXQgZm9yIFNjcm9sbFNlcnZpY2VcbiAgICogRGVmYXVsdDogMTAwXG4gICAqL1xuICBzY3JvbGxPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2Ygc3RvcmFnZTogJ3Nlc3Npb24nIG9yICdsb2NhbCdcbiAgICogRGVmYXVsdDogJ2xvY2FsJ1xuICAgKi9cbiAgc3RvcmFnZVR5cGU/OiBTdG9yYWdlVHlwZTtcbn1cblxuZXhwb3J0IGNvbnN0IEJBU0VfTU9EVUxFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignQkFTRV9NT0RVTEVfQ09ORklHJyk7XG4iXX0=
|
|
@@ -4,6 +4,7 @@ import { Observable } from 'rxjs';
|
|
|
4
4
|
import { GraphQLService } from './graphql.service';
|
|
5
5
|
import { GraphQLMetaService } from './graphql-meta.service';
|
|
6
6
|
import { LoaderService } from './loader.service';
|
|
7
|
+
import { GraphQLRequestType } from '../enums/graphql-request-type.enum';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "apollo-angular";
|
|
9
10
|
import * as i2 from "./graphql-meta.service";
|
|
@@ -33,7 +34,9 @@ export class GraphQLPlusService extends GraphQLService {
|
|
|
33
34
|
}
|
|
34
35
|
subscriber.next(response);
|
|
35
36
|
this.handleLoader('stop', options);
|
|
36
|
-
|
|
37
|
+
if (options.type !== GraphQLRequestType.SUBSCRIPTION) {
|
|
38
|
+
subscriber.complete();
|
|
39
|
+
}
|
|
37
40
|
}, (error) => {
|
|
38
41
|
if (!options.ignoreErrors) {
|
|
39
42
|
this.handleError(error, options.excludedErrors);
|
|
@@ -84,4 +87,4 @@ GraphQLPlusService.ctorParameters = () => [
|
|
|
84
87
|
{ type: GraphQLMetaService },
|
|
85
88
|
{ type: LoaderService }
|
|
86
89
|
];
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1wbHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9saWIvYmFzZS9zZXJ2aWNlcy9ncmFwaHFsLXBsdXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBRXhFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFDcEQ7O09BRUc7SUFDSCxZQUNZLE1BQWMsRUFDZCxrQkFBc0MsRUFDdEMsYUFBNEI7UUFFdEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBSnhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBR3hDLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQStCLEVBQUU7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDdkMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDWCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO29CQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUMxRCxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDbkMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN2QjtnQkFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLFlBQVksRUFBRTtvQkFDcEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN2QjtZQUNILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO29CQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ2pEO2dCQUNELFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBdUIsRUFBRSxPQUE0QjtRQUNoRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO2lCQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMzQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZLEVBQUUsaUJBQXNCLElBQUk7UUFDbEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNqQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7d0JBQ3ZELE9BQU87cUJBQ1I7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUM5RSxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7OztZQTFFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWRRLE1BQU07WUFJTixrQkFBa0I7WUFFbEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyYXBoUUxTZXJ2aWNlIH0gZnJvbSAnLi9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhcGhRTE1ldGFTZXJ2aWNlIH0gZnJvbSAnLi9ncmFwaHFsLW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBJR3JhcGhRTFBsdXNPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ncmFwaHFsLXBsdXMtb3B0aW9ucy5pbnRlcmZhY2VuJztcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdyYXBoUUxSZXF1ZXN0VHlwZSB9IGZyb20gJy4uL2VudW1zL2dyYXBocWwtcmVxdWVzdC10eXBlLmVudW0nO1xuXG4vKipcbiAqIEdyYXBoUUwgcGx1cyBzZXJ2aWNlLCBmb3IgZXh0cmEgZXJyb3IgaGFuZGxpbmcgYW5kIGxvYWRpbmcgaW5kaWNhdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR3JhcGhRTFBsdXNTZXJ2aWNlIGV4dGVuZHMgR3JhcGhRTFNlcnZpY2Uge1xuICAvKipcbiAgICogSW5jbHVkZSBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGFwb2xsbzogQXBvbGxvLFxuICAgIHByb3RlY3RlZCBncmFwaHFsTWV0YVNlcnZpY2U6IEdyYXBoUUxNZXRhU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbG9hZGVyU2VydmljZTogTG9hZGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcihhcG9sbG8sIGdyYXBocWxNZXRhU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgZ3JhcGhRbChncmFwaHFsOiBzdHJpbmcsIG9wdGlvbnM6IElHcmFwaFFMUGx1c09wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5oYW5kbGVMb2FkZXIoJ3N0YXJ0Jywgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHN1cGVyLmdyYXBoUWwoZ3JhcGhxbCwgb3B0aW9ucykuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlc3BvbnNlLmVycm9ycywgb3B0aW9ucy5leGNsdWRlZEVycm9ycyk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTG9hZGVyKCdzdG9wJywgb3B0aW9ucyk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZUxvYWRlcignc3RvcCcsIG9wdGlvbnMpO1xuICAgICAgICAgIGlmIChvcHRpb25zLnR5cGUgIT09IEdyYXBoUUxSZXF1ZXN0VHlwZS5TVUJTQ1JJUFRJT04pIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmICghb3B0aW9ucy5pZ25vcmVFcnJvcnMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsIG9wdGlvbnMuZXhjbHVkZWRFcnJvcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZUxvYWRlcignc3RvcCcsIG9wdGlvbnMpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUxvYWRlcihzdGF0ZTogJ3N0YXJ0JyB8ICdzdG9wJywgb3B0aW9uczogSUdyYXBoUUxQbHVzT3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLmxvYWRpbmcpIHtcbiAgICAgIGlmIChzdGF0ZSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc3RhcnQoKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09ICdzdG9wJykge1xuICAgICAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc3RvcCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvciwgZXhjbHVkZWRFcnJvcnM6IGFueSA9IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoZXhjbHVkZWRFcnJvcnMpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGV4Y2x1ZGVkRXJyb3JzKSkge1xuICAgICAgICBleGNsdWRlZEVycm9ycy5mb3JFYWNoKChleGNsdWRlZEVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoZXhjbHVkZWRFcnJvci50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGVycm9yLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhleGNsdWRlZEVycm9ycz8udG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheUVycm9yKGVycm9yKTtcbiAgfVxuXG4gIGRpc3BsYXlFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gIH1cbn1cbiJdfQ==
|