complete redesign: use nodejs on server instead of php - documentation to be updated
This commit is contained in:
		
							
								
								
									
										65
									
								
								nodejs/node_modules/stylus/lib/stack/frame.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								nodejs/node_modules/stylus/lib/stack/frame.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * Stylus - stack - Frame
 | 
			
		||||
 * Copyright (c) Automattic <developer.wordpress.com>
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var Scope = require('./scope');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize a new `Frame` with the given `block`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Block} block
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var Frame = module.exports = function Frame(block) {
 | 
			
		||||
  this._scope = false === block.scope
 | 
			
		||||
    ? null
 | 
			
		||||
    : new Scope;
 | 
			
		||||
  this.block = block;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return this frame's scope or the parent scope
 | 
			
		||||
 * for scope-less blocks.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {Scope}
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Frame.prototype.__defineGetter__('scope', function(){
 | 
			
		||||
  return this._scope || this.parent.scope;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lookup the given local variable `name`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} name
 | 
			
		||||
 * @return {Node}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Frame.prototype.lookup = function(name){
 | 
			
		||||
  return this.scope.lookup(name)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Custom inspect.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Frame.prototype.inspect = function(){
 | 
			
		||||
  return '[Frame '
 | 
			
		||||
    + (false === this.block.scope
 | 
			
		||||
        ? 'scope-less'
 | 
			
		||||
        : this.scope.inspect())
 | 
			
		||||
    + ']';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										135
									
								
								nodejs/node_modules/stylus/lib/stack/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								nodejs/node_modules/stylus/lib/stack/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,135 @@
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * Stylus - Stack
 | 
			
		||||
 * Copyright (c) Automattic <developer.wordpress.com>
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize a new `Stack`.
 | 
			
		||||
 *
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var Stack = module.exports = function Stack() {
 | 
			
		||||
  Array.apply(this, arguments);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Inherit from `Array.prototype`.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.__proto__ = Array.prototype;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Push the given `frame`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Frame} frame
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.push = function(frame){
 | 
			
		||||
  frame.stack = this;
 | 
			
		||||
  frame.parent = this.currentFrame;
 | 
			
		||||
  return [].push.apply(this, arguments);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the current stack `Frame`.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {Frame}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.__defineGetter__('currentFrame', function(){
 | 
			
		||||
  return this[this.length - 1];
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lookup stack frame for the given `block`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Block} block
 | 
			
		||||
 * @return {Frame}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.getBlockFrame = function(block){
 | 
			
		||||
  for (var i = 0; i < this.length; ++i) {
 | 
			
		||||
    if (block == this[i].block) {
 | 
			
		||||
      return this[i];
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lookup the given local variable `name`, relative
 | 
			
		||||
 * to the lexical scope of the current frame's `Block`.
 | 
			
		||||
 *
 | 
			
		||||
 * When the result of a lookup is an identifier
 | 
			
		||||
 * a recursive lookup is performed, defaulting to
 | 
			
		||||
 * returning the identifier itself.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} name
 | 
			
		||||
 * @return {Node}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.lookup = function(name){
 | 
			
		||||
  var block = this.currentFrame.block
 | 
			
		||||
    , val
 | 
			
		||||
    , ret;
 | 
			
		||||
 | 
			
		||||
  do {
 | 
			
		||||
    var frame = this.getBlockFrame(block);
 | 
			
		||||
    if (frame && (val = frame.lookup(name))) {
 | 
			
		||||
      return val;
 | 
			
		||||
    }
 | 
			
		||||
  } while (block = block.parent);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Custom inspect.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.inspect = function(){
 | 
			
		||||
  return this.reverse().map(function(frame){
 | 
			
		||||
    return frame.inspect();
 | 
			
		||||
  }).join('\n');
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return stack string formatted as:
 | 
			
		||||
 *
 | 
			
		||||
 *   at <context> (<filename>:<lineno>:<column>)
 | 
			
		||||
 *
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Stack.prototype.toString = function(){
 | 
			
		||||
  var block
 | 
			
		||||
    , node
 | 
			
		||||
    , buf = []
 | 
			
		||||
    , location
 | 
			
		||||
    , len = this.length;
 | 
			
		||||
 | 
			
		||||
  while (len--) {
 | 
			
		||||
    block = this[len].block;
 | 
			
		||||
    if (node = block.node) {
 | 
			
		||||
      location = '(' + node.filename + ':' + (node.lineno + 1) + ':' + node.column + ')';
 | 
			
		||||
      switch (node.nodeName) {
 | 
			
		||||
        case 'function':
 | 
			
		||||
          buf.push('    at ' + node.name + '() ' + location);
 | 
			
		||||
          break;
 | 
			
		||||
        case 'group':
 | 
			
		||||
          buf.push('    at "' + node.nodes[0].val + '" ' + location);
 | 
			
		||||
          break;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return buf.join('\n');
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										53
									
								
								nodejs/node_modules/stylus/lib/stack/scope.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								nodejs/node_modules/stylus/lib/stack/scope.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * Stylus - stack - Scope
 | 
			
		||||
 * Copyright (c) Automattic <developer.wordpress.com>
 | 
			
		||||
 * MIT Licensed
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize a new `Scope`.
 | 
			
		||||
 *
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var Scope = module.exports = function Scope() {
 | 
			
		||||
  this.locals = {};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add `ident` node to the current scope.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {Ident} ident
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Scope.prototype.add = function(ident){
 | 
			
		||||
  this.locals[ident.name] = ident.val;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lookup the given local variable `name`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} name
 | 
			
		||||
 * @return {Node}
 | 
			
		||||
 * @api private
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Scope.prototype.lookup = function(name){
 | 
			
		||||
  return this.locals[name];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Custom inspect.
 | 
			
		||||
 *
 | 
			
		||||
 * @return {String}
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
Scope.prototype.inspect = function(){
 | 
			
		||||
  var keys = Object.keys(this.locals).map(function(key){ return '@' + key; });
 | 
			
		||||
  return '[Scope'
 | 
			
		||||
    + (keys.length ? ' ' + keys.join(', ') : '')
 | 
			
		||||
    + ']';
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user