@@ -81,10 +81,15 @@ function getFormattedNonPrimitiveValue(value: unknown, valueType: string): strin
81
81
switch ( valueType ) {
82
82
/* eslint-disable unicorn/switch-case-braces */
83
83
case "Array" :
84
+ return `[ ...${ ( value as Array < unknown > ) . length } item(s)... ]` ;
84
85
case "Set" :
85
- return getStringifiedAndTruncatedArray ( [ ...( value as Array < unknown > | Set < unknown > ) ] ) ;
86
+ return `[ ...${ ( value as Set < unknown > ) . size } item(s)... ]` ;
86
87
case "Error" :
87
88
return ( value as Error ) . message ;
89
+ case "Map" :
90
+ return `{ ...${ ( value as Map < unknown , unknown > ) . size } entry(ies)... }` ;
91
+ case "Object" :
92
+ return `{ ...${ Object . entries ( value as object ) . length } entry(ies)... }` ;
88
93
default :
89
94
return "" ;
90
95
/* eslint-enable unicorn/switch-case-braces */
@@ -97,18 +102,6 @@ function stringifyValue(value: unknown, valueType: string): string | undefined {
97
102
: getFormattedNonPrimitiveValue ( value , valueType ) ;
98
103
}
99
104
100
- function jsonReplacer ( _key : string , value : unknown ) {
101
- /* prettier-ignore */
102
- switch ( typeof value ) {
103
- /* eslint-disable unicorn/switch-case-braces */
104
- case "bigint" : return `${ value . toString ( ) } n` ;
105
- case "function" : return value . toString ( ) ;
106
- case "undefined" : return `undefined` ;
107
- default : return value ;
108
- /* eslint-enable unicorn/switch-case-braces */
109
- }
110
- }
111
-
112
105
function getStringifiedAndTruncatedArray ( array : Array < unknown > ) : string {
113
106
const { length } = array ;
114
107
const maxLength = 4 ;
@@ -156,5 +149,17 @@ function createPrint(prefixEmoji: string, prefix: string, value: unknown | Custo
156
149
return `${ prefixEmoji } ${ prefix } ${ valueTypeEmoji } '${ valueTypeName } '${ displayStringifiedValue } ` ;
157
150
}
158
151
152
+ function jsonReplacer ( _key : string , value : unknown ) {
153
+ /* prettier-ignore */
154
+ switch ( typeof value ) {
155
+ /* eslint-disable unicorn/switch-case-braces */
156
+ case "bigint" : return `${ value . toString ( ) } n` ;
157
+ case "function" : return value . toString ( ) ;
158
+ case "undefined" : return `undefined` ;
159
+ default : return value ;
160
+ /* eslint-enable unicorn/switch-case-braces */
161
+ }
162
+ }
163
+
159
164
export const throws = ( value : unknown ) => createPrint ( `💥` , `throws` , value ) ;
160
165
export const returns = ( value ?: unknown ) => createPrint ( `🔙` , `returns` , value ) ;
0 commit comments