import 'package:halkyon_learn_flutter/src/feature/study/data/review_gateway.dart'; /// A [ReviewGateway] in memory; ids sort by creation, as UUID v7 ids do. class FakeReviewGateway() implements ReviewGateway { var _nextId = 1; /// Every review stored, in order. final rows = []; @override Future> reviewsOf(Set cardIds) async => [ for (final row in rows) if (cardIds.contains(row.cardId)) row, ]; @override Future insert(Iterable reviews) async { for (final review in reviews) { rows.add(( id: 'review-${(_nextId++).toString().padLeft(4, '0')}', cardId: review.cardId, rating: review.rating, reviewedAt: review.reviewedAt, durationMs: review.durationMs, mode: review.mode, )); } } @override Stream get remoteChanges => const Stream.empty(); }