@snabcentr/client-core 4.5.0 → 4.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-core",
3
- "version": "4.5.0",
3
+ "version": "4.7.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
package/release_notes.tmp CHANGED
@@ -1,4 +1,4 @@
1
- ## 4.5.0 (2026-06-25)
1
+ ## 4.7.0 (2026-06-30)
2
2
 
3
3
  No changes.
4
4
 
@@ -4,7 +4,6 @@ import { InjectionToken, EventEmitter, Type, ClassProvider, ValueProvider, Provi
4
4
  import { HttpRequest, HttpClient, HttpParams, HttpContextToken, HttpHandlerFn, HttpEvent, HttpErrorResponse, HttpContext } from '@angular/common/http';
5
5
  import * as _snabcentr_client_core from '@snabcentr/client-core';
6
6
  import { Router, ActivatedRouteSnapshot, UrlTree, CanActivateFn, ActivatedRoute } from '@angular/router';
7
- import { Response } from 'express';
8
7
  import { WithContext, Product, CollectionPage, Thing } from 'schema-dts';
9
8
 
10
9
  /**
@@ -6287,8 +6286,8 @@ declare class ScCatalogFilterService {
6287
6286
  * Сервис редиректа на родительскую категорию при недоступности (HTTP 404) товара или категории.
6288
6287
  *
6289
6288
  * Запрашивает у бэкенда родительскую категорию недоступной сущности и выполняет редирект:
6290
- * - на сервере (SSR) при доступном {@link RESPONSE} — выставляет HTTP-статус 302 и заголовок `Location` для корректного редиректа поисковых ботов;
6291
- * - на сервере без {@link RESPONSE} (например, dev-сервер `ng serve`) — завершает поток ошибкой 404, чтобы отобразилась страница ошибки;
6289
+ * - на сервере (SSR, RenderMode.Server) при доступном `RESPONSE_INIT` — выставляет HTTP-статус 302 и заголовок `Location` для корректного редиректа поисковых ботов;
6290
+ * - на сервере без `RESPONSE_INIT` (Client/Prerender) — завершает поток ошибкой 404, чтобы отобразилась страница ошибки;
6292
6291
  * - в браузере — выполняет полную навигацию на родительскую категорию.
6293
6292
  *
6294
6293
  * Если родительская категория не найдена, поток также завершается ошибкой {@link HttpErrorResponse},
@@ -6312,15 +6311,12 @@ declare class ScCatalogRedirectService {
6312
6311
  */
6313
6312
  private readonly isServer;
6314
6313
  /**
6315
- * Данные об ответе на запрос (доступны только на сервере при SSR).
6314
+ * Инициализатор HTTP-ответа SSR (`status`/`headers`), доступен только при рендере на сервере (RenderMode.Server).
6316
6315
  *
6317
- * Angular 21 (миграция SSR): {@link RESPONSE} кастомный Express-токен, который провайдится в `server.ts`
6318
- * через CommonEngine. На upgrade-ветке `server.ts` остался на CommonEngine, поэтому при слиянии здесь
6319
- * ничего менять не нужно. Если `server.ts` мигрируют на `AngularNodeAppEngine` + `createNodeRequestHandler`,
6320
- * замените {@link RESPONSE} на нативный `RESPONSE_INIT` (`InjectionToken<ResponseInit | null>` из `@angular/core`);
6321
- * см. серверную ветку в {@link redirectToParentCategory$}.
6316
+ * Провайдится движком `@angular/ssr` per-request. Мутации `status`/`headers` до завершения рендера
6317
+ * применяются движком при конструировании финального `Response`. В браузере, при Client/Prerender `null`.
6322
6318
  */
6323
- private readonly response;
6319
+ private readonly responseInit;
6324
6320
  /**
6325
6321
  * Документ текущей страницы.
6326
6322
  */
@@ -7708,6 +7704,15 @@ declare const SC_GUEST_ENDPOINTS_TOKEN: InjectionToken<string[]>;
7708
7704
  */
7709
7705
  declare const SC_GUEST_PARAMETER_NAME_TOKEN: InjectionToken<string>;
7710
7706
 
7707
+ /**
7708
+ * Токен таймаута (мс) HTTP-запросов при серверном рендере (SSR).
7709
+ *
7710
+ * Ограничивает время ожидания ответа бэкенда на сервере, чтобы недоступный или медленный бэкенд
7711
+ * не подвешивал стабилизацию приложения (`ApplicationRef.whenStable`) при серверном рендере и при
7712
+ * извлечении маршрутов во время сборки. Значение задаётся приложением из настроек окружения.
7713
+ */
7714
+ declare const SC_SSR_HTTP_TIMEOUT: InjectionToken<number>;
7715
+
7711
7716
  /**
7712
7717
  * Перехватчик запросов для реализации аутентификации.
7713
7718
  *
@@ -7770,6 +7775,19 @@ declare function ScGuestInterceptor(request: HttpRequest<unknown>, next: HttpHan
7770
7775
  */
7771
7776
  declare function ScDateFormatInterceptor(request: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
7772
7777
 
7778
+ /**
7779
+ * Перехватчик, ограничивающий время HTTP-запросов при серверном рендере (SSR).
7780
+ *
7781
+ * В браузере не вмешивается. На сервере (в том числе при извлечении маршрутов во время сборки)
7782
+ * обрывает запрос по таймауту {@link SC_SSR_HTTP_TIMEOUT}, чтобы недоступный или медленный бэкенд
7783
+ * не подвешивал стабилизацию приложения (`ApplicationRef.whenStable`). Если токен не задан или
7784
+ * таймаут не положителен, ограничение не применяется.
7785
+ *
7786
+ * @param request HTTP запрос.
7787
+ * @param next Следующий обработчик в цепочке.
7788
+ */
7789
+ declare function ScSsrTimeoutInterceptor(request: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
7790
+
7773
7791
  /**
7774
7792
  * Сервис для получения списков стран, регионов, городов.
7775
7793
  */
@@ -8780,20 +8798,6 @@ declare const IS_BROWSER: InjectionToken<boolean>;
8780
8798
  * Токен для получения признака, что скрипт выполняется на сервере.
8781
8799
  */
8782
8800
  declare const IS_SERVER: InjectionToken<boolean>;
8783
- /**
8784
- * Токен для получения данных об ответе на запрос (Express `Response`), доступен только на сервере при SSR.
8785
- *
8786
- * Переходное состояние: `server.ts` приложений сейчас работает на `CommonEngine` из `@angular/ssr/node`,
8787
- * который провайдит этот кастомный токен per-request. `CommonEngine` помечен deprecated; целевой стек —
8788
- * `AngularNodeAppEngine` + `createNodeRequestHandler`. При миграции `server.ts` на этот стек откажитесь от
8789
- * данного токена в пользу нативного `RESPONSE_INIT` (`InjectionToken<ResponseInit | null>` из `@angular/core`):
8790
- * движок провайдит его автоматически и применяет `status`/`headers` к ответу после рендера. До миграции
8791
- * `server.ts` токен остаётся рабочим механизмом SSR-редиректов и менять его не требуется.
8792
- *
8793
- * @deprecated Переходный токен SSR-ответа: при миграции `server.ts` на `AngularNodeAppEngine` будет заменён
8794
- * нативным `RESPONSE_INIT`. Метка-напоминание; до миграции токен остаётся рабочим, удалять/менять не требуется.
8795
- */
8796
- declare const RESPONSE: InjectionToken<Response<any, Record<string, any>>>;
8797
8801
 
8798
8802
  /**
8799
8803
  * Тип описывающий как должен быть настроен `Injector`.
@@ -10246,5 +10250,5 @@ declare class ScVerificationService {
10246
10250
  static ɵprov: i0.ɵɵInjectableDeclaration<ScVerificationService>;
10247
10251
  }
10248
10252
 
10249
- 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, isExpiredToken, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, runningOnTerminalFactory, scGetCurrentRoute, scOrderIsLoaded, searchTermFactory };
10253
+ export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, 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_SSR_HTTP_TIMEOUT, 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, ScSsrTimeoutInterceptor, 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, isExpiredToken, loadingPlaceholder, mapRequestStateToDataOrNull, mapToRequestState, runningOnTerminalFactory, scGetCurrentRoute, scOrderIsLoaded, searchTermFactory };
10250
10254
  export type { IAuthToken, ILogin, IPhoneCheck, IPhoneLogin, ISandwichCalculate, ISandwichCalculateItem, IToken, RobotsTagType, ScApprovedData, ScAuthAsClientOptions, ScCatalogFilter, ScContactRelationOnDataCreate, ScContragent, ScContragentEntrepreneurOnDataCreate, ScContragentIndividualOnDataCreate, ScContragentLegalOnDataCreate, ScContragentNonResidentLegalOnDataCreate, ScContragentOnDataCreate, ScDateToString, ScDocumentInfo, ScFaqGroup, ScFaqItem, ScFiltersTreeCatalog, ScIApiErrorResponse, ScIApiKeys, ScIAppRelease, ScIBank, ScIBankAccount, ScIBankAccountOnDataCreate, ScIBanner, ScIBaseCatalogFilter, ScICacheLifetime, ScICart, ScICatalogItem, ScICatalogPaginationParams, ScICatalogableItem, ScICategory, ScICategoryProductPaginationParams, ScICategoryProductParams, ScIChangePassword, ScICheckboxFilter, ScICity, ScICityWithRegion, ScICityWithRegionAndCountry, ScICodedIdentity, ScICompanyBaseInfo, ScIConfiguratorBase, ScIConfiguratorCalculateResult, ScIConfiguratorCalculateSheet, ScIConfiguratorSearchProductBase, ScIConfiguratorSettingsBase, ScIContact, ScIContactAndMedia, ScIContactBase, ScIContactOnDataCreate, ScIContactRelation, ScIContactWithRelations, ScIContragentEntrepreneur, ScIContragentIndividual, ScIContragentLegal, ScIContragentNonResidentLegal, ScICountry, ScICreatedAt, ScICurrency, ScIDateFormat, ScIDatePeriod, ScIDefaultPageMeta, ScIDeletableNamedIdentity, ScIDeletedAt, ScIDeliveryAddress, ScIDeliveryAddressOnDataCreate, ScIDeliveryCostDTO, ScIDirectionManagerContact, ScIDiscount, ScIEmployment, ScIExperience, ScIFeedbackAPI, ScIFeedbackMessage, ScIFile, ScIFilterTreeCategory, ScIFrequentlyAskedQuestionsPaginationParams, ScIHiddenCatalogableItem, ScIIdentity, ScIImage, ScIManager, ScIMapsDefaultOptions, ScINamed, ScINamedIdentity, ScINewCartItemMeasured, ScINewOrder, ScINewOrderDraftRequest, ScINewOrderItemBase, ScINews, ScINewsTile, ScINotificationsCount, ScIOpf, ScIOrder, ScIOrderBase, ScIOrderDelivery, ScIOrderDraft, ScIOrderDraftListParams, ScIOrderDraftShort, ScIOrderEditorLoader, ScIOrderHistory, ScIOrderHistoryUser, ScIOrderItem, ScIOrderLoader, ScIOrderPayment, ScIOrderShort, ScIOrgContact, ScIPaginate, ScIPaginationLinks, ScIPaginationMeta, ScIPaginationParams, ScIParentCategoryRedirect, ScIPasswordOnDataUpdate, ScIPhoneOnDataApprove, ScIPrimaryCatalogableItem, ScIProduct, ScIProductImages, ScIProductNotifyWhenInStock, ScIProductUnit, ScIProperties, ScIQuestionAnswer, ScIQuestionPossibleAnswer, ScIQuestionnaire, ScIQuestionnaireQuestion, ScIRangeFilter, ScIReclamation, ScIReclamationItem, ScIReclamationOnDataCreate, ScIReclamationOnDataCreateItem, ScIReclamationPaginationParams, ScIReclamationShort, ScIReference, ScIReferencesTypes, ScIRegion, ScIRegionWithCities, ScIRegionWithCountry, ScIRequestState, ScIRequisites, ScIRequisitesWithLabel, ScIRetailContact, ScISalary, ScISalesDirection, ScISeo, ScISeoResource, ScISimpleSearch, ScISimpleUserOnDataCreate, ScISocialMedia, ScISortOrder, ScISuggestionAddress, ScISuggestionBank, ScISuggestionEmail, ScISuggestionFIO, ScISuggestionOrganization, ScITerminalProvider, ScITypedClassProvider, ScITypedNullableRange, ScITypedValueProvider, ScIUpdatableNamedIdentity, ScIUpdateInterval, ScIUpdateOrderDraftRequest, ScIUpdatedAt, ScIUrls, ScIUserConfigs, ScIUserDTO, ScIUserMetrikaEvent, ScIUserNotification, ScIUserOnDataCreate, ScIUserOnDataUpdate, ScIVacanciesDataSource, ScIVirtualCategory, ScIWarehouse, ScIWarehouseStockCount, ScOrderLoading, ScPriceHistory, ScPropertyFilters, ScProvider, ScRangeFilter, ScSuggestion, ScTProductSortField, ScToggleFilter, ScTypeByKey, ScUTM, ScUTMParams };