surahMetadata property
List<QuranVerse>
get
surahMetadata
Implementation
List<QuranVerse> get surahMetadata {
if (!_isLoaded) return [];
// We lazily parse Surah 1 verse 1 for each Surah to get the metadata
// (surahName, surahNameEn, etc.) without parsing the whole Surah.
if (_fallbackMetadata.isEmpty && _service.rawJson != null) {
final raw = _service.rawJson!;
final versesMap = (raw['verses'] as Map<String, dynamic>?) ?? raw;
final ruleNames = raw['rule_names'] as Map<String, dynamic>?;
for (int i = 1; i <= 114; i++) {
final key = '$i:1';
final obj = versesMap[key];
if (obj != null) {
_fallbackMetadata.add(
QuranVerse.fromJson(
i,
1,
obj as Map<String, dynamic>,
globalRuleNames: ruleNames,
),
);
}
}
}
return _fallbackMetadata;
}