Factory update with tabs to spaces.. sorry :(

This commit is contained in:
Tommy Messbauer
2012-11-26 09:39:08 -06:00
parent eccc7c35ca
commit 7963218495
10 changed files with 1469 additions and 1469 deletions
+28 -28
View File
@@ -1,34 +1,34 @@
module.exports.create = function() { module.exports.create = function() {
// BEGIN(BROWSER) // BEGIN(BROWSER)
var Handlebars = {}; var Handlebars = {};
Handlebars.VERSION = "1.0.rc.1"; Handlebars.VERSION = "1.0.rc.1";
Handlebars.helpers = {}; Handlebars.helpers = {};
Handlebars.partials = {}; Handlebars.partials = {};
Handlebars.registerHelper = function(name, fn, inverse) { Handlebars.registerHelper = function(name, fn, inverse) {
if(inverse) { fn.not = inverse; } if(inverse) { fn.not = inverse; }
this.helpers[name] = fn; this.helpers[name] = fn;
}; };
Handlebars.registerPartial = function(name, str) { Handlebars.registerPartial = function(name, str) {
this.partials[name] = str; this.partials[name] = str;
}; };
Handlebars.registerHelper('helperMissing', function(arg) { Handlebars.registerHelper('helperMissing', function(arg) {
if(arguments.length === 2) { if(arguments.length === 2) {
return undefined; return undefined;
} else { } else {
throw new Error("Could not find property '" + arg + "'"); throw new Error("Could not find property '" + arg + "'");
} }
}); });
var toString = Object.prototype.toString, functionType = "[object Function]"; var toString = Object.prototype.toString, functionType = "[object Function]";
Handlebars.registerHelper('blockHelperMissing', function(context, options) { Handlebars.registerHelper('blockHelperMissing', function(context, options) {
var inverse = options.inverse || function() {}, fn = options.fn; var inverse = options.inverse || function() {}, fn = options.fn;
@@ -53,18 +53,18 @@ module.exports.create = function() {
} else { } else {
return fn(context); return fn(context);
} }
}); });
Handlebars.K = function() {}; Handlebars.K = function() {};
Handlebars.createFrame = Object.create || function(object) { Handlebars.createFrame = Object.create || function(object) {
Handlebars.K.prototype = object; Handlebars.K.prototype = object;
var obj = new Handlebars.K(); var obj = new Handlebars.K();
Handlebars.K.prototype = null; Handlebars.K.prototype = null;
return obj; return obj;
}; };
Handlebars.registerHelper('each', function(context, options) { Handlebars.registerHelper('each', function(context, options) {
var fn = options.fn, inverse = options.inverse; var fn = options.fn, inverse = options.inverse;
var ret = "", data; var ret = "", data;
@@ -81,9 +81,9 @@ module.exports.create = function() {
ret = inverse(this); ret = inverse(this);
} }
return ret; return ret;
}); });
Handlebars.registerHelper('if', function(context, options) { Handlebars.registerHelper('if', function(context, options) {
var type = toString.call(context); var type = toString.call(context);
if(type === functionType) { context = context.call(this); } if(type === functionType) { context = context.call(this); }
@@ -92,25 +92,25 @@ module.exports.create = function() {
} else { } else {
return options.fn(this); return options.fn(this);
} }
}); });
Handlebars.registerHelper('unless', function(context, options) { Handlebars.registerHelper('unless', function(context, options) {
var fn = options.fn, inverse = options.inverse; var fn = options.fn, inverse = options.inverse;
options.fn = inverse; options.fn = inverse;
options.inverse = fn; options.inverse = fn;
return Handlebars.helpers['if'].call(this, context, options); return Handlebars.helpers['if'].call(this, context, options);
}); });
Handlebars.registerHelper('with', function(context, options) { Handlebars.registerHelper('with', function(context, options) {
return options.fn(context); return options.fn(context);
}); });
Handlebars.registerHelper('log', function(context) { Handlebars.registerHelper('log', function(context) {
Handlebars.log(context); Handlebars.log(context);
}); });
// END(BROWSER) // END(BROWSER)
return Handlebars; return Handlebars;
+33 -31
View File
@@ -1,16 +1,16 @@
// BEGIN(BROWSER)
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
Handlebars.AST = {}; // BEGIN(BROWSER)
Handlebars.AST.ProgramNode = function(statements, inverse) { Handlebars.AST = {};
Handlebars.AST.ProgramNode = function(statements, inverse) {
this.type = "program"; this.type = "program";
this.statements = statements; this.statements = statements;
if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); } if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); }
}; };
Handlebars.AST.MustacheNode = function(rawParams, hash, unescaped) { Handlebars.AST.MustacheNode = function(rawParams, hash, unescaped) {
this.type = "mustache"; this.type = "mustache";
this.escaped = !unescaped; this.escaped = !unescaped;
this.hash = hash; this.hash = hash;
@@ -30,24 +30,24 @@ exports.attach = function(Handlebars) {
// if a mustache is an eligible helper but not a definite // if a mustache is an eligible helper but not a definite
// helper, it is ambiguous, and will be resolved in a later // helper, it is ambiguous, and will be resolved in a later
// pass or at runtime. // pass or at runtime.
}; };
Handlebars.AST.PartialNode = function(id, context) { Handlebars.AST.PartialNode = function(id, context) {
this.type = "partial"; this.type = "partial";
// TODO: disallow complex IDs // TODO: disallow complex IDs
this.id = id; this.id = id;
this.context = context; this.context = context;
}; };
var verifyMatch = function(open, close) { var verifyMatch = function(open, close) {
if(open.original !== close.original) { if(open.original !== close.original) {
throw new Handlebars.Exception(open.original + " doesn't match " + close.original); throw new Handlebars.Exception(open.original + " doesn't match " + close.original);
} }
}; };
Handlebars.AST.BlockNode = function(mustache, program, inverse, close) { Handlebars.AST.BlockNode = function(mustache, program, inverse, close) {
verifyMatch(mustache.id, close); verifyMatch(mustache.id, close);
this.type = "block"; this.type = "block";
this.mustache = mustache; this.mustache = mustache;
@@ -57,19 +57,19 @@ exports.attach = function(Handlebars) {
if (this.inverse && !this.program) { if (this.inverse && !this.program) {
this.isInverse = true; this.isInverse = true;
} }
}; };
Handlebars.AST.ContentNode = function(string) { Handlebars.AST.ContentNode = function(string) {
this.type = "content"; this.type = "content";
this.string = string; this.string = string;
}; };
Handlebars.AST.HashNode = function(pairs) { Handlebars.AST.HashNode = function(pairs) {
this.type = "hash"; this.type = "hash";
this.pairs = pairs; this.pairs = pairs;
}; };
Handlebars.AST.IdNode = function(parts) { Handlebars.AST.IdNode = function(parts) {
this.type = "ID"; this.type = "ID";
this.original = parts.join("."); this.original = parts.join(".");
@@ -90,35 +90,37 @@ exports.attach = function(Handlebars) {
// an ID is simple if it only has one part, and that part is not // an ID is simple if it only has one part, and that part is not
// `..` or `this`. // `..` or `this`.
this.isSimple = parts.length === 1 && !this.isScoped && depth === 0; this.isSimple = parts.length === 1 && !this.isScoped && depth === 0;
}; };
Handlebars.AST.DataNode = function(id) { Handlebars.AST.DataNode = function(id) {
this.type = "DATA"; this.type = "DATA";
this.id = id; this.id = id;
}; };
Handlebars.AST.StringNode = function(string) { Handlebars.AST.StringNode = function(string) {
this.type = "STRING"; this.type = "STRING";
this.string = string; this.string = string;
}; };
Handlebars.AST.IntegerNode = function(integer) { Handlebars.AST.IntegerNode = function(integer) {
this.type = "INTEGER"; this.type = "INTEGER";
this.integer = integer; this.integer = integer;
}; };
Handlebars.AST.BooleanNode = function(bool) { Handlebars.AST.BooleanNode = function(bool) {
this.type = "BOOLEAN"; this.type = "BOOLEAN";
this.bool = bool; this.bool = bool;
}; };
Handlebars.AST.CommentNode = function(comment) { Handlebars.AST.CommentNode = function(comment) {
this.type = "comment"; this.type = "comment";
this.comment = comment; this.comment = comment;
};
return Handlebars;
}; };
// END(BROWSER) // END(BROWSER)
return Handlebars;
};
+14 -14
View File
@@ -2,29 +2,29 @@ var handlebars = require("./parser").parser;
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
// BEGIN(BROWSER) // BEGIN(BROWSER)
Handlebars.Parser = handlebars; Handlebars.Parser = handlebars;
Handlebars.parse = function(string) { Handlebars.parse = function(string) {
Handlebars.Parser.yy = Handlebars.AST; Handlebars.Parser.yy = Handlebars.AST;
return Handlebars.Parser.parse(string); return Handlebars.Parser.parse(string);
}; };
Handlebars.print = function(ast) { Handlebars.print = function(ast) {
return new Handlebars.PrintVisitor().accept(ast); return new Handlebars.PrintVisitor().accept(ast);
}; };
Handlebars.logger = { Handlebars.logger = {
DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3, DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3,
// override in the host environment // override in the host environment
log: function(level, str) {} log: function(level, str) {}
}; };
Handlebars.log = function(level, str) { Handlebars.logger.log(level, str); }; Handlebars.log = function(level, str) { Handlebars.logger.log(level, str); };
return Handlebars; return Handlebars;
// END(BROWSER) // END(BROWSER)
}; };
+12 -12
View File
@@ -2,15 +2,15 @@ var compilerbase = require("./base");
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
compilerbase.attach(Handlebars); compilerbase.attach(Handlebars);
// BEGIN(BROWSER) // BEGIN(BROWSER)
/*jshint eqnull:true*/ /*jshint eqnull:true*/
Handlebars.Compiler = function() {}; Handlebars.Compiler = function() {};
Handlebars.JavaScriptCompiler = function() {}; Handlebars.JavaScriptCompiler = function() {};
(function(Compiler, JavaScriptCompiler) { (function(Compiler, JavaScriptCompiler) {
// the foundHelper register will disambiguate helper lookup from finding a // the foundHelper register will disambiguate helper lookup from finding a
// function in a context. This is necessary for mustache compatibility, which // function in a context. This is necessary for mustache compatibility, which
// requires that context functions in blocks are evaluated by blockHelperMissing, // requires that context functions in blocks are evaluated by blockHelperMissing,
@@ -1036,17 +1036,17 @@ exports.attach = function(Handlebars) {
return false; return false;
}; };
})(Handlebars.Compiler, Handlebars.JavaScriptCompiler); })(Handlebars.Compiler, Handlebars.JavaScriptCompiler);
Handlebars.precompile = function(string, options) { Handlebars.precompile = function(string, options) {
options = options || {}; options = options || {};
var ast = Handlebars.parse(string); var ast = Handlebars.parse(string);
var environment = new Handlebars.Compiler().compile(ast, options); var environment = new Handlebars.Compiler().compile(ast, options);
return new Handlebars.JavaScriptCompiler().compile(environment, options); return new Handlebars.JavaScriptCompiler().compile(environment, options);
}; };
Handlebars.compile = function(string, options) { Handlebars.compile = function(string, options) {
options = options || {}; options = options || {};
var compiled; var compiled;
@@ -1064,12 +1064,12 @@ exports.attach = function(Handlebars) {
} }
return compiled.call(this, context, options); return compiled.call(this, context, options);
}; };
}; };
// END(BROWSER) // END(BROWSER)
return Handlebars; return Handlebars;
}; };
+38 -38
View File
@@ -1,11 +1,11 @@
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
// BEGIN(BROWSER) // BEGIN(BROWSER)
Handlebars.PrintVisitor = function() { this.padding = 0; }; Handlebars.PrintVisitor = function() { this.padding = 0; };
Handlebars.PrintVisitor.prototype = new Handlebars.Visitor(); Handlebars.PrintVisitor.prototype = new Handlebars.Visitor();
Handlebars.PrintVisitor.prototype.pad = function(string, newline) { Handlebars.PrintVisitor.prototype.pad = function(string, newline) {
var out = ""; var out = "";
for(var i=0,l=this.padding; i<l; i++) { for(var i=0,l=this.padding; i<l; i++) {
@@ -16,9 +16,9 @@ exports.attach = function(Handlebars) {
if(newline !== false) { out = out + "\n"; } if(newline !== false) { out = out + "\n"; }
return out; return out;
}; };
Handlebars.PrintVisitor.prototype.program = function(program) { Handlebars.PrintVisitor.prototype.program = function(program) {
var out = "", var out = "",
statements = program.statements, statements = program.statements,
inverse = program.inverse, inverse = program.inverse,
@@ -31,9 +31,9 @@ exports.attach = function(Handlebars) {
this.padding--; this.padding--;
return out; return out;
}; };
Handlebars.PrintVisitor.prototype.block = function(block) { Handlebars.PrintVisitor.prototype.block = function(block) {
var out = ""; var out = "";
out = out + this.pad("BLOCK:"); out = out + this.pad("BLOCK:");
@@ -56,9 +56,9 @@ exports.attach = function(Handlebars) {
this.padding--; this.padding--;
return out; return out;
}; };
Handlebars.PrintVisitor.prototype.mustache = function(mustache) { Handlebars.PrintVisitor.prototype.mustache = function(mustache) {
var params = mustache.params, paramStrings = [], hash; var params = mustache.params, paramStrings = [], hash;
for(var i=0, l=params.length; i<l; i++) { for(var i=0, l=params.length; i<l; i++) {
@@ -70,15 +70,15 @@ exports.attach = function(Handlebars) {
hash = mustache.hash ? " " + this.accept(mustache.hash) : ""; hash = mustache.hash ? " " + this.accept(mustache.hash) : "";
return this.pad("{{ " + this.accept(mustache.id) + " " + params + hash + " }}"); return this.pad("{{ " + this.accept(mustache.id) + " " + params + hash + " }}");
}; };
Handlebars.PrintVisitor.prototype.partial = function(partial) { Handlebars.PrintVisitor.prototype.partial = function(partial) {
var content = this.accept(partial.id); var content = this.accept(partial.id);
if(partial.context) { content = content + " " + this.accept(partial.context); } if(partial.context) { content = content + " " + this.accept(partial.context); }
return this.pad("{{> " + content + " }}"); return this.pad("{{> " + content + " }}");
}; };
Handlebars.PrintVisitor.prototype.hash = function(hash) { Handlebars.PrintVisitor.prototype.hash = function(hash) {
var pairs = hash.pairs; var pairs = hash.pairs;
var joinedPairs = [], left, right; var joinedPairs = [], left, right;
@@ -89,42 +89,42 @@ exports.attach = function(Handlebars) {
} }
return "HASH{" + joinedPairs.join(", ") + "}"; return "HASH{" + joinedPairs.join(", ") + "}";
}; };
Handlebars.PrintVisitor.prototype.STRING = function(string) { Handlebars.PrintVisitor.prototype.STRING = function(string) {
return '"' + string.string + '"'; return '"' + string.string + '"';
}; };
Handlebars.PrintVisitor.prototype.INTEGER = function(integer) { Handlebars.PrintVisitor.prototype.INTEGER = function(integer) {
return "INTEGER{" + integer.integer + "}"; return "INTEGER{" + integer.integer + "}";
}; };
Handlebars.PrintVisitor.prototype.BOOLEAN = function(bool) { Handlebars.PrintVisitor.prototype.BOOLEAN = function(bool) {
return "BOOLEAN{" + bool.bool + "}"; return "BOOLEAN{" + bool.bool + "}";
}; };
Handlebars.PrintVisitor.prototype.ID = function(id) { Handlebars.PrintVisitor.prototype.ID = function(id) {
var path = id.parts.join("/"); var path = id.parts.join("/");
if(id.parts.length > 1) { if(id.parts.length > 1) {
return "PATH:" + path; return "PATH:" + path;
} else { } else {
return "ID:" + path; return "ID:" + path;
} }
}; };
Handlebars.PrintVisitor.prototype.DATA = function(data) { Handlebars.PrintVisitor.prototype.DATA = function(data) {
return "@" + data.id; return "@" + data.id;
}; };
Handlebars.PrintVisitor.prototype.content = function(content) { Handlebars.PrintVisitor.prototype.content = function(content) {
return this.pad("CONTENT[ '" + content.string + "' ]"); return this.pad("CONTENT[ '" + content.string + "' ]");
}; };
Handlebars.PrintVisitor.prototype.comment = function(comment) { Handlebars.PrintVisitor.prototype.comment = function(comment) {
return this.pad("{{! '" + comment.comment + "' }}"); return this.pad("{{! '" + comment.comment + "' }}");
}; };
// END(BROWSER) // END(BROWSER)
return Handlebars; return Handlebars;
}; };
+6 -8
View File
@@ -1,20 +1,18 @@
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
// BEGIN(BROWSER) // BEGIN(BROWSER)
Handlebars.Visitor = function() {}; Handlebars.Visitor = function() {};
Handlebars.Visitor.prototype = { Handlebars.Visitor.prototype = {
accept: function(object) { accept: function(object) {
return this[object.type](object); return this[object.type](object);
} }
}; };
// END(BROWSER) // END(BROWSER)
return Handlebars;
return Handlebars;
}; };
+6 -6
View File
@@ -1,8 +1,8 @@
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
// BEGIN(BROWSER) // BEGIN(BROWSER)
Handlebars.VM = { Handlebars.VM = {
template: function(templateSpec) { template: function(templateSpec) {
// Just add water // Just add water
var container = { var container = {
@@ -61,12 +61,12 @@ exports.attach = function(Handlebars) {
return partials[name](context, options); return partials[name](context, options);
} }
} }
}; };
Handlebars.template = Handlebars.VM.template; Handlebars.template = Handlebars.VM.template;
// END(BROWSER) // END(BROWSER)
return Handlebars; return Handlebars;
}; };
+13 -13
View File
@@ -1,8 +1,8 @@
exports.attach = function(Handlebars) { exports.attach = function(Handlebars) {
// BEGIN(BROWSER) // BEGIN(BROWSER)
Handlebars.Exception = function(message) { Handlebars.Exception = function(message) {
var tmp = Error.prototype.constructor.apply(this, arguments); var tmp = Error.prototype.constructor.apply(this, arguments);
for (var p in tmp) { for (var p in tmp) {
@@ -10,18 +10,18 @@ exports.attach = function(Handlebars) {
} }
this.message = tmp.message; this.message = tmp.message;
}; };
Handlebars.Exception.prototype = new Error(); Handlebars.Exception.prototype = new Error();
// Build out our basic SafeString type // Build out our basic SafeString type
Handlebars.SafeString = function(string) { Handlebars.SafeString = function(string) {
this.string = string; this.string = string;
}; };
Handlebars.SafeString.prototype.toString = function() { Handlebars.SafeString.prototype.toString = function() {
return this.string.toString(); return this.string.toString();
}; };
(function() { (function() {
var escape = { var escape = {
"<": "&lt;", "<": "&lt;",
">": "&gt;", ">": "&gt;",
@@ -64,9 +64,9 @@ exports.attach = function(Handlebars) {
} }
} }
}; };
})(); })();
// END(BROWSER) // END(BROWSER)
return Handlebars; return Handlebars;
}; };