0 | module Node.Console.Console
5 | import Node.Console.Module
6 | import Node.Stream.Writeable
9 | data Console : Type where [external]
17 | %foreign "node:lambda: () => true"
18 | ffi_colorMode_enabled : Node ColorMode
20 | %foreign "node:lambda: () => false"
21 | ffi_colorMode_disabled : Node ColorMode
23 | %foreign "node:lambda: () => 'auto'"
24 | ffi_colorMode_auto : Node ColorMode
26 | convertColorMode : ColorMode -> Node ColorMode
27 | convertColorMode = \case
28 | Enabled => ffi_colorMode_enabled
29 | Disabled => ffi_colorMode_disabled
30 | Auto => ffi_colorMode_auto
33 | record Options (out : Type) (err : Type) where
34 | constructor MkOptions
38 | colorMode: ColorMode
40 | groupIndentation: Int
43 | defaultOptions : WriteableClass Buffer Error out => WriteableClass Buffer Error err => out -> err -> Options out err
44 | defaultOptions stdout stderr = MkOptions
47 | , ignoreErrors = True
49 | , groupIndentation = 2
69 | ffi_convertOptions :
72 | -> (ignoreErrors: Bool)
73 | -> (colorMode: Node ColorMode)
74 | -> (groupIndentation: Int)
75 | -> Node $
Options out err
78 | convertOptions : Options out err -> Node $
Options out err
79 | convertOptions o = ffi_convertOptions
83 | (convertColorMode o.colorMode)
86 | %foreign "node:lambda: (tya, c, a) => c.log(a)"
87 | ffi_log : Console -> a -> PrimIO ()
90 | (.log) : HasIO io => Console -> a -> io ()
91 | (.log) c a = primIO $
ffi_log c a
93 | %foreign "node:lambda: (tya, c, a) => c.debug(a)"
94 | ffi_debug : Console -> a -> PrimIO ()
97 | (.debug) : HasIO io => Console -> a -> io ()
98 | (.debug) c a = primIO $
ffi_debug c a
100 | %foreign "node:lambda: (tya, c, a) => c.error(a)"
101 | ffi_error : Console -> a -> PrimIO ()
104 | (.error) : HasIO io => Console -> a -> io ()
105 | (.error) c a = primIO $
ffi_error c a
107 | %foreign "node:lambda: (tya, c, a) => c.info(a)"
108 | ffi_info : Console -> a -> PrimIO ()
111 | (.info) : HasIO io => Console -> a -> io ()
112 | (.info) c a = primIO $
ffi_info c a
114 | %foreign "node:lambda: (tya, c, a) => c.trace(a)"
115 | ffi_trace : Console -> a -> PrimIO ()
118 | (.trace) : HasIO io => Console -> a -> io ()
119 | (.trace) c a = primIO $
ffi_trace c a
121 | %foreign "node:lambda: (tya, c, a) => c.warn(a)"
122 | ffi_warn : Console -> a -> PrimIO ()
125 | (.warn) : HasIO io => Console -> a -> io ()
126 | (.warn) c a = primIO $
ffi_warn c a