Bladeren bron

Start playing with node shell process library

jherve 1 jaar geleden
bovenliggende
commit
13a8bcec28
2 gewijzigde bestanden met toevoegingen van 30 en 0 verwijderingen
  1. 1 0
      spago.dhall
  2. 29 0
      src/Main.purs

+ 1 - 0
spago.dhall

@@ -25,6 +25,7 @@ You can edit this file as you like.
   , "lists"
   , "maybe"
   , "node-buffer"
+  , "node-child-process"
   , "node-fs"
   , "nonempty"
   , "ordered-collections"

+ 29 - 0
src/Main.purs

@@ -0,0 +1,29 @@
+module Main where
+
+import Prelude
+
+import Data.Maybe (Maybe(..))
+import Effect (Effect)
+import Effect.Class.Console (log)
+import Node.Buffer (toString)
+import Node.ChildProcess (ExecResult)
+import Node.ChildProcess as ChildProcess
+import Node.Encoding (Encoding(..))
+import Node.Errors.SystemError (code, message)
+
+
+main :: Effect Unit
+main = do
+  log "hello"
+  _ <- ChildProcess.exec' "pwd" identity readExec
+  _ <- ChildProcess.exec' "touch /test.log" identity readExec
+  pure unit
+
+readExec ∷ ExecResult → Effect Unit
+readExec {error: Nothing, stdout, stderr} = do
+  log "OK !"
+  out <- toString UTF8 stdout
+  log out
+
+readExec {error: Just err, stdout, stderr} = do
+  log $ "error ! [" <> code err <> "], " <> message err