FPO.Dto.DocumentDto.MetaTree
This module defines the meta map structure for TOC trees.
The meta map specifies the allowed structure of documents, including which types of elements can contain which other elements, how children are ordered and which can be added, whether headers are editable, and if children can be deleted.
This is imperative for enforcing document structure rules in a flexible and extensible manner, and is used extensively in the TOC component and related logic.
#KindName
#TypeName
#FullTypeName
newtype FullTypeNameConstructors
FullTypeName { kindName :: KindName, typeName :: TypeName }
Instances
#getKindName
getKindName :: FullTypeName -> KindName#getTypeName
getTypeName :: FullTypeName -> TypeName#DisplayTypeName
#ProperTypeMeta
#isLeaf
isLeaf :: ProperTypeMeta -> Boolean#getDisplayNameAsString
#getTreeSyntax
#HasEditableHeader
#isEditable
#TreeSyntax
data TreeSyntax aConstructors
LeafSyntaxTreeSyntax HasEditableHeader (ChildrenOrder a)A tree node, which can contain children.
Instances
Generic (TreeSyntax a) _(Show a) => Show (TreeSyntax a)(DecodeJson a) => DecodeJson (TreeSyntax a)
#ChildrenOrder
data ChildrenOrder aConstructors
SequenceOrder (Array (Disjunction a))Children are ordered in a specific sequence.
StarOrder (Disjunction a)Children can appear in any order and quantity (e.g., multiple sections).
Instances
Generic (ChildrenOrder a) _(Show a) => Show (ChildrenOrder a)(DecodeJson a) => DecodeJson (ChildrenOrder a)
#isStarOrder
isStarOrder :: forall a. ChildrenOrder a -> BooleanReturns true iff the ChildrenOrder is a StarOrder.
#Disjunction
newtype Disjunction aConstructors
Disjunction (Array a)
Instances
Functor DisjunctionGeneric (Disjunction a) _(Show a) => Show (Disjunction a)(Eq a) => Eq (Disjunction a)(DecodeJson a) => DecodeJson (Disjunction a)
#isAtLeastAsGeneral
isAtLeastAsGeneral :: forall a. Eq a => Disjunction a -> Disjunction a -> BooleanChecks if the first Disjunction is at least as general as the second,
i.e., if all items in the first are also present in the second.
#getAllowedItems
getAllowedItems :: forall a. Disjunction a -> Array a#MetaMap
type MetaMap = Array (Tuple FullTypeName ProperTypeMeta)Type alias for the complete meta map
#emptyMetaMap
emptyMetaMap :: MetaMapAn empty meta map.
#lookupWithHeader
lookupWithHeader :: TreeHeader -> MetaMap -> Maybe ProperTypeMetaLookup a ProperTypeMeta in the MetaMap using a TreeHeader.
#lookupWithFullTypeName
lookupWithFullTypeName :: FullTypeName -> MetaMap -> Maybe ProperTypeMetaLookup a ProperTypeMeta in the MetaMap using a FullTypeName.
#findDefinition
findDefinition :: forall a. RepresentsFullTypeName a => a -> MetaMap -> Maybe (Tuple FullTypeName ProperTypeMeta)#findAllowedChildren
findAllowedChildren :: TreeHeader -> MetaMap -> Array (Tuple FullTypeName ProperTypeMeta)For a given TreeHeader, find all allowed child types based on the
MetaMap.
Returns an array of tuples containing the FullTypeName and
corresponding ProperTypeMeta.
#isAllowedChild
isAllowedChild :: forall a. RepresentsFullTypeName a => a -> TreeHeader -> MetaMap -> BooleanChecks whether a given FullTypeName is an allowed child
of the specified parent TreeHeader according to the MetaMap.
This can be used to check if a certain element can be added as a child to a parent element (e.g., via a drag-and-drop interface).
#allowsChildDeletion
allowsChildDeletion :: forall a. RepresentsFullTypeName a => a -> MetaMap -> BooleanDetermines if children of the given FullTypeName can be deleted.
This is true if the element exists and has a tree syntax with StarOrder,
allowing for any number of children (including zero).
#hasEditableHeader
hasEditableHeader :: forall a. RepresentsFullTypeName a => a -> MetaMap -> BooleanDetermines if the header of the given FullTypeName is editable.
This is true if the element exists and has a tree syntax with HasEditableHeader true.
#applyPredicateForTreeSyntax
applyPredicateForTreeSyntax :: (TreeSyntax FullTypeName -> Boolean) -> FullTypeName -> MetaMap -> BooleanGeneric lookup function that applies a predicate to the TreeSyntax
of the ProperTypeMeta associated with the given FullTypeName.
Returns false if the FullTypeName is not found in the MetaMap,
otherwise applies the predicate to the TreeSyntax.
#getMandatoryChildren
getMandatoryChildren :: ProperTypeMeta -> MetaMap -> Array (Tuple FullTypeName ProperTypeMeta)Returns all direct children that must be present according to a sequence order.
#getDisjunction
getDisjunction :: forall a. RepresentsFullTypeName a => a -> MetaMap -> Maybe (Disjunction FullTypeName)If the FullTypeName corresponds to a StarOrder in the MetaMap,
returns the associated Disjunction FullTypeName.
This can be viewed as the pendant to findAllowedChildren for StarOrder types.
It returns, if applicable, the Disjunction that specifies which children
may be added in any quantity and order.
#decodeMetaMap
decodeMetaMap :: Json -> Either JsonDecodeError MetaMapHelper function to decode the entire meta map
#DocumentTreeWithMetaMap
newtype DocumentTreeWithMetaMap aWrapper type to hold both the document tree and its associated meta map.
Constructors
DocumentTreeWithMetaMap { metaMap :: MetaMap, tree :: RootTree a }
#decodeDocumentWithMetaMap
decodeDocumentWithMetaMap :: forall a. DecodeJson a => Json -> Either JsonDecodeError (DocumentTreeWithMetaMap a)This is an extended version of decodeDocument that also extracts the metaMap,
see DocumentTreeWithMetaMap. It would be wise to, at some point, refactor the
documentDto system and everything related to RootTree. For now, this is a quick
solution to get the meta map alongside the document tree.
#prettyPrintMetaMap
prettyPrintMetaMap :: MetaMap -> StringPretty print with nice formatting and indentation
#RepresentsFullTypeName
class RepresentsFullTypeName a whereAnything that can represent a full type name (i.e., has kind and type)
can implement this type class to provide a way to extract the
FullTypeName, i.e., implicitly convert itself to a FullTypeName.
This way, one can use TreeHeader or other wrappers directly in
query/interfacing functions, rather than always having to convert manually
to FullTypeName.
Members
toFullTypeName :: a -> FullTypeName
Instances
Modules
- Ace
- Ace.Anchor
- Ace.BackgroundTokenizer
- Ace.Command
- Ace.Config
- Ace.Document
- Ace.EditSession
- Ace.Editor
- Ace.Ext.LanguageTools
- Ace.Ext.LanguageTools.Completer
- Ace.KeyBinding
- Ace.Marker
- Ace.Range
- Ace.ScrollBar
- Ace.Search
- Ace.Selection
- Ace.TokenIterator
- Ace.Tokenizer
- Ace.Types
- Ace.UndoManager
- Ace.VirtualRenderer
- Affjax
- Affjax.RequestBody
- Affjax.RequestHeader
- Affjax.ResponseFormat
- Affjax.ResponseHeader
- Affjax.StatusCode
- Ansi.Codes
- Ansi.Output
- Control.Alt
- Control.Alternative
- Control.Applicative
- Control.Applicative.Free
- Control.Applicative.Free.Gen
- Control.Apply
- Control.Biapplicative
- Control.Biapply
- Control.Bind
- Control.Category
- Control.Comonad
- Control.Comonad.Cofree
- Control.Comonad.Cofree.Class
- Control.Comonad.Env
- Control.Comonad.Env.Class
- Control.Comonad.Env.Trans
- Control.Comonad.Store
- Control.Comonad.Store.Class
- Control.Comonad.Store.Trans
- Control.Comonad.Traced
- Control.Comonad.Traced.Class
- Control.Comonad.Traced.Trans
- Control.Comonad.Trans.Class
- Control.Extend
- Control.Lazy
- Control.Monad
- Control.Monad.Cont
- Control.Monad.Cont.Class
- Control.Monad.Cont.Trans
- Control.Monad.Error.Class
- Control.Monad.Except
- Control.Monad.Except.Trans
- Control.Monad.Fork.Class
- Control.Monad.Free
- Control.Monad.Free.Class
- Control.Monad.Gen
- Control.Monad.Gen.Class
- Control.Monad.Gen.Common
- Control.Monad.Identity.Trans
- Control.Monad.List.Trans
- Control.Monad.Maybe.Trans
- Control.Monad.Morph
- Control.Monad.RWS
- Control.Monad.RWS.Trans
- Control.Monad.Reader
- Control.Monad.Reader.Class
- Control.Monad.Reader.Trans
- Control.Monad.Rec.Class
- Control.Monad.ST
- Control.Monad.ST.Class
- Control.Monad.ST.Global
- Control.Monad.ST.Internal
- Control.Monad.ST.Ref
- Control.Monad.ST.Uncurried
- Control.Monad.State
- Control.Monad.State.Class
- Control.Monad.State.Trans
- Control.Monad.Trampoline
- Control.Monad.Trans.Class
- Control.Monad.Writer
- Control.Monad.Writer.Class
- Control.Monad.Writer.Trans
- Control.MonadPlus
- Control.Parallel
- Control.Parallel.Class
- Control.Plus
- Control.Semigroupoid
- DOM.HTML.Indexed
- DOM.HTML.Indexed.AutocompleteType
- DOM.HTML.Indexed.ButtonType
- DOM.HTML.Indexed.CrossOriginValue
- DOM.HTML.Indexed.DirValue
- DOM.HTML.Indexed.FormMethod
- DOM.HTML.Indexed.InputAcceptType
- DOM.HTML.Indexed.InputType
- DOM.HTML.Indexed.KindValue
- DOM.HTML.Indexed.MenuType
- DOM.HTML.Indexed.MenuitemType
- DOM.HTML.Indexed.OrderedListType
- DOM.HTML.Indexed.PreloadValue
- DOM.HTML.Indexed.ScopeValue
- DOM.HTML.Indexed.StepValue
- DOM.HTML.Indexed.WrapValue
- Data.Argonaut
- Data.Argonaut.Core
- Data.Argonaut.Decode
- Data.Argonaut.Decode.Class
- Data.Argonaut.Decode.Combinators
- Data.Argonaut.Decode.Decoders
- Data.Argonaut.Decode.Error
- Data.Argonaut.Decode.Parser
- Data.Argonaut.Encode
- Data.Argonaut.Encode.Class
- Data.Argonaut.Encode.Combinators
- Data.Argonaut.Encode.Encoders
- Data.Argonaut.Gen
- Data.Argonaut.JCursor
- Data.Argonaut.JCursor.Gen
- Data.Argonaut.Parser
- Data.Argonaut.Prisms
- Data.Argonaut.Traversals
- Data.Array
- Data.Array.NonEmpty
- Data.Array.NonEmpty.Internal
- Data.Array.Partial
- Data.Array.ST
- Data.Array.ST.Iterator
- Data.Array.ST.Partial
- Data.ArrayBuffer.Types
- Data.Bifoldable
- Data.Bifunctor
- Data.Bifunctor.Join
- Data.Bitraversable
- Data.Boolean
- Data.BooleanAlgebra
- Data.Bounded
- Data.Bounded.Generic
- Data.CatList
- Data.CatQueue
- Data.Char
- Data.Char.Gen
- Data.Char.Utils
- Data.CodePoint.Unicode
- Data.CodePoint.Unicode.Internal
- Data.CodePoint.Unicode.Internal.Casing
- Data.CommutativeRing
- Data.Comparison
- Data.Const
- Data.Coyoneda
- Data.Date
- Data.Date.Component
- Data.Date.Component.Gen
- Data.Date.Gen
- Data.DateTime
- Data.DateTime.Gen
- Data.DateTime.Instant
- Data.Decidable
- Data.Decide
- Data.Distributive
- Data.Divide
- Data.Divisible
- Data.DivisionRing
- Data.Either
- Data.Either.Inject
- Data.Either.Nested
- Data.Enum
- Data.Enum.Gen
- Data.Enum.Generic
- Data.Eq
- Data.Eq.Generic
- Data.Equivalence
- Data.EuclideanRing
- Data.Exists
- Data.Field
- Data.Foldable
- Data.FoldableWithIndex
- Data.FormURLEncoded
- Data.Formatter.DateTime
- Data.Formatter.Internal
- Data.Formatter.Interval
- Data.Formatter.Number
- Data.Formatter.Parser.Interval
- Data.Formatter.Parser.Number
- Data.Formatter.Parser.Utils
- Data.Function
- Data.Function.Memoize
- Data.Function.Uncurried
- Data.Functor
- Data.Functor.App
- Data.Functor.Clown
- Data.Functor.Compose
- Data.Functor.Contravariant
- Data.Functor.Coproduct
- Data.Functor.Coproduct.Inject
- Data.Functor.Coproduct.Nested
- Data.Functor.Costar
- Data.Functor.Flip
- Data.Functor.Invariant
- Data.Functor.Joker
- Data.Functor.Product
- Data.Functor.Product.Nested
- Data.Functor.Product2
- Data.FunctorWithIndex
- Data.Generic.Rep
- Data.HTTP.Method
- Data.HashMap
- Data.HashSet
- Data.Hashable
- Data.HeytingAlgebra
- Data.HeytingAlgebra.Generic
- Data.Identity
- Data.Int
- Data.Int.Bits
- Data.Interval
- Data.Interval.Duration
- Data.Interval.Duration.Iso
- Data.JSDate
- Data.Lazy
- Data.Lens
- Data.Lens.AffineTraversal
- Data.Lens.At
- Data.Lens.Common
- Data.Lens.Fold
- Data.Lens.Fold.Partial
- Data.Lens.Getter
- Data.Lens.Grate
- Data.Lens.Index
- Data.Lens.Indexed
- Data.Lens.Internal.Bazaar
- Data.Lens.Internal.Exchange
- Data.Lens.Internal.Focusing
- Data.Lens.Internal.Forget
- Data.Lens.Internal.Grating
- Data.Lens.Internal.Indexed
- Data.Lens.Internal.Market
- Data.Lens.Internal.Re
- Data.Lens.Internal.Shop
- Data.Lens.Internal.Stall
- Data.Lens.Internal.Tagged
- Data.Lens.Internal.Wander
- Data.Lens.Internal.Zipping
- Data.Lens.Iso
- Data.Lens.Iso.Newtype
- Data.Lens.Lens
- Data.Lens.Lens.Product
- Data.Lens.Lens.Tuple
- Data.Lens.Lens.Unit
- Data.Lens.Lens.Void
- Data.Lens.Prism
- Data.Lens.Prism.Coproduct
- Data.Lens.Prism.Either
- Data.Lens.Prism.Maybe
- Data.Lens.Record
- Data.Lens.Setter
- Data.Lens.Traversal
- Data.Lens.Types
- Data.Lens.Zoom
- Data.List
- Data.List.Internal
- Data.List.Lazy
- Data.List.Lazy.NonEmpty
- Data.List.Lazy.Types
- Data.List.NonEmpty
- Data.List.Partial
- Data.List.Types
- Data.List.ZipList
- Data.Map
- Data.Map.Gen
- Data.Map.Internal
- Data.Maybe
- Data.Maybe.First
- Data.Maybe.Last
- Data.MediaType
- Data.MediaType.Common
- Data.Monoid
- Data.Monoid.Additive
- Data.Monoid.Alternate
- Data.Monoid.Conj
- Data.Monoid.Disj
- Data.Monoid.Dual
- Data.Monoid.Endo
- Data.Monoid.Generic
- Data.Monoid.Multiplicative
- Data.NaturalTransformation
- Data.Newtype
- Data.NonEmpty
- Data.Nullable
- Data.Number
- Data.Number.Approximate
- Data.Number.Format
- Data.Op
- Data.Ord
- Data.Ord.Down
- Data.Ord.Generic
- Data.Ord.Max
- Data.Ord.Min
- Data.Ordering
- Data.Posix
- Data.Posix.Signal
- Data.Predicate
- Data.Profunctor
- Data.Profunctor.Choice
- Data.Profunctor.Closed
- Data.Profunctor.Cochoice
- Data.Profunctor.Costrong
- Data.Profunctor.Join
- Data.Profunctor.Split
- Data.Profunctor.Star
- Data.Profunctor.Strong
- Data.Reflectable
- Data.Ring
- Data.Ring.Generic
- Data.Semigroup
- Data.Semigroup.First
- Data.Semigroup.Foldable
- Data.Semigroup.Generic
- Data.Semigroup.Last
- Data.Semigroup.Traversable
- Data.Semiring
- Data.Semiring.Free
- Data.Semiring.Generic
- Data.Set
- Data.Set.NonEmpty
- Data.Show
- Data.Show.Generic
- Data.String
- Data.String.CaseInsensitive
- Data.String.CodePoints
- Data.String.CodeUnits
- Data.String.Common
- Data.String.Gen
- Data.String.NonEmpty
- Data.String.NonEmpty.CaseInsensitive
- Data.String.NonEmpty.CodePoints
- Data.String.NonEmpty.CodeUnits
- Data.String.NonEmpty.Internal
- Data.String.Pattern
- Data.String.Regex
- Data.String.Regex.Flags
- Data.String.Regex.Unsafe
- Data.String.Unicode
- Data.String.Unsafe
- Data.String.Utils
- Data.Symbol
- Data.Time
- Data.Time.Component
- Data.Time.Component.Gen
- Data.Time.Duration
- Data.Time.Duration.Gen
- Data.Time.Gen
- Data.Traversable
- Data.Traversable.Accum
- Data.Traversable.Accum.Internal
- Data.TraversableWithIndex
- Data.Tuple
- Data.Tuple.Nested
- Data.Unfoldable
- Data.Unfoldable1
- Data.Unit
- Data.Validation.Semigroup
- Data.Validation.Semiring
- Data.Void
- Data.Yoneda
- Effect
- Effect.AVar
- Effect.Aff
- Effect.Aff.AVar
- Effect.Aff.Class
- Effect.Aff.Compat
- Effect.Class
- Effect.Class.Console
- Effect.Console
- Effect.Exception
- Effect.Exception.Unsafe
- Effect.Now
- Effect.Ref
- Effect.Uncurried
- Effect.Unsafe
- ExitCodes
- FPO
- FPO.AppM
- FPO.Components.AppToasts
- FPO.Components.Comment
- FPO.Components.CommentOverview
- FPO.Components.Editor
- FPO.Components.Editor.AceExtra
- FPO.Components.Editor.Keybindings
- FPO.Components.Editor.Types
- FPO.Components.Navbar
- FPO.Components.Pagination
- FPO.Components.Preview
- FPO.Components.Splitview
- FPO.Components.TOC
- FPO.Components.TableHead
- FPO.Components.UI.RenderComment
- FPO.Components.UI.UserFilter
- FPO.Components.UI.UserList
- FPO.Data.AppError
- FPO.Data.AppToast
- FPO.Data.Navigate
- FPO.Data.Request
- FPO.Data.Route
- FPO.Data.Store
- FPO.Data.Time
- FPO.Dto.CommentDto
- FPO.Dto.ContentDto
- FPO.Dto.CreateDocumentDto
- FPO.Dto.CreateUserDto
- FPO.Dto.DocumentDto.DocDate
- FPO.Dto.DocumentDto.DocumentHeader
- FPO.Dto.DocumentDto.DocumentHistory
- FPO.Dto.DocumentDto.DocumentTree
- FPO.Dto.DocumentDto.FullDocument
- FPO.Dto.DocumentDto.MetaTree
- FPO.Dto.DocumentDto.NodeHeader
- FPO.Dto.DocumentDto.Query
- FPO.Dto.DocumentDto.TextElement
- FPO.Dto.DocumentDto.TextElementRevision
- FPO.Dto.DocumentDto.TreeDto
- FPO.Dto.GroupDto
- FPO.Dto.Login
- FPO.Dto.PostTextDto
- FPO.Dto.UserDto
- FPO.Dto.UserOverviewDto
- FPO.Dto.UserRoleDto
- FPO.Page.Admin.Administration
- FPO.Page.Admin.CreateGroup
- FPO.Page.Admin.CreateUser
- FPO.Page.Admin.GroupOverview
- FPO.Page.EditorPage
- FPO.Page.Home
- FPO.Page.Login
- FPO.Page.Page404
- FPO.Page.Profile
- FPO.Page.ResetPassword
- FPO.Page.Unauthorized
- FPO.Translations.Common
- FPO.Translations.Components.Comment
- FPO.Translations.Components.Editor
- FPO.Translations.Components.Navbar
- FPO.Translations.Components.TOC
- FPO.Translations.Errors
- FPO.Translations.Labels
- FPO.Translations.Page.Admin.AddMembers
- FPO.Translations.Page.Admin.GroupMembers
- FPO.Translations.Page.Admin.GroupProjects
- FPO.Translations.Page.Admin.GroupSettings
- FPO.Translations.Page.Admin.PageGroups
- FPO.Translations.Page.Admin.PageUsers
- FPO.Translations.Page.AdminPanel
- FPO.Translations.Page.Home
- FPO.Translations.Page.Login
- FPO.Translations.Page.Page404
- FPO.Translations.Page.Profile
- FPO.Translations.Page.ResetPassword
- FPO.Translations.Page.Unauthorized
- FPO.Translations.Translator
- FPO.Translations.Util
- FPO.Types
- FPO.UI.Css
- FPO.UI.HTML
- FPO.UI.Modals.DeleteModal
- FPO.UI.Modals.DirtyVersionModal
- FPO.UI.Modals.DiscardModal
- FPO.UI.Modals.DocumentHistoryModal
- FPO.UI.Modals.InfoModal
- FPO.UI.Modals.ParagraphHistoryModal
- FPO.UI.NavbarReveal
- FPO.UI.Resizing
- FPO.UI.SmoothScroll
- FPO.UI.Style
- FPO.UI.Truncated
- FPO.Util
- Foreign
- Foreign.Index
- Foreign.Keys
- Foreign.Object
- Foreign.Object.Gen
- Foreign.Object.ST
- Foreign.Object.ST.Unsafe
- Foreign.Object.Unsafe
- Halogen
- Halogen.Aff
- Halogen.Aff.Driver
- Halogen.Aff.Driver.Eval
- Halogen.Aff.Driver.State
- Halogen.Aff.Util
- Halogen.Component
- Halogen.Component.Profunctor
- Halogen.Data.OrdBox
- Halogen.Data.Slot
- Halogen.HTML
- Halogen.HTML.Core
- Halogen.HTML.Elements
- Halogen.HTML.Elements.Keyed
- Halogen.HTML.Events
- Halogen.HTML.Properties
- Halogen.HTML.Properties.ARIA
- Halogen.Hooks
- Halogen.Hooks.Component
- Halogen.Hooks.Hook
- Halogen.Hooks.HookM
- Halogen.Hooks.Internal.Eval
- Halogen.Hooks.Internal.Eval.Types
- Halogen.Hooks.Internal.Types
- Halogen.Hooks.Internal.UseHookF
- Halogen.Hooks.Types
- Halogen.Query
- Halogen.Query.ChildQuery
- Halogen.Query.Event
- Halogen.Query.HalogenM
- Halogen.Query.HalogenQ
- Halogen.Query.Input
- Halogen.Store.Connect
- Halogen.Store.Monad
- Halogen.Store.Select
- Halogen.Store.UseSelector
- Halogen.Subscription
- Halogen.VDom
- Halogen.VDom.DOM
- Halogen.VDom.DOM.Prop
- Halogen.VDom.Driver
- Halogen.VDom.Machine
- Halogen.VDom.Thunk
- Halogen.VDom.Types
- Halogen.VDom.Util
- JSURI
- Main
- Node.Buffer
- Node.Buffer.Class
- Node.Buffer.Constants
- Node.Buffer.Immutable
- Node.Buffer.ST
- Node.Buffer.Types
- Node.Encoding
- Node.EventEmitter
- Node.EventEmitter.UtilTypes
- Node.FS
- Node.FS.Aff
- Node.FS.Async
- Node.FS.Constants
- Node.FS.Perms
- Node.FS.Stats
- Node.FS.Stream
- Node.FS.Sync
- Node.Path
- Node.Platform
- Node.Process
- Node.Stream
- Node.Stream.Aff
- Node.Symbol
- Options.Applicative
- Options.Applicative.BashCompletion
- Options.Applicative.Builder
- Options.Applicative.Builder.Completer
- Options.Applicative.Builder.Internal
- Options.Applicative.Common
- Options.Applicative.Extra
- Options.Applicative.Help
- Options.Applicative.Help.Chunk
- Options.Applicative.Help.Core
- Options.Applicative.Help.Levenshtein
- Options.Applicative.Help.Pretty
- Options.Applicative.Help.Types
- Options.Applicative.Internal
- Options.Applicative.Internal.Utils
- Options.Applicative.Types
- Parsing
- Parsing.Combinators
- Parsing.Combinators.Array
- Parsing.Expr
- Parsing.Indent
- Parsing.Language
- Parsing.String
- Parsing.String.Basic
- Parsing.String.Replace
- Parsing.Token
- Partial
- Partial.Unsafe
- Pipes
- Pipes.Core
- Pipes.Internal
- Pipes.ListT
- Pipes.Prelude
- Prelude
- Prim
- Prim.Boolean
- Prim.Coerce
- Prim.Int
- Prim.Ordering
- Prim.Row
- Prim.RowList
- Prim.Symbol
- Prim.TypeError
- Promise
- Promise.Internal
- Promise.Lazy
- Promise.Rejection
- Record
- Record.Builder
- Record.Extra
- Record.Unsafe
- Record.Unsafe.Union
- Routing
- Routing.Duplex
- Routing.Duplex.Generic
- Routing.Duplex.Generic.Syntax
- Routing.Duplex.Parser
- Routing.Duplex.Printer
- Routing.Duplex.Types
- Routing.Hash
- Routing.Match
- Routing.Match.Error
- Routing.Parser
- Routing.PushState
- Routing.Types
- Safe.Coerce
- Simple.I18n.Translation
- Simple.I18n.Translator
- Spago.Generated.BuildInfo
- Test.Main
- Test.Routing
- Test.Spec
- Test.Spec.Assertions
- Test.Spec.Assertions.String
- Test.Spec.Config
- Test.Spec.Console
- Test.Spec.Reporter
- Test.Spec.Reporter.Base
- Test.Spec.Reporter.Console
- Test.Spec.Reporter.Dot
- Test.Spec.Reporter.Spec
- Test.Spec.Reporter.Tap
- Test.Spec.Reporter.TeamCity
- Test.Spec.Result
- Test.Spec.Runner
- Test.Spec.Runner.Event
- Test.Spec.Runner.Node
- Test.Spec.Runner.Node.Config
- Test.Spec.Runner.Node.Persist
- Test.Spec.Speed
- Test.Spec.Style
- Test.Spec.Summary
- Test.Spec.Tree
- Test.UI.Resizing
- Test.Util
- Text.PrettyPrint.Leijen
- Type.Data.Boolean
- Type.Data.Ordering
- Type.Data.Symbol
- Type.Equality
- Type.Function
- Type.Prelude
- Type.Proxy
- Type.Row
- Type.Row.Homogeneous
- Type.RowList
- Unsafe.Coerce
- Unsafe.Reference
- Web.Clipboard
- Web.Clipboard.ClipboardEvent
- Web.Clipboard.ClipboardEvent.EventTypes
- Web.DOM
- Web.DOM.CharacterData
- Web.DOM.ChildNode
- Web.DOM.Comment
- Web.DOM.DOMTokenList
- Web.DOM.Document
- Web.DOM.DocumentFragment
- Web.DOM.DocumentType
- Web.DOM.Element
- Web.DOM.HTMLCollection
- Web.DOM.Internal.Types
- Web.DOM.MutationObserver
- Web.DOM.MutationRecord
- Web.DOM.Node
- Web.DOM.NodeList
- Web.DOM.NodeType
- Web.DOM.NonDocumentTypeChildNode
- Web.DOM.NonElementParentNode
- Web.DOM.ParentNode
- Web.DOM.ProcessingInstruction
- Web.DOM.ShadowRoot
- Web.DOM.Text
- Web.Event.CustomEvent
- Web.Event.Event
- Web.Event.EventPhase
- Web.Event.EventTarget
- Web.Event.Internal.Types
- Web.File.Blob
- Web.File.File
- Web.File.FileList
- Web.File.FileReader
- Web.File.FileReader.ReadyState
- Web.File.Url
- Web.HTML
- Web.HTML.Common
- Web.HTML.Event.BeforeUnloadEvent
- Web.HTML.Event.BeforeUnloadEvent.EventTypes
- Web.HTML.Event.DataTransfer
- Web.HTML.Event.DataTransfer.DataTransferItem
- Web.HTML.Event.DragEvent
- Web.HTML.Event.DragEvent.EventTypes
- Web.HTML.Event.ErrorEvent
- Web.HTML.Event.EventTypes
- Web.HTML.Event.HashChangeEvent
- Web.HTML.Event.HashChangeEvent.EventTypes
- Web.HTML.Event.PageTransitionEvent
- Web.HTML.Event.PageTransitionEvent.EventTypes
- Web.HTML.Event.PopStateEvent
- Web.HTML.Event.PopStateEvent.EventTypes
- Web.HTML.Event.TrackEvent
- Web.HTML.Event.TrackEvent.EventTypes
- Web.HTML.HTMLAnchorElement
- Web.HTML.HTMLAreaElement
- Web.HTML.HTMLAudioElement
- Web.HTML.HTMLBRElement
- Web.HTML.HTMLBaseElement
- Web.HTML.HTMLBodyElement
- Web.HTML.HTMLButtonElement
- Web.HTML.HTMLCanvasElement
- Web.HTML.HTMLDListElement
- Web.HTML.HTMLDataElement
- Web.HTML.HTMLDataListElement
- Web.HTML.HTMLDivElement
- Web.HTML.HTMLDocument
- Web.HTML.HTMLDocument.ReadyState
- Web.HTML.HTMLDocument.VisibilityState
- Web.HTML.HTMLElement
- Web.HTML.HTMLEmbedElement
- Web.HTML.HTMLFieldSetElement
- Web.HTML.HTMLFormElement
- Web.HTML.HTMLHRElement
- Web.HTML.HTMLHeadElement
- Web.HTML.HTMLHeadingElement
- Web.HTML.HTMLHtmlElement
- Web.HTML.HTMLHyperlinkElementUtils
- Web.HTML.HTMLIFrameElement
- Web.HTML.HTMLImageElement
- Web.HTML.HTMLImageElement.CORSMode
- Web.HTML.HTMLImageElement.DecodingHint
- Web.HTML.HTMLImageElement.Laziness
- Web.HTML.HTMLInputElement
- Web.HTML.HTMLKeygenElement
- Web.HTML.HTMLLIElement
- Web.HTML.HTMLLabelElement
- Web.HTML.HTMLLegendElement
- Web.HTML.HTMLLinkElement
- Web.HTML.HTMLMapElement
- Web.HTML.HTMLMediaElement
- Web.HTML.HTMLMediaElement.CanPlayType
- Web.HTML.HTMLMediaElement.NetworkState
- Web.HTML.HTMLMediaElement.ReadyState
- Web.HTML.HTMLMetaElement
- Web.HTML.HTMLMeterElement
- Web.HTML.HTMLModElement
- Web.HTML.HTMLOListElement
- Web.HTML.HTMLObjectElement
- Web.HTML.HTMLOptGroupElement
- Web.HTML.HTMLOptionElement
- Web.HTML.HTMLOutputElement
- Web.HTML.HTMLParagraphElement
- Web.HTML.HTMLParamElement
- Web.HTML.HTMLPreElement
- Web.HTML.HTMLProgressElement
- Web.HTML.HTMLQuoteElement
- Web.HTML.HTMLScriptElement
- Web.HTML.HTMLSelectElement
- Web.HTML.HTMLSourceElement
- Web.HTML.HTMLSpanElement
- Web.HTML.HTMLStyleElement
- Web.HTML.HTMLTableCaptionElement
- Web.HTML.HTMLTableCellElement
- Web.HTML.HTMLTableColElement
- Web.HTML.HTMLTableDataCellElement
- Web.HTML.HTMLTableElement
- Web.HTML.HTMLTableHeaderCellElement
- Web.HTML.HTMLTableRowElement
- Web.HTML.HTMLTableSectionElement
- Web.HTML.HTMLTemplateElement
- Web.HTML.HTMLTextAreaElement
- Web.HTML.HTMLTimeElement
- Web.HTML.HTMLTitleElement
- Web.HTML.HTMLTrackElement
- Web.HTML.HTMLTrackElement.ReadyState
- Web.HTML.HTMLUListElement
- Web.HTML.HTMLVideoElement
- Web.HTML.History
- Web.HTML.Location
- Web.HTML.Navigator
- Web.HTML.SelectionMode
- Web.HTML.ValidityState
- Web.HTML.Window
- Web.Internal.FFI
- Web.PointerEvent
- Web.PointerEvent.Element
- Web.PointerEvent.EventTypes
- Web.PointerEvent.Navigator
- Web.PointerEvent.PointerEvent
- Web.ResizeObserver
- Web.Storage.Event.StorageEvent
- Web.Storage.Storage
- Web.TouchEvent
- Web.TouchEvent.EventTypes
- Web.TouchEvent.Touch
- Web.TouchEvent.TouchEvent
- Web.TouchEvent.TouchList
- Web.UIEvent.CompositionEvent
- Web.UIEvent.CompositionEvent.EventTypes
- Web.UIEvent.EventTypes
- Web.UIEvent.FocusEvent
- Web.UIEvent.FocusEvent.EventTypes
- Web.UIEvent.InputEvent
- Web.UIEvent.InputEvent.EventTypes
- Web.UIEvent.InputEvent.InputType
- Web.UIEvent.KeyboardEvent
- Web.UIEvent.KeyboardEvent.EventTypes
- Web.UIEvent.MouseEvent
- Web.UIEvent.MouseEvent.EventTypes
- Web.UIEvent.UIEvent
- Web.UIEvent.WheelEvent
- Web.UIEvent.WheelEvent.EventTypes
- Web.XHR.EventTypes
- Web.XHR.FormData
- Web.XHR.ProgressEvent
- Web.XHR.ReadyState
- Web.XHR.ResponseType
- Web.XHR.XMLHttpRequest
- Web.XHR.XMLHttpRequestUpload
A leaf (terminal) node, which has no children.