index.js
function Walker(traversalStrategy) {
  if (!(this instanceof Walker))
    return new Walker(traversalStrategy);

  // There are two different strategy shorthands: if a single string is
  // specified, treat the value of that property as the traversal target.
  // If an array is specified, the traversal target is the node itself, but
  // only the properties contained in the array will be traversed.
  if (isString(traversalStrategy)) {
    var prop = traversalStrategy;
    traversalStrategy = function(node) {
      if (isObject(node) && prop in node) return node[prop];
    };
  } else if (Array.isArray(traversalStrategy)) {
    var props = traversalStrategy;
    traversalStrategy = function(node) {
      if (isObject(node)) return pick(node, props);
    };
  }
  this._traversalStrategy = traversalStrategy || defaultTraversal;
}
function Walker(traversalStrategy) {
  if (!(this instanceof Walker))
    return new Walker(traversalStrategy);

  // There are two different strategy shorthands: if a single string is
  // specified, treat the value of that property as the traversal target.
  // If an array is specified, the traversal target is the node itself, but
  // only the properties contained in the array will be traversed.
  if (isString(traversalStrategy)) {
    var prop = traversalStrategy;
    traversalStrategy = function(node) {
      if (isObject(node) && prop in node) return node[prop];
    };
  } else if (Array.isArray(traversalStrategy)) {
    var props = traversalStrategy;
    traversalStrategy = function(node) {
      if (isObject(node)) return pick(node, props);
    };
  }
  this._traversalStrategy = traversalStrategy || defaultTraversal;
}
function Walker ( traversalStrategy ) { if ( ! ( this instanceof Walker ) ) return new Walker ( traversalStrategy ) ; // There are two different strategy shorthands: if a single string is // specified, treat the value of that property as the traversal target. // If an array is specified, the traversal target is the node itself, but // only the properties contained in the array will be traversed. if ( isString ( traversalStrategy ) ) { var prop = traversalStrategy ; traversalStrategy = function ( node ) { if ( isObject ( node ) && prop in node ) return node [ prop ] ; } ; } else if ( Array . isArray ( traversalStrategy ) ) { var props = traversalStrategy ; traversalStrategy = function ( node ) { if ( isObject ( node ) ) return pick ( node , props ) ; } ; } this . _traversalStrategy = traversalStrategy || defaultTraversal ; }
Returns an object containing the walk functions. If `traversalStrategy` is specified, it is a function determining how objects should be traversed. Given an object, it returns the object to be recursively walked. The default strategy is equivalent to `_.identity` for regular objects, and for DOM nodes it returns the node's DOM children.
Returns an object containing the walk functions . If traversalStrategy is specified it is a function determining how objects should be traversed . Given an object it returns the object to be recursively walked . The default strategy is equivalent to _ . identity for regular objects and for DOM nodes it returns the node s DOM children .