updated handlebar runtime. update your compiler 'npm update'

This commit is contained in:
Keivan Beigi 2013-05-16 15:49:57 -07:00
parent 3001b3c905
commit 16e00d77ca
2 changed files with 321 additions and 290 deletions

View File

@ -1,5 +1,5 @@
/* /*
backbone-pageable 1.2.3 backbone-pageable 1.2.4
http://github.com/wyuenho/backbone-pageable http://github.com/wyuenho/backbone-pageable
Copyright (c) 2013 Jimmy Yuen Ho Wong Copyright (c) 2013 Jimmy Yuen Ho Wong
@ -260,8 +260,8 @@
@param {Object} [options] @param {Object} [options]
@param {function(*, *): number} [options.comparator] If specified, this @param {function(*, *): number} [options.comparator] If specified, this
comparator is set to the current page under server mode, or the comparator is set to the current page under server mode, or the #fullCollection
#fullCollection otherwise. otherwise.
@param {boolean} [options.full] If `false` and either a @param {boolean} [options.full] If `false` and either a
`options.comparator` or `sortKey` is defined, the comparator is attached `options.comparator` or `sortKey` is defined, the comparator is attached
@ -281,7 +281,9 @@
@param {Object} [options.queryParam] @param {Object} [options.queryParam]
*/ */
initialize: function (models, options) { constructor: function (models, options) {
Backbone.Collection.apply(this, arguments);
options = options || {}; options = options || {};

View File

@ -29,24 +29,38 @@ var Handlebars = {};
; ;
// lib/handlebars/base.js // lib/handlebars/base.js
Handlebars.VERSION = "1.0.0-rc.3"; Handlebars.VERSION = "1.0.0-rc.4";
Handlebars.COMPILER_REVISION = 2; Handlebars.COMPILER_REVISION = 3;
Handlebars.REVISION_CHANGES = { Handlebars.REVISION_CHANGES = {
1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
2: '>= 1.0.0-rc.3' 2: '== 1.0.0-rc.3',
3: '>= 1.0.0-rc.4'
}; };
Handlebars.helpers = {}; Handlebars.helpers = {};
Handlebars.partials = {}; Handlebars.partials = {};
var toString = Object.prototype.toString,
functionType = '[object Function]',
objectType = '[object Object]';
Handlebars.registerHelper = function(name, fn, inverse) { Handlebars.registerHelper = function(name, fn, inverse) {
if (toString.call(name) === objectType) {
if (inverse || fn) { throw new Handlebars.Exception('Arg not supported with multiple helpers'); }
Handlebars.Utils.extend(this.helpers, name);
} else {
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) {
if (toString.call(name) === objectType) {
Handlebars.Utils.extend(this.partials, name);
} else {
this.partials[name] = str; this.partials[name] = str;
}
}; };
Handlebars.registerHelper('helperMissing', function(arg) { Handlebars.registerHelper('helperMissing', function(arg) {
@ -57,8 +71,6 @@ var Handlebars = {};
} }
}); });
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;
@ -203,6 +215,14 @@ var Handlebars = {};
}; };
Handlebars.Utils = { Handlebars.Utils = {
extend: function(obj, value) {
for(var key in value) {
if(value.hasOwnProperty(key)) {
obj[key] = value[key];
}
}
},
escapeExpression: function(string) { escapeExpression: function(string) {
// don't escape SafeStrings, since they're already safe // don't escape SafeStrings, since they're already safe
if (string instanceof Handlebars.SafeString) { if (string instanceof Handlebars.SafeString) {
@ -211,6 +231,11 @@ var Handlebars = {};
return ""; return "";
} }
// Force a string conversion as this will be done by the append regardless and
// the regex test will do this transparently behind the scenes, causing issues if
// an object's to string has escaped characters in it.
string = string.toString();
if(!possible.test(string)) { return string; } if(!possible.test(string)) { return string; }
return string.replace(badChars, escapeChar); return string.replace(badChars, escapeChar);
}, },
@ -238,13 +263,11 @@ var Handlebars = {};
program: function(i, fn, data) { program: function(i, fn, data) {
var programWrapper = this.programs[i]; var programWrapper = this.programs[i];
if(data) { if(data) {
return Handlebars.VM.program(fn, data); programWrapper = Handlebars.VM.program(i, fn, data);
} else if(programWrapper) { } else if (!programWrapper) {
return programWrapper; programWrapper = this.programs[i] = Handlebars.VM.program(i, fn);
} else {
programWrapper = this.programs[i] = Handlebars.VM.program(fn);
return programWrapper;
} }
return programWrapper;
}, },
programWithDepth: Handlebars.VM.programWithDepth, programWithDepth: Handlebars.VM.programWithDepth,
noop: Handlebars.VM.noop, noop: Handlebars.VM.noop,
@ -276,21 +299,27 @@ var Handlebars = {};
}; };
}, },
programWithDepth: function(fn, data, $depth) { programWithDepth: function(i, fn, data /*, $depth */) {
var args = Array.prototype.slice.call(arguments, 2); var args = Array.prototype.slice.call(arguments, 3);
return function(context, options) { var program = function(context, options) {
options = options || {}; options = options || {};
return fn.apply(this, [context, options.data || data].concat(args)); return fn.apply(this, [context, options.data || data].concat(args));
}; };
program.program = i;
program.depth = args.length;
return program;
}, },
program: function(fn, data) { program: function(i, fn, data) {
return function(context, options) { var program = function(context, options) {
options = options || {}; options = options || {};
return fn(context, options.data || data); return fn(context, options.data || data);
}; };
program.program = i;
program.depth = 0;
return program;
}, },
noop: function() { return ""; }, noop: function() { return ""; },
invokePartial: function(partial, name, context, helpers, partials, data) { invokePartial: function(partial, name, context, helpers, partials, data) {