1

I am getting error at line 19 where I applied transform on _item_fetcher and pipe it to _item_output: 'PublishSubject' is not a subtype of type 'Stream' of 'stream'. _repository.fetch_Items() returns a Future, ItemModel is custom made class. _repository.fetch_Top_Ids() returns List.

import 'package:rxdart/rxdart.dart';
import 'package:flutter/material.dart';
import 'ItemModel.dart';
import 'Repository.dart';

class StoriesBloc{
  final _repository = Repository();
  final _top_ids = PublishSubject();
  final _item_output = BehaviorSubject();
  final _item_fetcher = PublishSubject();

  Stream get top_ids => _top_ids.stream;
  Stream get items => _item_output.stream;

  get fetch_Item => _item_fetcher.sink.add;
  

  StoriesBloc(){
    _item_fetcher.stream.transform(_item_outputTransformer()).pipe(_item_output);
  }

  fethTopIds() async{
    final ids = await _repository.fetch_Top_Ids();
    _top_ids.sink.add(ids);
  }

  _item_outputTransformer(){
    print('sdfgsfgsfhddvcsfc');
    return ScanStreamTransformer(
      (Map cache, int id, index){
        print("\n\n\n\n $index \n\n\n\n");
        cache[id] = _repository.fetch_Items(id);
        return cache;
      },

      {},  
    );
  }

  dispose(){
    _top_ids.close();
    _item_output.close();
    _item_fetcher.close();
  }
}

0 Answers0