@ethlete/query 1.0.1 → 2.1.0
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/esm2020/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2020/lib/directives/infinity-query.directive.mjs +6 -6
- package/esm2020/lib/directives/query.directive.mjs +3 -3
- package/esm2020/lib/infinite-query/infinity-query.mjs +13 -4
- package/esm2020/lib/query/query.mjs +52 -7
- package/esm2020/lib/query/query.types.mjs +1 -1
- package/esm2020/lib/query-client/query-client.mjs +12 -4
- package/esm2020/lib/query-client/query-client.types.mjs +1 -1
- package/esm2020/lib/query-store/query-store.mjs +53 -2
- package/fesm2015/ethlete-query.mjs +151 -33
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +136 -25
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/auth/auth-provider.types.d.ts +0 -5
- package/lib/infinite-query/infinity-query.d.ts +1 -1
- package/lib/query/query.d.ts +7 -1
- package/lib/query/query.types.d.ts +48 -4
- package/lib/query-client/query-client.d.ts +4 -1
- package/lib/query-client/query-client.types.d.ts +11 -0
- package/lib/query-store/query-store.d.ts +8 -0
- package/package.json +2 -2
|
@@ -56,6 +56,9 @@ export class QueryClient {
|
|
|
56
56
|
if (shouldCacheQuery(queryConfig.method)) {
|
|
57
57
|
const existingQuery = this._store.get(cacheKey);
|
|
58
58
|
if (existingQuery) {
|
|
59
|
+
if (existingQuery.isExpired) {
|
|
60
|
+
existingQuery.execute();
|
|
61
|
+
}
|
|
59
62
|
return existingQuery;
|
|
60
63
|
}
|
|
61
64
|
}
|
|
@@ -77,14 +80,17 @@ export class QueryClient {
|
|
|
77
80
|
}
|
|
78
81
|
this._authProvider$.next(authProvider);
|
|
79
82
|
};
|
|
80
|
-
this.setDefaultHeaders = (
|
|
83
|
+
this.setDefaultHeaders = (config) => {
|
|
81
84
|
if (!this._clientConfig.request) {
|
|
82
85
|
this._clientConfig.request = {
|
|
83
|
-
headers: headers ?? undefined,
|
|
86
|
+
headers: config.headers ?? undefined,
|
|
84
87
|
};
|
|
85
88
|
}
|
|
86
89
|
else {
|
|
87
|
-
this._clientConfig.request.headers = headers ?? undefined;
|
|
90
|
+
this._clientConfig.request.headers = config.headers ?? undefined;
|
|
91
|
+
}
|
|
92
|
+
if (config.refreshQueriesInUse) {
|
|
93
|
+
this._store.refreshQueriesInUse({ purgeUnused: true, ignoreCacheValidity: true });
|
|
88
94
|
}
|
|
89
95
|
};
|
|
90
96
|
this.clearAuthProvider = () => {
|
|
@@ -94,7 +100,9 @@ export class QueryClient {
|
|
|
94
100
|
this._store = new QueryStore({
|
|
95
101
|
enableChangeLogging: _clientConfig.logging?.queryStateChanges,
|
|
96
102
|
enableGarbageCollectorLogging: _clientConfig.logging?.queryStateGarbageCollector,
|
|
103
|
+
autoRefreshQueriesOnWindowFocus: _clientConfig.request?.autoRefreshQueriesOnWindowFocus ?? true,
|
|
104
|
+
enableSmartPolling: _clientConfig.request?.enableSmartPolling ?? true,
|
|
97
105
|
});
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLEtBQUssR0FJTixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSxZQUFZLENBQUM7QUFPdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUUsTUFBTSxPQUFPLFdBQVc7SUFHdEIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztJQUN4RyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDaEgsQ0FBQztJQUdELFlBQW9CLGFBQWdDO1FBQWhDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUZuQyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQVNqRixRQUFHLEdBQUcsQ0FNSixXQUFzRixFQUN0RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBeUQ7WUFDakUsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFTCxTQUFJLEdBQUcsQ0FNTCxXQUFzRixFQUN0RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBMEQ7WUFDbEUsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7UUFFTCxRQUFHLEdBQUcsQ0FNSixXQUFzRixFQUN0RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBeUQ7WUFDakUsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFTCxVQUFLLEdBQUcsQ0FNTixXQUFzRixFQUN0RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBMkQ7WUFDbkUsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO1FBRUwsV0FBTSxHQUFHLENBTVAsV0FBc0YsRUFDdEYsRUFBRSxDQUNGLElBQUksQ0FBQyxLQUFLLENBQTREO1lBQ3BFLEdBQUcsV0FBVztZQUNkLE1BQU0sRUFBRSxRQUFRO1NBQ2pCLENBQUMsQ0FBQztRQUVMLGFBQVEsR0FBRyxDQU1ULFdBQXlGLEVBQ3pGLEVBQUUsQ0FDRixJQUFJLENBQUMsS0FBSyxDQUErRDtZQUN2RSxHQUFHLFdBQVc7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUNwQixDQUFDLENBQUM7UUFFTCxjQUFTLEdBQUcsQ0FNVixXQUF5RixFQUN6RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBZ0U7WUFDeEUsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBRUwsVUFBSyxHQUFHLENBT04sV0FFbUUsRUFDSSxFQUFFO1lBQ3pFLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxFQUFFO2dCQUNuQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7b0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7b0JBQ2xDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztvQkFDeEIsVUFBVSxFQUFHLElBQXNCLEVBQUUsVUFBVTtvQkFDL0MsV0FBVyxFQUFHLElBQXNCLEVBQUUsV0FBVztpQkFDbEQsQ0FBVSxDQUFDO2dCQUVaLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFFN0YsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ3hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUVoRCxJQUFJLGFBQWEsRUFBRTt3QkFDakIsT0FBTyxhQUErRSxDQUFDO3FCQUN4RjtpQkFDRjtnQkFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBMEQsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRWpILElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQ2xDO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDO1lBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBdUMsZUFBeUIsSUFBSSxFQUFFLEVBQUUsQ0FDOUYsSUFBSSxlQUFlLENBQVcsWUFBWSxDQUFDLENBQUM7WUFFOUMsT0FBTztnQkFDTCxPQUFPO2dCQUNQLGVBQWU7YUFDb0UsQ0FBQztRQUN4RixDQUFDLENBQUM7UUFFRixvQkFBZSxHQUFHLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO2FBQzdGO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBRUYsc0JBQWlCLEdBQUcsQ0FBQyxPQUF3RCxFQUFFLEVBQUU7WUFDL0UsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO2dCQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRztvQkFDM0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTO2lCQUM5QixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxTQUFTLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUM7UUFFRixzQkFBaUIsR0FBRyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFyS0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQixtQkFBbUIsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLGlCQUFpQjtZQUM3RCw2QkFBNkIsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLDBCQUEwQjtTQUNqRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBa0tGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7XG4gIEJhc2VBcmd1bWVudHMsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBHcWxRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIGlzR3FsUXVlcnlDb25maWcsXG4gIFF1ZXJ5LFxuICBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIFJlc3RRdWVyeUNvbmZpZyxcbiAgUm91dGVUeXBlLFxufSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeVN0b3JlIH0gZnJvbSAnLi4vcXVlcnktc3RvcmUnO1xuaW1wb3J0IHsgYnVpbGRSb3V0ZSwgTWV0aG9kIGFzIE1ldGhvZFR5cGUsIFJlcXVlc3RIZWFkZXJzLCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXIsXG4gIFF1ZXJ5Q2xpZW50Q29uZmlnLFxuICBRdWVyeUNyZWF0b3IsXG4gIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlLFxufSBmcm9tICcuL3F1ZXJ5LWNsaWVudC50eXBlcyc7XG5pbXBvcnQgeyBidWlsZEdxbENhY2hlS2V5LCBzaG91bGRDYWNoZVF1ZXJ5IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlDbGllbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogUXVlcnlTdG9yZTtcblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnRDb25maWc7XG4gIH1cblxuICBnZXQgYXV0aFByb3ZpZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmdldFZhbHVlKCkgPz8gdGhpcy5fY2xpZW50Q29uZmlnLnBhcmVudD8uX2F1dGhQcm92aWRlciQuZ2V0VmFsdWUoKSA/PyBudWxsO1xuICB9XG4gIGdldCBhdXRoUHJvdmlkZXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IHRoaXMuX2NsaWVudENvbmZpZy5wYXJlbnQ/Ll9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFByb3ZpZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFByb3ZpZGVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZykge1xuICAgIHRoaXMuX3N0b3JlID0gbmV3IFF1ZXJ5U3RvcmUoe1xuICAgICAgZW5hYmxlQ2hhbmdlTG9nZ2luZzogX2NsaWVudENvbmZpZy5sb2dnaW5nPy5xdWVyeVN0YXRlQ2hhbmdlcyxcbiAgICAgIGVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nOiBfY2xpZW50Q29uZmlnLmxvZ2dpbmc/LnF1ZXJ5U3RhdGVHYXJiYWdlQ29sbGVjdG9yLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgJ0dFVCcsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICB9KTtcblxuICBwb3N0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgJ1BPU1QnLCBSZXNwb25zZVRyYW5zZm9ybWVyPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIH0pO1xuXG4gIHB1dCA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsICdQVVQnLCBSZXNwb25zZVRyYW5zZm9ybWVyPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgfSk7XG5cbiAgcGF0Y2ggPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnUEFUQ0gnLCBSZXNwb25zZVRyYW5zZm9ybWVyPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICB9KTtcblxuICBkZWxldGUgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnREVMRVRFJywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgIH0pO1xuXG4gIGdxbFF1ZXJ5ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBHcWxRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgJ0dRTF9RVUVSWScsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnR1FMX1FVRVJZJyxcbiAgICB9KTtcblxuICBncWxNdXRhdGUgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IEdxbFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnR1FMX01VVEFURScsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnR1FMX01VVEFURScsXG4gICAgfSk7XG5cbiAgZmV0Y2ggPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLFxuICAgIE1ldGhvZCBleHRlbmRzIE1ldGhvZFR5cGUsXG4gICAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzpcbiAgICAgIHwgUmVzdFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPlxuICAgICAgfCBHcWxRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICk6IFF1ZXJ5Q3JlYXRvcjxBcmd1bWVudHMsIE1ldGhvZCwgUmVzcG9uc2UsIFJvdXRlLCBSZXNwb25zZVRyYW5zZm9ybWVyPiA9PiB7XG4gICAgY29uc3QgcHJlcGFyZSA9IChhcmdzPzogQXJndW1lbnRzKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZSA9IGJ1aWxkUm91dGUoe1xuICAgICAgICBiYXNlOiB0aGlzLl9jbGllbnRDb25maWcuYmFzZVJvdXRlLFxuICAgICAgICByb3V0ZTogcXVlcnlDb25maWcucm91dGUsXG4gICAgICAgIHBhdGhQYXJhbXM6IChhcmdzIGFzIEJhc2VBcmd1bWVudHMpPy5wYXRoUGFyYW1zLFxuICAgICAgICBxdWVyeVBhcmFtczogKGFyZ3MgYXMgQmFzZUFyZ3VtZW50cyk/LnF1ZXJ5UGFyYW1zLFxuICAgICAgfSkgYXMgUm91dGU7XG5cbiAgICAgIGNvbnN0IGNhY2hlS2V5ID0gaXNHcWxRdWVyeUNvbmZpZyhxdWVyeUNvbmZpZykgPyBidWlsZEdxbENhY2hlS2V5KHF1ZXJ5Q29uZmlnLCBhcmdzKSA6IHJvdXRlO1xuXG4gICAgICBpZiAoc2hvdWxkQ2FjaGVRdWVyeShxdWVyeUNvbmZpZy5tZXRob2QpKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUXVlcnkgPSB0aGlzLl9zdG9yZS5nZXQoY2FjaGVLZXkpO1xuXG4gICAgICAgIGlmIChleGlzdGluZ1F1ZXJ5KSB7XG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nUXVlcnkgYXMgUXVlcnk8UmVzcG9uc2UsIEFyZ3VtZW50cywgUm91dGUsIE1ldGhvZCwgUmVzcG9uc2VUcmFuc2Zvcm1lcj47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcXVlcnkgPSBuZXcgUXVlcnk8UmVzcG9uc2UsIEFyZ3VtZW50cywgUm91dGUsIE1ldGhvZCwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4odGhpcywgcXVlcnlDb25maWcsIHJvdXRlLCBhcmdzKTtcblxuICAgICAgaWYgKHNob3VsZENhY2hlUXVlcnkocXVlcnlDb25maWcubWV0aG9kKSkge1xuICAgICAgICB0aGlzLl9zdG9yZS5hZGQoY2FjaGVLZXksIHF1ZXJ5KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgIH07XG5cbiAgICBjb25zdCBiZWhhdmlvclN1YmplY3QgPSA8VCBleHRlbmRzIFJldHVyblR5cGU8dHlwZW9mIHByZXBhcmU+Pihpbml0aWFsVmFsdWU6IFQgfCBudWxsID0gbnVsbCkgPT5cbiAgICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8VCB8IG51bGw+KGluaXRpYWxWYWx1ZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJlcGFyZSxcbiAgICAgIGJlaGF2aW9yU3ViamVjdCxcbiAgICB9IGFzIHVua25vd24gYXMgUXVlcnlDcmVhdG9yPEFyZ3VtZW50cywgTWV0aG9kLCBSZXNwb25zZSwgUm91dGUsIFJlc3BvbnNlVHJhbnNmb3JtZXI+O1xuICB9O1xuXG4gIHNldEF1dGhQcm92aWRlciA9IChhdXRoUHJvdmlkZXI6IEF1dGhQcm92aWRlcikgPT4ge1xuICAgIGlmICh0aGlzLmF1dGhQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYXV0aCBwcm92aWRlciBpcyBhbHJlYWR5IHNldC4gUGxlYXNlIGNhbGwgY2xlYXJBdXRoUHJvdmlkZXIoKSBmaXJzdC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hdXRoUHJvdmlkZXIkLm5leHQoYXV0aFByb3ZpZGVyKTtcbiAgfTtcblxuICBzZXREZWZhdWx0SGVhZGVycyA9IChoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyB8IFJlcXVlc3RIZWFkZXJzTWV0aG9kTWFwIHwgbnVsbCkgPT4ge1xuICAgIGlmICghdGhpcy5fY2xpZW50Q29uZmlnLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMuX2NsaWVudENvbmZpZy5yZXF1ZXN0ID0ge1xuICAgICAgICBoZWFkZXJzOiBoZWFkZXJzID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NsaWVudENvbmZpZy5yZXF1ZXN0LmhlYWRlcnMgPSBoZWFkZXJzID8/IHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgY2xlYXJBdXRoUHJvdmlkZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5hdXRoUHJvdmlkZXI/LmNsZWFuVXAoKTtcbiAgICB0aGlzLl9hdXRoUHJvdmlkZXIkLm5leHQobnVsbCk7XG4gIH07XG59XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLEtBQUssR0FJTixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSxZQUFZLENBQUM7QUFPdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUUsTUFBTSxPQUFPLFdBQVc7SUFHdEIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztJQUN4RyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDaEgsQ0FBQztJQUdELFlBQW9CLGFBQWdDO1FBQWhDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUZuQyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQVdqRixRQUFHLEdBQUcsQ0FNSixXQUFzRixFQUN0RixFQUFFLENBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBeUQ7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QUUsa0JBQWtCLElBQUksSUFBSTtTQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBNktGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7XG4gIEJhc2VBcmd1bWVudHMsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBHcWxRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIGlzR3FsUXVlcnlDb25maWcsXG4gIFF1ZXJ5LFxuICBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIFJlc3RRdWVyeUNvbmZpZyxcbiAgUm91dGVUeXBlLFxufSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeVN0b3JlIH0gZnJvbSAnLi4vcXVlcnktc3RvcmUnO1xuaW1wb3J0IHsgYnVpbGRSb3V0ZSwgTWV0aG9kIGFzIE1ldGhvZFR5cGUsIFJlcXVlc3RIZWFkZXJzLCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXIsXG4gIFF1ZXJ5Q2xpZW50Q29uZmlnLFxuICBRdWVyeUNyZWF0b3IsXG4gIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlLFxufSBmcm9tICcuL3F1ZXJ5LWNsaWVudC50eXBlcyc7XG5pbXBvcnQgeyBidWlsZEdxbENhY2hlS2V5LCBzaG91bGRDYWNoZVF1ZXJ5IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlDbGllbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogUXVlcnlTdG9yZTtcblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnRDb25maWc7XG4gIH1cblxuICBnZXQgYXV0aFByb3ZpZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmdldFZhbHVlKCkgPz8gdGhpcy5fY2xpZW50Q29uZmlnLnBhcmVudD8uX2F1dGhQcm92aWRlciQuZ2V0VmFsdWUoKSA/PyBudWxsO1xuICB9XG4gIGdldCBhdXRoUHJvdmlkZXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IHRoaXMuX2NsaWVudENvbmZpZy5wYXJlbnQ/Ll9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFByb3ZpZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFByb3ZpZGVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZykge1xuICAgIHRoaXMuX3N0b3JlID0gbmV3IFF1ZXJ5U3RvcmUoe1xuICAgICAgZW5hYmxlQ2hhbmdlTG9nZ2luZzogX2NsaWVudENvbmZpZy5sb2dnaW5nPy5xdWVyeVN0YXRlQ2hhbmdlcyxcbiAgICAgIGVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nOiBfY2xpZW50Q29uZmlnLmxvZ2dpbmc/LnF1ZXJ5U3RhdGVHYXJiYWdlQ29sbGVjdG9yLFxuICAgICAgYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1czogX2NsaWVudENvbmZpZy5yZXF1ZXN0Py5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzID8/IHRydWUsXG4gICAgICBlbmFibGVTbWFydFBvbGxpbmc6IF9jbGllbnRDb25maWcucmVxdWVzdD8uZW5hYmxlU21hcnRQb2xsaW5nID8/IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnR0VUJywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgIH0pO1xuXG4gIHBvc3QgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnUE9TVCcsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgfSk7XG5cbiAgcHV0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgJ1BVVCcsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICB9KTtcblxuICBwYXRjaCA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsICdQQVRDSCcsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgIH0pO1xuXG4gIGRlbGV0ZSA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsICdERUxFVEUnLCBSZXNwb25zZVRyYW5zZm9ybWVyPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgfSk7XG5cbiAgZ3FsUXVlcnkgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IEdxbFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCAnR1FMX1FVRVJZJywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHUUxfUVVFUlknLFxuICAgIH0pO1xuXG4gIGdxbE11dGF0ZSA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogR3FsUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsICdHUUxfTVVUQVRFJywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHUUxfTVVUQVRFJyxcbiAgICB9KTtcblxuICBmZXRjaCA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gICAgTWV0aG9kIGV4dGVuZHMgTWV0aG9kVHlwZSxcbiAgICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOlxuICAgICAgfCBSZXN0UXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+XG4gICAgICB8IEdxbFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgKTogUXVlcnlDcmVhdG9yPEFyZ3VtZW50cywgTWV0aG9kLCBSZXNwb25zZSwgUm91dGUsIFJlc3BvbnNlVHJhbnNmb3JtZXI+ID0+IHtcbiAgICBjb25zdCBwcmVwYXJlID0gKGFyZ3M/OiBBcmd1bWVudHMpID0+IHtcbiAgICAgIGNvbnN0IHJvdXRlID0gYnVpbGRSb3V0ZSh7XG4gICAgICAgIGJhc2U6IHRoaXMuX2NsaWVudENvbmZpZy5iYXNlUm91dGUsXG4gICAgICAgIHJvdXRlOiBxdWVyeUNvbmZpZy5yb3V0ZSxcbiAgICAgICAgcGF0aFBhcmFtczogKGFyZ3MgYXMgQmFzZUFyZ3VtZW50cyk/LnBhdGhQYXJhbXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiAoYXJncyBhcyBCYXNlQXJndW1lbnRzKT8ucXVlcnlQYXJhbXMsXG4gICAgICB9KSBhcyBSb3V0ZTtcblxuICAgICAgY29uc3QgY2FjaGVLZXkgPSBpc0dxbFF1ZXJ5Q29uZmlnKHF1ZXJ5Q29uZmlnKSA/IGJ1aWxkR3FsQ2FjaGVLZXkocXVlcnlDb25maWcsIGFyZ3MpIDogcm91dGU7XG5cbiAgICAgIGlmIChzaG91bGRDYWNoZVF1ZXJ5KHF1ZXJ5Q29uZmlnLm1ldGhvZCkpIHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdRdWVyeSA9IHRoaXMuX3N0b3JlLmdldChjYWNoZUtleSk7XG5cbiAgICAgICAgaWYgKGV4aXN0aW5nUXVlcnkpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdRdWVyeS5pc0V4cGlyZWQpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nUXVlcnkuZXhlY3V0ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBleGlzdGluZ1F1ZXJ5IGFzIFF1ZXJ5PFJlc3BvbnNlLCBBcmd1bWVudHMsIFJvdXRlLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFF1ZXJ5PFJlc3BvbnNlLCBBcmd1bWVudHMsIFJvdXRlLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KHRoaXMsIHF1ZXJ5Q29uZmlnLCByb3V0ZSwgYXJncyk7XG5cbiAgICAgIGlmIChzaG91bGRDYWNoZVF1ZXJ5KHF1ZXJ5Q29uZmlnLm1ldGhvZCkpIHtcbiAgICAgICAgdGhpcy5fc3RvcmUuYWRkKGNhY2hlS2V5LCBxdWVyeSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBxdWVyeTtcbiAgICB9O1xuXG4gICAgY29uc3QgYmVoYXZpb3JTdWJqZWN0ID0gPFQgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBwcmVwYXJlPj4oaW5pdGlhbFZhbHVlOiBUIHwgbnVsbCA9IG51bGwpID0+XG4gICAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPihpbml0aWFsVmFsdWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHByZXBhcmUsXG4gICAgICBiZWhhdmlvclN1YmplY3QsXG4gICAgfSBhcyB1bmtub3duIGFzIFF1ZXJ5Q3JlYXRvcjxBcmd1bWVudHMsIE1ldGhvZCwgUmVzcG9uc2UsIFJvdXRlLCBSZXNwb25zZVRyYW5zZm9ybWVyPjtcbiAgfTtcblxuICBzZXRBdXRoUHJvdmlkZXIgPSAoYXV0aFByb3ZpZGVyOiBBdXRoUHJvdmlkZXIpID0+IHtcbiAgICBpZiAodGhpcy5hdXRoUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGF1dGggcHJvdmlkZXIgaXMgYWxyZWFkeSBzZXQuIFBsZWFzZSBjYWxsIGNsZWFyQXV0aFByb3ZpZGVyKCkgZmlyc3QuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fYXV0aFByb3ZpZGVyJC5uZXh0KGF1dGhQcm92aWRlcik7XG4gIH07XG5cbiAgc2V0RGVmYXVsdEhlYWRlcnMgPSAoY29uZmlnOiB7XG4gICAgaGVhZGVyczogUmVxdWVzdEhlYWRlcnMgfCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCB8IG51bGw7XG4gICAgcmVmcmVzaFF1ZXJpZXNJblVzZT86IGJvb2xlYW47XG4gIH0pID0+IHtcbiAgICBpZiAoIXRoaXMuX2NsaWVudENvbmZpZy5yZXF1ZXN0KSB7XG4gICAgICB0aGlzLl9jbGllbnRDb25maWcucmVxdWVzdCA9IHtcbiAgICAgICAgaGVhZGVyczogY29uZmlnLmhlYWRlcnMgPz8gdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xpZW50Q29uZmlnLnJlcXVlc3QuaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnJlZnJlc2hRdWVyaWVzSW5Vc2UpIHtcbiAgICAgIHRoaXMuX3N0b3JlLnJlZnJlc2hRdWVyaWVzSW5Vc2UoeyBwdXJnZVVudXNlZDogdHJ1ZSwgaWdub3JlQ2FjaGVWYWxpZGl0eTogdHJ1ZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgY2xlYXJBdXRoUHJvdmlkZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5hdXRoUHJvdmlkZXI/LmNsZWFuVXAoKTtcbiAgICB0aGlzLl9hdXRoUHJvdmlkZXIkLm5leHQobnVsbCk7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICcuLi9xdWVyeS9xdWVyeSc7XG5pbXBvcnQgeyBCYXNlQXJndW1lbnRzLCBFbXB0eU9iamVjdCwgUm91dGVUeXBlLCBXaXRoSGVhZGVycywgV2l0aFVzZVJlc3VsdEluIH0gZnJvbSAnLi4vcXVlcnkvcXVlcnkudHlwZXMnO1xuaW1wb3J0IHsgQ2FjaGVBZGFwdGVyRm4sIE1ldGhvZCBhcyBNZXRob2RUeXBlLCBSZXF1ZXN0SGVhZGVycywgUmVxdWVzdEhlYWRlcnNNZXRob2RNYXAgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5Q2xpZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBhcGkgYmFzZSByb3V0ZS5cbiAgICogQGV4YW1wbGUgJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tJ1xuICAgKi9cbiAgYmFzZVJvdXRlOiBgaHR0cHM6Ly8ke3N0cmluZ31gIHwgYGh0dHA6Ly9sb2NhbGhvc3Q6JHtzdHJpbmd9YDtcblxuICAvKipcbiAgICogTG9nZ2luZyBjb25maWd1cmF0aW9uIGZvciBkZWJ1Z2dpbmcuXG4gICAqL1xuICBsb2dnaW5nPzoge1xuICAgIC8qKlxuICAgICAqIExvZyBhbGwgcXVlcnkgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBxdWVyeVN0YXRlQ2hhbmdlcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcXVlcnkgc3RhdGUgZ2FyYmFnZSBjb2xsZWN0b3IgcnVucy5cbiAgICAgKi9cbiAgICBxdWVyeVN0YXRlR2FyYmFnZUNvbGxlY3Rvcj86IGJvb2xlYW47XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlcXVlc3Qgb3B0aW9ucy5cbiAgICovXG4gIHJlcXVlc3Q/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICcuLi9xdWVyeS9xdWVyeSc7XG5pbXBvcnQgeyBCYXNlQXJndW1lbnRzLCBFbXB0eU9iamVjdCwgUm91dGVUeXBlLCBXaXRoSGVhZGVycywgV2l0aFVzZVJlc3VsdEluIH0gZnJvbSAnLi4vcXVlcnkvcXVlcnkudHlwZXMnO1xuaW1wb3J0IHsgQ2FjaGVBZGFwdGVyRm4sIE1ldGhvZCBhcyBNZXRob2RUeXBlLCBSZXF1ZXN0SGVhZGVycywgUmVxdWVzdEhlYWRlcnNNZXRob2RNYXAgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5Q2xpZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBhcGkgYmFzZSByb3V0ZS5cbiAgICogQGV4YW1wbGUgJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tJ1xuICAgKi9cbiAgYmFzZVJvdXRlOiBgaHR0cHM6Ly8ke3N0cmluZ31gIHwgYGh0dHA6Ly9sb2NhbGhvc3Q6JHtzdHJpbmd9YDtcblxuICAvKipcbiAgICogTG9nZ2luZyBjb25maWd1cmF0aW9uIGZvciBkZWJ1Z2dpbmcuXG4gICAqL1xuICBsb2dnaW5nPzoge1xuICAgIC8qKlxuICAgICAqIExvZyBhbGwgcXVlcnkgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBxdWVyeVN0YXRlQ2hhbmdlcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcXVlcnkgc3RhdGUgZ2FyYmFnZSBjb2xsZWN0b3IgcnVucy5cbiAgICAgKi9cbiAgICBxdWVyeVN0YXRlR2FyYmFnZUNvbGxlY3Rvcj86IGJvb2xlYW47XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlcXVlc3Qgb3B0aW9ucy5cbiAgICovXG4gIHJlcXVlc3Q/OiB7XG4gICAgLyoqXG4gICAgICogQWRhcHRlciBmdW5jdGlvbiB1c2VkIGZvciBleHRyYWN0aW5nIHRoZSB0aW1lIHVudGlsIHRoZSByZXNwb25zZSBpcyBpbnZhbGlkLlxuICAgICAqIFRoZSBkZWZhdWx0IHVzZXMgdGhlIGBjYWNoZS1jb250cm9sYCAoYG1heC1hZ2VgICYgYHMtbWF4YWdlYCksIGBhZ2VgIGFuZCBgZXhwaXJlc2AgaGVhZGVycy5cbiAgICAgKiBTaG91bGQgcmV0dXJuIGEgbnVtYmVyIGluIHNlY29uZHMuXG4gICAgICovXG4gICAgY2FjaGVBZGFwdGVyPzogQ2FjaGVBZGFwdGVyRm47XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIGV2ZXJ5IHJlcXVlc3QuXG4gICAgICogV2lsbCBiZSBvdmVycmlkZGVuIGJ5IGhlYWRlcnMgcGFzc2VkIHRvIHRoZSBxdWVyeS5cbiAgICAgKiBEbyBub3QgaW5jbHVkZSB0aGUgYEF1dGhvcml6YXRpb25gIGhlYWRlciBoZXJlLiBVc2UgYW4gYEF1dGhQcm92aWRlcmAgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBoZWFkZXJzPzogUmVxdWVzdEhlYWRlcnMgfCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSByZWZyZXNoIGV4cGlyZWQgcXVlcmllcyB3aGVuIHRoZSB3aW5kb3cgcmVnYWlucyBmb2N1cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1cz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgc3RvcCBwb2xsaW5nIHF1ZXJpZXMgd2hlbiB0aGUgd2luZG93IGxvc2VzIGZvY3VzLlxuICAgICAqIFBvbGxpbmcgd2lsbCByZXN1bWUgd2hlbiB0aGUgd2luZG93IHJlZ2FpbnMgZm9jdXMuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGVuYWJsZVNtYXJ0UG9sbGluZz86IGJvb2xlYW47XG4gIH07XG5cbiAgLyoqXG4gICAqIFBhcmVudCBxdWVyeSBjbGllbnQuXG4gICAqIFVzZWQgZm9yIHNoYXJpbmcgdGhlIHNhbWUgYXV0aCBwcm92aWRlci5cbiAgICovXG4gIHBhcmVudD86IFF1ZXJ5Q2xpZW50O1xufVxuXG5leHBvcnQgdHlwZSBRdWVyeUNyZWF0b3I8XG4gIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gIE1ldGhvZCBleHRlbmRzIE1ldGhvZFR5cGUsXG4gIFJlc3BvbnNlLFxuICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+ID0gRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXI8UmVzcG9uc2U+LFxuPiA9IChBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzXG4gID8ge1xuICAgICAgcHJlcGFyZTogKFxuICAgICAgICBhcmdzOiBBcmd1bWVudHMgJiBXaXRoSGVhZGVycyAmIFdpdGhVc2VSZXN1bHRJbjxSZXNwb25zZSwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICAgICApID0+IFF1ZXJ5PFJlc3BvbnNlLCBBcmd1bWVudHMsIFJvdXRlLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+O1xuICAgIH1cbiAgOiB7XG4gICAgICBwcmVwYXJlOiAoXG4gICAgICAgIGFyZ3M/OiAoQXJndW1lbnRzIGV4dGVuZHMgRW1wdHlPYmplY3QgPyBBcmd1bWVudHMgOiBFbXB0eU9iamVjdCkgJlxuICAgICAgICAgIFdpdGhIZWFkZXJzICZcbiAgICAgICAgICBXaXRoVXNlUmVzdWx0SW48UmVzcG9uc2UsIFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICAgICAgKSA9PiBRdWVyeTxSZXNwb25zZSwgQXJndW1lbnRzLCBSb3V0ZSwgTWV0aG9kLCBSZXNwb25zZVRyYW5zZm9ybWVyPjtcbiAgICB9KSAmIHtcbiAgYmVoYXZpb3JTdWJqZWN0OiA8VCBleHRlbmRzIFF1ZXJ5PFJlc3BvbnNlLCBBcmd1bWVudHMsIFJvdXRlLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXI+PihcbiAgICBpbml0aWFsVmFsdWU/OiBUIHwgbnVsbCxcbiAgKSA9PiBCZWhhdmlvclN1YmplY3Q8VCB8IG51bGw+O1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCB0eXBlIEFueVF1ZXJ5Q3JlYXRvciA9IFF1ZXJ5Q3JlYXRvcjxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q3JlYXRvckFyZ3M8VCBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvcj4gPSBQYXJhbWV0ZXJzPFRbJ3ByZXBhcmUnXT5bMF07XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IChyZXNwb25zZTogUmVzcG9uc2UpID0+IHVua25vd247XG5leHBvcnQgdHlwZSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4gPSAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiBSZXNwb25zZTtcblxuZXhwb3J0IHR5cGUgUXVlcnlDcmVhdG9yUmV0dXJuVHlwZTxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yPiA9IFJldHVyblR5cGU8VFsncHJlcGFyZSddPjtcbiJdfQ==
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { fromEvent } from 'rxjs';
|
|
1
2
|
export class QueryStore {
|
|
2
3
|
constructor(_config) {
|
|
3
4
|
this._config = _config;
|
|
4
5
|
this._store = new Map();
|
|
5
6
|
this._garbageCollector = null;
|
|
7
|
+
this._initSmartQueryHandling();
|
|
6
8
|
}
|
|
7
9
|
add(id, query) {
|
|
8
10
|
this._store.set(id, query);
|
|
@@ -16,6 +18,55 @@ export class QueryStore {
|
|
|
16
18
|
this._store.delete(id);
|
|
17
19
|
this._logState(id, null, 'REMOVE');
|
|
18
20
|
}
|
|
21
|
+
forEach(callback) {
|
|
22
|
+
for (const [key, query] of this._store) {
|
|
23
|
+
callback(query, key);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
refreshQueriesInUse(config) {
|
|
27
|
+
const { ignoreCacheValidity, purgeUnused } = config ?? {};
|
|
28
|
+
for (const [key, query] of this._store) {
|
|
29
|
+
if (query.isInUse &&
|
|
30
|
+
(query.isExpired || ignoreCacheValidity) &&
|
|
31
|
+
query.autoRefreshOnConfig.queryClientDefaultHeadersChange) {
|
|
32
|
+
query.execute({ skipCache: true, _triggeredVia: 'auto' });
|
|
33
|
+
}
|
|
34
|
+
else if (purgeUnused && !query.isInUse) {
|
|
35
|
+
this.remove(key);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
_initSmartQueryHandling() {
|
|
40
|
+
const windowBlur$ = fromEvent(window, 'blur');
|
|
41
|
+
const windowFocus$ = fromEvent(window, 'focus');
|
|
42
|
+
windowBlur$.subscribe(() => {
|
|
43
|
+
this._stopGarbageCollector();
|
|
44
|
+
if (this._config?.enableSmartPolling) {
|
|
45
|
+
this.forEach((query) => {
|
|
46
|
+
if (!query.isPolling || !query._enableSmartPolling) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
query.pausePolling();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
windowFocus$.subscribe(() => {
|
|
54
|
+
if (this._config?.enableSmartPolling || this._config?.autoRefreshQueriesOnWindowFocus) {
|
|
55
|
+
this.forEach((query) => {
|
|
56
|
+
if (this._config?.enableSmartPolling && query._isPollingPaused) {
|
|
57
|
+
query.resumePolling();
|
|
58
|
+
}
|
|
59
|
+
if (this._config?.autoRefreshQueriesOnWindowFocus &&
|
|
60
|
+
query.isExpired &&
|
|
61
|
+
query.isInUse &&
|
|
62
|
+
query.autoRefreshOnConfig.windowFocus) {
|
|
63
|
+
query.execute({ skipCache: true, _triggeredVia: 'auto' });
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
this._initGarbageCollector();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
19
70
|
_logState(key, item, operation) {
|
|
20
71
|
if (!this._config?.enableChangeLogging)
|
|
21
72
|
return;
|
|
@@ -45,7 +96,7 @@ export class QueryStore {
|
|
|
45
96
|
_runGarbageCollector() {
|
|
46
97
|
this._logGarbageCollector('Collecting...');
|
|
47
98
|
this._store.forEach((item, key) => {
|
|
48
|
-
if (item.isExpired) {
|
|
99
|
+
if (item.isExpired && !item.isInUse) {
|
|
49
100
|
this.remove(key);
|
|
50
101
|
}
|
|
51
102
|
});
|
|
@@ -61,4 +112,4 @@ export class QueryStore {
|
|
|
61
112
|
console.log(`%cGC: ${action}`, 'color: yellow; font-weight: bold');
|
|
62
113
|
}
|
|
63
114
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnktc3RvcmUvcXVlcnktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDVSxPQUdQO1FBSE8sWUFBTyxHQUFQLE9BQU8sQ0FHZDtRQVBjLFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUM5QyxzQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBTzdDLENBQUM7SUFFSixHQUFHLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFrQixFQUFFLElBQXFCLEVBQUUsU0FBaUI7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CO1lBQUUsT0FBTztRQUUvQyxNQUFNLFdBQVcsR0FBNkIsRUFBRSxDQUFDO1FBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2pDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sU0FBUyxLQUFLLEdBQUcsRUFBRSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7WUFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQWM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsNkJBQTZCO1lBQUUsT0FBTztRQUV6RCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsTUFBTSxFQUFFLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlRdWVyeSB9IGZyb20gJy4uL3F1ZXJ5JztcblxuZXhwb3J0IGNsYXNzIFF1ZXJ5U3RvcmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IG5ldyBNYXA8c3RyaW5nLCBBbnlRdWVyeT4oKTtcbiAgcHJpdmF0ZSBfZ2FyYmFnZUNvbGxlY3RvcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY29uZmlnPzoge1xuICAgICAgZW5hYmxlQ2hhbmdlTG9nZ2luZz86IGJvb2xlYW47XG4gICAgICBlbmFibGVHYXJiYWdlQ29sbGVjdG9yTG9nZ2luZz86IGJvb2xlYW47XG4gICAgfSxcbiAgKSB7fVxuXG4gIGFkZChpZDogc3RyaW5nLCBxdWVyeTogQW55UXVlcnkpIHtcbiAgICB0aGlzLl9zdG9yZS5zZXQoaWQsIHF1ZXJ5KTtcblxuICAgIHRoaXMuX2luaXRHYXJiYWdlQ29sbGVjdG9yKCk7XG5cbiAgICB0aGlzLl9sb2dTdGF0ZShpZCwgcXVlcnksICdTRVQnKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmdldChpZCkgPz8gbnVsbDtcbiAgfVxuXG4gIHJlbW92ZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3RvcmUuZGVsZXRlKGlkKTtcblxuICAgIHRoaXMuX2xvZ1N0YXRlKGlkLCBudWxsLCAnUkVNT1ZFJyk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dTdGF0ZShrZXk6IHN0cmluZyB8IG51bGwsIGl0ZW06IEFueVF1ZXJ5IHwgbnVsbCwgb3BlcmF0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uZW5hYmxlQ2hhbmdlTG9nZ2luZykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3RhdGVBc0pzb246IFJlY29yZDxzdHJpbmcsIEFueVF1ZXJ5PiA9IHt9O1xuXG4gICAgdGhpcy5fc3RvcmUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgc3RhdGVBc0pzb25ba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgY29uc29sZS5sb2coYCVjWyR7b3BlcmF0aW9ufV0gJHtrZXl9YCwgJ2ZvbnQtd2VpZ2h0OiBib2xkJyk7XG5cbiAgICBjb25zb2xlLmxvZyh7IG9wZXJhdGlvbiwga2V5LCBpdGVtIH0pO1xuICAgIGNvbnNvbGUubG9nKHN0YXRlQXNKc29uKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRHYXJiYWdlQ29sbGVjdG9yKCkge1xuICAgIGlmICh0aGlzLl9nYXJiYWdlQ29sbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9nR2FyYmFnZUNvbGxlY3RvcignU3RhcnQnKTtcblxuICAgIHRoaXMuX2dhcmJhZ2VDb2xsZWN0b3IgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5fcnVuR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH0sIDE1MDAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N0b3BHYXJiYWdlQ29sbGVjdG9yKCkge1xuICAgIGlmICh0aGlzLl9nYXJiYWdlQ29sbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9nYXJiYWdlQ29sbGVjdG9yKTtcbiAgICAgIHRoaXMuX2dhcmJhZ2VDb2xsZWN0b3IgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3J1bkdhcmJhZ2VDb2xsZWN0b3IoKSB7XG4gICAgdGhpcy5fbG9nR2FyYmFnZUNvbGxlY3RvcignQ29sbGVjdGluZy4uLicpO1xuXG4gICAgdGhpcy5fc3RvcmUuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XG4gICAgICBpZiAoaXRlbS5pc0V4cGlyZWQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3Rpb24gZG9uZScpO1xuXG4gICAgaWYgKCF0aGlzLl9zdG9yZS5zaXplKSB7XG4gICAgICB0aGlzLl9zdG9wR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgICAgdGhpcy5fbG9nR2FyYmFnZUNvbGxlY3RvcignU3RvcCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uZW5hYmxlR2FyYmFnZUNvbGxlY3RvckxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGAlY0dDOiAke2FjdGlvbn1gLCAnY29sb3I6IHllbGxvdzsgZm9udC13ZWlnaHQ6IGJvbGQnKTtcbiAgfVxufVxuIl19
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnktc3RvcmUvcXVlcnktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdqQyxNQUFNLE9BQU8sVUFBVTtJQUlyQixZQUNVLE9BS1A7UUFMTyxZQUFPLEdBQVAsT0FBTyxDQUtkO1FBVGMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQzlDLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFVOUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVLEVBQUUsS0FBZTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWdEO1FBQ3RELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RDLFFBQVEsQ0FB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ckIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQWM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsNkJBQTZCO1lBQUUsT0FBTztRQUV6RCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsTUFBTSxFQUFFLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFueVF1ZXJ5IH0gZnJvbSAnLi4vcXVlcnknO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlTdG9yZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gbmV3IE1hcDxzdHJpbmcsIEFueVF1ZXJ5PigpO1xuICBwcml2YXRlIF9nYXJiYWdlQ29sbGVjdG9yOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jb25maWc/OiB7XG4gICAgICBlbmFibGVDaGFuZ2VMb2dnaW5nPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nPzogYm9vbGVhbjtcbiAgICAgIGF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXM/OiBib29sZWFuO1xuICAgICAgZW5hYmxlU21hcnRQb2xsaW5nPzogYm9vbGVhbjtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLl9pbml0U21hcnRRdWVyeUhhbmRsaW5nKCk7XG4gIH1cblxuICBhZGQoaWQ6IHN0cmluZywgcXVlcnk6IEFueVF1ZXJ5KSB7XG4gICAgdGhpcy5fc3RvcmUuc2V0KGlkLCBxdWVyeSk7XG5cbiAgICB0aGlzLl9pbml0R2FyYmFnZUNvbGxlY3RvcigpO1xuXG4gICAgdGhpcy5fbG9nU3RhdGUoaWQsIHF1ZXJ5LCAnU0VUJyk7XG4gIH1cblxuICBnZXQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5nZXQoaWQpID8/IG51bGw7XG4gIH1cblxuICByZW1vdmUoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3N0b3JlLmRlbGV0ZShpZCk7XG5cbiAgICB0aGlzLl9sb2dTdGF0ZShpZCwgbnVsbCwgJ1JFTU9WRScpO1xuICB9XG5cbiAgZm9yRWFjaChjYWxsYmFjazogKHZhbHVlOiBBbnlRdWVyeSwga2V5OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHF1ZXJ5XSBvZiB0aGlzLl9zdG9yZSkge1xuICAgICAgY2FsbGJhY2socXVlcnksIGtleSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaFF1ZXJpZXNJblVzZShjb25maWc/OiB7IGlnbm9yZUNhY2hlVmFsaWRpdHk/OiBib29sZWFuOyBwdXJnZVVudXNlZD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IHsgaWdub3JlQ2FjaGVWYWxpZGl0eSwgcHVyZ2VVbnVzZWQgfSA9IGNvbmZpZyA/PyB7fTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcXVlcnldIG9mIHRoaXMuX3N0b3JlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHF1ZXJ5LmlzSW5Vc2UgJiZcbiAgICAgICAgKHF1ZXJ5LmlzRXhwaXJlZCB8fCBpZ25vcmVDYWNoZVZhbGlkaXR5KSAmJlxuICAgICAgICBxdWVyeS5hdXRvUmVmcmVzaE9uQ29uZmlnLnF1ZXJ5Q2xpZW50RGVmYXVsdEhlYWRlcnNDaGFuZ2VcbiAgICAgICkge1xuICAgICAgICBxdWVyeS5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlLCBfdHJpZ2dlcmVkVmlhOiAnYXV0bycgfSk7XG4gICAgICB9IGVsc2UgaWYgKHB1cmdlVW51c2VkICYmICFxdWVyeS5pc0luVXNlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNtYXJ0UXVlcnlIYW5kbGluZygpIHtcbiAgICBjb25zdCB3aW5kb3dCbHVyJCA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCAnYmx1cicpO1xuICAgIGNvbnN0IHdpbmRvd0ZvY3VzJCA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCAnZm9jdXMnKTtcblxuICAgIHdpbmRvd0JsdXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9zdG9wR2FyYmFnZUNvbGxlY3RvcigpO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcpIHtcbiAgICAgICAgdGhpcy5mb3JFYWNoKChxdWVyeSkgPT4ge1xuICAgICAgICAgIGlmICghcXVlcnkuaXNQb2xsaW5nIHx8ICFxdWVyeS5fZW5hYmxlU21hcnRQb2xsaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcXVlcnkucGF1c2VQb2xsaW5nKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgd2luZG93Rm9jdXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgfHwgdGhpcy5fY29uZmlnPy5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgJiYgcXVlcnkuX2lzUG9sbGluZ1BhdXNlZCkge1xuICAgICAgICAgICAgcXVlcnkucmVzdW1lUG9sbGluZygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZz8uYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1cyAmJlxuICAgICAgICAgICAgcXVlcnkuaXNFeHBpcmVkICYmXG4gICAgICAgICAgICBxdWVyeS5pc0luVXNlICYmXG4gICAgICAgICAgICBxdWVyeS5hdXRvUmVmcmVzaE9uQ29uZmlnLndpbmRvd0ZvY3VzXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBxdWVyeS5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlLCBfdHJpZ2dlcmVkVmlhOiAnYXV0bycgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faW5pdEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ1N0YXRlKGtleTogc3RyaW5nIHwgbnVsbCwgaXRlbTogQW55UXVlcnkgfCBudWxsLCBvcGVyYXRpb246IHN0cmluZykge1xuICAgIGlmICghdGhpcy5fY29uZmlnPy5lbmFibGVDaGFuZ2VMb2dnaW5nKSByZXR1cm47XG5cbiAgICBjb25zdCBzdGF0ZUFzSnNvbjogUmVjb3JkPHN0cmluZywgQW55UXVlcnk+ID0ge307XG5cbiAgICB0aGlzLl9zdG9yZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBzdGF0ZUFzSnNvbltrZXldID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhgJWNbJHtvcGVyYXRpb259XSAke2tleX1gLCAnZm9udC13ZWlnaHQ6IGJvbGQnKTtcblxuICAgIGNvbnNvbGUubG9nKHsgb3BlcmF0aW9uLCBrZXksIGl0ZW0gfSk7XG4gICAgY29uc29sZS5sb2coc3RhdGVBc0pzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEdhcmJhZ2VDb2xsZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuX2dhcmJhZ2VDb2xsZWN0b3IgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2dHYXJiYWdlQ29sbGVjdG9yKCdTdGFydCcpO1xuXG4gICAgdGhpcy5fZ2FyYmFnZUNvbGxlY3RvciA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLl9ydW5HYXJiYWdlQ29sbGVjdG9yKCk7XG4gICAgfSwgMTUwMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RvcEdhcmJhZ2VDb2xsZWN0b3IoKSB7XG4gICAgaWYgKHRoaXMuX2dhcmJhZ2VDb2xsZWN0b3IgIT09IG51bGwpIHtcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMuX2dhcmJhZ2VDb2xsZWN0b3IpO1xuICAgICAgdGhpcy5fZ2FyYmFnZUNvbGxlY3RvciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcnVuR2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICB0aGlzLl9sb2dHYXJiYWdlQ29sbGVjdG9yKCdDb2xsZWN0aW5nLi4uJyk7XG5cbiAgICB0aGlzLl9zdG9yZS5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcbiAgICAgIGlmIChpdGVtLmlzRXhwaXJlZCAmJiAhaXRlbS5pc0luVXNlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9sb2dHYXJiYWdlQ29sbGVjdG9yKCdDb2xsZWN0aW9uIGRvbmUnKTtcblxuICAgIGlmICghdGhpcy5fc3RvcmUuc2l6ZSkge1xuICAgICAgdGhpcy5fc3RvcEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0b3AnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9sb2dHYXJiYWdlQ29sbGVjdG9yKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nKSByZXR1cm47XG5cbiAgICBjb25zb2xlLmxvZyhgJWNHQzogJHthY3Rpb259YCwgJ2NvbG9yOiB5ZWxsb3c7IGZvbnQtd2VpZ2h0OiBib2xkJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getCookie, setCookie, deleteCookie, DestroyService, equal, clone } from '@ethlete/core';
|
|
2
|
-
import { Observable, filter, takeWhile, switchMap, of, BehaviorSubject, Subject, takeUntil, interval, tap, timer, fromEvent,
|
|
1
|
+
import { BehaviorSubjectWithSubscriberCount, getCookie, setCookie, deleteCookie, DestroyService, equal, clone } from '@ethlete/core';
|
|
2
|
+
import { Observable, filter, takeWhile, switchMap, of, BehaviorSubject, Subject, takeUntil, interval, startWith, tap, timer, fromEvent, concat, take, debounceTime, combineLatest, map, distinctUntilChanged } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Directive, Input, InjectionToken, inject, ChangeDetectorRef, ViewContainerRef, TemplateRef, ErrorHandler, ElementRef } from '@angular/core';
|
|
5
5
|
import { FormGroup } from '@angular/forms';
|
|
@@ -545,6 +545,28 @@ class Query {
|
|
|
545
545
|
}
|
|
546
546
|
return ts < Date.now();
|
|
547
547
|
}
|
|
548
|
+
get isInUse() {
|
|
549
|
+
return this._state$.subscriberCount > 0;
|
|
550
|
+
}
|
|
551
|
+
get isPolling() {
|
|
552
|
+
return !!this._pollingSubscription;
|
|
553
|
+
}
|
|
554
|
+
get autoRefreshOnConfig() {
|
|
555
|
+
var _a, _b, _c;
|
|
556
|
+
const base = (_a = this._queryConfig.autoRefreshOn) !== null && _a !== void 0 ? _a : {};
|
|
557
|
+
const transformed = {
|
|
558
|
+
queryClientDefaultHeadersChange: (_b = base.queryClientDefaultHeadersChange) !== null && _b !== void 0 ? _b : true,
|
|
559
|
+
windowFocus: (_c = base.windowFocus) !== null && _c !== void 0 ? _c : true,
|
|
560
|
+
};
|
|
561
|
+
return transformed;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* @internal
|
|
565
|
+
*/
|
|
566
|
+
get _enableSmartPolling() {
|
|
567
|
+
var _a;
|
|
568
|
+
return (_a = this._queryConfig.enableSmartPolling) !== null && _a !== void 0 ? _a : true;
|
|
569
|
+
}
|
|
548
570
|
constructor(_client, _queryConfig, _routeWithParams, _args) {
|
|
549
571
|
this._client = _client;
|
|
550
572
|
this._queryConfig = _queryConfig;
|
|
@@ -553,16 +575,22 @@ class Query {
|
|
|
553
575
|
this._currentId = 0;
|
|
554
576
|
this._pollingSubscription = null;
|
|
555
577
|
this._onAbort$ = new Subject();
|
|
556
|
-
this.
|
|
578
|
+
this._currentPollConfig = null;
|
|
579
|
+
/**
|
|
580
|
+
* @internal
|
|
581
|
+
*/
|
|
582
|
+
this._isPollingPaused = false;
|
|
583
|
+
this._state$ = new BehaviorSubjectWithSubscriberCount({
|
|
557
584
|
type: "PREPARED" /* QueryStateType.Prepared */,
|
|
558
|
-
meta: { id: this._currentId },
|
|
585
|
+
meta: { id: this._currentId, triggeredVia: 'program' },
|
|
559
586
|
});
|
|
560
587
|
}
|
|
561
588
|
clone() {
|
|
562
589
|
return this._client.fetch(this._queryConfig);
|
|
563
590
|
}
|
|
564
591
|
execute(options) {
|
|
565
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
592
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
593
|
+
const triggeredVia = (_a = options === null || options === void 0 ? void 0 : options._triggeredVia) !== null && _a !== void 0 ? _a : 'program';
|
|
566
594
|
if (!this.isExpired && !(options === null || options === void 0 ? void 0 : options.skipCache) && isQueryStateSuccess(this.state)) {
|
|
567
595
|
return this;
|
|
568
596
|
}
|
|
@@ -573,7 +601,7 @@ class Query {
|
|
|
573
601
|
if (isQueryStateLoading(this._state$.value)) {
|
|
574
602
|
this.abort();
|
|
575
603
|
}
|
|
576
|
-
const meta = { id };
|
|
604
|
+
const meta = { id, triggeredVia };
|
|
577
605
|
this._state$.next({
|
|
578
606
|
type: "LOADING" /* QueryStateType.Loading */,
|
|
579
607
|
meta,
|
|
@@ -583,19 +611,19 @@ class Query {
|
|
|
583
611
|
if (isGqlQueryConfig(this._queryConfig)) {
|
|
584
612
|
const queryTemplate = this._queryConfig.query;
|
|
585
613
|
const query = transformGql(queryTemplate);
|
|
586
|
-
body = query((
|
|
614
|
+
body = query((_b = this._args) === null || _b === void 0 ? void 0 : _b.variables);
|
|
587
615
|
}
|
|
588
616
|
else {
|
|
589
|
-
body = (
|
|
617
|
+
body = (_c = this._args) === null || _c === void 0 ? void 0 : _c.body;
|
|
590
618
|
}
|
|
591
619
|
let authHeader = null;
|
|
592
620
|
if (this._queryConfig.secure) {
|
|
593
|
-
const header = (
|
|
621
|
+
const header = (_d = this._client.authProvider) === null || _d === void 0 ? void 0 : _d.header;
|
|
594
622
|
if (header) {
|
|
595
623
|
authHeader = header;
|
|
596
624
|
}
|
|
597
625
|
}
|
|
598
|
-
else if ((
|
|
626
|
+
else if ((_e = this._client.authProvider) === null || _e === void 0 ? void 0 : _e.header) {
|
|
599
627
|
if (this._queryConfig.secure === undefined || this._queryConfig.secure) {
|
|
600
628
|
authHeader = this._client.authProvider.header;
|
|
601
629
|
}
|
|
@@ -604,8 +632,8 @@ class Query {
|
|
|
604
632
|
urlWithParams: this._routeWithParams,
|
|
605
633
|
method: transformMethod(this._queryConfig.method),
|
|
606
634
|
body,
|
|
607
|
-
headers: mergeHeaders(getDefaultHeaders((
|
|
608
|
-
cacheAdapter: (
|
|
635
|
+
headers: mergeHeaders(getDefaultHeaders((_f = this._client.config.request) === null || _f === void 0 ? void 0 : _f.headers, this._queryConfig.method), authHeader, (_g = this._args) === null || _g === void 0 ? void 0 : _g.headers) || undefined,
|
|
636
|
+
cacheAdapter: (_h = this._client.config.request) === null || _h === void 0 ? void 0 : _h.cacheAdapter,
|
|
609
637
|
reportProgress: this._queryConfig.reportProgress,
|
|
610
638
|
responseType: this._queryConfig.responseType,
|
|
611
639
|
withCredentials: this._queryConfig.withCredentials,
|
|
@@ -683,17 +711,36 @@ class Query {
|
|
|
683
711
|
if (this._pollingSubscription) {
|
|
684
712
|
return this;
|
|
685
713
|
}
|
|
686
|
-
this.
|
|
714
|
+
this._currentPollConfig = config;
|
|
715
|
+
const _interval = config.triggerImmediately
|
|
716
|
+
? interval(config.interval).pipe(startWith(-1))
|
|
717
|
+
: interval(config.interval);
|
|
718
|
+
this._pollingSubscription = _interval
|
|
687
719
|
.pipe(takeUntil(config.takeUntil))
|
|
688
|
-
.subscribe(() => this.execute({ skipCache: true }));
|
|
720
|
+
.subscribe(() => this.execute({ skipCache: true, _triggeredVia: 'poll' }));
|
|
689
721
|
return this;
|
|
690
722
|
}
|
|
691
723
|
stopPolling() {
|
|
692
724
|
var _a;
|
|
693
725
|
(_a = this._pollingSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
694
726
|
this._pollingSubscription = null;
|
|
727
|
+
this._currentPollConfig = null;
|
|
728
|
+
return this;
|
|
729
|
+
}
|
|
730
|
+
pausePolling() {
|
|
731
|
+
var _a;
|
|
732
|
+
(_a = this._pollingSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
733
|
+
this._pollingSubscription = null;
|
|
734
|
+
this._isPollingPaused = true;
|
|
695
735
|
return this;
|
|
696
736
|
}
|
|
737
|
+
resumePolling() {
|
|
738
|
+
if (!this._isPollingPaused || !this._currentPollConfig) {
|
|
739
|
+
return this;
|
|
740
|
+
}
|
|
741
|
+
this._isPollingPaused = false;
|
|
742
|
+
return this.poll(Object.assign(Object.assign({}, this._currentPollConfig), { triggerImmediately: true }));
|
|
743
|
+
}
|
|
697
744
|
_updateUseResultInDependencies() {
|
|
698
745
|
var _a, _b;
|
|
699
746
|
if (!((_b = (_a = this._args) === null || _a === void 0 ? void 0 : _a.useResultIn) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
@@ -971,9 +1018,9 @@ class QueryDirective {
|
|
|
971
1018
|
}
|
|
972
1019
|
}
|
|
973
1020
|
}
|
|
974
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
975
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1
|
|
976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
1021
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1022
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
1023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: QueryDirective, decorators: [{
|
|
977
1024
|
type: Directive,
|
|
978
1025
|
args: [{
|
|
979
1026
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1048,6 +1095,7 @@ class InfinityQuery {
|
|
|
1048
1095
|
console.error('Cannot load more pages, already at the end. Make sure to not render the infinity query trigger using *ngIf canLoadMore');
|
|
1049
1096
|
return;
|
|
1050
1097
|
}
|
|
1098
|
+
this._clearSubscriptions();
|
|
1051
1099
|
const args = this._prepareArgs(this._config, calculatedPage);
|
|
1052
1100
|
const query = this._config.queryCreator.prepare(args).execute();
|
|
1053
1101
|
this._handleNewQuery(query);
|
|
@@ -1057,7 +1105,7 @@ class InfinityQuery {
|
|
|
1057
1105
|
}
|
|
1058
1106
|
reset(newConfig) {
|
|
1059
1107
|
var _a, _b;
|
|
1060
|
-
this.
|
|
1108
|
+
this._clearSubscriptions();
|
|
1061
1109
|
this._config = Object.assign(Object.assign({}, this._config), (newConfig !== null && newConfig !== void 0 ? newConfig : {}));
|
|
1062
1110
|
this._currentPage$.next(null);
|
|
1063
1111
|
this._currentCalculatedPage$.next(null);
|
|
@@ -1065,8 +1113,9 @@ class InfinityQuery {
|
|
|
1065
1113
|
this._itemsPerPage$.next((_b = (_a = this._config.limitParam) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 10);
|
|
1066
1114
|
this._currentQuery$.next(null);
|
|
1067
1115
|
this._data$.next([]);
|
|
1116
|
+
this.nextPage();
|
|
1068
1117
|
}
|
|
1069
|
-
|
|
1118
|
+
_clearSubscriptions() {
|
|
1070
1119
|
this._subscriptions.forEach((sub) => sub.unsubscribe());
|
|
1071
1120
|
this._subscriptions = [];
|
|
1072
1121
|
}
|
|
@@ -1095,7 +1144,14 @@ class InfinityQuery {
|
|
|
1095
1144
|
this._subscriptions = this._subscriptions.filter((sub) => sub !== stateChangesSub);
|
|
1096
1145
|
},
|
|
1097
1146
|
});
|
|
1098
|
-
|
|
1147
|
+
const queryAutoRefreshSub = query.state$.subscribe({
|
|
1148
|
+
next: (state) => {
|
|
1149
|
+
if (state.meta.triggeredVia === 'auto') {
|
|
1150
|
+
this.reset();
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
});
|
|
1154
|
+
this._subscriptions.push(stateChangesSub, queryAutoRefreshSub);
|
|
1099
1155
|
}
|
|
1100
1156
|
_prepareArgs(config, page) {
|
|
1101
1157
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
@@ -1193,7 +1249,7 @@ class InfinityQueryDirective {
|
|
|
1193
1249
|
}
|
|
1194
1250
|
ngOnDestroy() {
|
|
1195
1251
|
var _a;
|
|
1196
|
-
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.
|
|
1252
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a._clearSubscriptions();
|
|
1197
1253
|
}
|
|
1198
1254
|
_setupInfinityQuery(config) {
|
|
1199
1255
|
const instance = new InfinityQuery(config);
|
|
@@ -1260,7 +1316,7 @@ class InfinityQueryDirective {
|
|
|
1260
1316
|
_cleanup() {
|
|
1261
1317
|
var _a;
|
|
1262
1318
|
this._queryConfigChanged$.next(true);
|
|
1263
|
-
(_a = this.instance) === null || _a === void 0 ? void 0 : _a.
|
|
1319
|
+
(_a = this.instance) === null || _a === void 0 ? void 0 : _a._clearSubscriptions();
|
|
1264
1320
|
this._viewContext.loading = false;
|
|
1265
1321
|
this._viewContext.error = null;
|
|
1266
1322
|
this._viewContext.infinityQuery = null;
|
|
@@ -1273,9 +1329,9 @@ class InfinityQueryDirective {
|
|
|
1273
1329
|
this._data$.next([]);
|
|
1274
1330
|
}
|
|
1275
1331
|
}
|
|
1276
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
1277
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1
|
|
1278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
1332
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1333
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
1334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
1279
1335
|
type: Directive,
|
|
1280
1336
|
args: [{
|
|
1281
1337
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1326,9 +1382,9 @@ class InfinityQueryTriggerDirective {
|
|
|
1326
1382
|
this._observer.observe(this._elementRef.nativeElement);
|
|
1327
1383
|
}
|
|
1328
1384
|
}
|
|
1329
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
1330
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1
|
|
1331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
1385
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1386
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
1387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
1332
1388
|
type: Directive,
|
|
1333
1389
|
args: [{
|
|
1334
1390
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1344,6 +1400,7 @@ class QueryStore {
|
|
|
1344
1400
|
this._config = _config;
|
|
1345
1401
|
this._store = new Map();
|
|
1346
1402
|
this._garbageCollector = null;
|
|
1403
|
+
this._initSmartQueryHandling();
|
|
1347
1404
|
}
|
|
1348
1405
|
add(id, query) {
|
|
1349
1406
|
this._store.set(id, query);
|
|
@@ -1358,6 +1415,58 @@ class QueryStore {
|
|
|
1358
1415
|
this._store.delete(id);
|
|
1359
1416
|
this._logState(id, null, 'REMOVE');
|
|
1360
1417
|
}
|
|
1418
|
+
forEach(callback) {
|
|
1419
|
+
for (const [key, query] of this._store) {
|
|
1420
|
+
callback(query, key);
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
refreshQueriesInUse(config) {
|
|
1424
|
+
const { ignoreCacheValidity, purgeUnused } = config !== null && config !== void 0 ? config : {};
|
|
1425
|
+
for (const [key, query] of this._store) {
|
|
1426
|
+
if (query.isInUse &&
|
|
1427
|
+
(query.isExpired || ignoreCacheValidity) &&
|
|
1428
|
+
query.autoRefreshOnConfig.queryClientDefaultHeadersChange) {
|
|
1429
|
+
query.execute({ skipCache: true, _triggeredVia: 'auto' });
|
|
1430
|
+
}
|
|
1431
|
+
else if (purgeUnused && !query.isInUse) {
|
|
1432
|
+
this.remove(key);
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
_initSmartQueryHandling() {
|
|
1437
|
+
const windowBlur$ = fromEvent(window, 'blur');
|
|
1438
|
+
const windowFocus$ = fromEvent(window, 'focus');
|
|
1439
|
+
windowBlur$.subscribe(() => {
|
|
1440
|
+
var _a;
|
|
1441
|
+
this._stopGarbageCollector();
|
|
1442
|
+
if ((_a = this._config) === null || _a === void 0 ? void 0 : _a.enableSmartPolling) {
|
|
1443
|
+
this.forEach((query) => {
|
|
1444
|
+
if (!query.isPolling || !query._enableSmartPolling) {
|
|
1445
|
+
return;
|
|
1446
|
+
}
|
|
1447
|
+
query.pausePolling();
|
|
1448
|
+
});
|
|
1449
|
+
}
|
|
1450
|
+
});
|
|
1451
|
+
windowFocus$.subscribe(() => {
|
|
1452
|
+
var _a, _b;
|
|
1453
|
+
if (((_a = this._config) === null || _a === void 0 ? void 0 : _a.enableSmartPolling) || ((_b = this._config) === null || _b === void 0 ? void 0 : _b.autoRefreshQueriesOnWindowFocus)) {
|
|
1454
|
+
this.forEach((query) => {
|
|
1455
|
+
var _a, _b;
|
|
1456
|
+
if (((_a = this._config) === null || _a === void 0 ? void 0 : _a.enableSmartPolling) && query._isPollingPaused) {
|
|
1457
|
+
query.resumePolling();
|
|
1458
|
+
}
|
|
1459
|
+
if (((_b = this._config) === null || _b === void 0 ? void 0 : _b.autoRefreshQueriesOnWindowFocus) &&
|
|
1460
|
+
query.isExpired &&
|
|
1461
|
+
query.isInUse &&
|
|
1462
|
+
query.autoRefreshOnConfig.windowFocus) {
|
|
1463
|
+
query.execute({ skipCache: true, _triggeredVia: 'auto' });
|
|
1464
|
+
}
|
|
1465
|
+
});
|
|
1466
|
+
}
|
|
1467
|
+
this._initGarbageCollector();
|
|
1468
|
+
});
|
|
1469
|
+
}
|
|
1361
1470
|
_logState(key, item, operation) {
|
|
1362
1471
|
var _a;
|
|
1363
1472
|
if (!((_a = this._config) === null || _a === void 0 ? void 0 : _a.enableChangeLogging))
|
|
@@ -1388,7 +1497,7 @@ class QueryStore {
|
|
|
1388
1497
|
_runGarbageCollector() {
|
|
1389
1498
|
this._logGarbageCollector('Collecting...');
|
|
1390
1499
|
this._store.forEach((item, key) => {
|
|
1391
|
-
if (item.isExpired) {
|
|
1500
|
+
if (item.isExpired && !item.isInUse) {
|
|
1392
1501
|
this.remove(key);
|
|
1393
1502
|
}
|
|
1394
1503
|
});
|
|
@@ -1435,7 +1544,7 @@ class QueryClient {
|
|
|
1435
1544
|
return (_c = (_a = this._authProvider$.asObservable()) !== null && _a !== void 0 ? _a : (_b = this._clientConfig.parent) === null || _b === void 0 ? void 0 : _b._authProvider$.asObservable()) !== null && _c !== void 0 ? _c : null;
|
|
1436
1545
|
}
|
|
1437
1546
|
constructor(_clientConfig) {
|
|
1438
|
-
var _a, _b;
|
|
1547
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1439
1548
|
this._clientConfig = _clientConfig;
|
|
1440
1549
|
this._authProvider$ = new BehaviorSubject(null);
|
|
1441
1550
|
this.get = (queryConfig) => this.fetch(Object.assign(Object.assign({}, queryConfig), { method: 'GET' }));
|
|
@@ -1457,6 +1566,9 @@ class QueryClient {
|
|
|
1457
1566
|
if (shouldCacheQuery(queryConfig.method)) {
|
|
1458
1567
|
const existingQuery = this._store.get(cacheKey);
|
|
1459
1568
|
if (existingQuery) {
|
|
1569
|
+
if (existingQuery.isExpired) {
|
|
1570
|
+
existingQuery.execute();
|
|
1571
|
+
}
|
|
1460
1572
|
return existingQuery;
|
|
1461
1573
|
}
|
|
1462
1574
|
}
|
|
@@ -1478,14 +1590,18 @@ class QueryClient {
|
|
|
1478
1590
|
}
|
|
1479
1591
|
this._authProvider$.next(authProvider);
|
|
1480
1592
|
};
|
|
1481
|
-
this.setDefaultHeaders = (
|
|
1593
|
+
this.setDefaultHeaders = (config) => {
|
|
1594
|
+
var _a, _b;
|
|
1482
1595
|
if (!this._clientConfig.request) {
|
|
1483
1596
|
this._clientConfig.request = {
|
|
1484
|
-
headers: headers !== null &&
|
|
1597
|
+
headers: (_a = config.headers) !== null && _a !== void 0 ? _a : undefined,
|
|
1485
1598
|
};
|
|
1486
1599
|
}
|
|
1487
1600
|
else {
|
|
1488
|
-
this._clientConfig.request.headers = headers !== null &&
|
|
1601
|
+
this._clientConfig.request.headers = (_b = config.headers) !== null && _b !== void 0 ? _b : undefined;
|
|
1602
|
+
}
|
|
1603
|
+
if (config.refreshQueriesInUse) {
|
|
1604
|
+
this._store.refreshQueriesInUse({ purgeUnused: true, ignoreCacheValidity: true });
|
|
1489
1605
|
}
|
|
1490
1606
|
};
|
|
1491
1607
|
this.clearAuthProvider = () => {
|
|
@@ -1496,6 +1612,8 @@ class QueryClient {
|
|
|
1496
1612
|
this._store = new QueryStore({
|
|
1497
1613
|
enableChangeLogging: (_a = _clientConfig.logging) === null || _a === void 0 ? void 0 : _a.queryStateChanges,
|
|
1498
1614
|
enableGarbageCollectorLogging: (_b = _clientConfig.logging) === null || _b === void 0 ? void 0 : _b.queryStateGarbageCollector,
|
|
1615
|
+
autoRefreshQueriesOnWindowFocus: (_d = (_c = _clientConfig.request) === null || _c === void 0 ? void 0 : _c.autoRefreshQueriesOnWindowFocus) !== null && _d !== void 0 ? _d : true,
|
|
1616
|
+
enableSmartPolling: (_f = (_e = _clientConfig.request) === null || _e === void 0 ? void 0 : _e.enableSmartPolling) !== null && _f !== void 0 ? _f : true,
|
|
1499
1617
|
});
|
|
1500
1618
|
}
|
|
1501
1619
|
}
|