projects/core/src/product/connectors/product/product.connector.ts
Methods |
constructor(adapter: ProductAdapter)
|
||||||
|
Parameters :
|
| get |
get(productCode: string, scope: string)
|
|
Returns :
Observable<Product>
|
| getMany | ||||||
getMany(products: ScopedProductData[])
|
||||||
|
Parameters :
Returns :
ScopedProductData[]
|
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Product } from '../../../model/product.model';
import { ProductAdapter } from './product.adapter';
import { ScopedProductData } from './scoped-product-data';
@Injectable({
providedIn: 'root',
})
export class ProductConnector {
constructor(protected adapter: ProductAdapter) {}
get(productCode: string, scope = ''): Observable<Product> {
return this.adapter.load(productCode, scope);
}
getMany(products: ScopedProductData[]): ScopedProductData[] {
if (!this.adapter.loadMany) {
return products.map((product) => ({
...product,
data$: this.adapter.load(product.code, product.scope),
}));
}
return this.adapter.loadMany(products);
}
}