{
  "version": 1,
  "fileId": "file:hiutf5:wasmepubservice-cs",
  "fingerprint": "1ef9mts",
  "path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
  "absolutePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
  "shortLabel": "WasmEpubService",
  "longLabel": "NexusReader.Web.Client/Services/WasmEpubService.cs",
  "purpose": "Provides WebAssembly/client-side implementations for reading EPUB content and extracting EPUB metadata in-browser using HttpClient and a local EPUB library.",
  "classification": {
    "role": "service",
    "layer": "infrastructure",
    "confidence": 0.9,
    "evidence": [
      "Service naming pattern",
      "Application/service path heuristic",
      "Implements IEpubReader and IEpubMetadataExtractor interfaces (lines 8, 43).",
      "Uses HttpClient to call /api/epub endpoints (line 25) and VersOne.Epub to open EPUB streams (line 49)."
    ]
  },
  "className": "WasmEpubReader",
  "domainConcepts": [
    "Epub",
    "Ebook metadata",
    "ReaderPage"
  ],
  "patterns": [
    "Adapter (interface implementation)",
    "Service Implementation"
  ],
  "keyDetails": "GetEpubContentAsync performs an HTTP GET to /api/epub/{ebookId}/{chapterIndex} and handles JSON deserialization and error paths; metadata extraction is performed locally via VersOne.Epub and returns LocalEpubMetadata; both methods use try/catch and FluentResults for uniform success/failure handling. Comment notes metadata extraction was moved to WasmEpubMetadataExtractor (line 40).",
  "coverage": {
    "symbolCount": 6,
    "executableSymbolCount": 3,
    "executableSymbolsWithControlFlowCount": 3,
    "groundedEdgeCount": 6,
    "unresolvedReferenceCount": 9,
    "controlFlowFragmentCount": 3,
    "unresolvedJumpCount": 0,
    "unsupportedConstructCount": 0,
    "controlFlowCoverage": 1,
    "requiredDiagramCount": 2,
    "generatedDiagramCount": 4,
    "missingRequiredDiagramCount": 0
  }
}