lib/util/codegen.js
function block () {
    var code = []
    function push () {
      code.push.apply(code, slice(arguments))
    }

    var vars = []
    function def () {
      var name = 'v' + (varCounter++)
      vars.push(name)

      if (arguments.length > 0) {
        code.push(name, '=')
        code.push.apply(code, slice(arguments))
        code.push(';')
      }

      return name
    }

    return extend(push, {
      def: def,
      toString: function () {
        return join([
          (vars.length > 0 ? 'var ' + vars + ';' : ''),
          join(code)
        ])
      }
    })
  }
function block () {
    var code = []
    function push () {
      code.push.apply(code, slice(arguments))
    }

    var vars = []
    function def () {
      var name = 'v' + (varCounter++)
      vars.push(name)

      if (arguments.length > 0) {
        code.push(name, '=')
        code.push.apply(code, slice(arguments))
        code.push(';')
      }

      return name
    }

    return extend(push, {
      def: def,
      toString: function () {
        return join([
          (vars.length > 0 ? 'var ' + vars + ';' : ''),
          join(code)
        ])
      }
    })
  }
function block ( ) { var code = [ ] function push ( ) { code . push . apply ( code , slice ( arguments ) ) } var vars = [ ] function def ( ) { var name = 'v' + ( varCounter ++ ) vars . push ( name ) if ( arguments . length > 0 ) { code . push ( name , '=' ) code . push . apply ( code , slice ( arguments ) ) code . push ( ';' ) } return name } return extend ( push , { def : def , toString : function ( ) { return join ( [ ( vars . length > 0 ? 'var ' + vars + ';' : '' ) , join ( code ) ] ) } } ) }
create a code block
create a code block