TablesProvider

org.sigilaris.core.application.module.provider.TablesProvider
See theTablesProvider companion trait

Companion for TablesProvider, providing factory methods and provider composition.

Attributes

Companion
trait
Source
TablesProvider.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

Companion for DisjointSchemas, providing derivation instances.

Companion for DisjointSchemas, providing derivation instances.

Attributes

Companion
trait
Source
TablesProvider.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait DisjointSchemas[S1 <: Tuple, S2 <: Tuple]

Attributes

Companion
object
Source
TablesProvider.scala
Supertypes
class Object
trait Matchable
class Any
object NotInSchema

Companion for NotInSchema, providing derivation instances.

Companion for NotInSchema, providing derivation instances.

Attributes

Companion
trait
Source
TablesProvider.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait NotInSchema[E <: Entry[_, _, _], S <: Tuple]

Attributes

Companion
object
Source
TablesProvider.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def empty[F[_]]: TablesProvider[F, EmptyTuple]

Creates an empty provider that supplies no tables.

Creates an empty provider that supplies no tables.

Type parameters

F

the effect type

Attributes

Returns

an empty TablesProvider

Source
TablesProvider.scala
def fromModule[F[_], Path <: Tuple, Schema <: Tuple, Needs <: Tuple, Txs <: Tuple, R](module: StateModule[F, Path, Schema, Needs, Txs, R]): TablesProvider[F, Schema]

Creates a provider from a mounted state module, exposing its owned tables.

Creates a provider from a mounted state module, exposing its owned tables.

Type parameters

F

the effect type

Value parameters

module

the mounted state module

Attributes

Returns

a TablesProvider supplying the module's owned tables

Source
TablesProvider.scala
def merge[F[_], P1 <: Tuple, P2 <: Tuple](p1: TablesProvider[F, P1], p2: TablesProvider[F, P2])(using disjoint: DisjointSchemas[P1, P2]): TablesProvider[F, Concat[P1, P2]]

Merges two providers into one, requiring their schemas to be disjoint.

Merges two providers into one, requiring their schemas to be disjoint.

Type parameters

F

the effect type

P1

the first provider's schema

P2

the second provider's schema

Value parameters

disjoint

evidence that the schemas are disjoint

p1

the first provider

p2

the second provider

Attributes

Returns

a merged provider supplying tables from both schemas

Source
TablesProvider.scala