@@ -6,14 +6,11 @@ module Data.Record
6
6
, delete
7
7
) where
8
8
9
- import Data.Function.Uncurried (Fn2 , Fn3 , runFn2 , runFn3 )
9
+ import Data.Function.Uncurried (runFn2 , runFn3 )
10
+ import Data.Record.Unsafe (unsafeGetFn , unsafeSetFn , unsafeDeleteFn )
10
11
import Data.Symbol (class IsSymbol , SProxy , reflectSymbol )
11
12
import Type.Row (class RowLacks )
12
13
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
-
17
14
-- | Get a property for a label which is specified using a value-level proxy for
18
15
-- | a type-level string.
19
16
-- |
29
26
=> SProxy l
30
27
-> Record r
31
28
-> a
32
- get l r = runFn2 unsafeGet (reflectSymbol l) r
29
+ get l r = runFn2 unsafeGetFn (reflectSymbol l) r
33
30
34
31
-- | Set a property for a label which is specified using a value-level proxy for
35
32
-- | a type-level string.
49
46
-> b
50
47
-> Record r1
51
48
-> Record r2
52
- set l b r = runFn3 unsafeSet (reflectSymbol l) b r
49
+ set l b r = runFn3 unsafeSetFn (reflectSymbol l) b r
53
50
54
51
-- | Modify a property for a label which is specified using a value-level proxy for
55
52
-- | a type-level string.
89
86
-> a
90
87
-> Record r1
91
88
-> Record r2
92
- insert l a r = runFn3 unsafeSet (reflectSymbol l) a r
89
+ insert l a r = runFn3 unsafeSetFn (reflectSymbol l) a r
93
90
94
91
-- | Delete a property for a label which is specified using a value-level proxy for
95
92
-- | a type-level string.
@@ -111,4 +108,4 @@ delete
111
108
=> SProxy l
112
109
-> Record r2
113
110
-> Record r1
114
- delete l r = runFn2 unsafeDelete (reflectSymbol l) r
111
+ delete l r = runFn2 unsafeDeleteFn (reflectSymbol l) r
0 commit comments