@@ -244,6 +244,8 @@ function _createForOfIteratorHelper(o, allowArrayLike) {
244244 } ;
245245}
246246
247+ /* eslint-disable unicorn/prefer-spread -- IIRC, Babel's performance
248+ with this not good */
247249var hasOwnProp = Object . prototype . hasOwnProperty ;
248250/**
249251* @typedef {null|boolean|number|string|PlainObject|GenericArray } JSONObject
@@ -427,7 +429,8 @@ function JSONPath(opts, expr, obj, callback, otherTypeCallback) {
427429
428430
429431JSONPath . prototype . evaluate = function ( expr , json , callback , otherTypeCallback ) {
430- var that = this ;
432+ var _this2 = this ;
433+
431434 var currParent = this . parent ,
432435 currParentProperty = this . parentProperty ;
433436 var flatten = this . flatten ,
@@ -496,7 +499,7 @@ JSONPath.prototype.evaluate = function (expr, json, callback, otherTypeCallback)
496499 }
497500
498501 return result . reduce ( function ( rslt , ea ) {
499- var valOrPath = that . _getPreferredOutput ( ea ) ;
502+ var valOrPath = _this2 . _getPreferredOutput ( ea ) ;
500503
501504 if ( flatten && Array . isArray ( valOrPath ) ) {
502505 rslt = rslt . concat ( valOrPath ) ;
@@ -561,10 +564,11 @@ JSONPath.prototype._handleCallback = function (fullRetObj, callback, type) {
561564
562565
563566JSONPath . prototype . _trace = function ( expr , val , path , parent , parentPropName , callback , hasArrExpr , literalPriority ) {
567+ var _this3 = this ;
568+
564569 // No expr to follow? return path and value as the result of
565570 // this trace branch
566571 var retObj ;
567- var that = this ;
568572
569573 if ( ! expr . length ) {
570574 retObj = {
@@ -610,7 +614,7 @@ JSONPath.prototype._trace = function (expr, val, path, parent, parentPropName, c
610614 } else if ( loc === '*' ) {
611615 // all child properties
612616 this . _walk ( loc , x , val , path , parent , parentPropName , callback , function ( m , l , _x , v , p , par , pr , cb ) {
613- addRet ( that . _trace ( unshift ( m , _x ) , v , p , par , pr , cb , true , true ) ) ;
617+ addRet ( _this3 . _trace ( unshift ( m , _x ) , v , p , par , pr , cb , true , true ) ) ;
614618 } ) ;
615619 } else if ( loc === '..' ) {
616620 // all descendent parent properties
@@ -623,7 +627,7 @@ JSONPath.prototype._trace = function (expr, val, path, parent, parentPropName, c
623627 if ( _typeof ( v [ m ] ) === 'object' ) {
624628 // Keep going with recursive descent on val's
625629 // object children
626- addRet ( that . _trace ( unshift ( l , _x ) , v [ m ] , push ( p , m ) , v , m , cb , true ) ) ;
630+ addRet ( _this3 . _trace ( unshift ( l , _x ) , v [ m ] , push ( p , m ) , v , m , cb , true ) ) ;
627631 }
628632 } ) ; // The parent sel computation is handled in the frame above using the
629633 // ancestor object of val
@@ -661,8 +665,8 @@ JSONPath.prototype._trace = function (expr, val, path, parent, parentPropName, c
661665 }
662666
663667 this . _walk ( loc , x , val , path , parent , parentPropName , callback , function ( m , l , _x , v , p , par , pr , cb ) {
664- if ( that . _eval ( l . replace ( / ^ \? \( ( (?: [ \0 - \t \x0B \f \x0E - \u2027 \u202A - \uD7FF \uE000 - \uFFFF ] | [ \uD800 - \uDBFF ] [ \uDC00 - \uDFFF ] | [ \uD800 - \uDBFF ] (? ! [ \uDC00 - \uDFFF ] ) | (?: [ ^ \uD800 - \uDBFF ] | ^ ) [ \uDC00 - \uDFFF ] ) * ?) \) $ / , '$1' ) , v [ m ] , m , p , par , pr ) ) {
665- addRet ( that . _trace ( unshift ( m , _x ) , v , p , par , pr , cb , true ) ) ;
668+ if ( _this3 . _eval ( l . replace ( / ^ \? \( ( (?: [ \0 - \t \x0B \f \x0E - \u2027 \u202A - \uD7FF \uE000 - \uFFFF ] | [ \uD800 - \uDBFF ] [ \uDC00 - \uDFFF ] | [ \uD800 - \uDBFF ] (? ! [ \uDC00 - \uDFFF ] ) | (?: [ ^ \uD800 - \uDBFF ] | ^ ) [ \uDC00 - \uDFFF ] ) * ?) \) $ / , '$1' ) , v [ m ] , m , p , par , pr ) ) {
669+ addRet ( _this3 . _trace ( unshift ( m , _x ) , v , p , par , pr , cb , true ) ) ;
666670 }
667671 } ) ;
668672 } else if ( loc [ 0 ] === '(' ) {
@@ -798,7 +802,7 @@ JSONPath.prototype._trace = function (expr, val, path, parent, parentPropName, c
798802 var rett = ret [ t ] ;
799803
800804 if ( rett && rett . isParentSelector ) {
801- var tmp = that . _trace ( rett . expr , val , rett . path , parent , parentPropName , callback , hasArrExpr ) ;
805+ var tmp = this . _trace ( rett . expr , val , rett . path , parent , parentPropName , callback , hasArrExpr ) ;
802806
803807 if ( Array . isArray ( tmp ) ) {
804808 ret [ t ] = tmp [ 0 ] ;
0 commit comments