load method

WorldRunReceipt? load(
  1. String scenario
)

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;
  }
}