@@ -6,14 +6,11 @@ module Data.Record
66 , delete
77 ) where
88
9- import Data.Function.Uncurried (Fn2 , Fn3 , runFn2 , runFn3 )
9+ import Data.Function.Uncurried (runFn2 , runFn3 )
10+ import Data.Record.Unsafe (unsafeGetFn , unsafeSetFn , unsafeDeleteFn )
1011import Data.Symbol (class IsSymbol , SProxy , reflectSymbol )
1112import Type.Row (class RowLacks )
1213
13- foreign import unsafeGet :: forall r a . Fn2 String (Record r ) a
14- foreign import unsafeSet :: forall r1 r2 a . Fn3 String a (Record r1 ) (Record r2 )
15- foreign import unsafeDelete :: forall r1 r2 . Fn2 String (Record r1 ) (Record r2 )
16-
1714-- | Get a property for a label which is specified using a value-level proxy for
1815-- | a type-level string.
1916-- |
2926 => SProxy l
3027 -> Record r
3128 -> a
32- get l r = runFn2 unsafeGet (reflectSymbol l) r
29+ get l r = runFn2 unsafeGetFn (reflectSymbol l) r
3330
3431-- | Set a property for a label which is specified using a value-level proxy for
3532-- | a type-level string.
4946 -> b
5047 -> Record r1
5148 -> Record r2
52- set l b r = runFn3 unsafeSet (reflectSymbol l) b r
49+ set l b r = runFn3 unsafeSetFn (reflectSymbol l) b r
5350
5451-- | Modify a property for a label which is specified using a value-level proxy for
5552-- | a type-level string.
8986 -> a
9087 -> Record r1
9188 -> Record r2
92- insert l a r = runFn3 unsafeSet (reflectSymbol l) a r
89+ insert l a r = runFn3 unsafeSetFn (reflectSymbol l) a r
9390
9491-- | Delete a property for a label which is specified using a value-level proxy for
9592-- | a type-level string.
@@ -111,4 +108,4 @@ delete
111108 => SProxy l
112109 -> Record r2
113110 -> Record r1
114- delete l r = runFn2 unsafeDelete (reflectSymbol l) r
111+ delete l r = runFn2 unsafeDeleteFn (reflectSymbol l) r
0 commit comments