Record.ExtraSrghma
- Package
- purescript-record-extra-srghma
- Repository
- srghma/purescript-record-extra-srghma
Re-exports from Record.ExtraSrghma.AppendRecord
#AppendSubrecordImpl Source
class AppendSubrecordImpl :: forall k. k -> Row Type -> Row Type -> Constraint
class AppendSubrecordImpl rl bigger smaller where
Members
appendSubrecordImpl :: Record bigger -> Record smaller -> Record bigger
Instances
AppendSubrecordImpl Nil bigger smaller
(IsSymbol name, Cons name t trash smaller, Cons name t trash' bigger, Semigroup t, AppendSubrecordImpl tail bigger smaller) => AppendSubrecordImpl (Cons name t tail) bigger smaller
#appendRecord Source
appendRecord :: forall rl bigger smaller. RowToList smaller rl => AppendSubrecordImpl rl bigger smaller => Record bigger -> Record smaller -> Record bigger
Re-exports from Record.ExtraSrghma.CompareRecord
#OrdRecord Source
class OrdRecord :: forall k. k -> Row Type -> Constraint
class OrdRecord rl row | rl -> row where
Type class to compare two records field by field, following a known ordering of keys (a RowList).
Members
compareRecordImpl :: Record row -> Record row -> Ordering
Instances
Re-exports from Record.ExtraSrghma.FoldlValues
#FoldlValues Source
class FoldlValues :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldlValues (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldlValuesImpl :: forall accum. (accum -> fieldType -> accum) -> accum -> Record row -> accum
Instances
(FoldlValues tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldlValues (Cons name fieldType tailRowList) row fieldType
(Homogeneous row fieldType) => FoldlValues Nil row fieldType
#FoldlValues1 Source
class FoldlValues1 :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldlValues1 (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldlValuesImpl1 :: (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Instances
(FoldlValues tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldlValues1 (Cons name fieldType tailRowList) row fieldType
#foldlValues1 Source
foldlValues1 :: forall row fieldType rowList. RowToList row rowList => FoldlValues1 rowList row fieldType => (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
#foldlValues Source
foldlValues :: forall accum row fieldType rowList. RowToList row rowList => FoldlValues rowList row fieldType => (accum -> fieldType -> accum) -> accum -> Record row -> accum
#foldMapValuesL1 Source
foldMapValuesL1 :: forall m row rowList fieldType row' rowList'. RowToList row rowList => RowToList row' rowList' => FoldlValues1 rowList' row' m => MapRecord rowList row fieldType m () row' => Semigroup m => (fieldType -> m) -> Record row -> m
#foldMapValuesL Source
foldMapValuesL :: forall accum row fieldType rowList. RowToList row rowList => FoldlValues rowList row fieldType => Monoid accum => (fieldType -> accum) -> Record row -> accum
Re-exports from Record.ExtraSrghma.FoldlValuesWithIndex
#FoldlValuesWithIndex Source
class FoldlValuesWithIndex :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldlValuesWithIndex (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldlValuesWithIndexImpl :: forall accum. (accum -> String -> fieldType -> accum) -> accum -> Record row -> accum
Instances
(FoldlValuesWithIndex tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldlValuesWithIndex (Cons name fieldType tailRowList) row fieldType
(Homogeneous row fieldType) => FoldlValuesWithIndex Nil row fieldType
#FoldlValuesWithIndex1 Source
class FoldlValuesWithIndex1 :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldlValuesWithIndex1 (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldlValuesWithIndexImpl1 :: (fieldType -> String -> fieldType -> fieldType) -> Record row -> fieldType
Instances
(FoldlValuesWithIndex tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldlValuesWithIndex1 (Cons name fieldType tailRowList) row fieldType
#foldlValuesWithIndex1 Source
foldlValuesWithIndex1 :: forall row fieldType rowList. RowToList row rowList => FoldlValuesWithIndex1 rowList row fieldType => (fieldType -> String -> fieldType -> fieldType) -> Record row -> fieldType
#foldlValuesWithIndex Source
foldlValuesWithIndex :: forall accum row fieldType rowList. RowToList row rowList => FoldlValuesWithIndex rowList row fieldType => (accum -> String -> fieldType -> accum) -> accum -> Record row -> accum
#foldMapValuesWithIndexL1 Source
foldMapValuesWithIndexL1 :: forall fieldType row rowList row' rowList' m. RowToList row rowList => RowToList row' rowList' => FoldlValuesWithIndex1 rowList' row' m => MapValuesWithIndex rowList row fieldType m () row' => Monoid m => (String -> fieldType -> m) -> Record row -> m
#foldMapValuesWithIndexL Source
foldMapValuesWithIndexL :: forall accum row fieldType rowList. RowToList row rowList => FoldlValuesWithIndex rowList row fieldType => Monoid accum => (String -> fieldType -> accum) -> Record row -> accum
Re-exports from Record.ExtraSrghma.FoldrValues
#FoldrValues Source
class FoldrValues :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldrValues (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldrValuesImpl :: forall accum. (fieldType -> accum -> accum) -> accum -> Record row -> accum
Instances
(FoldrValues tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldrValues (Cons name fieldType tailRowList) row fieldType
(Homogeneous row fieldType) => FoldrValues Nil row fieldType
#FoldrValues1 Source
class FoldrValues1 :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldrValues1 (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldrValuesImpl1 :: (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Instances
(FoldrValues tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldrValues1 (Cons name fieldType tailRowList) row fieldType
#foldrValues1 Source
foldrValues1 :: forall row fieldType rowList. RowToList row rowList => FoldrValues1 rowList row fieldType => (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Fold over the values of a record, applying the function to each field, but no initial accumulator.
#foldrValues Source
foldrValues :: forall accum row fieldType rowList. RowToList row rowList => FoldrValues rowList row fieldType => (fieldType -> accum -> accum) -> accum -> Record row -> accum
#foldMapValuesR1 Source
foldMapValuesR1 :: forall m row rowList fieldType row' rowList'. RowToList row rowList => RowToList row' rowList' => FoldrValues1 rowList' row' m => MapRecord rowList row fieldType m () row' => Semigroup m => (fieldType -> m) -> Record row -> m
#foldMapValuesR Source
foldMapValuesR :: forall accum row fieldType rowList. RowToList row rowList => FoldrValues rowList row fieldType => Monoid accum => (fieldType -> accum) -> Record row -> accum
Re-exports from Record.ExtraSrghma.FoldrValuesLazy
#FoldrValuesLazy Source
class FoldrValuesLazy :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rl fieldType) <= FoldrValuesLazy rl row fieldType | row -> fieldType where
Members
foldrValuesLazyImpl :: forall accum. Lazy accum => (fieldType -> accum -> accum) -> accum -> Record row -> accum
Instances
(FoldrValuesLazy tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldrValuesLazy (Cons name fieldType tailRowList) row fieldType
(Homogeneous row fieldType) => FoldrValuesLazy Nil row fieldType
#FoldrValuesLazy1 Source
class FoldrValuesLazy1 :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldrValuesLazy1 (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldrValuesLazyImpl1 :: (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Instances
(FoldrValuesLazy tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, Lazy fieldType, RowToList row trash, Cons name fieldType tailRow row) => FoldrValuesLazy1 (Cons name fieldType tailRowList) row fieldType
#foldrValuesLazy1 Source
foldrValuesLazy1 :: forall row fieldType rowList. RowToList row rowList => Lazy fieldType => FoldrValuesLazy1 rowList row fieldType => (fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Fold over the values of a record, applying the function to each field, but no initial accumulator.
#foldrValuesLazy Source
foldrValuesLazy :: forall accum row fieldType rowList. Lazy accum => RowToList row rowList => FoldrValuesLazy rowList row fieldType => (fieldType -> accum -> accum) -> accum -> Record row -> accum
#foldMapValuesLazyR1 Source
foldMapValuesLazyR1 :: forall m row rowList fieldType row' rowList'. RowToList row rowList => RowToList row' rowList' => Lazy m => FoldrValuesLazy1 rowList' row' m => MapRecord rowList row fieldType m () row' => Semigroup m => (fieldType -> m) -> Record row -> m
#foldMapValuesLazyR Source
foldMapValuesLazyR :: forall accum row fieldType rowList. Lazy accum => RowToList row rowList => FoldrValuesLazy rowList row fieldType => Monoid accum => (fieldType -> accum) -> Record row -> accum
Re-exports from Record.ExtraSrghma.FoldrValuesWithIndex
#FoldrValuesWithIndex Source
class FoldrValuesWithIndex :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldrValuesWithIndex (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldrValuesWithIndexImpl :: forall accum. (String -> fieldType -> accum -> accum) -> accum -> Record row -> accum
Instances
(FoldrValuesWithIndex tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldrValuesWithIndex (Cons name fieldType tailRowList) row fieldType
(Homogeneous row fieldType) => FoldrValuesWithIndex Nil row fieldType
#FoldrValuesWithIndex1 Source
class FoldrValuesWithIndex1 :: RowList Type -> Row Type -> Type -> Constraint
class (Homogeneous row fieldType, HomogeneousRowList rowList fieldType) <= FoldrValuesWithIndex1 (rowList :: RowList Type) (row :: Row Type) fieldType | rowList -> row fieldType where
Members
foldrValuesWithIndexImpl1 :: (String -> fieldType -> fieldType -> fieldType) -> Record row -> fieldType
Instances
(FoldrValuesWithIndex tailRowList row fieldType, Homogeneous tailRow fieldType, HomogeneousRowList tailRowList fieldType, HomogeneousRowList trash fieldType, IsSymbol name, RowToList row trash, Cons name fieldType tailRow row) => FoldrValuesWithIndex1 (Cons name fieldType tailRowList) row fieldType
#foldrValuesWithIndex1 Source
foldrValuesWithIndex1 :: forall row fieldType rowList. RowToList row rowList => FoldrValuesWithIndex1 rowList row fieldType => (String -> fieldType -> fieldType -> fieldType) -> Record row -> fieldType
#foldrValuesWithIndex Source
foldrValuesWithIndex :: forall accum row fieldType rowList. RowToList row rowList => FoldrValuesWithIndex rowList row fieldType => (String -> fieldType -> accum -> accum) -> accum -> Record row -> accum
#foldMapValuesWithIndexR1 Source
foldMapValuesWithIndexR1 :: forall fieldType row rowList row' rowList' m. RowToList row rowList => RowToList row' rowList' => FoldrValuesWithIndex1 rowList' row' m => MapValuesWithIndex rowList row fieldType m () row' => Monoid m => (String -> fieldType -> m) -> Record row -> m
#foldMapValuesWithIndexR Source
foldMapValuesWithIndexR :: forall accum row fieldType rowList. RowToList row rowList => FoldrValuesWithIndex rowList row fieldType => Monoid accum => (String -> fieldType -> accum) -> Record row -> accum
Re-exports from Record.ExtraSrghma.Keys.Array
#RecordToAK Source
class RecordToAK :: forall k. k -> Constraint
class RecordToAK a where
Members
Instances
(RowToList row rowList, RLToAK rowList) => RecordToAK (Record row)
#RecordToANEK Source
class RecordToANEK :: forall k. k -> Constraint
class RecordToANEK a where
Members
Instances
(RowToList row rowList, RLToANEK rowList) => RecordToANEK (Record row)
#rowToANEK Source
rowToANEK :: forall @row rowList. RowToList row rowList => RLToANEK rowList => Array NonEmptyString
Re-exports from Record.ExtraSrghma.Keys.List
#RecordToLK Source
class RecordToLK :: forall k. k -> Constraint
class RecordToLK a where
Members
recordToLK :: List String
Instances
(RowToList row rowList, RLToLK rowList) => RecordToLK (Record row)
#RecordToLNEK Source
class RecordToLNEK :: forall k. k -> Constraint
class RecordToLNEK a where
Members
Instances
(RowToList row rowList, RLToLNEK rowList) => RecordToLNEK (Record row)
#rowToLNEK Source
rowToLNEK :: forall @row rowList. RowToList row rowList => RLToLNEK rowList => List NonEmptyString
Re-exports from Record.ExtraSrghma.Keys.NonEmptyArray
#RLToNEANEK Source
class RLToNEANEK :: RowList Type -> Constraint
class RLToNEANEK (rowList :: RowList Type) where
Members
Instances
(IsSymbol name, MakeNonEmpty name, RLToANEK tail) => RLToNEANEK (Cons name ty tail)
#RecordToNEAK Source
class RecordToNEAK :: forall k. k -> Constraint
class RecordToNEAK a where
Members
Instances
(RowToList row rowList, RLToNEAK rowList) => RecordToNEAK (Record row)
#RecordToNEANEK Source
class RecordToNEANEK :: forall k. k -> Constraint
class RecordToNEANEK a where
Members
Instances
(RowToList row rowList, RLToNEANEK rowList) => RecordToNEANEK (Record row)
#rowToNEANEK Source
rowToNEANEK :: forall @row rowList. RowToList row rowList => RLToNEANEK rowList => NonEmptyArray NonEmptyString
#rowToNEAK Source
rowToNEAK :: forall @row rowList. RowToList row rowList => RLToNEAK rowList => NonEmptyArray String
Re-exports from Record.ExtraSrghma.Keys.NonEmptyList
#RLToNELNEK Source
class RLToNELNEK :: RowList Type -> Constraint
class RLToNELNEK (rowList :: RowList Type) where
Members
Instances
(IsSymbol name, MakeNonEmpty name, RLToLNEK tail) => RLToNELNEK (Cons name ty tail)
#RecordToNELK Source
class RecordToNELK :: forall k. k -> Constraint
class RecordToNELK a where
Members
Instances
(RowToList row rowList, RLToNELK rowList) => RecordToNELK (Record row)
#RecordToNELNEK Source
class RecordToNELNEK :: forall k. k -> Constraint
class RecordToNELNEK a where
Members
Instances
(RowToList row rowList, RLToNELNEK rowList) => RecordToNELNEK (Record row)
#rowToNELNEK Source
rowToNELNEK :: forall @row rowList. RowToList row rowList => RLToNELNEK rowList => NonEmpty List NonEmptyString
Re-exports from Record.ExtraSrghma.Keys.Pick
Re-exports from Record.ExtraSrghma.MapIndex
#MapIndex Source
class MapIndex :: forall k. RowList Type -> Row Type -> k -> Type -> Row Type -> Row Type -> Constraint
class MapIndex (rowList :: RowList Type) (row :: Row Type) a b (from :: Row Type) (to :: Row Type) | rowList -> row a b from to where
Members
mapIndexBuilder :: (String -> b) -> Builder (Record from) (Record to)
Instances
Re-exports from Record.ExtraSrghma.MapRecord
#MapRecord Source
class MapRecord :: RowList Type -> Row Type -> Type -> Type -> Row Type -> Row Type -> Constraint
class MapRecord (rowList :: RowList Type) (row :: Row Type) a b (from :: Row Type) (to :: Row Type) | rowList -> row a b from to where
Members
mapRecordBuilder :: (a -> b) -> Record row -> Builder (Record from) (Record to)
Instances
Re-exports from Record.ExtraSrghma.MapValuesWithIndex
#MapValuesWithIndex Source
class MapValuesWithIndex :: RowList Type -> Row Type -> Type -> Type -> Row Type -> Row Type -> Constraint
class MapValuesWithIndex (rowList :: RowList Type) (row :: Row Type) a b (from :: Row Type) (to :: Row Type) | rowList -> row a b from to where
Type class for transforming record values based on field names and values.
Members
mapValuesWithIndexBuilder :: (String -> a -> b) -> Record row -> Builder (Record from) (Record to)
The implementation for mapping over the record's values with the field name.
Instances
(IsSymbol fieldName, Cons fieldName a restRow row, MapValuesWithIndex tail row a b from from', Lacks fieldName from', Cons fieldName b from' to) => MapValuesWithIndex (Cons fieldName a tail) row a b from to
Instance for transforming a record with a non-empty field (i.e., head of the row list).
MapValuesWithIndex Nil row a b () ()
Base case: Empty record (i.e., no fields to transform).
#mapValuesWithIndex Source
mapValuesWithIndex :: forall row rowList a b row'. RowToList row rowList => MapValuesWithIndex rowList row a b () row' => (String -> a -> b) -> Record row -> Record row'
Like mapRecord
from https://github.com/justinwoo/purescript-record-extra
but mapRecordWithIndex
The 'mapValuesWithIndex' function allows you to transform the values of a record,
with access to the index (as the field name) and the value.
Example usage:
let record = { name: "Alice", age: 25 }
let result = mapValuesWithIndex (\name value -> name ++ ": " ++ show value) record
-- result will be: { name: "name: Alice", age: "age: 25" }
Re-exports from Record.ExtraSrghma.ParSequenceRecord
#ParSequenceRecord Source
class ParSequenceRecord :: forall k. k -> Row Type -> Row Type -> Row Type -> (Type -> Type) -> (Type -> Type) -> Constraint
class (Parallel parM m) <= ParSequenceRecord rowList inputRow accRow resultRow parM m | rowList -> inputRow accRow resultRow parM m where
Class for sequencing a record of monadic values in parallel
Members
parSequenceRecordImpl :: Record inputRow -> parM (Builder (Record accRow) (Record resultRow))
Instances
(IsSymbol fieldName, Cons fieldName (m fieldType) remainingFields inputRow, Parallel parM m, Lacks fieldName (), Cons fieldName fieldType () resultRow) => ParSequenceRecord (Cons fieldName (m fieldType) Nil) inputRow () resultRow parM m
Base case: When there's only one field left in the record
(IsSymbol fieldName, Cons fieldName (m fieldType) remainingFields inputRow, ParSequenceRecord tailList inputRow accRow intermediateRow parM m, Lacks fieldName intermediateRow, Cons fieldName fieldType intermediateRow resultRow) => ParSequenceRecord (Cons fieldName (m fieldType) tailList) inputRow accRow resultRow parM m
(Parallel parM m, Applicative parM) => ParSequenceRecord Nil inputRow () () parM m
Base case: Empty record
#parSequenceRecord Source
parSequenceRecord :: forall inputRow outputRow rowList parM m. RowToList inputRow rowList => ParSequenceRecord rowList inputRow () outputRow parM m => Record inputRow -> m (Record outputRow)
Sequences a record of monadic values in parallel, returning a monadic record of values.
For example, turns { a: Aff Int, b: Aff String }
into Aff { a: Int, b: String }
by running all the monadic values in parallel.
Re-exports from Record.ExtraSrghma.SList.Array
#SListToANES Source
class SListToANES :: SList -> Constraint
class SListToANES (slist :: SList) where
Members
Instances
SListToANES SNil
(IsSymbol name, MakeNonEmpty name, SListToANES tail) => SListToANES (SCons name tail)
#SListToNEANES Source
class SListToNEANES :: SList -> Constraint
class SListToNEANES (slist :: SList) where
Members
Instances
(IsSymbol name, MakeNonEmpty name, SListToANES tail) => SListToNEANES (SCons name tail)
#SListToNEAS Source
class SListToNEAS :: SList -> Constraint
class SListToNEAS (slist :: SList) where
Members
Instances
(IsSymbol name, SListToAS tail) => SListToNEAS (SCons name tail)
Re-exports from Record.ExtraSrghma.SList.List
#SListToLNES Source
class SListToLNES :: SList -> Constraint
class SListToLNES (slist :: SList) where
Members
Instances
SListToLNES SNil
(IsSymbol name, MakeNonEmpty name, SListToLNES tail) => SListToLNES (SCons name tail)
#SListToNELNES Source
class SListToNELNES :: SList -> Constraint
class SListToNELNES (slist :: SList) where
Members
Instances
(IsSymbol name, MakeNonEmpty name, SListToLNES tail) => SListToNELNES (SCons name tail)
#SListToNELS Source
class SListToNELS :: SList -> Constraint
class SListToNELS (slist :: SList) where
Members
Instances
(IsSymbol name, SListToLS tail) => SListToNELS (SCons name tail)
Re-exports from Record.ExtraSrghma.SList.Types
#SList Source
data SList
A phantom type-level linked list of field names (symbols), used to express a deterministic ordering.
#SCons Source
data SCons :: Symbol -> SList -> SList
data SCons t0 t1
Instances
(SListToRowList sTail tail) => SListToRowList (SCons name sTail) (Cons name trash tail)
#SListToRowList Source
class SListToRowList :: SList -> RowList Type -> Constraint
class SListToRowList (xs :: SList) (rl :: RowList Type) | xs -> rl, rl -> xs
Convert a type-level symbol list (SList
) to a RowList (RL.RowList
).
Example use foo :: forall @slist rowList . SListToRowList slist rowList => ...do something with rowList
Instances
SListToRowList SNil Nil
(SListToRowList sTail tail) => SListToRowList (SCons name sTail) (Cons name trash tail)
#type (:::) Source
Operator alias for Record.ExtraSrghma.SList.Types.SCons (right-associative / precedence 6)
Re-exports from Record.ExtraSrghma.SequenceRecord
#SequenceRecord Source
class SequenceRecord :: forall k. k -> Row Type -> Row Type -> Row Type -> (Type -> Type) -> Constraint
class (Functor m) <= SequenceRecord rowList row from to m | rowList -> row from to m where
Members
sequenceRecordImpl :: Record row -> m (Builder (Record from) (Record to))
Instances
(IsSymbol name, Cons name (m ty) trash row, Functor m, Lacks name (), Cons name ty () to) => SequenceRecord (Cons name (m ty) Nil) row () to m
(IsSymbol name, Cons name (m ty) trash row, Apply m, SequenceRecord tail row from from' m, Lacks name from', Cons name ty from' to) => SequenceRecord (Cons name (m ty) tail) row from to m
(Applicative m) => SequenceRecord Nil row () () m
#sequenceRecord Source
sequenceRecord :: forall row row' rowList m. RowToList row rowList => SequenceRecord rowList row () row' m => Record row -> m (Record row')
Re-exports from Record.ExtraSrghma.TraverseRecord
#TraverseRecord Source
class TraverseRecord :: forall k. k -> Row Type -> Row Type -> Row Type -> Row Type -> (Type -> Type) -> Constraint
class (Functor m) <= TraverseRecord rowList rowF rowA from to m | rowList -> rowF rowA from to m where
Members
Instances
(Applicative m) => TraverseRecord Nil rowF rowA () () m
(IsSymbol name, Cons name (a -> m b) trashF rowF, Cons name a trashA rowA, Apply m, TraverseRecord tail rowF rowA from from' m, Lacks name from', Cons name b from' to) => TraverseRecord (Cons name (a -> m b) tail) rowF rowA from to m
#traverseRecord Source
traverseRecord :: forall rowF rowA rowOut rowList m. RowToList rowF rowList => TraverseRecord rowList rowF rowA () rowOut m => Record rowF -> Record rowA -> m (Record rowOut)
Re-exports from Record.ExtraSrghma.ValuesToUnfoldableLazy
#LazyTupleList Source
newtype LazyTupleList a
A lazy unfoldable wrapper for converting record values into a sequential structure.
Constructors
LazyTupleList (Unit -> Maybe (Tuple a (LazyTupleList a)))
Instances
Lazy (LazyTupleList a)
#valuesToUnfoldableLazy Source
valuesToUnfoldableLazy :: forall row rowList container value. RowToList row rowList => FoldrValuesLazy rowList row value => Unfoldable container => Record row -> container value
Converts a record of values into any Unfoldable
container, lazily.
Re-exports from Record.ExtraSrghma.ZipRecord
#ZipRecord Source
class ZipRecord :: RowList Type -> RowList Type -> Row Type -> Row Type -> Row Type -> Row Type -> Constraint
class ZipRecord (rowListL :: RowList Type) (rowListR :: RowList Type) (rowL :: Row Type) (rowR :: Row Type) (resultRowAcc :: Row Type) (resultRow :: Row Type) | rowListL -> rowL resultRowAcc resultRow, rowListR -> rowR resultRowAcc resultRow where
Zips two records (with matching keys) into a single record of Tuple values.
Members
Instances
ZipRecord Nil Nil rowL rowR () ()
(IsSymbol key, Cons key a restRowL rowL, Cons key b restRowR rowR, Cons key (Tuple a b) resultTail resultRow, Lacks key resultTail, ZipRecord tailL tailR rowL rowR resultRowAcc resultTail) => ZipRecord (Cons key a tailL) (Cons key b tailR) rowL rowR resultRowAcc resultRow
- Modules
- Record.
ExtraSrghma - Record.
ExtraSrghma. AppendRecord - Record.
ExtraSrghma. CompareRecord - Record.
ExtraSrghma. FoldlValues - Record.
ExtraSrghma. FoldlValuesWithIndex - Record.
ExtraSrghma. FoldrValues - Record.
ExtraSrghma. FoldrValuesLazy - Record.
ExtraSrghma. FoldrValuesWithIndex - Record.
ExtraSrghma. Keys. Array - Record.
ExtraSrghma. Keys. List - Record.
ExtraSrghma. Keys. NonEmptyArray - Record.
ExtraSrghma. Keys. NonEmptyList - Record.
ExtraSrghma. Keys. Pick - Record.
ExtraSrghma. MapIndex - Record.
ExtraSrghma. MapRecord - Record.
ExtraSrghma. MapValuesWithIndex - Record.
ExtraSrghma. ParSequenceRecord - Record.
ExtraSrghma. SList. Array - Record.
ExtraSrghma. SList. List - Record.
ExtraSrghma. SList. Types - Record.
ExtraSrghma. SequenceRecord - Record.
ExtraSrghma. TraverseRecord - Record.
ExtraSrghma. ValuesToUnfoldableLazy - Record.
ExtraSrghma. ZipRecord
Compare two records by the current head field, and recurse on the tail if equal.