@@ -1180,10 +1180,10 @@ module.exports = function parse(text, reviver, newOptions) {
11801180 parseStates [ parseState ] ( ) ;
11811181 } while ( token . type !== 'eof' ) ;
11821182
1183- if ( typeof reviver === 'function' ) {
1183+ if ( reviver ) {
11841184 const result = internalize ( { '' : root } , '' , reviver ) ;
11851185
1186- return result === util . DELETE ? undefined : result ;
1186+ root = result === util . DELETE ? undefined : result ;
11871187 }
11881188
11891189 if ( reviveTypedContainers && util . isTypeContainer ( root ) ) {
@@ -1292,7 +1292,7 @@ module.exports = function parse(text, reviver, newOptions) {
12921292 const savedLastPos = lastPos ;
12931293 const token = newToken ( type , value ) ;
12941294
1295- if ( typeof reviver === 'function' && parseState !== 'beforePropertyName' ) {
1295+ if ( reviver && parseState !== 'beforePropertyName' ) {
12961296 token . offset = savedLastPos ;
12971297 token . source = source . slice ( savedLastPos , pos ) ;
12981298 token . value = new ValueSourceWrapper ( value , token . source ) ;
@@ -1557,7 +1557,7 @@ module.exports = function parse(text, reviver, newOptions) {
15571557 let revived ;
15581558
15591559 try {
1560- const arg = typeof reviver === 'function' ? internalize ( { '' : current . arg } , '' , reviver ) : current . arg ;
1560+ const arg = reviver ? internalize ( { '' : current . arg } , '' , reviver ) : current . arg ;
15611561
15621562 revived = optionsMgr . reviveTypeValue ( current . name , arg ) ;
15631563 }
0 commit comments