Skip to main content

Module view

Module view 

Source
Expand description

Readings of a record, for an interface to show.

Every type here is a projection: computed on demand from structures that remain the truth, never a parallel model that could disagree with them. Two consequences worth stating, because they are the point of the design:

  • A projection that cannot express something loses nothing, because the structure is still in the document and still appears in RecordView.
  • Nothing is filtered out for being unrecognized. Everything in the file deserves to reach the screen, so RecordView::structures holds every structure, in file order, labelled as well as it can be.

With the serde feature these types serialize, for callers that send them to a webview or over a wire.

Structs§

EventView
An event or attribute, read for a timeline or a summary line.
FamilyLinkView
A link from a person to a family.
FamilyView
A family, read for the family view and the pedigree.
IdentifierView
An identifier another system knows this record by.
IndividualView
An individual, read for the person view.
NameView
One NAME structure.
RecordView
A whole record, as the record view shows it.
StructureView
One structure, ready to render, with everything beneath it.

Functions§

raw_lines
The record as GEDCOM, exactly as it will be written.
record_title
A one-line heading for a record of any type.
truncate_heading
Caps a heading at one line’s worth of characters. A note record can be pages long; a heading is 90 characters of it with an ellipsis.