plugins/minify.js
function full(source) {
        for (var i = 0, item; i < source.length; i++) {
          item = source.splice(i, 1)[0];
          seen.push(item);

          if (source.length === 0) permutations.push(seen.slice());
          full(source);

          source.splice(i, 0, item);
          seen.pop();
        }

        return permutations;
      }
function full(source) {
        for (var i = 0, item; i < source.length; i++) {
          item = source.splice(i, 1)[0];
          seen.push(item);

          if (source.length === 0) permutations.push(seen.slice());
          full(source);

          source.splice(i, 0, item);
          seen.pop();
        }

        return permutations;
      }
function full ( source ) { for ( var i = 0 , item ; i < source . length ; i ++ ) { item = source . splice ( i , 1 ) [ 0 ] ; seen . push ( item ) ; if ( source . length === 0 ) permutations . push ( seen . slice ( ) ) ; full ( source ) ; source . splice ( i , 0 , item ) ; seen . pop ( ) ; } return permutations ; }
Full iterator for the permutations

@param {Array} source
@returns {Array} permutations
@api private
Full iterator for the permutations