get method

  1. @override
VoidCallback get(
  1. TTGet request, [
  2. dynamic _,
  3. dynamic __
])
override

Request data for a given soul

@returns A function to be called to clean up callback listeners

Implementation

@override
VoidCallback get(TTGet request, [dynamic _, dynamic __]) {
  _store.fetchNode(request.soul).then((node) {
    TTGraphData ttGraphData = TTGraphData();
    ttGraphData[request.soul] = node;
    return TTMsg(
        key: generateMessageId(),
        pos: request.msgId ?? '',
        put: !isNull(node) ? ttGraphData : null);
  }).catchError((err) {
    assert(() {
      // ignore: avoid_print
      print(err);
      return true;
    }());

    return TTMsg(
        key: generateMessageId(),
        pos: request.msgId ?? '',
        err: 'Error fetching node');
  }).then((msg) {
    ingest([msg]);
    if (!isNull(request.cb)) {
      request.cb!(msg);
    }
  });

  return noop;
}