@@ -1064,35 +1064,48 @@ var JSONResponse = {
10641064 max = result ;
10651065 }
10661066 } catch ( e ) {
1067- log ( e )
1067+ log ( e ) ;
10681068 }
10691069 }
10701070 }
10711071
1072- var valueCompare = max . code >= JSONResponse . COMPARE_VALUE_CHANGE
1073- ? 0 : JSONResponse . compareValue ( valueLevel , values , real , target . trend , target . repeat ) ;
1074-
1075- var isNum = CodeUtil . isTypeMatch ( 'number' , type )
1076-
1077- if ( isNum ) {
1078- if ( JSONResponse . UPGRADE_KEYS . includes ( folder ) ) {
1079- valueCompare ++ ;
1080- } else if ( JSONResponse . DOWNGRADE_KEYS . includes ( folder ) ) {
1081- valueCompare -- ;
1072+ var isNum = CodeUtil . isTypeMatch ( 'number' , type ) ;
1073+ var ignore = false ;
1074+ var isFolderMeaningful = StringUtil . isNotEmpty ( folder ) && ! StringUtil . isNumber ( folder ) ;
1075+ if ( isFolderMeaningful && ( isNum || type == 'string' ) ) {
1076+ if ( JSONResponse . IGNORE_KEYS . includes ( folder ) ) {
1077+ ignore = true ;
10821078 } else if ( folder . includes ( '/' ) ) {
10831079 var keys = StringUtil . splitPath ( folder ) ;
10841080 var key = keys == null || keys . length <= 0 ? null : keys [ keys . length - 1 ] ;
1085- if ( StringUtil . isNotEmpty ( key ) && ! StringUtil . isNumber ( key ) ) {
1086- if ( JSONResponse . UPGRADE_KEYS . includes ( key ) ) {
1087- valueCompare ++ ;
1088- } else if ( JSONResponse . DOWNGRADE_KEYS . includes ( key ) ) {
1089- valueCompare -- ;
1090- }
1081+ if ( StringUtil . isNotEmpty ( key ) && ! StringUtil . isNumber ( key ) ) {
1082+ ignore = JSONResponse . IGNORE_KEYS . includes ( key ) ;
10911083 }
10921084 }
10931085 }
10941086
1087+ var valueCompare = ignore || max . code >= JSONResponse . COMPARE_VALUE_CHANGE
1088+ ? 0 : JSONResponse . compareValue ( valueLevel , values , real , target . trend , target . repeat ) ;
1089+
10951090 if ( valueCompare > 0 ) {
1091+ if ( isNum && isFolderMeaningful ) {
1092+ if ( JSONResponse . UPGRADE_KEYS . includes ( folder ) ) {
1093+ valueCompare ++ ;
1094+ } else if ( JSONResponse . DOWNGRADE_KEYS . includes ( folder ) ) {
1095+ valueCompare -- ;
1096+ } else if ( folder . includes ( '/' ) ) {
1097+ var keys = StringUtil . splitPath ( folder ) ;
1098+ var key = keys == null || keys . length <= 0 ? null : keys [ keys . length - 1 ] ;
1099+ if ( StringUtil . isNotEmpty ( key ) && ! StringUtil . isNumber ( key ) ) {
1100+ if ( JSONResponse . UPGRADE_KEYS . includes ( key ) ) {
1101+ valueCompare ++ ;
1102+ } else if ( JSONResponse . DOWNGRADE_KEYS . includes ( key ) ) {
1103+ valueCompare -- ;
1104+ }
1105+ }
1106+ }
1107+ }
1108+
10961109 max . code = valueCompare ;
10971110 max . path = folder ;
10981111 max . value = real ;
0 commit comments