Package-level declarations

Types

Link copied to clipboard
interface AdaptableValue<T : InputValue<*>>

If a Value subclass is adaptable, it can be converted to another Value in case the parameter of the function it is passed to expects a different type.

Link copied to clipboard
data class BooleanValue(val unwrappedValue: Boolean) : InputValue<Boolean> , OutputValue<Boolean>

An immutable boolean Value.

Link copied to clipboard
interface Destructurable<T : Value<*>>

Anything that can be destructured into a sequence of Value components.

Link copied to clipboard

A mutable Map, with string keys and values of type T. A dictionary can be adapted to an iterable list of key-value entries.

Link copied to clipboard
data class DynamicValue(val unwrappedValue: Any?) : InputValue<Any?> , OutputValue<Any?>

A Value whose type has not been yet determined.

Link copied to clipboard
data class EnumValue(val unwrappedValue: Enum<*>) : InputValue<Enum<*>>

A Value that wraps an element from a static enum class.

Link copied to clipboard
data class GeneralCollectionValue<T : OutputValue<*>>(val unwrappedValue: Iterable<T>) : IterableValue<T>

An immutable Value that contains other values of the same type. The kind of ordering is not relevant. When exporting to a node via com.quarkdown.core.function.value.output.node.NodeOutputValueVisitor, this collection is simply converted to a group of nodes.

Link copied to clipboard

A sub-AST that contains Markdown nodes. This is usually accepted in 'body' parameters.

Link copied to clipboard
sealed interface InputValue<T> : Value<T> , Expression

An immutable value wrapper that is used in function parameters and function call arguments. When used as an Expression, its evaluated value is the same as its static wrapped value

Link copied to clipboard

A Value that wraps an Iterable collection of Value elements.

Link copied to clipboard
data class LambdaValue(val unwrappedValue: Lambda) : InputValue<Lambda>

A Value that wraps an action of variable parameter count.

Link copied to clipboard

A sub-AST that contains Markdown nodes. This is usually accepted in 'body' parameters.

Link copied to clipboard
data class NodeValue(val unwrappedValue: Node) : OutputValue<Node> , Expression

An immutable Node.

Link copied to clipboard
data object None

Nothing. This is Quarkdown's equivalent of null.

Link copied to clipboard

A value that represents a missing value.

Link copied to clipboard
data class NumberValue(rawUnwrappedValue: Number) : InputValue<Number> , OutputValue<Number>

An immutable numeric Value.

Link copied to clipboard
data class ObjectValue<T>(val unwrappedValue: T) : InputValue<T> , OutputValue<T>

A Value that wraps an element from a static enum class.

Link copied to clipboard
data class OrderedCollectionValue<T : OutputValue<*>>(val unwrappedValue: List<T>) : IterableValue<T>

An immutable Value that contains other values of the same type, ordered.

Link copied to clipboard
sealed interface OutputValue<T> : Value<T>

An immutable value wrapper that is used in function outputs.

Link copied to clipboard
data class PairValue<F : OutputValue<*>, S : OutputValue<*>>(pairUnwrappedValue: Pair<F, S>) : IterableValue<OutputValue<*>>

An immutable Value that contains two elements, which can be iterated. When a DictionaryValue is iterated, it's equivalent to a list of key-value pairs.

Link copied to clipboard

An immutable string Value.

Link copied to clipboard
data class UnorderedCollectionValue<T : OutputValue<*>>(val unwrappedValue: Set<T>) : IterableValue<T>

An immutable Value that contains other values of the same type, unordered.

Link copied to clipboard
sealed interface Value<T>

An immutable value wrapper.

Link copied to clipboard
data object VoidValue : OutputValue<Unit>

An empty Value with no content.