File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -23,11 +23,11 @@ Breaking changes:
23
23
- ` kill' ` 's signal arg
24
24
25
25
New features:
26
- - Added ` fromKillSignal ` (#51 by @JordanMartinez )
26
+ - Added ` fromKillSignal ` , ` fromKillSignal' ` (#51 , # 59 by @JordanMartinez )
27
27
- Added ` pidExists ` (#53 by @JordanMartinez )
28
28
- Export ` toUnsafeChildProcess ` (#55 by @JordanMartinez )
29
29
- Added ` stdio ` (#55 by @JordanMartinez )
30
- - Added ` Show ` instance to ` Shell ` & ` KillSignal ` (#58 by @JordanMartinez )
30
+ - Added ` Eq ` and ` Show ` instance to ` Shell ` & ` KillSignal ` (#58 , # 59 by @JordanMartinez )
31
31
32
32
Other improvements:
33
33
- Fix regression: add ` ref ` /` unref ` APIs that were dropped in ` v10.0.0 ` (#50 by @JordanMartinez )
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ module Node.ChildProcess.Types
15
15
, intSignal
16
16
, stringSignal
17
17
, fromKillSignal
18
+ , fromKillSignal'
18
19
, Shell
19
20
, enableShell
20
21
, customShell
@@ -72,6 +73,17 @@ defaultStdIO = unsafeCoerce (null :: Nullable String)
72
73
73
74
foreign import data KillSignal :: Type
74
75
76
+ instance Eq KillSignal where
77
+ eq a b = a # fromKillSignal'
78
+ ( \i -> b # fromKillSignal'
79
+ (\b' -> i == b')
80
+ (const false )
81
+ )
82
+ ( \s -> b # fromKillSignal'
83
+ (const false )
84
+ (\b' -> s == b')
85
+ )
86
+
75
87
instance Show KillSignal where
76
88
show = showKillSignal
77
89
@@ -84,9 +96,12 @@ stringSignal :: String -> KillSignal
84
96
stringSignal = unsafeCoerce
85
97
86
98
fromKillSignal :: KillSignal -> Either Int String
87
- fromKillSignal sig = runFn3 fromKillSignalImpl Left Right sig
99
+ fromKillSignal sig = fromKillSignal' Left Right sig
100
+
101
+ fromKillSignal' :: forall r . (Int -> r ) -> (String -> r ) -> KillSignal -> r
102
+ fromKillSignal' fromInt fromStr sig = runFn3 fromKillSignalImpl fromInt fromStr sig
88
103
89
- foreign import fromKillSignalImpl :: Fn3 ( forall l r . l -> Either l r ) (forall l r . r -> Either l r ) (KillSignal ) ( Either Int String )
104
+ foreign import fromKillSignalImpl :: forall r . Fn3 ( Int -> r ) (String -> r ) (KillSignal ) r
90
105
91
106
foreign import data Shell :: Type
92
107
You can’t perform that action at this time.
0 commit comments