From f78d827f6d80bfeb27ab064052595f013fc3e1f5 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Thu, 20 Jul 2023 05:50:26 -0700 Subject: [PATCH] Add getSystemErrorName --- src/Node/Errors/SystemError.js | 2 ++ src/Node/Errors/SystemError.purs | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/Node/Errors/SystemError.js b/src/Node/Errors/SystemError.js index 639145e..1c2368f 100644 --- a/src/Node/Errors/SystemError.js +++ b/src/Node/Errors/SystemError.js @@ -1,2 +1,4 @@ +import util from "node:util"; +export const getSystemErrorName = (errno) => util.getSystemErrorName(errno); export const getField = (field, err) => err[field]; export const getNullableField = (field, err) => err[field] ? err[field] : null; diff --git a/src/Node/Errors/SystemError.purs b/src/Node/Errors/SystemError.purs index 52e3c7d..c1f3b7e 100644 --- a/src/Node/Errors/SystemError.purs +++ b/src/Node/Errors/SystemError.purs @@ -4,6 +4,7 @@ module Node.Errors.SystemError , code , dest , errno + , getSystemErrorName , info , message , path @@ -37,9 +38,14 @@ code = runFn2 getField "code" dest :: SystemError -> Maybe String dest = toMaybe <<< runFn2 getNullableField "dest" +-- | Use `getSystemErrorName` to convert Int into a string name errno :: SystemError -> Int errno = runFn2 getField "errno" +-- | Returns the string name for a numeric error code that comes from a Node.js API. +-- | The mapping between error codes and error names is platform-dependent. +foreign import getSystemErrorName :: Int -> String + info :: SystemError -> Foreign info = runFn2 getField "info"