97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| Object.defineProperty(exports, '__esModule', {
 | |
|   value: true
 | |
| });
 | |
| exports.default = exports.serialize = exports.test = void 0;
 | |
| 
 | |
| var _ansiRegex = _interopRequireDefault(require('ansi-regex'));
 | |
| 
 | |
| var _ansiStyles = _interopRequireDefault(require('ansi-styles'));
 | |
| 
 | |
| function _interopRequireDefault(obj) {
 | |
|   return obj && obj.__esModule ? obj : {default: obj};
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
 | |
|  *
 | |
|  * This source code is licensed under the MIT license found in the
 | |
|  * LICENSE file in the root directory of this source tree.
 | |
|  */
 | |
| const toHumanReadableAnsi = text =>
 | |
|   text.replace((0, _ansiRegex.default)(), match => {
 | |
|     switch (match) {
 | |
|       case _ansiStyles.default.red.close:
 | |
|       case _ansiStyles.default.green.close:
 | |
|       case _ansiStyles.default.cyan.close:
 | |
|       case _ansiStyles.default.gray.close:
 | |
|       case _ansiStyles.default.white.close:
 | |
|       case _ansiStyles.default.yellow.close:
 | |
|       case _ansiStyles.default.bgRed.close:
 | |
|       case _ansiStyles.default.bgGreen.close:
 | |
|       case _ansiStyles.default.bgYellow.close:
 | |
|       case _ansiStyles.default.inverse.close:
 | |
|       case _ansiStyles.default.dim.close:
 | |
|       case _ansiStyles.default.bold.close:
 | |
|       case _ansiStyles.default.reset.open:
 | |
|       case _ansiStyles.default.reset.close:
 | |
|         return '</>';
 | |
| 
 | |
|       case _ansiStyles.default.red.open:
 | |
|         return '<red>';
 | |
| 
 | |
|       case _ansiStyles.default.green.open:
 | |
|         return '<green>';
 | |
| 
 | |
|       case _ansiStyles.default.cyan.open:
 | |
|         return '<cyan>';
 | |
| 
 | |
|       case _ansiStyles.default.gray.open:
 | |
|         return '<gray>';
 | |
| 
 | |
|       case _ansiStyles.default.white.open:
 | |
|         return '<white>';
 | |
| 
 | |
|       case _ansiStyles.default.yellow.open:
 | |
|         return '<yellow>';
 | |
| 
 | |
|       case _ansiStyles.default.bgRed.open:
 | |
|         return '<bgRed>';
 | |
| 
 | |
|       case _ansiStyles.default.bgGreen.open:
 | |
|         return '<bgGreen>';
 | |
| 
 | |
|       case _ansiStyles.default.bgYellow.open:
 | |
|         return '<bgYellow>';
 | |
| 
 | |
|       case _ansiStyles.default.inverse.open:
 | |
|         return '<inverse>';
 | |
| 
 | |
|       case _ansiStyles.default.dim.open:
 | |
|         return '<dim>';
 | |
| 
 | |
|       case _ansiStyles.default.bold.open:
 | |
|         return '<bold>';
 | |
| 
 | |
|       default:
 | |
|         return '';
 | |
|     }
 | |
|   });
 | |
| 
 | |
| const test = val =>
 | |
|   typeof val === 'string' && !!val.match((0, _ansiRegex.default)());
 | |
| 
 | |
| exports.test = test;
 | |
| 
 | |
| const serialize = (val, config, indentation, depth, refs, printer) =>
 | |
|   printer(toHumanReadableAnsi(val), config, indentation, depth, refs);
 | |
| 
 | |
| exports.serialize = serialize;
 | |
| const plugin = {
 | |
|   serialize,
 | |
|   test
 | |
| };
 | |
| var _default = plugin;
 | |
| exports.default = _default;
 |