load method
Load the current run receipt for scenario, or null when no
receipt exists (never run).
Implementation
WorldRunReceipt? load(String scenario) {
final file = File(
p.join(projectRoot, '.zfa', 'receipts', fileNameFor(scenario)),
);
if (!file.existsSync()) return null;
try {
final doc = jsonDecode(file.readAsStringSync());
if (doc is! Map<String, dynamic>) return null;
return WorldRunReceipt(
scenario: doc['scenario'] as String? ?? scenario,
feature: doc['feature'] as String? ?? '',
worldHash: doc['world_hash'] as String? ?? '',
seed: (doc['seed'] as num?)?.toInt() ?? 0,
verdict: doc['verdict'] as String? ?? '',
passed: doc['verdict'] == 'GREEN',
worldValid: doc['world_valid'] as bool? ?? false,
plays: (doc['plays'] as num?)?.toInt() ?? 0,
runDigest: doc['run_digest'] as String? ?? '',
virtualElapsedMs: (doc['virtual_elapsed_ms'] as num?)?.toInt() ?? 0,
at: doc['at'] as String? ?? '',
path: file.path,
invalidatedBy: doc['invalidated_by'] as String?,
);
} on FormatException {
return null;
}
}