ru.primetalk.typed.ontology.simplemeta2

Type members

Classlikes

case object EmptySchema extends RecordSchema
abstract class ForeignKeyId[R1, R2, T, P1 <: SimplePropertyId[R1, T], P2 <: SimplePropertyId[R2, T]](val prop1: P1, val prop2: P2) extends ForeignKeyId0
sealed trait ForeignKeyId0
case class JointSchema[S1 <: RecordSchema, S2 <: RecordSchema](schema1: S1, schema2: S2)(joinSchema: Concat[S1, S2])
Companion:
object
Companion:
class
sealed trait RecordProperty[A] extends RecordProperty0

Type of record property identifier.

Type of record property identifier.

sealed trait RecordProperty0
Companion:
object
Companion:
class
sealed trait RecordSchema

Schema of properties for record R. We can use tuples to represent instances of this schema.

Schema of properties for record R. We can use tuples to represent instances of this schema.

Companion:
object
Companion:
class
final case class SchemaCons[P <: RecordProperty0, S <: RecordSchema](p: P, schema: S) extends RecordSchema
abstract class SimplePropertyId[A, B](val name: String, val tpe: ClassTag[B]) extends RecordProperty[A]

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Types

Value members

Concrete methods

def fieldsImpl[S <: RecordSchema](propertyList: Expr[Seq[RecordProperty0]], schemaExpr: Expr[S])(using Type[S])(using Quotes): Expr[RecordSchema]
def showExprImpl(a: Expr[Any])(using Quotes): Expr[String]
def sprepend[S <: RecordSchema, P <: RecordProperty0](schema: S, p: P): SchemaCons[P, S]
def traitExprImpl(a: Expr[Any])(using Quotes): Expr[Any]
def tupleToSchemaImpl[T <: Tuple](t: Expr[T], ev: Expr[IsMappedBy[RecordProperty][T]])(using Quotes): Expr[RecordSchema]

Extensions

Extensions

extension [S <: RecordSchema](schema: S)
transparent inline def append[P <: RecordProperty0](p: P): RecordSchema
def prepend[P <: RecordProperty0](p: P): SchemaCons[P, S]