http-request-manager 18.13.1 → 18.13.2
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.
|
@@ -876,13 +876,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
876
876
|
}], ctorParameters: () => [] });
|
|
877
877
|
|
|
878
878
|
class PathTrackerStateModel {
|
|
879
|
-
constructor(baselineQuery, consumedValuesByKey = {}, watchExpiresAt) {
|
|
879
|
+
constructor(baselineQuery, consumedValuesByKey = {}, watchExpiresAt, trackedAt) {
|
|
880
880
|
this.baselineQuery = baselineQuery;
|
|
881
881
|
this.consumedValuesByKey = consumedValuesByKey;
|
|
882
882
|
this.watchExpiresAt = watchExpiresAt;
|
|
883
|
+
this.trackedAt = trackedAt;
|
|
883
884
|
}
|
|
884
885
|
static adapt(item) {
|
|
885
|
-
return new PathTrackerStateModel(item?.baselineQuery, item?.consumedValuesByKey, item?.watchExpiresAt);
|
|
886
|
+
return new PathTrackerStateModel(item?.baselineQuery, item?.consumedValuesByKey, item?.watchExpiresAt, item?.trackedAt);
|
|
886
887
|
}
|
|
887
888
|
}
|
|
888
889
|
|
|
@@ -926,7 +927,12 @@ class QueryParamsTrackerService {
|
|
|
926
927
|
return false;
|
|
927
928
|
this.cleanupExpiredEntries();
|
|
928
929
|
if (!normalized.hasQuery) {
|
|
929
|
-
this.
|
|
930
|
+
const pathExists = !!this.state.paths[normalized.pathKey];
|
|
931
|
+
if (pathExists) {
|
|
932
|
+
return false;
|
|
933
|
+
}
|
|
934
|
+
const pathState = this.ensurePathState(normalized.pathKey);
|
|
935
|
+
pathState.trackedAt = Math.floor(Date.now() / 1000);
|
|
930
936
|
this.persistState();
|
|
931
937
|
return true;
|
|
932
938
|
}
|
|
@@ -1119,7 +1125,8 @@ class QueryParamsTrackerService {
|
|
|
1119
1125
|
}
|
|
1120
1126
|
const hasBaseline = Boolean(pathState.baselineQuery && Object.keys(pathState.baselineQuery).length > 0);
|
|
1121
1127
|
const hasTrackedValues = Object.keys(pathState.consumedValuesByKey).some((key) => (pathState.consumedValuesByKey[key] || []).length > 0);
|
|
1122
|
-
|
|
1128
|
+
const isNoQueryTracked = Boolean(pathState.trackedAt);
|
|
1129
|
+
if (!hasBaseline && !hasTrackedValues && !isNoQueryTracked) {
|
|
1123
1130
|
delete this.state.paths[pathKey];
|
|
1124
1131
|
}
|
|
1125
1132
|
});
|
|
@@ -1156,6 +1163,10 @@ class QueryParamsTrackerService {
|
|
|
1156
1163
|
.pipe(take(1))
|
|
1157
1164
|
.subscribe({
|
|
1158
1165
|
next: (storedState) => {
|
|
1166
|
+
// Don't overwrite in-memory state if we've already tracked paths
|
|
1167
|
+
if (Object.keys(this.state.paths).length > 0) {
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1159
1170
|
if (this.isTrackerState(storedState)) {
|
|
1160
1171
|
this.state = QueryTrackerStateModel.adapt(storedState);
|
|
1161
1172
|
this.cleanupExpiredEntries();
|
|
@@ -1164,7 +1175,9 @@ class QueryParamsTrackerService {
|
|
|
1164
1175
|
this.state = { paths: {} };
|
|
1165
1176
|
},
|
|
1166
1177
|
error: () => {
|
|
1167
|
-
this.state
|
|
1178
|
+
if (Object.keys(this.state.paths).length === 0) {
|
|
1179
|
+
this.state = { paths: {} };
|
|
1180
|
+
}
|
|
1168
1181
|
}
|
|
1169
1182
|
});
|
|
1170
1183
|
}
|