io.github.scalats.ast

Type members

Classlikes

case class ArrayRef(innerType: TypeRef) extends TypeRef

Reference to an type of Array (e.g. Array<string>).

Reference to an type of Array (e.g. Array<string>).

Value parameters:
innerType

the element type (e.g. string for Array<string>)

case object BooleanRef
case class CustomTypeRef(name: String, typeArgs: List[TypeRef]) extends TypeRef with UnionMemberRef

Reference to a custom type.

Reference to a custom type.

Value parameters:
name

the type name

typeArgs

the type arguments (e.g. string for CustomType<string>)

case object DateRef
case object DateTimeRef
sealed trait Declaration

A TypeScript type declaration

A TypeScript type declaration

Companion:
object
Companion:
class
case class DictionaryValue(name: String, keyTypeRef: TypeRef, valueTypeRef: TypeRef, entries: Map[Simple, Value]) extends Value

A dictionary Value.

A dictionary Value.

Value parameters:
entries

the dictionary entries

name

the member name

valueTypeRef

the reference for the values type

case class EnumDeclaration(name: String, possibilities: ListSet[String], values: ListSet[Value]) extends Declaration

A declaration for an enumerated type.

A declaration for an enumerated type.

Value parameters:
possibilities

the allowed values

values

some extra invariant values

final class InterfaceDeclaration extends Declaration

An interface declaration.

An interface declaration.

Value parameters:
fields

the interface fields

superInterface

the super interface (if any)

typeParams

the type parameters for the interface

union

this interface represents a union type

Companion:
object
Companion:
class
case class ListValue(name: String, typeRef: TypeRef, valueTypeRef: TypeRef, elements: List[Value]) extends Value

A list/multi Value.

A list/multi Value.

Value parameters:
elements

the list elements

name

the member name

valueTypeRef

the reference for the elements type

case class LiteralValue(name: String, typeRef: TypeRef, rawValue: String) extends Value with SimpleValue

A literal Value.

A literal Value.

Value parameters:
name

the member name

typeRef

the reference for the member type

case class MapType(keyType: TypeRef, valueType: TypeRef) extends TypeRef

Reference to a map/dictionary type.

Reference to a map/dictionary type.

Value parameters:
keyType

the type of the keys

valueType

the type of the values

case class Member(name: String, typeRef: TypeRef)

A member Declaration (field/property).

A member Declaration (field/property).

Value parameters:
name

the member name

typeRef

the reference for the member type

case class MergedListsValue(name: String, valueTypeRef: TypeRef, children: List[Value]) extends Value

A list flatten from merged child lists Value.

A list flatten from merged child lists Value.

Value parameters:
children

the sub lists

name

the member name

valueTypeRef

the reference for the elements type

case class MergedSetsValue(name: String, valueTypeRef: TypeRef, children: List[Value]) extends Value

A list flatten from merged child sets Value.

A list flatten from merged child sets Value.

Value parameters:
children

the sub sets

name

the member name

valueTypeRef

the reference for the elements type

case class NullableType(innerType: TypeRef) extends TypeRef

Reference to a nullable type (e.g. an optional string).

Reference to a nullable type (e.g. an optional string).

Value parameters:
innerType

the inner type (e.g. string for nullable string)

sealed class NumberRef
Companion:
object
object NumberRef
Companion:
class
case class SelectValue(name: String, typeRef: TypeRef, qualifier: TypeRef, term: String) extends Value with SimpleValue
Value parameters:
name

the member name

typeRef

the reference for the member type

case class SetRef(innerType: TypeRef) extends TypeRef

Reference to an type of Set (e.g. Set<string>).

Reference to an type of Set (e.g. Set<string>).

Value parameters:
innerType

the element type (e.g. string for Set<string>)

case class SetValue(name: String, typeRef: TypeRef, valueTypeRef: TypeRef, elements: Set[Value]) extends Value

A set/multi Value.

A set/multi Value.

Value parameters:
elements

the set elements

name

the member name

valueTypeRef

the reference for the elements type

sealed trait SimpleValue
final class SingletonDeclaration extends Declaration

A singleton declaration.

A singleton declaration.

Value parameters:
superInterface

the super interface (if any)

values

the invariant values

Companion:
object
Companion:
class
case class SingletonTypeRef(name: String, values: ListSet[Value]) extends TypeRef with UnionMemberRef
Value parameters:
name

the type name

values

the invariant values

case object StringRef
case class TaggedDeclaration(name: String, field: Member) extends Declaration
case class TaggedRef(name: String, tagged: TypeRef) extends TypeRef

Tagged type.

Tagged type.

Value parameters:
name

the type name

case object TimeRef
case class TupleRef(typeArgs: List[TypeRef]) extends TypeRef

Reference to a type of tuple (e.g. [string, int]).

Reference to a type of tuple (e.g. [string, int]).

Value parameters:
typeArgs

the types for the tuple elements

sealed trait TypeRef

Reference to a builtin type or one declared elsewhere.

Reference to a builtin type or one declared elsewhere.

case class UnionDeclaration(name: String, fields: ListSet[Member], possibilities: ListSet[TypeRef & UnionMemberRef], superInterface: Option[InterfaceDeclaration]) extends Declaration
sealed trait UnionMemberRef
case class UnionType(possibilities: ListSet[TypeRef]) extends TypeRef

Reference to a union type (e.g. string | number)

Reference to a union type (e.g. string | number)

sealed trait Value
Companion:
object
object Value
Companion:
class
final class ValueBodyDeclaration extends Declaration

Declaration of the body/rhs for a Value, either as a whole member or part of (e.g. inside ListValue).

Declaration of the body/rhs for a Value, either as a whole member or part of (e.g. inside ListValue).

See also:
Companion:
object
Companion:
class
Companion:
object