@@ -767,16 +767,16 @@ Object.keys(defaultMethods).forEach((item) => {
767767defaultMethods [ '<' ] . compile = function ( data , buildState ) {
768768 if ( ! Array . isArray ( data ) ) return false
769769 if ( data . length < 2 ) return false
770- let res = buildState . compile `(${ data [ 0 ] } < ${ data [ 1 ] } )`
771- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } < ${ data [ i ] } )`
770+ let res = buildState . compile `(${ data [ 0 ] } < (prev = ${ data [ 1 ] } ) )`
771+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev < ${ data [ i ] } )`
772772 return res
773773}
774774// @ts -ignore Allow custom attribute
775775defaultMethods [ '<=' ] . compile = function ( data , buildState ) {
776776 if ( ! Array . isArray ( data ) ) return false
777777 if ( data . length < 2 ) return false
778- let res = buildState . compile `(${ data [ 0 ] } <= ${ data [ 1 ] } )`
779- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } <= ${ data [ i ] } )`
778+ let res = buildState . compile `(${ data [ 0 ] } <= (prev = ${ data [ 1 ] } ) )`
779+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev <= ${ data [ i ] } )`
780780 return res
781781}
782782// @ts -ignore Allow custom attribute
@@ -797,32 +797,32 @@ defaultMethods.max.compile = function (data, buildState) {
797797defaultMethods [ '>' ] . compile = function ( data , buildState ) {
798798 if ( ! Array . isArray ( data ) ) return false
799799 if ( data . length < 2 ) return false
800- let res = buildState . compile `(${ data [ 0 ] } > ${ data [ 1 ] } )`
801- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } > ${ data [ i ] } )`
800+ let res = buildState . compile `(${ data [ 0 ] } > (prev = ${ data [ 1 ] } ) )`
801+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev > ${ data [ i ] } )`
802802 return res
803803}
804804// @ts -ignore Allow custom attribute
805805defaultMethods [ '>=' ] . compile = function ( data , buildState ) {
806806 if ( ! Array . isArray ( data ) ) return false
807807 if ( data . length < 2 ) return false
808- let res = buildState . compile `(${ data [ 0 ] } >= ${ data [ 1 ] } )`
809- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } >= ${ data [ i ] } )`
808+ let res = buildState . compile `(${ data [ 0 ] } >= (prev = ${ data [ 1 ] } ) )`
809+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev >= ${ data [ i ] } )`
810810 return res
811811}
812812// @ts -ignore Allow custom attribute
813813defaultMethods [ '==' ] . compile = function ( data , buildState ) {
814814 if ( ! Array . isArray ( data ) ) return false
815815 if ( data . length < 2 ) return false
816- let res = buildState . compile `(${ data [ 0 ] } == ${ data [ 1 ] } )`
817- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } == ${ data [ i ] } )`
816+ let res = buildState . compile `(${ data [ 0 ] } == (prev = ${ data [ 1 ] } ) )`
817+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev == ${ data [ i ] } )`
818818 return res
819819}
820820// @ts -ignore Allow custom attribute
821821defaultMethods [ '!=' ] . compile = function ( data , buildState ) {
822822 if ( ! Array . isArray ( data ) ) return false
823823 if ( data . length < 2 ) return false
824- let res = buildState . compile `(${ data [ 0 ] } != ${ data [ 1 ] } )`
825- for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && ${ data [ i - 1 ] } != ${ data [ i ] } )`
824+ let res = buildState . compile `(${ data [ 0 ] } != (prev = ${ data [ 1 ] } ) )`
825+ for ( let i = 2 ; i < data . length ; i ++ ) res = buildState . compile `(${ res } && prev != ${ data [ i ] } )`
826826 return res
827827}
828828// @ts -ignore Allow custom attribute
0 commit comments