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:
2323 - ` kill' ` 's signal arg
2424
2525New features:
26- - Added ` fromKillSignal ` (#51 by @JordanMartinez )
26+ - Added ` fromKillSignal ` , ` fromKillSignal' ` (#51 , # 59 by @JordanMartinez )
2727- Added ` pidExists ` (#53 by @JordanMartinez )
2828- Export ` toUnsafeChildProcess ` (#55 by @JordanMartinez )
2929- 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 )
3131
3232Other improvements:
3333- 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
1515 , intSignal
1616 , stringSignal
1717 , fromKillSignal
18+ , fromKillSignal'
1819 , Shell
1920 , enableShell
2021 , customShell
@@ -72,6 +73,17 @@ defaultStdIO = unsafeCoerce (null :: Nullable String)
7273
7374foreign import data KillSignal :: Type
7475
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+
7587instance Show KillSignal where
7688 show = showKillSignal
7789
@@ -84,9 +96,12 @@ stringSignal :: String -> KillSignal
8496stringSignal = unsafeCoerce
8597
8698fromKillSignal :: 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
88103
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
90105
91106foreign import data Shell :: Type
92107
You can’t perform that action at this time.
0 commit comments