From c8090ef41927bd4e9bce869cc87d55b16cfd288b Mon Sep 17 00:00:00 2001 From: Tobias Ouwejan Date: Fri, 30 Aug 2019 11:41:59 +0200 Subject: [PATCH] fix typesafety issues on rxjs / typescript 3.5 see https://github.com/ReactiveX/rxjs/issues/4959 --- projects/core/src/cms/page/content-page-meta.resolver.ts | 6 +++--- .../src/product/services/category-page-meta.resolver.ts | 2 +- .../core/src/product/services/product-page-meta.resolver.ts | 2 +- .../core/src/product/services/search-page-meta.resolver.ts | 2 +- .../cart/add-to-cart/add-to-cart.component.ts | 4 ++-- .../site-context-selector/site-context-component.service.ts | 4 ++-- .../navigation/navigation/navigation.service.ts | 2 +- .../product-reviews/product-reviews.component.ts | 2 +- .../cms-structure/page/page-layout/page-layout.service.ts | 4 ++-- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/projects/core/src/cms/page/content-page-meta.resolver.ts b/projects/core/src/cms/page/content-page-meta.resolver.ts index d14e5b76113..29afedbff1a 100644 --- a/projects/core/src/cms/page/content-page-meta.resolver.ts +++ b/projects/core/src/cms/page/content-page-meta.resolver.ts @@ -1,12 +1,12 @@ import { Injectable } from '@angular/core'; import { combineLatest, Observable, of } from 'rxjs'; import { filter, map, switchMap } from 'rxjs/operators'; +import { TranslationService } from '../../i18n/translation.service'; +import { PageType } from '../../model/cms.model'; import { CmsService } from '../facade/cms.service'; import { Page, PageMeta } from '../model/page.model'; import { PageMetaResolver } from './page-meta.resolver'; import { PageBreadcrumbResolver, PageTitleResolver } from './page.resolvers'; -import { PageType } from '../../model/cms.model'; -import { TranslationService } from '../../i18n/translation.service'; @Injectable({ providedIn: 'root', @@ -24,7 +24,7 @@ export class ContentPageMetaResolver extends PageMetaResolver resolve(): Observable { return this.cms.getCurrentPage().pipe( filter(Boolean), - switchMap(page => + switchMap((page: Page) => combineLatest([ this.resolveTitle(page), this.resolveBreadcrumbLabel().pipe( diff --git a/projects/core/src/product/services/category-page-meta.resolver.ts b/projects/core/src/product/services/category-page-meta.resolver.ts index 5a775635908..90a8c787a66 100644 --- a/projects/core/src/product/services/category-page-meta.resolver.ts +++ b/projects/core/src/product/services/category-page-meta.resolver.ts @@ -29,7 +29,7 @@ export class CategoryPageMetaResolver extends PageMetaResolver resolve(): Observable { return this.cms.getCurrentPage().pipe( filter(Boolean), - switchMap(page => { + switchMap((page: Page) => { // only the existence of a plp component tells us if products // are rendered or if this is an ordinary content page if (this.hasProductListComponent(page)) { diff --git a/projects/core/src/product/services/product-page-meta.resolver.ts b/projects/core/src/product/services/product-page-meta.resolver.ts index 6f737c755b9..52b9d905a4f 100644 --- a/projects/core/src/product/services/product-page-meta.resolver.ts +++ b/projects/core/src/product/services/product-page-meta.resolver.ts @@ -38,7 +38,7 @@ export class ProductPageMetaResolver extends PageMetaResolver resolve(): Observable { return this.routingService.getRouterState().pipe( map(state => state.state.params['productCode']), - filter(Boolean), + filter(code => !!code), switchMap(code => this.productService.get(code)), filter(Boolean), switchMap((p: Product) => diff --git a/projects/core/src/product/services/search-page-meta.resolver.ts b/projects/core/src/product/services/search-page-meta.resolver.ts index cceaaa77922..2dc26f1441d 100644 --- a/projects/core/src/product/services/search-page-meta.resolver.ts +++ b/projects/core/src/product/services/search-page-meta.resolver.ts @@ -35,7 +35,7 @@ export class SearchPageMetaResolver extends PageMetaResolver string > = this.routingService.getRouterState().pipe( map(state => state.state.params['query']), - filter(Boolean) + filter(q => !!q) ); return combineLatest([total$, query$]).pipe( diff --git a/projects/storefrontlib/src/cms-components/cart/add-to-cart/add-to-cart.component.ts b/projects/storefrontlib/src/cms-components/cart/add-to-cart/add-to-cart.component.ts index 9709f088ba8..f1b0bda8e19 100644 --- a/projects/storefrontlib/src/cms-components/cart/add-to-cart/add-to-cart.component.ts +++ b/projects/storefrontlib/src/cms-components/cart/add-to-cart/add-to-cart.component.ts @@ -6,7 +6,7 @@ import { OnDestroy, OnInit, } from '@angular/core'; -import { CartService, OrderEntry } from '@spartacus/core'; +import { CartService, OrderEntry, Product } from '@spartacus/core'; import { Observable, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { ModalRef, ModalService } from '../../../shared/components/modal/index'; @@ -48,7 +48,7 @@ export class AddToCartComponent implements OnInit, OnDestroy { this.subscription = this.currentProductService .getProduct() .pipe(filter(Boolean)) - .subscribe(product => { + .subscribe((product: Product) => { this.productCode = product.code; this.quantity = 1; diff --git a/projects/storefrontlib/src/cms-components/misc/site-context-selector/site-context-component.service.ts b/projects/storefrontlib/src/cms-components/misc/site-context-selector/site-context-component.service.ts index 8d89f0a1f85..86f4b8d0c4e 100644 --- a/projects/storefrontlib/src/cms-components/misc/site-context-selector/site-context-component.service.ts +++ b/projects/storefrontlib/src/cms-components/misc/site-context-selector/site-context-component.service.ts @@ -71,8 +71,8 @@ export class SiteContextComponentService { context?: SiteContextType ): Observable> { return this.getContext(context).pipe( - map(ctx => this.getInjectedService(ctx)), - filter(Boolean) + map((ctx: string) => this.getInjectedService(ctx)), + filter(s => !!s) ); } diff --git a/projects/storefrontlib/src/cms-components/navigation/navigation/navigation.service.ts b/projects/storefrontlib/src/cms-components/navigation/navigation/navigation.service.ts index 4b2fa48ec33..9364cb7562f 100644 --- a/projects/storefrontlib/src/cms-components/navigation/navigation/navigation.service.ts +++ b/projects/storefrontlib/src/cms-components/navigation/navigation/navigation.service.ts @@ -37,7 +37,7 @@ export class NavigationService { return of(); } return data$.pipe( - filter(Boolean), + filter(data => !!data), switchMap(data => { const navigation = data.navigationNode ? data.navigationNode : data; return this.cmsService.getNavigationEntryItems(navigation.uid).pipe( diff --git a/projects/storefrontlib/src/cms-components/product/product-tabs/product-reviews/product-reviews.component.ts b/projects/storefrontlib/src/cms-components/product/product-tabs/product-reviews/product-reviews.component.ts index 65d9a6480c0..c6c7dc02a05 100644 --- a/projects/storefrontlib/src/cms-components/product/product-tabs/product-reviews/product-reviews.component.ts +++ b/projects/storefrontlib/src/cms-components/product/product-tabs/product-reviews/product-reviews.component.ts @@ -21,7 +21,7 @@ export class ProductReviewsComponent { product$: Observable = this.currentProductService.getProduct(); reviews$: Observable = this.product$.pipe( - filter(Boolean), + filter(p => !!p), switchMap(product => this.reviewService.getByProductCode(product.code)), tap(() => { this.resetReviewForm(); diff --git a/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts b/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts index fa76025ee81..d659f353473 100644 --- a/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts +++ b/projects/storefrontlib/src/cms-structure/page/page-layout/page-layout.service.ts @@ -9,7 +9,7 @@ import { LayoutSlotConfig, SlotConfig, } from '../../../layout/config/layout-config'; -import { PAGE_LAYOUT_HANDLER, PageLayoutHandler } from './page-layout-handler'; +import { PageLayoutHandler, PAGE_LAYOUT_HANDLER } from './page-layout-handler'; @Injectable() export class PageLayoutService { @@ -75,7 +75,7 @@ export class PageLayoutService { } get page$(): Observable { - return this.cms.getCurrentPage().pipe(filter(Boolean)); + return this.cms.getCurrentPage().pipe(filter(page => !!page)); } get templateName$(): Observable {