Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrDuplicateGroup = errors.New("duplicate group")
ErrDuplicateGroup indicates a repeated normalized group.
var ErrDuplicateTag = errors.New("duplicate tag")
ErrDuplicateTag indicates a repeated normalized tag.
var ErrInvalidArea = errors.New("invalid area")
ErrInvalidArea indicates an invalid page area.
var ErrInvalidBookmark = errors.New("invalid bookmark")
ErrInvalidBookmark indicates an invalid bookmark note.
var ErrInvalidDate = errors.New("invalid date")
ErrInvalidDate indicates an invalid calendar date.
var ErrInvalidGroup = errors.New("invalid group")
ErrInvalidGroup indicates an invalid group.
var ErrInvalidInbox = errors.New("invalid inbox")
ErrInvalidInbox indicates an invalid inbox note.
var ErrInvalidJournal = errors.New("invalid journal")
ErrInvalidJournal indicates an invalid journal note.
var ErrInvalidMetadata = errors.New("invalid note metadata")
ErrInvalidMetadata indicates invalid common note metadata.
var ErrInvalidNoteKind = errors.New("invalid note kind")
ErrInvalidNoteKind indicates an unsupported note kind.
var ErrInvalidPage = errors.New("invalid page")
var ErrInvalidPerson = errors.New("invalid person")
var ErrInvalidTag = errors.New("invalid tag")
ErrInvalidTag indicates an invalid tag.
var ErrInvalidTitle = errors.New("invalid title")
ErrInvalidTitle indicates an invalid note title.
var ErrInvalidURL = errors.New("invalid URL")
ErrInvalidURL indicates an invalid bookmark URL.
Functions ¶
Types ¶
type Area ¶
type Area struct {
// contains filtered or unexported fields
}
Area represents a validated hierarchical location for pages.
type Bookmark ¶
type Bookmark struct {
// contains filtered or unexported fields
}
Bookmark is a saved HTTP or HTTPS link.
func NewBookmark ¶
NewBookmark creates a bookmark from validated values.
type Date ¶
type Date struct {
// contains filtered or unexported fields
}
Date represents a calendar date in YYYY-MM-DD format.
func DateFromTime ¶
DateFromTime creates a date from a time value.
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group represents a normalized note group.
type Groups ¶
type Groups struct {
// contains filtered or unexported fields
}
Groups is an immutable, ordered collection of unique note groups. Its zero value is a valid empty collection.
type Inbox ¶
type Inbox struct {
// contains filtered or unexported fields
}
Inbox is a quick note awaiting review.
type Journal ¶
type Journal struct {
// contains filtered or unexported fields
}
Journal is a note associated with a calendar date.
func NewJournal ¶
NewJournal creates a journal from validated values.
type Metadata ¶
type Metadata struct {
// contains filtered or unexported fields
}
Metadata contains the properties shared by every note.
type Note ¶
type Note interface {
Metadata() Metadata
// contains filtered or unexported methods
}
Note is a supported note that exposes its common metadata.
type NoteKind ¶
type NoteKind string
NoteKind identifies a supported note type.
func ParseNoteKind ¶
ParseNoteKind parses a note kind.
type Page ¶
type Page struct {
// contains filtered or unexported fields
}
Page is a titled note that may belong to an area.
func NewPage ¶
func NewPage(noteID uuid.UUID, title Title, area Area, tags Tags, createdAt time.Time) (Page, error)
NewPage creates a page from validated values.
type Person ¶
type Person struct {
// contains filtered or unexported fields
}
Person is a note about someone the user knows.
func NewPerson ¶
func NewPerson(noteID uuid.UUID, name Title, groups Groups, tags Tags, createdAt time.Time) (Person, error)
NewPerson creates a person from validated values.
type Tag ¶
type Tag struct {
// contains filtered or unexported fields
}
Tag represents a normalized note tag.
type Tags ¶
type Tags struct {
// contains filtered or unexported fields
}
Tags is an immutable, ordered collection of unique note tags. Its zero value is a valid empty collection.
type Title ¶
type Title struct {
// contains filtered or unexported fields
}
Title represents a validated, single-line note title.