|
21 | 21 | -- | |
22 | 22 | -- | ```purescript |
23 | 23 | -- | -- In the PureScript file: |
24 | | --- | foreign import logMessage :: forall eff. |
25 | | --- | String -> String -> Effect (console :: CONSOLE | eff) Unit |
| 24 | +-- | foreign import logMessage :: String -> String -> Effect Unit |
26 | 25 | -- | ``` |
27 | 26 | -- | |
28 | 27 | -- | ```javascript |
|
48 | 47 | -- | |
49 | 48 | -- | ```purescript |
50 | 49 | -- | -- In the PureScript file: |
51 | | --- | foreign import logMessageImpl :: forall eff. |
52 | | --- | EffectFn2 (console :: CONSOLE | eff) String String Unit |
| 50 | +-- | foreign import logMessageImpl :: EffectFn2 String String Unit |
53 | 51 | -- | ``` |
54 | 52 | -- | |
55 | 53 | -- | ```javascript |
|
60 | 58 | -- | You can then use `runEffectFn2` to provide a nicer version: |
61 | 59 | -- | |
62 | 60 | -- | ```purescript |
63 | | --- | logMessage :: forall eff. |
64 | | --- | String -> String -> Effect (console :: CONSOLE | eff) Unit |
| 61 | +-- | logMessage :: String -> String -> Effect Unit |
65 | 62 | -- | logMessage = runEffectFn2 logMessageImpl |
66 | 63 | -- | ``` |
67 | 64 | -- | |
|
94 | 91 | -- | |
95 | 92 | -- | The import then looks like this: |
96 | 93 | -- | ```purescript |
97 | | --- | foreign import logMessageImpl :: forall eff. |
98 | | --- | EffectFn3 (http :: HTTP, console :: CONSOLE | eff) |
99 | | --- | String |
100 | | --- | String |
101 | | --- | (EffectFn1 (http :: HTTP, console :: CONSOLE | eff) |
102 | | --- | (Nullable HttpResponse) |
103 | | --- | Unit) |
104 | | --- | Unit |
| 94 | +-- | foreign import logMessageImpl |
| 95 | +-- | EffectFn3 |
| 96 | +-- | String |
| 97 | +-- | String |
| 98 | +-- | (EffectFn1 (Nullable HttpResponse) Unit) |
| 99 | +-- | Unit |
105 | 100 | -- | ``` |
106 | 101 | -- | |
107 | 102 | -- | And, as before, the FFI file is extremely simple: |
|
114 | 109 | -- | PureScript version: |
115 | 110 | -- | |
116 | 111 | -- | ```purescript |
117 | | --- | logMessage :: forall eff. |
| 112 | +-- | logMessage :: |
118 | 113 | -- | String -> |
119 | 114 | -- | String -> |
120 | | --- | (Nullable HttpResponse -> Effect (http :: HTTP, console :: CONSOLE | eff) Unit) -> |
121 | | --- | Effect (http :: HTTP, console :: CONSOLE | eff) Unit |
| 115 | +-- | (Nullable HttpResponse -> Effect Unit) -> |
| 116 | +-- | Effect Unit |
122 | 117 | -- | logMessage level message callback = |
123 | 118 | -- | runEffectFn3 logMessageImpl level message (mkEffectFn1 callback) |
124 | 119 | -- | ``` |
|
0 commit comments