Module

Data.Lens.Record

Package
purescript-profunctor-lenses
Repository
purescript-contrib/purescript-profunctor-lenses

#prop Source

prop :: forall b a r r2 r1 l. IsSymbol l => RowCons l a r r1 => RowCons l b r r2 => SProxy l -> Lens (Record r1) (Record r2) a b

Construct a (type-changing) lens for a record property, by providing a proxy for the Symbol which corresponds to the property label.

The lens is polymorphic in the rest of the row of property labels.

For example:

prop (SProxy :: SProxy "foo")
  :: forall a b r. Lens { foo :: a | r } { foo :: b | r } a b