2222'use strict' ;
2323
2424const errors = require ( 'internal/errors' ) ;
25- const { inspect } = require ( 'internal/util/inspect' ) ;
25+ const {
26+ format,
27+ formatWithOptions,
28+ inspect
29+ } = require ( 'internal/util/inspect' ) ;
2630const {
2731 ERR_FALSY_VALUE_REJECTION ,
2832 ERR_INVALID_ARG_TYPE ,
@@ -46,137 +50,8 @@ function uncurryThis(func) {
4650}
4751const objectToString = uncurryThis ( Object . prototype . toString ) ;
4852
49- let CIRCULAR_ERROR_MESSAGE ;
5053let internalDeepEqual ;
5154
52- function tryStringify ( arg ) {
53- try {
54- return JSON . stringify ( arg ) ;
55- } catch ( err ) {
56- // Populate the circular error message lazily
57- if ( ! CIRCULAR_ERROR_MESSAGE ) {
58- try {
59- const a = { } ; a . a = a ; JSON . stringify ( a ) ;
60- } catch ( err ) {
61- CIRCULAR_ERROR_MESSAGE = err . message ;
62- }
63- }
64- if ( err . name === 'TypeError' && err . message === CIRCULAR_ERROR_MESSAGE )
65- return '[Circular]' ;
66- throw err ;
67- }
68- }
69-
70- const emptyOptions = { } ;
71- function format ( ...args ) {
72- return formatWithOptions ( emptyOptions , ...args ) ;
73- }
74-
75- function formatWithOptions ( inspectOptions , f ) {
76- let i , tempStr ;
77- if ( typeof f !== 'string' ) {
78- if ( arguments . length === 1 ) return '' ;
79- let res = '' ;
80- for ( i = 1 ; i < arguments . length - 1 ; i ++ ) {
81- res += inspect ( arguments [ i ] , inspectOptions ) ;
82- res += ' ' ;
83- }
84- res += inspect ( arguments [ i ] , inspectOptions ) ;
85- return res ;
86- }
87-
88- if ( arguments . length === 2 ) return f ;
89-
90- let str = '' ;
91- let a = 2 ;
92- let lastPos = 0 ;
93- for ( i = 0 ; i < f . length - 1 ; i ++ ) {
94- if ( f . charCodeAt ( i ) === 37 ) { // '%'
95- const nextChar = f . charCodeAt ( ++ i ) ;
96- if ( a !== arguments . length ) {
97- switch ( nextChar ) {
98- case 115 : // 's'
99- tempStr = String ( arguments [ a ++ ] ) ;
100- break ;
101- case 106 : // 'j'
102- tempStr = tryStringify ( arguments [ a ++ ] ) ;
103- break ;
104- case 100 : // 'd'
105- const tempNum = arguments [ a ++ ] ;
106- // eslint-disable-next-line valid-typeof
107- if ( typeof tempNum === 'bigint' ) {
108- tempStr = `${ tempNum } n` ;
109- } else if ( typeof tempNum === 'symbol' ) {
110- tempStr = 'NaN' ;
111- } else {
112- tempStr = `${ Number ( tempNum ) } ` ;
113- }
114- break ;
115- case 79 : // 'O'
116- tempStr = inspect ( arguments [ a ++ ] , inspectOptions ) ;
117- break ;
118- case 111 : // 'o'
119- {
120- const opts = {
121- showHidden : true ,
122- showProxy : true ,
123- depth : 4 ,
124- ...inspectOptions
125- } ;
126- tempStr = inspect ( arguments [ a ++ ] , opts ) ;
127- break ;
128- }
129- case 105 : // 'i'
130- const tempInteger = arguments [ a ++ ] ;
131- // eslint-disable-next-line valid-typeof
132- if ( typeof tempInteger === 'bigint' ) {
133- tempStr = `${ tempInteger } n` ;
134- } else if ( typeof tempInteger === 'symbol' ) {
135- tempStr = 'NaN' ;
136- } else {
137- tempStr = `${ parseInt ( tempInteger ) } ` ;
138- }
139- break ;
140- case 102 : // 'f'
141- const tempFloat = arguments [ a ++ ] ;
142- if ( typeof tempFloat === 'symbol' ) {
143- tempStr = 'NaN' ;
144- } else {
145- tempStr = `${ parseFloat ( tempFloat ) } ` ;
146- }
147- break ;
148- case 37 : // '%'
149- str += f . slice ( lastPos , i ) ;
150- lastPos = i + 1 ;
151- continue ;
152- default : // Any other character is not a correct placeholder
153- continue ;
154- }
155- if ( lastPos !== i - 1 )
156- str += f . slice ( lastPos , i - 1 ) ;
157- str += tempStr ;
158- lastPos = i + 1 ;
159- } else if ( nextChar === 37 ) {
160- str += f . slice ( lastPos , i ) ;
161- lastPos = i + 1 ;
162- }
163- }
164- }
165- if ( lastPos === 0 )
166- str = f ;
167- else if ( lastPos < f . length )
168- str += f . slice ( lastPos ) ;
169- while ( a < arguments . length ) {
170- const x = arguments [ a ++ ] ;
171- if ( ( typeof x !== 'object' && typeof x !== 'symbol' ) || x === null ) {
172- str += ` ${ x } ` ;
173- } else {
174- str += ` ${ inspect ( x , inspectOptions ) } ` ;
175- }
176- }
177- return str ;
178- }
179-
18055const debugs = { } ;
18156let debugEnvRegex = / ^ $ / ;
18257if ( process . env . NODE_DEBUG ) {
0 commit comments