Module: Literal

Extended by:
Constructors, Types
Defined in:
lib/literal.rb,
lib/literal/version.rb

Defined Under Namespace

Modules: Attributable, Attributes, Constructors, Error, Memoized, Modifiers, Monads, Singleton, Types Classes: ArgumentError, Array, Attribute, Case, Class, Data, Decorator, Either, Enum, Failure, Formatter, Hash, IntegerValue, LRU, Left, Lift, Maybe, Method, Monad, NothingClass, Result, Right, Some, StringValue, Struct, Structish, Success, SuccessType, TypeError, Union, Value, Variant, VariantType, Visitor

Constant Summary collapse

TRACING =
ENV["LITERAL_TRACING"] != "false"
TYPE_CHECKS =
ENV["LITERAL_TYPE_CHECKS"] != "false"
EXPENSIVE_TYPE_CHECKS =
ENV["LITERAL_EXPENSIVE_TYPE_CHECKS"] != "false"
Loader =
Zeitwerk::Loader.for_gem.tap do |loader|
	loader.inflector.inflect(
		"lru" => "LRU",
		"lru_type" => "LRUType",
		"json_data_type" => "JSONDataType"
	)
	loader.setup
end
Null =
Literal::Singleton.new do
	def inspect
		"Literal::Null"
	end
end
Nothing =
Literal::NothingClass.new
VERSION =
"0.1.0"
ValueClasses =
{
	String => Literal::StringValue
}

Constants included from Monads

Monads::Either, Monads::Left, Monads::Maybe, Monads::Result, Monads::Right, Monads::Some

Method Summary

Methods included from Types

_Any, _Array, _Boolean, _Callable, _Class, _Constraint, _Descendant, _Enumerable, _Falsy, _Float, _Frozen, _Hash, _Integer, _Interface, _Intersection, _Is, _JSONData, _Lambda, _Map, _Never, _Nilable, _Not, _Procable, _Range, _Set, _Shape, _String, _Symbol, _Truthy, _Tuple, _Union, _Void

Methods included from Monads

#Either, #Left, #Maybe, #Result, #Right, #Some, #Success

Methods included from Constructors

Array, Decorator, LRU, Union, Value, Variant