diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2026-06-16 12:08:21 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <jj@r.bdr.sh> | 2026-06-16 12:22:47 +0200 |
| commit | 501fdce29e4d2c46c4708ad7f44056878e0db3fa (patch) | |
| tree | db923b77037db9f5b37600a6e34c3bb2e8a971be /Sources/NorgKit/Models/NorgDocument.swift | |
Initial extraction from Norganize1.0.0
Diffstat (limited to 'Sources/NorgKit/Models/NorgDocument.swift')
| -rw-r--r-- | Sources/NorgKit/Models/NorgDocument.swift | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Sources/NorgKit/Models/NorgDocument.swift b/Sources/NorgKit/Models/NorgDocument.swift new file mode 100644 index 0000000..73a3ed6 --- /dev/null +++ b/Sources/NorgKit/Models/NorgDocument.swift @@ -0,0 +1,16 @@ +/// A fully parsed Norg document. +public struct NorgDocument: Equatable, Hashable, Sendable, Codable { + + /// The parsed blocks, as a flat list. + public var blocks: [NorgBlock] + + /// Given an array of parsed blocks, create a document. + public init(blocks: [NorgBlock] = []) { + self.blocks = blocks + } + + /// Converts the flat document into a tree. + public func tree() -> [NorgNode] { + TreeFolder(blocks).fold() + } +} |