АП
Size: a a a
АП
MA
// CQRS
class ProductService {
// commands
commandAddProduct: Subject<Product> = new Subject<Product>();
// queries
products$ : Observable<Product[]> = combineLatest(
this.productApi.list$, // 1
this.commandAddProduct, // 2
)
.pipe(map([
{ data: products } // 1
add, // 2 // @todo implement splice()
]) => products);
productsWithCategories$ : Observable<Product[]> = combineLatest(
this.products$, // 1
this.categoriesService.categories$, // 2
)
.pipe(map([
products, // 1
{ data: categories }, // 2
]) => ...someMap...);
}
АП
АП
АП
MA
АП
АП
MA
АП
АП
АП
АП
АП
АП
АП
ФІ
ФІ
ФІ
ФІ