@snabcentr/client-core 2.66.21 → 2.67.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/catalog/interfaces/index.d.ts +1 -0
- package/catalog/interfaces/sc-i-parent-category-redirect.d.ts +21 -0
- package/catalog/services/index.d.ts +1 -0
- package/catalog/services/sc-catalog-redirect.service.d.ts +57 -0
- package/catalog/services/sc-catalog.service.d.ts +15 -0
- package/esm2022/catalog/interfaces/index.mjs +2 -1
- package/esm2022/catalog/interfaces/sc-i-parent-category-redirect.mjs +2 -0
- package/esm2022/catalog/services/index.mjs +2 -1
- package/esm2022/catalog/services/sc-catalog-redirect.service.mjs +94 -0
- package/esm2022/catalog/services/sc-catalog.service.mjs +23 -1
- package/esm2022/notifications/services/sc-notifications.service.mjs +8 -3
- package/fesm2022/snabcentr-client-core.mjs +116 -5
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/notifications/services/sc-notifications.service.d.ts +4 -0
- package/package.json +1 -1
- package/release_notes.tmp +3 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { DestroyRef, inject, Injectable } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { interval, of, ReplaySubject, switchMap, tap } from 'rxjs';
|
|
4
5
|
import { SC_UPDATE_INTERVAL, SC_URLS } from '../../tokens';
|
|
5
6
|
import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
|
|
@@ -22,6 +23,10 @@ export class ScNotificationsService {
|
|
|
22
23
|
* {@link Observable} данных о текущем пользователе.
|
|
23
24
|
*/
|
|
24
25
|
this.user$ = inject(SC_USER_INFO);
|
|
26
|
+
/**
|
|
27
|
+
* Ссылка на жизненный цикл сервиса.
|
|
28
|
+
*/
|
|
29
|
+
this.destroyRef = inject(DestroyRef);
|
|
25
30
|
/**
|
|
26
31
|
* Интервалы обновления данных.
|
|
27
32
|
*/
|
|
@@ -50,7 +55,7 @@ export class ScNotificationsService {
|
|
|
50
55
|
else {
|
|
51
56
|
this.updateUserNotificationsCount();
|
|
52
57
|
}
|
|
53
|
-
}), switchMap((user) => (user.isGuest ? of() : this.interval$)))
|
|
58
|
+
}), switchMap((user) => (user.isGuest ? of() : this.interval$)), takeUntilDestroyed(this.destroyRef))
|
|
54
59
|
.subscribe();
|
|
55
60
|
}
|
|
56
61
|
/**
|
|
@@ -160,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
160
165
|
providedIn: 'root',
|
|
161
166
|
}]
|
|
162
167
|
}], ctorParameters: () => [] });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtbm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL3NjLW5vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTW5FLE1BQU0sT0FBTyxzQkFBc0I7SUF3Qy9COzs7T0FHRztJQUNIO1FBM0NBOztXQUVHO1FBQ2MsU0FBSSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNjLFNBQUksR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDYyxVQUFLLEdBQXVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNjLG1CQUFjLEdBQXNCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWhGOztXQUVHO1FBQ2Msd0JBQW1CLEdBQXFELElBQUksYUFBYSxDQUFvQyxDQUFDLENBQUMsQ0FBQztRQUVqSjs7V0FFRztRQUNjLG1CQUFjLEdBQXlDLElBQUksYUFBYSxDQUF3QixDQUFDLENBQUMsQ0FBQztRQUVwSDs7V0FFRztRQUNjLGNBQVMsR0FBdUIsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMs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SSxDQUFDLE1BQU0sQ0FBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSx1QkFBdUIsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHFCQUFxQixDQUFDLGNBQXNCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sdUJBQXVCLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRDs7T0FFRztJQUNJLDRCQUE0QjtRQUMvQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssMkJBQTJCLENBQUMsa0JBQXFEO1FBQ3JGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHNCQUFzQixDQUFDLGFBQW9DO1FBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBbExRLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzRGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSVVwZGF0ZUludGVydmFsLCBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNDX1VQREFURV9JTlRFUlZBTCwgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjSU5vdGlmaWNhdGlvbnNDb3VudCwgU2NJVXNlck5vdGlmaWNhdGlvbiB9IGZyb20gJy4uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NOb3RpZmljYXRpb25zU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogSFRUUC3QutC70LjQtdC90YIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4gPSBpbmplY3QoU0NfVVNFUl9JTkZPKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0LvRiyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGRhdGVJbnRlcnZhbDogU2NJVXBkYXRlSW50ZXJ2YWwgPSBpbmplY3QoU0NfVVBEQVRFX0lOVEVSVkFMKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBSZXBsYXlTdWJqZWN0fSDQtNCw0L3QvdGL0YUg0L4g0LrQvtC70LjRh9C10YHRgtCy0LUg0YPQstC10LTQvtC80LvQtdC90LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25zQ291bnQkOiBSZXBsYXlTdWJqZWN0PFNjSU5vdGlmaWNhdGlvbnNDb3VudCB8IHVuZGVmaW5lZD4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY0lOb3RpZmljYXRpb25zQ291bnQgfCB1bmRlZmluZWQ+KDEpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFJlcGxheVN1YmplY3R9INC00LDQvdC90YvRhSDQvtCxINGD0LLQtdC00L7QvNC70LXQvdC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25zJDogUmVwbGF5U3ViamVjdDxTY0lVc2VyTm90aWZpY2F0aW9uW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2NJVXNlck5vdGlmaWNhdGlvbltdPigxKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0LssINGH0LXRgNC10Lcg0LrQvtGC0L7RgNGL0Lkg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQt9Cw0L/RgNC+0YEg0YPQstC10LTQvtC80LvQtdC90LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcnZhbCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IGludGVydmFsKHRoaXMudXBkYXRlSW50ZXJ2YWwubm90aWZpY2F0aW9uc1VwZGF0ZSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVXNlck5vdGlmaWNhdGlvbnNDb3VudCgpO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjTm90aWZpY2F0aW9uc1NlcnZpY2V9LlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnVzZXIkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8tc2VsZWN0b3ItcGFyYW1ldGVyXG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyLmlzR3Vlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL25vLXVzZWxlc3MtdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVVc2VyTm90aWZpY2F0aW9uc0NvdW50KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHVzZXIpID0+ICh1c2VyLmlzR3Vlc3QgPyBvZigpIDogdGhpcy5pbnRlcnZhbCQpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVVc2VyTm90aWZpY2F0aW9uc0NvdW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFVzZXJOb3RpZmljYXRpb25zQ291bnQkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoY291bnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROb3RpZmljYXRpb25zQ291bnRDaGFuZ2UoY291bnQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINGB0L/QuNGB0L7QuiDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVVc2VyTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyTm90aWZpY2F0aW9ucyQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChub3RpZmljYXRpb25zTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5vdGlmaWNhdGlvbnNDaGFuZ2Uobm90aWZpY2F0aW9uc0xpc3QpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INC4INGB0L/QuNGB0L7QuiDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVOb3RpZmljYXRpb25zTGlzdEFuZENvdW50JCgpOiBPYnNlcnZhYmxlPFNjSVVzZXJOb3RpZmljYXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2VyTm90aWZpY2F0aW9uc0NvdW50JCgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXROb3RpZmljYXRpb25zQ291bnRDaGFuZ2UoY291bnQpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRVc2VyTm90aWZpY2F0aW9ucyQoKSksXG4gICAgICAgICAgICB0YXAoKG5vdGlmaWNhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXROb3RpZmljYXRpb25zQ2hhbmdlKG5vdGlmaWNhdGlvbnNMaXN0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0YPQstC10LTQvtC80LvQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VXNlck5vdGlmaWNhdGlvbnMkKCk6IE9ic2VydmFibGU8U2NJVXNlck5vdGlmaWNhdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVVzZXJOb3RpZmljYXRpb25bXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9ub3RpZmljYXRpb25zYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRVc2VyTm90aWZpY2F0aW9uc0NvdW50JCgpOiBPYnNlcnZhYmxlPFNjSU5vdGlmaWNhdGlvbnNDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lOb3RpZmljYXRpb25zQ291bnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvbm90aWZpY2F0aW9ucy9jb3VudGApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQvdCwINGD0LTQsNC70LXQvdC40LUg0LLRgdC10YUg0YPQstC10LTQvtC80LvQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQWxsTm90aWZpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL25vdGlmaWNhdGlvbnNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9GA0L7Rh9GC0LXQvdC40LUg0LLRgdC10YUg0YPQstC10LTQvtC80LvQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZEFsbE5vdGlmaWNhdGlvbnMkKCk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL25vdGlmaWNhdGlvbnNgLCB7fSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC90LAg0YPQtNCw0LvQtdC90LjQtSDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINC/0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3RpZmljYXRpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPLCDQutC+0YLQvtGA0L7QtSDQvdC10L7QsdGF0L7QtNC40LzQviDRg9C00LDQu9C40YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlTm90aWZpY2F0aW9uQnlJZCQobm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9ub3RpZmljYXRpb25zLyR7bm90aWZpY2F0aW9uSWR9YCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC90LAg0L/RgNC+0YfRgtC10L3QuNC1INGD0LLQtdC00L7QvNC70LXQvdC40Y8g0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0LLQtdC00L7QvNC70LXQvdC40Y8sINC60L7RgtC+0YDQvtC1INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7QvNC10YLQuNGC0Ywg0L/RgNC+0YfQuNGC0LDQvdC90YvQvC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZE5vdGlmaWNhdGlvbkJ5SWQkKG5vdGlmaWNhdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9ub3RpZmljYXRpb25zLyR7bm90aWZpY2F0aW9uSWR9YCwge30pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm90aWZpY2F0aW9uc0NvdW50Q2hhbmdlJCgpOiBPYnNlcnZhYmxlPFNjSU5vdGlmaWNhdGlvbnNDb3VudCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zQ291bnQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0YPQstC10LTQvtC80LvQtdC90LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIGdldE5vdGlmaWNhdGlvbnNDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NJVXNlck5vdGlmaWNhdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3RpZmljYXRpb25zQ291bnQg0JTQsNC90L3Ri9C1INC+INC60L7Qu9C40YfQtdGB0YLQstC1INGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXROb3RpZmljYXRpb25zQ291bnRDaGFuZ2Uobm90aWZpY2F0aW9uc0NvdW50OiBTY0lOb3RpZmljYXRpb25zQ291bnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zQ291bnQkLm5leHQobm90aWZpY2F0aW9uc0NvdW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQv9C40YHQutCwINGD0LLQtdC00L7QvNC70LXQvdC40Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbnMg0JTQsNC90L3Ri9C1INC+INGB0L/QuNGB0LrQtSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0Tm90aWZpY2F0aW9uc0NoYW5nZShub3RpZmljYXRpb25zOiBTY0lVc2VyTm90aWZpY2F0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zJC5uZXh0KG5vdGlmaWNhdGlvbnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtbm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL3NjLW5vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQU1uRSxNQUFNLE9BQU8sc0JBQXNCO0lBNkMvQjs7O09BR0c7SUFDSDtRQWhEQTs7V0FFRztRQUNjLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2MsVUFBSyxHQUF1QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEU7O1dBRUc7UUFDYyxlQUFVLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdEOztXQUVHO1FBQ2MsbUJBQWMsR0FBc0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFaEY7O1dBRUc7UUFDYyx3QkFBbUIsR0FBcUQsSUFBSSxhQUFhLENBQW9DLENBQUMsQ0FBQyxDQUFDO1FBRWpKOztXQUVHO1FBQ2MsbUJBQWMs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bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lVcGRhdGVJbnRlcnZhbCwgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTQ19VUERBVEVfSU5URVJWQUwsIFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY0lOb3RpZmljYXRpb25zQ291bnQsIFNjSVVzZXJOb3RpZmljYXRpb24gfSBmcm9tICcuLic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQttC40LfQvdC10L3QvdGL0Lkg0YbQuNC60Lsg0YHQtdGA0LLQuNGB0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQu9GLINC+0LHQvdC+0LLQu9C10L3QuNGPINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZUludGVydmFsOiBTY0lVcGRhdGVJbnRlcnZhbCA9IGluamVjdChTQ19VUERBVEVfSU5URVJWQUwpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFJlcGxheVN1YmplY3R9INC00LDQvdC90YvRhSDQviDQutC+0LvQuNGH0LXRgdGC0LLQtSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnNDb3VudCQ6IFJlcGxheVN1YmplY3Q8U2NJTm90aWZpY2F0aW9uc0NvdW50IHwgdW5kZWZpbmVkPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFNjSU5vdGlmaWNhdGlvbnNDb3VudCB8IHVuZGVmaW5lZD4oMSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQsNC90L3Ri9GFINC+0LEg0YPQstC10LTQvtC80LvQtdC90LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnMkOiBSZXBsYXlTdWJqZWN0PFNjSVVzZXJOb3RpZmljYXRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY0lVc2VyTm90aWZpY2F0aW9uW10+KDEpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQuywg0YfQtdGA0LXQtyDQutC+0YLQvtGA0YvQuSDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC30LDQv9GA0L7RgSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGludGVydmFsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gaW50ZXJ2YWwodGhpcy51cGRhdGVJbnRlcnZhbC5ub3RpZmljYXRpb25zVXBkYXRlKS5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVc2VyTm90aWZpY2F0aW9uc0NvdW50KCk7XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NOb3RpZmljYXRpb25zU2VydmljZX0uXG4gICAgICpcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMudXNlciRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1zZWxlY3Rvci1wYXJhbWV0ZXJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXIuaXNHdWVzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdXNlbGVzcy11bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc0NvdW50JC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJOb3RpZmljYXRpb25zQ291bnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodXNlcikgPT4gKHVzZXIuaXNHdWVzdCA/IG9mKCkgOiB0aGlzLmludGVydmFsJCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVVzZXJOb3RpZmljYXRpb25zQ291bnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0VXNlck5vdGlmaWNhdGlvbnNDb3VudCQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChjb3VudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5vdGlmaWNhdGlvbnNDb3VudENoYW5nZShjb3VudCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0YHQv9C40YHQvtC6INGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVVzZXJOb3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFVzZXJOb3RpZmljYXRpb25zJCgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKG5vdGlmaWNhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Tm90aWZpY2F0aW9uc0NoYW5nZShub3RpZmljYXRpb25zTGlzdCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LrQvtC70LjRh9C10YHRgtCy0L4g0Lgg0YHQv9C40YHQvtC6INGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZU5vdGlmaWNhdGlvbnNMaXN0QW5kQ291bnQkKCk6IE9ic2VydmFibGU8U2NJVXNlck5vdGlmaWNhdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVzZXJOb3RpZmljYXRpb25zQ291bnQkKCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoY291bnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE5vdGlmaWNhdGlvbnNDb3VudENoYW5nZShjb3VudCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldFVzZXJOb3RpZmljYXRpb25zJCgpKSxcbiAgICAgICAgICAgIHRhcCgobm90aWZpY2F0aW9uc0xpc3QpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE5vdGlmaWNhdGlvbnNDaGFuZ2Uobm90aWZpY2F0aW9uc0xpc3QpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRVc2VyTm90aWZpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTxTY0lVc2VyTm90aWZpY2F0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJVXNlck5vdGlmaWNhdGlvbltdPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL25vdGlmaWNhdGlvbnNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINC60L7Qu9C40YfQtdGB0YLQstCwINGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIGdldFVzZXJOb3RpZmljYXRpb25zQ291bnQkKCk6IE9ic2VydmFibGU8U2NJTm90aWZpY2F0aW9uc0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSU5vdGlmaWNhdGlvbnNDb3VudD4oYCR7dGhpcy51cmxzLmFwaVVybH0vdXNlci9ub3RpZmljYXRpb25zL2NvdW50YCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC90LAg0YPQtNCw0LvQtdC90LjQtSDQstGB0LXRhSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVBbGxOb3RpZmljYXRpb25zJCgpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvbm90aWZpY2F0aW9uc2ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQvdCwINC/0YDQvtGH0YLQtdC90LjQtSDQstGB0LXRhSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkQWxsTm90aWZpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvbm90aWZpY2F0aW9uc2AsIHt9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDRg9C00LDQu9C10L3QuNC1INGD0LLQtdC00L7QvNC70LXQvdC40Y8g0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0LLQtdC00L7QvNC70LXQvdC40Y8sINC60L7RgtC+0YDQvtC1INC90LXQvtCx0YXQvtC00LjQvNC+INGD0LTQsNC70LjRgtGMLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVOb3RpZmljYXRpb25CeUlkJChub3RpZmljYXRpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL25vdGlmaWNhdGlvbnMvJHtub3RpZmljYXRpb25JZH1gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9GA0L7Rh9GC0LXQvdC40LUg0YPQstC10LTQvtC80LvQtdC90LjRjyDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YPQstC10LTQvtC80LvQtdC90LjRjywg0LrQvtGC0L7RgNC+0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L/QvtC80LXRgtC40YLRjCDQv9GA0L7Rh9C40YLQsNC90L3Ri9C8LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkTm90aWZpY2F0aW9uQnlJZCQobm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL25vdGlmaWNhdGlvbnMvJHtub3RpZmljYXRpb25JZH1gLCB7fSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC60L7Qu9C40YfQtdGB0YLQstCwINGD0LLQtdC00L7QvNC70LXQvdC40Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROb3RpZmljYXRpb25zQ291bnRDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NJTm90aWZpY2F0aW9uc0NvdW50IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm90aWZpY2F0aW9uc0NoYW5nZSQoKTogT2JzZXJ2YWJsZTxTY0lVc2VyTm90aWZpY2F0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC60L7Qu9C40YfQtdGB0YLQstCwINGD0LLQtdC00L7QvNC70LXQvdC40Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbnNDb3VudCDQlNCw0L3QvdGL0LUg0L4g0LrQvtC70LjRh9C10YHRgtCy0LUg0YPQstC10LTQvtC80LvQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE5vdGlmaWNhdGlvbnNDb3VudENoYW5nZShub3RpZmljYXRpb25zQ291bnQ6IFNjSU5vdGlmaWNhdGlvbnNDb3VudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNDb3VudCQubmV4dChub3RpZmljYXRpb25zQ291bnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0YPQstC10LTQvtC80LvQtdC90LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbm90aWZpY2F0aW9ucyDQlNCw0L3QvdGL0LUg0L4g0YHQv9C40YHQutC1INGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXROb3RpZmljYXRpb25zQ2hhbmdlKG5vdGlmaWNhdGlvbnM6IFNjSVVzZXJOb3RpZmljYXRpb25bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMkLm5leHQobm90aWZpY2F0aW9ucyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1 from 'rxjs';
|
|
2
|
-
import { of, startWith as startWith$1, Subject, ReplaySubject, partition, combineLatest, map as map$1, debounceTime, switchMap, tap, filter, shareReplay, distinctUntilChanged, BehaviorSubject, materialize, dematerialize, merge, distinctUntilKeyChanged, skip, first, catchError as catchError$1, throwError, expand, takeWhile, toArray, take, defaultIfEmpty, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
|
|
2
|
+
import { of, startWith as startWith$1, Subject, ReplaySubject, partition, combineLatest, map as map$1, debounceTime, switchMap, tap, filter, shareReplay, distinctUntilChanged, BehaviorSubject, materialize, dematerialize, merge, distinctUntilKeyChanged, skip, first, catchError as catchError$1, throwError, expand, takeWhile, toArray, EMPTY, from, take, defaultIfEmpty, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
|
|
3
3
|
import { map, startWith, catchError } from 'rxjs/operators';
|
|
4
4
|
import { parseISO, parse, isValid, format } from 'date-fns';
|
|
5
5
|
import { isString, isNil, isMatch, isArray, get } from 'lodash-es';
|
|
@@ -13,9 +13,9 @@ import { HttpContextToken, HttpContext, HttpHeaders, HttpClient, HttpParams, Htt
|
|
|
13
13
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
14
14
|
import { tuiIsPresent, TuiDay, tuiPure, TUI_TRUE_HANDLER } from '@taiga-ui/cdk';
|
|
15
15
|
import { tuiCleanObject } from '@taiga-ui/addon-doc/utils';
|
|
16
|
-
import { __decorate } from 'tslib';
|
|
17
16
|
import * as i2 from '@angular/router';
|
|
18
|
-
import {
|
|
17
|
+
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
|
|
18
|
+
import { __decorate } from 'tslib';
|
|
19
19
|
import { objectToSnake, objectToCamel, toSnake } from 'ts-case-convert';
|
|
20
20
|
import { Meta, Title } from '@angular/platform-browser';
|
|
21
21
|
|
|
@@ -3497,6 +3497,28 @@ class ScCatalogService {
|
|
|
3497
3497
|
}
|
|
3498
3498
|
}));
|
|
3499
3499
|
}
|
|
3500
|
+
/**
|
|
3501
|
+
* Возвращает данные о родительской категории для редиректа, когда категория недоступна (HTTP 404).
|
|
3502
|
+
* Если у категории нет нескрытой родительской категории, возвращается пустой объект.
|
|
3503
|
+
*
|
|
3504
|
+
* @param categoryIdOrSlug Идентификатор или slug недоступной категории.
|
|
3505
|
+
*/
|
|
3506
|
+
getCategoryParentCategory$(categoryIdOrSlug) {
|
|
3507
|
+
return this.http.get(`${this.urls.apiUrl}/catalog/categories/${categoryIdOrSlug}/parent-category`, {
|
|
3508
|
+
context: SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT,
|
|
3509
|
+
});
|
|
3510
|
+
}
|
|
3511
|
+
/**
|
|
3512
|
+
* Возвращает данные о родительской категории для редиректа, когда товар недоступен (HTTP 404).
|
|
3513
|
+
* Если у товара нет нескрытой родительской категории, возвращается пустой объект.
|
|
3514
|
+
*
|
|
3515
|
+
* @param productIdOrSlug Идентификатор или slug недоступного товара.
|
|
3516
|
+
*/
|
|
3517
|
+
getProductParentCategory$(productIdOrSlug) {
|
|
3518
|
+
return this.http.get(`${this.urls.apiUrl}/catalog/products/${productIdOrSlug}/parent-category`, {
|
|
3519
|
+
context: SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT,
|
|
3520
|
+
});
|
|
3521
|
+
}
|
|
3500
3522
|
getProductDataCached$(productIdOrSlug) {
|
|
3501
3523
|
const valueFromMap = this.productIdOrSlugMap.get(productIdOrSlug);
|
|
3502
3524
|
if (valueFromMap) {
|
|
@@ -3559,6 +3581,91 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
3559
3581
|
args: [SC_CACHE_LIFETIME]
|
|
3560
3582
|
}] }, { type: ScUserMetrikaService }] });
|
|
3561
3583
|
|
|
3584
|
+
/**
|
|
3585
|
+
* Сервис редиректа на родительскую категорию при недоступности (HTTP 404) товара или категории.
|
|
3586
|
+
*
|
|
3587
|
+
* Запрашивает у бэкенда родительскую категорию недоступной сущности и выполняет редирект:
|
|
3588
|
+
* - на сервере (SSR) — выставляет HTTP-статус 302 и заголовок `Location` для корректного редиректа поисковых ботов;
|
|
3589
|
+
* - в браузере — выполняет навигацию средствами {@link Router}.
|
|
3590
|
+
*
|
|
3591
|
+
* Если родительская категория не найдена, поток завершается ошибкой {@link HttpErrorResponse},
|
|
3592
|
+
* чтобы вызывающий код отобразил страницу ошибки.
|
|
3593
|
+
*/
|
|
3594
|
+
class ScCatalogRedirectService {
|
|
3595
|
+
constructor() {
|
|
3596
|
+
/**
|
|
3597
|
+
* Сервис для работы с каталогом.
|
|
3598
|
+
*/
|
|
3599
|
+
this.catalogService = inject(ScCatalogService);
|
|
3600
|
+
/**
|
|
3601
|
+
* Сервис маршрутизации.
|
|
3602
|
+
*/
|
|
3603
|
+
this.router = inject(Router);
|
|
3604
|
+
/**
|
|
3605
|
+
* Признак использования идентификатора или slug в маршрутах товаров и категорий.
|
|
3606
|
+
*/
|
|
3607
|
+
this.idOrSlug = inject(SC_ID_OR_SLUG_IN_ROUTE);
|
|
3608
|
+
/**
|
|
3609
|
+
* Признак, что текущий скрипт исполняется на сервере.
|
|
3610
|
+
*/
|
|
3611
|
+
this.isServer = inject(IS_SERVER);
|
|
3612
|
+
/**
|
|
3613
|
+
* Данные об ответе на запрос (доступны только на сервере при SSR).
|
|
3614
|
+
*/
|
|
3615
|
+
this.response = inject(RESPONSE, { optional: true });
|
|
3616
|
+
}
|
|
3617
|
+
/**
|
|
3618
|
+
* Выполняет редирект на родительскую категорию недоступной категории.
|
|
3619
|
+
*
|
|
3620
|
+
* @param categoryIdOrSlug Идентификатор или slug недоступной категории.
|
|
3621
|
+
* @returns Поток, завершающийся после редиректа. Эмитит ошибку {@link HttpErrorResponse}, если родительская категория не найдена.
|
|
3622
|
+
*/
|
|
3623
|
+
redirectToCategoryParent$(categoryIdOrSlug) {
|
|
3624
|
+
return this.redirectToParentCategory$(this.catalogService.getCategoryParentCategory$(categoryIdOrSlug));
|
|
3625
|
+
}
|
|
3626
|
+
/**
|
|
3627
|
+
* Выполняет редирект на родительскую категорию недоступного товара.
|
|
3628
|
+
*
|
|
3629
|
+
* @param productIdOrSlug Идентификатор или slug недоступного товара.
|
|
3630
|
+
* @returns Поток, завершающийся после редиректа. Эмитит ошибку {@link HttpErrorResponse}, если родительская категория не найдена.
|
|
3631
|
+
*/
|
|
3632
|
+
redirectToProductParent$(productIdOrSlug) {
|
|
3633
|
+
return this.redirectToParentCategory$(this.catalogService.getProductParentCategory$(productIdOrSlug));
|
|
3634
|
+
}
|
|
3635
|
+
/**
|
|
3636
|
+
* Выполняет редирект на полученную родительскую категорию.
|
|
3637
|
+
*
|
|
3638
|
+
* @param parentCategory$ Поток с данными родительской категории.
|
|
3639
|
+
* @returns Поток, завершающийся после редиректа. Эмитит ошибку {@link HttpErrorResponse} с кодом 404, если родительская категория не найдена.
|
|
3640
|
+
*/
|
|
3641
|
+
redirectToParentCategory$(parentCategory$) {
|
|
3642
|
+
return parentCategory$.pipe(switchMap((parentCategory) => {
|
|
3643
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
3644
|
+
const target = parentCategory[this.idOrSlug];
|
|
3645
|
+
// Родительская категория не найдена — отображаем страницу ошибки.
|
|
3646
|
+
if (!tuiIsPresent(target)) {
|
|
3647
|
+
return throwError(() => new HttpErrorResponse({ status: 404 }));
|
|
3648
|
+
}
|
|
3649
|
+
const urlTree = this.router.createUrlTree(['/catalog', target]);
|
|
3650
|
+
if (this.isServer) {
|
|
3651
|
+
// SSR: выставляем 302 и заголовок Location для корректного редиректа поисковых ботов.
|
|
3652
|
+
this.response?.setHeader('Location', this.router.serializeUrl(urlTree));
|
|
3653
|
+
this.response?.status(302);
|
|
3654
|
+
return EMPTY;
|
|
3655
|
+
}
|
|
3656
|
+
return from(this.router.navigateByUrl(urlTree, { replaceUrl: true })).pipe(switchMap(() => EMPTY));
|
|
3657
|
+
}));
|
|
3658
|
+
}
|
|
3659
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScCatalogRedirectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3660
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScCatalogRedirectService, providedIn: 'root' }); }
|
|
3661
|
+
}
|
|
3662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScCatalogRedirectService, decorators: [{
|
|
3663
|
+
type: Injectable,
|
|
3664
|
+
args: [{
|
|
3665
|
+
providedIn: 'root',
|
|
3666
|
+
}]
|
|
3667
|
+
}] });
|
|
3668
|
+
|
|
3562
3669
|
/* eslint-disable no-param-reassign,no-return-assign,no-void */
|
|
3563
3670
|
/**
|
|
3564
3671
|
* Сервис для работы с избранными товарами и категориями.
|
|
@@ -6311,6 +6418,10 @@ class ScNotificationsService {
|
|
|
6311
6418
|
* {@link Observable} данных о текущем пользователе.
|
|
6312
6419
|
*/
|
|
6313
6420
|
this.user$ = inject(SC_USER_INFO);
|
|
6421
|
+
/**
|
|
6422
|
+
* Ссылка на жизненный цикл сервиса.
|
|
6423
|
+
*/
|
|
6424
|
+
this.destroyRef = inject(DestroyRef);
|
|
6314
6425
|
/**
|
|
6315
6426
|
* Интервалы обновления данных.
|
|
6316
6427
|
*/
|
|
@@ -6339,7 +6450,7 @@ class ScNotificationsService {
|
|
|
6339
6450
|
else {
|
|
6340
6451
|
this.updateUserNotificationsCount();
|
|
6341
6452
|
}
|
|
6342
|
-
}), switchMap((user) => (user.isGuest ? of() : this.interval$)))
|
|
6453
|
+
}), switchMap((user) => (user.isGuest ? of() : this.interval$)), takeUntilDestroyed(this.destroyRef))
|
|
6343
6454
|
.subscribe();
|
|
6344
6455
|
}
|
|
6345
6456
|
/**
|
|
@@ -8366,5 +8477,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
8366
8477
|
* Generated bundle index. Do not edit.
|
|
8367
8478
|
*/
|
|
8368
8479
|
|
|
8369
|
-
export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_CATALOG_ITEM_PAGE_META, SC_CATALOG_ROOT_PAGE_META, SC_CATEGORY_INFO, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_ORDER_LOADER, SC_ORDER_LOADING, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartService, ScCatalogFilterService, ScCatalogFormat, ScCatalogItem, ScCatalogService, ScCatalogableItem, ScCategory, ScClientType, ScCodedIdentity, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeletableNamedIdentity, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorRequestState, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScHiddenCatalogableItem, ScIBreadcrumbItem, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScIdentity, ScImage, ScImageHelper, ScLoadingRequestState, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNamedIdentity, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderBase, ScOrderDraft, ScOrderDraftShort, ScOrderDraftType, ScOrderDraftsService, ScOrderItem, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScPrimaryCatalogableItem, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReference, ScReferenceName, ScReferencesService, ScRequestStateStatusEnum, ScRequisitesService, ScRouteKeys, ScSearchService, ScSeoService, ScSocialType, ScSuccessRequestState, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUpdatableNamedIdentity, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, SchemaOrgFactory, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, runningOnTerminalFactory, scGetCurrentRoute, scOrderIsLoaded, searchTermFactory };
|
|
8480
|
+
export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_CATALOG_ITEM_PAGE_META, SC_CATALOG_ROOT_PAGE_META, SC_CATEGORY_INFO, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_ORDER_LOADER, SC_ORDER_LOADING, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartService, ScCatalogFilterService, ScCatalogFormat, ScCatalogItem, ScCatalogRedirectService, ScCatalogService, ScCatalogableItem, ScCategory, ScClientType, ScCodedIdentity, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeletableNamedIdentity, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorRequestState, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScHiddenCatalogableItem, ScIBreadcrumbItem, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScIdentity, ScImage, ScImageHelper, ScLoadingRequestState, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNamedIdentity, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderBase, ScOrderDraft, ScOrderDraftShort, ScOrderDraftType, ScOrderDraftsService, ScOrderItem, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScPrimaryCatalogableItem, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReference, ScReferenceName, ScReferencesService, ScRequestStateStatusEnum, ScRequisitesService, ScRouteKeys, ScSearchService, ScSeoService, ScSocialType, ScSuccessRequestState, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUpdatableNamedIdentity, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, SchemaOrgFactory, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, runningOnTerminalFactory, scGetCurrentRoute, scOrderIsLoaded, searchTermFactory };
|
|
8370
8481
|
//# sourceMappingURL=snabcentr-client-core.mjs.map
|