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