build method

  1. @override
Future<List> build(
  1. String? arg
)

Implementation

@override
Future<List<ActerPin>> build(String? arg) async {
  final client = ref.watch(alwaysClientProvider);

  //GET ALL PINS
  if (arg == null) {
    _listener = client.subscribeStream('pins');
  } else {
    //GET SPACE PINS
    _listener = client.subscribeStream('$arg::pins');
  }

  _poller = _listener.listen(
    (data) async {
      state = await AsyncValue.guard(() => _getPinList(client));
    },
    onError: (e, s) {
      _log.severe('stream errored', e, s);
    },
    onDone: () {
      _log.info('stream ended');
    },
  );
  ref.onDispose(() => _poller.cancel());
  return await _getPinList(client);
}