Skip to content

Commit

Permalink
Update for let and optional parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
kpdecker committed Apr 20, 2015
1 parent 0263aa4 commit 4bed826
Show file tree
Hide file tree
Showing 15 changed files with 236 additions and 239 deletions.
8 changes: 4 additions & 4 deletions lib/handlebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import { Compiler, compile, precompile } from './handlebars/compiler/compiler';
import JavaScriptCompiler from './handlebars/compiler/javascript-compiler';
import Visitor from './handlebars/compiler/visitor';

var _create = Handlebars.create;
let _create = Handlebars.create;
function create() {
var hb = _create();
let hb = _create();

hb.compile = function(input, options) {
return compile(input, options, hb);
Expand All @@ -27,14 +27,14 @@ function create() {
return hb;
}

var inst = create();
let inst = create();
inst.create = create;

inst.Visitor = Visitor;

/*jshint -W040 */
/* istanbul ignore next */
var $Handlebars = global.Handlebars;
let $Handlebars = global.Handlebars;
/* istanbul ignore next */
inst.noConflict = function() {
if (global.Handlebars === inst) {
Expand Down
6 changes: 3 additions & 3 deletions lib/handlebars.runtime.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import * as runtime from './handlebars/runtime';

// For compatibility and usage outside of module systems, make the Handlebars object a namespace
function create() {
var hb = new base.HandlebarsEnvironment();
let hb = new base.HandlebarsEnvironment();

Utils.extend(hb, base);
hb.SafeString = SafeString;
Expand All @@ -26,12 +26,12 @@ function create() {
return hb;
}

var Handlebars = create();
let Handlebars = create();
Handlebars.create = create;

/*jshint -W040 */
/* istanbul ignore next */
var root = typeof global !== 'undefined' ? global : window,
let root = typeof global !== 'undefined' ? global : window,
$Handlebars = root.Handlebars;
/* istanbul ignore next */
Handlebars.noConflict = function() {
Expand Down
47 changes: 25 additions & 22 deletions lib/handlebars/base.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import * as Utils from './utils';
import Exception from './exception';

export var VERSION = '3.0.1';
export var COMPILER_REVISION = 6;
export const VERSION = '3.0.1';
export const COMPILER_REVISION = 6;

export var REVISION_CHANGES = {
export const REVISION_CHANGES = {
1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
2: '== 1.0.0-rc.3',
3: '== 1.0.0-rc.4',
Expand All @@ -13,10 +13,10 @@ export var REVISION_CHANGES = {
6: '>= 2.0.0-beta.1'
};

var isArray = Utils.isArray,
isFunction = Utils.isFunction,
toString = Utils.toString,
objectType = '[object Object]';
const isArray = Utils.isArray,
isFunction = Utils.isFunction,
toString = Utils.toString,
objectType = '[object Object]';

export function HandlebarsEnvironment(helpers, partials) {
this.helpers = helpers || {};
Expand Down Expand Up @@ -70,7 +70,7 @@ function registerDefaultHelpers(instance) {
});

instance.registerHelper('blockHelperMissing', function(context, options) {
var inverse = options.inverse,
let inverse = options.inverse,
fn = options.fn;

if (context === true) {
Expand All @@ -89,7 +89,7 @@ function registerDefaultHelpers(instance) {
}
} else {
if (options.data && options.ids) {
var data = createFrame(options.data);
let data = createFrame(options.data);
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name);
options = {data: data};
}
Expand All @@ -103,10 +103,13 @@ function registerDefaultHelpers(instance) {
throw new Exception('Must pass iterator to #each');
}

var fn = options.fn, inverse = options.inverse;
var i = 0, ret = '', data;
let fn = options.fn,
inverse = options.inverse,
i = 0,
ret = '',
data,
contextPath;

var contextPath;
if (options.data && options.ids) {
contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
}
Expand Down Expand Up @@ -137,13 +140,13 @@ function registerDefaultHelpers(instance) {

if (context && typeof context === 'object') {
if (isArray(context)) {
for (var j = context.length; i < j; i++) {
for (let j = context.length; i < j; i++) {
execIteration(i, i, i === context.length - 1);
}
} else {
var priorKey;
let priorKey;

for (var key in context) {
for (let key in context) {
if (context.hasOwnProperty(key)) {
// We're running the iterations one step out of sync so we can detect
// the last iteration without have to scan the object twice and create
Expand Down Expand Up @@ -188,11 +191,11 @@ function registerDefaultHelpers(instance) {
instance.registerHelper('with', function(context, options) {
if (isFunction(context)) { context = context.call(this); }

var fn = options.fn;
let fn = options.fn;

if (!Utils.isEmpty(context)) {
if (options.data && options.ids) {
var data = createFrame(options.data);
let data = createFrame(options.data);
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]);
options = {data: data};
}
Expand All @@ -204,7 +207,7 @@ function registerDefaultHelpers(instance) {
});

instance.registerHelper('log', function(message, options) {
var level = options.data && options.data.level != null ? parseInt(options.data.level, 10) : 1;
let level = options.data && options.data.level != null ? parseInt(options.data.level, 10) : 1;
instance.log(level, message);
});

Expand All @@ -213,7 +216,7 @@ function registerDefaultHelpers(instance) {
});
}

export var logger = {
export let logger = {
methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3: 'error' },

// State enum
Expand All @@ -226,16 +229,16 @@ export var logger = {
// Can be overridden in the host environment
log: function(level, message) {
if (typeof console !== 'undefined' && logger.level <= level) {
var method = logger.methodMap[level];
let method = logger.methodMap[level];
(console[method] || console.log).call(console, message); // eslint-disable-line no-console
}
}
};

export var log = logger.log;
export let log = logger.log;

export function createFrame(object) {
var frame = Utils.extend({}, object);
let frame = Utils.extend({}, object);
frame._parent = object;
return frame;
}
2 changes: 1 addition & 1 deletion lib/handlebars/compiler/ast.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var AST = {
let AST = {
Program: function(statements, blockParams, strip, locInfo) {
this.loc = locInfo;
this.type = 'Program';
Expand Down
4 changes: 2 additions & 2 deletions lib/handlebars/compiler/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { extend } from '../utils';

export { parser };

var yy = {};
let yy = {};
extend(yy, Helpers, AST);

export function parse(input, options) {
Expand All @@ -20,6 +20,6 @@ export function parse(input, options) {
return new yy.SourceLocation(options && options.srcName, locInfo);
};

var strip = new WhitespaceControl();
let strip = new WhitespaceControl();
return strip.accept(parser.parse(input));
}
32 changes: 15 additions & 17 deletions lib/handlebars/compiler/code-gen.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*global define */
import {isArray} from '../utils';

var SourceNode;
let SourceNode;

try {
/* istanbul ignore next */
if (typeof define !== 'function' || !define.amd) {
// We don't support this in AMD environments. For these environments, we asusme that
// they are running on the browser and thus have no need for the source-map library.
var SourceMap = require('source-map');
let SourceMap = require('source-map');
SourceNode = SourceMap.SourceNode;
}
} catch (err) {
Expand Down Expand Up @@ -49,9 +49,9 @@ if (!SourceNode) {

function castChunk(chunk, codeGen, loc) {
if (isArray(chunk)) {
var ret = [];
let ret = [];

for (var i = 0, len = chunk.length; i < len; i++) {
for (let i = 0, len = chunk.length; i < len; i++) {
ret.push(codeGen.wrap(chunk[i], loc));
}
return ret;
Expand All @@ -77,29 +77,27 @@ CodeGen.prototype = {
},

merge: function() {
var source = this.empty();
let source = this.empty();
this.each(function(line) {
source.add([' ', line, '\n']);
});
return source;
},

each: function(iter) {
for (var i = 0, len = this.source.length; i < len; i++) {
for (let i = 0, len = this.source.length; i < len; i++) {
iter(this.source[i]);
}
},

empty: function(loc) {
loc = loc || this.currentLocation || {start: {}};
empty: function(loc = this.currentLocation || {start: {}}) {
return new SourceNode(loc.start.line, loc.start.column, this.srcFile);
},
wrap: function(chunk, loc) {
wrap: function(chunk, loc = this.currentLocation || {start: {}}) {
if (chunk instanceof SourceNode) {
return chunk;
}

loc = loc || this.currentLocation || {start: {}};
chunk = castChunk(chunk, this, loc);

return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);
Expand All @@ -121,28 +119,28 @@ CodeGen.prototype = {
},

objectLiteral: function(obj) {
var pairs = [];
let pairs = [];

for (var key in obj) {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
var value = castChunk(obj[key], this);
let value = castChunk(obj[key], this);
if (value !== 'undefined') {
pairs.push([this.quotedString(key), ':', value]);
}
}
}

var ret = this.generateList(pairs);
let ret = this.generateList(pairs);
ret.prepend('{');
ret.add('}');
return ret;
},


generateList: function(entries, loc) {
var ret = this.empty(loc);
let ret = this.empty(loc);

for (var i = 0, len = entries.length; i < len; i++) {
for (let i = 0, len = entries.length; i < len; i++) {
if (i) {
ret.add(',');
}
Expand All @@ -154,7 +152,7 @@ CodeGen.prototype = {
},

generateArray: function(entries, loc) {
var ret = this.generateList(entries, loc);
let ret = this.generateList(entries, loc);
ret.prepend('[');
ret.add(']');

Expand Down
Loading

0 comments on commit 4bed826

Please sign in to comment.