UNPKG

2.6 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', {
4 value: true
5});
6exports.default = exports.serialize = exports.test = void 0;
7
8var _ansiRegex = _interopRequireDefault(require('ansi-regex'));
9
10var _ansiStyles = _interopRequireDefault(require('ansi-styles'));
11
12function _interopRequireDefault(obj) {
13 return obj && obj.__esModule ? obj : {default: obj};
14}
15
16/**
17 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
18 *
19 * This source code is licensed under the MIT license found in the
20 * LICENSE file in the root directory of this source tree.
21 */
22const toHumanReadableAnsi = text =>
23 text.replace((0, _ansiRegex.default)(), match => {
24 switch (match) {
25 case _ansiStyles.default.red.close:
26 case _ansiStyles.default.green.close:
27 case _ansiStyles.default.cyan.close:
28 case _ansiStyles.default.gray.close:
29 case _ansiStyles.default.white.close:
30 case _ansiStyles.default.yellow.close:
31 case _ansiStyles.default.bgRed.close:
32 case _ansiStyles.default.bgGreen.close:
33 case _ansiStyles.default.bgYellow.close:
34 case _ansiStyles.default.inverse.close:
35 case _ansiStyles.default.dim.close:
36 case _ansiStyles.default.bold.close:
37 case _ansiStyles.default.reset.open:
38 case _ansiStyles.default.reset.close:
39 return '</>';
40
41 case _ansiStyles.default.red.open:
42 return '<red>';
43
44 case _ansiStyles.default.green.open:
45 return '<green>';
46
47 case _ansiStyles.default.cyan.open:
48 return '<cyan>';
49
50 case _ansiStyles.default.gray.open:
51 return '<gray>';
52
53 case _ansiStyles.default.white.open:
54 return '<white>';
55
56 case _ansiStyles.default.yellow.open:
57 return '<yellow>';
58
59 case _ansiStyles.default.bgRed.open:
60 return '<bgRed>';
61
62 case _ansiStyles.default.bgGreen.open:
63 return '<bgGreen>';
64
65 case _ansiStyles.default.bgYellow.open:
66 return '<bgYellow>';
67
68 case _ansiStyles.default.inverse.open:
69 return '<inverse>';
70
71 case _ansiStyles.default.dim.open:
72 return '<dim>';
73
74 case _ansiStyles.default.bold.open:
75 return '<bold>';
76
77 default:
78 return '';
79 }
80 });
81
82const test = val =>
83 typeof val === 'string' && !!val.match((0, _ansiRegex.default)());
84
85exports.test = test;
86
87const serialize = (val, config, indentation, depth, refs, printer) =>
88 printer(toHumanReadableAnsi(val), config, indentation, depth, refs);
89
90exports.serialize = serialize;
91const plugin = {
92 serialize,
93 test
94};
95var _default = plugin;
96exports.default = _default;