Node

h8io.cfg.Node
object Node

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Node.type

Members list

Type members

Classlikes

sealed trait IContainer[+I <: Id, CI <: Id] extends IValue[I], CI => INode[CI]

A container node (map or sequence) that is both a function from child ids to child nodes and an iterable over its present children.

A container node (map or sequence) that is both a function from child ids to child nodes and an iterable over its present children.

Type parameters

CI

path type of child nodes

I

path type of this node

Attributes

Supertypes
trait Iterable[ISome[CI]]
trait IterableFactoryDefaults[ISome[CI], Iterable]
trait IterableOps[ISome[CI], Iterable, Iterable[ISome[CI]]]
trait IterableOnceOps[ISome[CI], Iterable, Iterable[ISome[CI]]]
trait IterableOnce[ISome[CI]]
trait CI => INode[CI]
trait IValue[I]
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait IMap[I]
trait ISeq[I]
trait IMap[+I <: Id] extends IContainer[I, Key]

A map (object) node whose children are addressed by Id.Key.

A map (object) node whose children are addressed by Id.Key.

Supports string-keyed lookup via the convenience overload apply(key: String) which constructs an Id.Key relative to this node's own id. The - operator returns a copy of the map with the given key removed.

Attributes

Supertypes
trait IContainer[I, Key]
trait Iterable[ISome[Key]]
trait IterableFactoryDefaults[ISome[Key], Iterable]
trait IterableOps[ISome[Key], Iterable, Iterable[ISome[Key]]]
trait IterableOnceOps[ISome[Key], Iterable, Iterable[ISome[Key]]]
trait IterableOnce[ISome[Key]]
trait Key => INode[Key]
trait IValue[I]
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Show all
final case class INone[+I <: Id](id: I, parent: IContainer[Id, _]) extends INode[I], NodeError

A missing key — the node was looked up but did not exist in the parent container.

A missing key — the node was looked up but did not exist in the parent container.

Also a NodeError; decoding fails when this node is encountered.

Value parameters

id

path at which the key was expected

parent

the container that was queried

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NodeError
trait CfgError
trait INode[I]
class Object
trait Matchable
class Any
Show all
final case class INull[+I <: Id](id: I, tag: Option[String], location: Location) extends ISome[I], NodeError

An explicit null value in the source.

An explicit null value in the source.

Also a NodeError; decoders that do not explicitly handle null will fail.

Value parameters

id

path of this node

location

source location

tag

optional YAML tag

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NodeError
trait CfgError
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Show all
final case class IScalar[+I <: Id](id: I, tag: Option[String], value: String, location: Location) extends IValue[I]

A leaf node holding a single string value.

A leaf node holding a single string value.

Scalars are always represented as strings; type conversion is the decoder's responsibility.

Value parameters

id

path of this node

location

source location

tag

optional YAML tag

value

raw string representation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait IValue[I]
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Show all
trait ISeq[+I <: Id] extends IContainer[I, Index]

A sequence node whose children are addressed by Id.Index.

A sequence node whose children are addressed by Id.Index.

Supports integer-indexed lookup via the convenience overload apply(index: Int) which constructs an Id.Index relative to this node's own id.

Attributes

Supertypes
trait IContainer[I, Index]
trait Iterable[ISome[Index]]
trait IterableFactoryDefaults[ISome[Index], Iterable]
trait IterableOps[ISome[Index], Iterable, Iterable[ISome[Index]]]
trait IterableOnceOps[ISome[Index], Iterable, Iterable[ISome[Index]]]
trait IterableOnce[ISome[Index]]
trait Index => INode[Index]
trait IValue[I]
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Show all
sealed trait ISome[+I <: Id] extends INode[I]

A node that is physically present in the source (has a tag and a location).

A node that is physically present in the source (has a tag and a location).

Attributes

Supertypes
trait INode[I]
class Object
trait Matchable
class Any
Known subtypes
class INull[I]
trait IValue[I]
trait IContainer[I, CI]
trait IMap[I]
trait ISeq[I]
class IScalar[I]
Show all
sealed trait IValue[+I <: Id] extends ISome[I]

A present, non-error node — either a scalar or a container.

A present, non-error node — either a scalar or a container.

Attributes

Supertypes
trait ISome[I]
trait INode[I]
class Object
trait Matchable
class Any
Known subtypes
trait IContainer[I, CI]
trait IMap[I]
trait ISeq[I]
class IScalar[I]
object None

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
None.type
object Null

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Null.type
object Scalar

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Scalar.type

Types

type Map = IMap[Id]

Type alias for IMap with an unspecified path type.

Type alias for IMap with an unspecified path type.

Attributes

type None = INone[Id]

Type alias for INone with an unspecified path type.

Type alias for INone with an unspecified path type.

Attributes

type Null = INull[Id]

Type alias for INull with an unspecified path type.

Type alias for INull with an unspecified path type.

Attributes

type Scalar = IScalar[Id]

Type alias for IScalar with an unspecified path type.

Type alias for IScalar with an unspecified path type.

Attributes

type Seq = ISeq[Id]

Type alias for ISeq with an unspecified path type.

Type alias for ISeq with an unspecified path type.

Attributes

type Some = ISome[Id]

Type alias for ISome with an unspecified path type.

Type alias for ISome with an unspecified path type.

Attributes

type Value = IValue[Id]

Type alias for IValue with an unspecified path type.

Type alias for IValue with an unspecified path type.

Attributes