UNPKG

pretty-format

Version:

Stringify any JavaScript value.

50 lines (36 loc) 1.7 kB
'use strict';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 };