import Foundation public struct RDEPUBChapterLocation: Codable, Equatable { public var spineIndex: Int public var chapterOffset: Int public var fragmentID: String? public var progressionInChapter: Double? public var schemaVersion: Int public init( spineIndex: Int, chapterOffset: Int, fragmentID: String? = nil, progressionInChapter: Double? = nil, schemaVersion: Int = 2 ) { self.spineIndex = spineIndex self.chapterOffset = chapterOffset self.fragmentID = fragmentID.flatMap { $0.isEmpty ? nil : $0 } self.progressionInChapter = progressionInChapter self.schemaVersion = schemaVersion } var isFallbackEstimate: Bool { schemaVersion == 1 } }