AnkiIO 1.0.2
Build, validate, import, and export Anki-compatible decks from .NET
Loading...
Searching...
No Matches
AnkiPackage.cs
1namespace AnkiIO;
2
28public sealed class AnkiPackage
29{
30 internal AnkiPackage(IReadOnlyList<AnkiDeck> decks, AnkiMediaCollection media, IReadOnlyList<AnkiDiagnostic> diagnostics)
31 {
32 Decks = Array.AsReadOnly(decks.ToArray());
33 Media = media;
34 Diagnostics = Array.AsReadOnly(diagnostics.ToArray());
35 }
36
46 public IReadOnlyList<AnkiDeck> Decks { get; }
47
55 public AnkiMediaCollection Media { get; }
56
60 public IReadOnlyList<AnkiDiagnostic> Diagnostics { get; }
61
65 public IEnumerable<AnkiNote> Notes => Decks.SelectMany(deck => deck.Traverse()).SelectMany(deck => deck.Notes);
66
70 public IEnumerable<AnkiCard> Cards => Notes.SelectMany(note => note.Cards);
71}
Owns media registrations for a deck and prevents unsafe or colliding names.
IReadOnlyList< AnkiDeck > Decks
Gets a fixed collection of the package's top-level deck hierarchies.
IEnumerable< AnkiNote > Notes
Enumerates all notes reachable from every top-level hierarchy.
AnkiMediaCollection Media
Gets the media payloads eagerly extracted from the archive.
IEnumerable< AnkiCard > Cards
Enumerates all cards reachable through Notes.
IReadOnlyList< AnkiDiagnostic > Diagnostics
Gets the ordered compatibility and preservation findings produced while reading.