pretty-format
Version:
Stringify any JavaScript value.
50 lines (36 loc) • 1.7 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.serialize = exports.test = undefined;
var _ansiRegex = require('ansi-regex');var _ansiRegex2 = _interopRequireDefault(_ansiRegex);
var _ansiStyles = require('ansi-styles');var _ansiStyles2 = _interopRequireDefault(_ansiStyles);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
const toHumanReadableAnsi = text => {
return text.replace((0, _ansiRegex2.default)(), (match, offset, string) => {
switch (match) {
case _ansiStyles2.default.red.close:
case _ansiStyles2.default.green.close:
case _ansiStyles2.default.reset.open:
case _ansiStyles2.default.reset.close:
return '</>';
case _ansiStyles2.default.red.open:
return '<red>';
case _ansiStyles2.default.green.open:
return '<green>';
case _ansiStyles2.default.dim.open:
return '<dim>';
case _ansiStyles2.default.bold.open:
return '<bold>';
default:
return '';}
});
}; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/const test = exports.test = val => typeof val === 'string' && val.match((0, _ansiRegex2.default)());const serialize = exports.serialize = (val, config, indentation,
depth,
refs,
printer) =>
printer(toHumanReadableAnsi(val), config, indentation, depth, refs);exports.default =
{ serialize, test };