Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implementation for the fallback inspect function so that it produces equivalent output to the original inspect behavior.
- Loading branch information
1 parent
bfc7bc6
commit 59a1b3d
Showing
5 changed files
with
210 additions
and
204 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
function requireUtil() { | ||
try { | ||
// eslint-disable-next-line no-restricted-modules | ||
return require("util"); | ||
} catch (e) { | ||
return null; | ||
} | ||
} | ||
|
||
// for v10.12.0+ | ||
function lookupCustomInspectSymbol() { | ||
return Symbol.for("nodejs.util.inspect.custom"); | ||
} | ||
|
||
// for older node environments | ||
function tryReadingCustomSymbolFromUtilInspect(options) { | ||
const _requireUtil = options.requireUtil || requireUtil; | ||
const util = _requireUtil(); | ||
return util ? util.inspect.custom : null; | ||
} | ||
|
||
exports.getUtilInspect = function getUtilInspect(fallback, options = {}) { | ||
const _requireUtil = options.requireUtil || requireUtil; | ||
const util = _requireUtil(); | ||
return function inspect(value, showHidden, depth) { | ||
return util ? util.inspect(value, showHidden, depth) : fallback(value); | ||
}; | ||
}; | ||
|
||
exports.getCustomInspectSymbol = function getCustomInspectSymbol(options = {}) { | ||
const _lookupCustomInspectSymbol = | ||
options.lookupCustomInspectSymbol || lookupCustomInspectSymbol; | ||
|
||
// get custom inspect symbol for node environments | ||
return ( | ||
_lookupCustomInspectSymbol() || | ||
tryReadingCustomSymbolFromUtilInspect(options) | ||
); | ||
}; |
Oops, something went wrong.