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; |