buildFromRecordStream method

Widget buildFromRecordStream(
  1. KType recordId, {
  2. RecordDataServiceWidgetBuilder<X, KType>? builder,
  3. String? key,
  4. X? initialValue,
  5. bool isSliver = false,
  6. SimpleWidgetBuilder loadingFn = kLoader,
})

Implementation

Widget buildFromRecordStream(KType recordId,
    {RecordDataServiceWidgetBuilder<X, KType>? builder,
    String? key,
    X? initialValue,
    bool isSliver = false,
    SimpleWidgetBuilder loadingFn = kLoader}) {
  final service = this;
  assert(recordId != null);
  return StreamBuilder<X>(
    key: Key("${X}${key ?? recordId}"),
    stream: service
        .recordStream(recordId)!
        .where((event) => event != null)
        .cast(),
    initialData: initialValue,
    builder: (context, snapshot) => snapshot.render(
      context,
      isSliver: isSliver,
      loadingFn: loadingFn,
      successFn: (data) {
        return builder!(data, service);
      },
    ),
  );
}