handlebars-source 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of handlebars-source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/handlebars.js +166 -150
- data/handlebars.runtime.js +25 -25
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2103e671258424ac95c7d6bae42b5746b1571813
|
4
|
+
data.tar.gz: f23322d6a956dd6e1b09d1576cd1743754675b39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d09354a752423136ac9a8c717e229d8c1f0d16be4db56e7074ba710e489b4387715d78eb5ce227fdc3b265f31667ef2285ffc4e67b87eacffa777a47d53ac17
|
7
|
+
data.tar.gz: f31745697b2fc4123fac76cb7499415dedb85472d86f65fedf1d3bcb1bbd447791a5f8d6c03bf9e3362eec0d8032ae4bc7c0650611148a66197d3ee30c97b247
|
data/handlebars.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
2
|
|
3
|
-
handlebars v1.
|
3
|
+
handlebars v1.2.0
|
4
4
|
|
5
5
|
Copyright (C) 2011 by Yehuda Katz
|
6
6
|
|
@@ -24,6 +24,7 @@ THE SOFTWARE.
|
|
24
24
|
|
25
25
|
@license
|
26
26
|
*/
|
27
|
+
/* exported Handlebars */
|
27
28
|
var Handlebars = (function() {
|
28
29
|
// handlebars/safe-string.js
|
29
30
|
var __module4__ = (function() {
|
@@ -46,6 +47,7 @@ var __module4__ = (function() {
|
|
46
47
|
var __module3__ = (function(__dependency1__) {
|
47
48
|
"use strict";
|
48
49
|
var __exports__ = {};
|
50
|
+
/*jshint -W004 */
|
49
51
|
var SafeString = __dependency1__;
|
50
52
|
|
51
53
|
var escape = {
|
@@ -66,7 +68,7 @@ var __module3__ = (function(__dependency1__) {
|
|
66
68
|
|
67
69
|
function extend(obj, value) {
|
68
70
|
for(var key in value) {
|
69
|
-
if(
|
71
|
+
if(Object.prototype.hasOwnProperty.call(value, key)) {
|
70
72
|
obj[key] = value[key];
|
71
73
|
}
|
72
74
|
}
|
@@ -149,11 +151,10 @@ var __module5__ = (function() {
|
|
149
151
|
var __module2__ = (function(__dependency1__, __dependency2__) {
|
150
152
|
"use strict";
|
151
153
|
var __exports__ = {};
|
152
|
-
/*globals Exception, Utils */
|
153
154
|
var Utils = __dependency1__;
|
154
155
|
var Exception = __dependency2__;
|
155
156
|
|
156
|
-
var VERSION = "1.
|
157
|
+
var VERSION = "1.2.0";
|
157
158
|
__exports__.VERSION = VERSION;var COMPILER_REVISION = 4;
|
158
159
|
__exports__.COMPILER_REVISION = COMPILER_REVISION;
|
159
160
|
var REVISION_CHANGES = {
|
@@ -244,7 +245,7 @@ var __module2__ = (function(__dependency1__, __dependency2__) {
|
|
244
245
|
for(var j = context.length; i<j; i++) {
|
245
246
|
if (data) {
|
246
247
|
data.index = i;
|
247
|
-
data.first = (i === 0)
|
248
|
+
data.first = (i === 0);
|
248
249
|
data.last = (i === (context.length-1));
|
249
250
|
}
|
250
251
|
ret = ret + fn(context[i], { data: data });
|
@@ -252,7 +253,11 @@ var __module2__ = (function(__dependency1__, __dependency2__) {
|
|
252
253
|
} else {
|
253
254
|
for(var key in context) {
|
254
255
|
if(context.hasOwnProperty(key)) {
|
255
|
-
if(data) {
|
256
|
+
if(data) {
|
257
|
+
data.key = key;
|
258
|
+
data.index = i;
|
259
|
+
data.first = (i === 0);
|
260
|
+
}
|
256
261
|
ret = ret + fn(context[key], {data: data});
|
257
262
|
i++;
|
258
263
|
}
|
@@ -332,7 +337,6 @@ var __module2__ = (function(__dependency1__, __dependency2__) {
|
|
332
337
|
var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
333
338
|
"use strict";
|
334
339
|
var __exports__ = {};
|
335
|
-
/*global Utils */
|
336
340
|
var Utils = __dependency1__;
|
337
341
|
var Exception = __dependency2__;
|
338
342
|
var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;
|
@@ -356,32 +360,27 @@ var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
356
360
|
}
|
357
361
|
}
|
358
362
|
|
359
|
-
|
363
|
+
__exports__.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial
|
360
364
|
|
361
365
|
function template(templateSpec, env) {
|
362
366
|
if (!env) {
|
363
367
|
throw new Error("No environment passed to template");
|
364
368
|
}
|
365
369
|
|
366
|
-
var
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
var result = invokePartial.apply(this, arguments);
|
372
|
-
if (result) { return result; }
|
370
|
+
// Note: Using env.VM references rather than local var references throughout this section to allow
|
371
|
+
// for external users to override these as psuedo-supported APIs.
|
372
|
+
var invokePartialWrapper = function(partial, name, context, helpers, partials, data) {
|
373
|
+
var result = env.VM.invokePartial.apply(this, arguments);
|
374
|
+
if (result != null) { return result; }
|
373
375
|
|
376
|
+
if (env.compile) {
|
374
377
|
var options = { helpers: helpers, partials: partials, data: data };
|
375
378
|
partials[name] = env.compile(partial, { data: data !== undefined }, env);
|
376
379
|
return partials[name](context, options);
|
377
|
-
}
|
378
|
-
} else {
|
379
|
-
invokePartialWrapper = function(partial, name /* , context, helpers, partials, data */) {
|
380
|
-
var result = invokePartial.apply(this, arguments);
|
381
|
-
if (result) { return result; }
|
380
|
+
} else {
|
382
381
|
throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
|
383
|
-
}
|
384
|
-
}
|
382
|
+
}
|
383
|
+
};
|
385
384
|
|
386
385
|
// Just add water
|
387
386
|
var container = {
|
@@ -407,8 +406,8 @@ var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
407
406
|
}
|
408
407
|
return ret;
|
409
408
|
},
|
410
|
-
programWithDepth: programWithDepth,
|
411
|
-
noop: noop,
|
409
|
+
programWithDepth: env.VM.programWithDepth,
|
410
|
+
noop: env.VM.noop,
|
412
411
|
compilerInfo: null
|
413
412
|
};
|
414
413
|
|
@@ -430,7 +429,7 @@ var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
430
429
|
options.data);
|
431
430
|
|
432
431
|
if (!options.partial) {
|
433
|
-
checkRevision(container.compilerInfo);
|
432
|
+
env.VM.checkRevision(container.compilerInfo);
|
434
433
|
}
|
435
434
|
|
436
435
|
return result;
|
@@ -481,6 +480,7 @@ var __module6__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
481
480
|
var __module1__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
|
482
481
|
"use strict";
|
483
482
|
var __exports__;
|
483
|
+
/*globals Handlebars: true */
|
484
484
|
var base = __dependency1__;
|
485
485
|
|
486
486
|
// Each of these augment the Handlebars object. No need to setup here.
|
@@ -517,154 +517,164 @@ var __module1__ = (function(__dependency1__, __dependency2__, __dependency3__, _
|
|
517
517
|
// handlebars/compiler/ast.js
|
518
518
|
var __module7__ = (function(__dependency1__) {
|
519
519
|
"use strict";
|
520
|
-
var __exports__
|
520
|
+
var __exports__;
|
521
521
|
var Exception = __dependency1__;
|
522
522
|
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
523
|
+
var AST = {
|
524
|
+
ProgramNode: function(statements, inverseStrip, inverse) {
|
525
|
+
this.type = "program";
|
526
|
+
this.statements = statements;
|
527
|
+
this.strip = {};
|
527
528
|
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
529
|
+
if(inverse) {
|
530
|
+
this.inverse = new AST.ProgramNode(inverse, inverseStrip);
|
531
|
+
this.strip.right = inverseStrip.left;
|
532
|
+
} else if (inverseStrip) {
|
533
|
+
this.strip.left = inverseStrip.right;
|
534
|
+
}
|
535
|
+
},
|
535
536
|
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
537
|
+
MustacheNode: function(rawParams, hash, open, strip) {
|
538
|
+
this.type = "mustache";
|
539
|
+
this.hash = hash;
|
540
|
+
this.strip = strip;
|
540
541
|
|
541
|
-
|
542
|
-
|
542
|
+
// Open may be a string parsed from the parser or a passed boolean flag
|
543
|
+
if (open != null && open.charAt) {
|
544
|
+
// Must use charAt to support IE pre-10
|
545
|
+
var escapeFlag = open.charAt(3) || open.charAt(2);
|
546
|
+
this.escaped = escapeFlag !== '{' && escapeFlag !== '&';
|
547
|
+
} else {
|
548
|
+
this.escaped = !!open;
|
549
|
+
}
|
543
550
|
|
544
|
-
|
545
|
-
|
551
|
+
var id = this.id = rawParams[0];
|
552
|
+
var params = this.params = rawParams.slice(1);
|
546
553
|
|
547
|
-
|
548
|
-
|
549
|
-
|
554
|
+
// a mustache is an eligible helper if:
|
555
|
+
// * its id is simple (a single part, not `this` or `..`)
|
556
|
+
var eligibleHelper = this.eligibleHelper = id.isSimple;
|
550
557
|
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
558
|
+
// a mustache is definitely a helper if:
|
559
|
+
// * it is an eligible helper, and
|
560
|
+
// * it has at least one parameter or hash segment
|
561
|
+
this.isHelper = eligibleHelper && (params.length || hash);
|
555
562
|
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
563
|
+
// if a mustache is an eligible helper but not a definite
|
564
|
+
// helper, it is ambiguous, and will be resolved in a later
|
565
|
+
// pass or at runtime.
|
566
|
+
},
|
560
567
|
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
568
|
+
PartialNode: function(partialName, context, strip) {
|
569
|
+
this.type = "partial";
|
570
|
+
this.partialName = partialName;
|
571
|
+
this.context = context;
|
572
|
+
this.strip = strip;
|
573
|
+
},
|
567
574
|
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
575
|
+
BlockNode: function(mustache, program, inverse, close) {
|
576
|
+
if(mustache.id.original !== close.path.original) {
|
577
|
+
throw new Exception(mustache.id.original + " doesn't match " + close.path.original);
|
578
|
+
}
|
572
579
|
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
580
|
+
this.type = "block";
|
581
|
+
this.mustache = mustache;
|
582
|
+
this.program = program;
|
583
|
+
this.inverse = inverse;
|
577
584
|
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
585
|
+
this.strip = {
|
586
|
+
left: mustache.strip.left,
|
587
|
+
right: close.strip.right
|
588
|
+
};
|
582
589
|
|
583
|
-
|
584
|
-
|
590
|
+
(program || inverse).strip.left = mustache.strip.right;
|
591
|
+
(inverse || program).strip.right = close.strip.left;
|
585
592
|
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
593
|
+
if (inverse && !program) {
|
594
|
+
this.isInverse = true;
|
595
|
+
}
|
596
|
+
},
|
590
597
|
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
598
|
+
ContentNode: function(string) {
|
599
|
+
this.type = "content";
|
600
|
+
this.string = string;
|
601
|
+
},
|
595
602
|
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
603
|
+
HashNode: function(pairs) {
|
604
|
+
this.type = "hash";
|
605
|
+
this.pairs = pairs;
|
606
|
+
},
|
600
607
|
|
601
|
-
|
602
|
-
|
608
|
+
IdNode: function(parts) {
|
609
|
+
this.type = "ID";
|
603
610
|
|
604
|
-
|
605
|
-
|
606
|
-
|
611
|
+
var original = "",
|
612
|
+
dig = [],
|
613
|
+
depth = 0;
|
607
614
|
|
608
|
-
|
609
|
-
|
610
|
-
|
615
|
+
for(var i=0,l=parts.length; i<l; i++) {
|
616
|
+
var part = parts[i].part;
|
617
|
+
original += (parts[i].separator || '') + part;
|
611
618
|
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
619
|
+
if (part === ".." || part === "." || part === "this") {
|
620
|
+
if (dig.length > 0) { throw new Exception("Invalid path: " + original); }
|
621
|
+
else if (part === "..") { depth++; }
|
622
|
+
else { this.isScoped = true; }
|
623
|
+
}
|
624
|
+
else { dig.push(part); }
|
616
625
|
}
|
617
|
-
else { dig.push(part); }
|
618
|
-
}
|
619
626
|
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
627
|
+
this.original = original;
|
628
|
+
this.parts = dig;
|
629
|
+
this.string = dig.join('.');
|
630
|
+
this.depth = depth;
|
624
631
|
|
625
|
-
|
626
|
-
|
627
|
-
|
632
|
+
// an ID is simple if it only has one part, and that part is not
|
633
|
+
// `..` or `this`.
|
634
|
+
this.isSimple = parts.length === 1 && !this.isScoped && depth === 0;
|
628
635
|
|
629
|
-
|
630
|
-
|
636
|
+
this.stringModeValue = this.string;
|
637
|
+
},
|
631
638
|
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
639
|
+
PartialNameNode: function(name) {
|
640
|
+
this.type = "PARTIAL_NAME";
|
641
|
+
this.name = name.original;
|
642
|
+
},
|
636
643
|
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
644
|
+
DataNode: function(id) {
|
645
|
+
this.type = "DATA";
|
646
|
+
this.id = id;
|
647
|
+
},
|
641
648
|
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
649
|
+
StringNode: function(string) {
|
650
|
+
this.type = "STRING";
|
651
|
+
this.original =
|
652
|
+
this.string =
|
653
|
+
this.stringModeValue = string;
|
654
|
+
},
|
648
655
|
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
656
|
+
IntegerNode: function(integer) {
|
657
|
+
this.type = "INTEGER";
|
658
|
+
this.original =
|
659
|
+
this.integer = integer;
|
660
|
+
this.stringModeValue = Number(integer);
|
661
|
+
},
|
655
662
|
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
663
|
+
BooleanNode: function(bool) {
|
664
|
+
this.type = "BOOLEAN";
|
665
|
+
this.bool = bool;
|
666
|
+
this.stringModeValue = bool === "true";
|
667
|
+
},
|
661
668
|
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
669
|
+
CommentNode: function(comment) {
|
670
|
+
this.type = "comment";
|
671
|
+
this.comment = comment;
|
672
|
+
}
|
673
|
+
};
|
666
674
|
|
667
|
-
|
675
|
+
// Must be exported as an object rather than the root of the module as the jison lexer
|
676
|
+
// most modify the object to operate properly.
|
677
|
+
__exports__ = AST;
|
668
678
|
return __exports__;
|
669
679
|
})(__module5__);
|
670
680
|
|
@@ -672,6 +682,7 @@ var __module7__ = (function(__dependency1__) {
|
|
672
682
|
var __module9__ = (function() {
|
673
683
|
"use strict";
|
674
684
|
var __exports__;
|
685
|
+
/* jshint ignore:start */
|
675
686
|
/* Jison generated parser */
|
676
687
|
var handlebars = (function(){
|
677
688
|
var parser = {trace: function trace() { },
|
@@ -884,8 +895,8 @@ var __module9__ = (function() {
|
|
884
895
|
|
885
896
|
function stripFlags(open, close) {
|
886
897
|
return {
|
887
|
-
left: open
|
888
|
-
right: close
|
898
|
+
left: open.charAt(2) === '~',
|
899
|
+
right: close.charAt(0) === '~' || close.charAt(1) === '~'
|
889
900
|
};
|
890
901
|
}
|
891
902
|
|
@@ -1084,8 +1095,7 @@ var __module9__ = (function() {
|
|
1084
1095
|
case 1:return 14;
|
1085
1096
|
break;
|
1086
1097
|
case 2:
|
1087
|
-
|
1088
|
-
if(yy_.yytext.slice(-1) === "\\") strip(0,1);
|
1098
|
+
this.popState();
|
1089
1099
|
return 14;
|
1090
1100
|
|
1091
1101
|
break;
|
@@ -1119,7 +1129,7 @@ var __module9__ = (function() {
|
|
1119
1129
|
break;
|
1120
1130
|
case 17:return 42;
|
1121
1131
|
break;
|
1122
|
-
case 18
|
1132
|
+
case 18:// ignore whitespace
|
1123
1133
|
break;
|
1124
1134
|
case 19:this.popState(); return 24;
|
1125
1135
|
break;
|
@@ -1147,13 +1157,14 @@ var __module9__ = (function() {
|
|
1147
1157
|
break;
|
1148
1158
|
}
|
1149
1159
|
};
|
1150
|
-
lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s])))/,/^(?:false(?=([~}\s])))/,/^(?:-?[0-9]+(?=([~}\s])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/];
|
1160
|
+
lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s])))/,/^(?:false(?=([~}\s])))/,/^(?:-?[0-9]+(?=([~}\s])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/];
|
1151
1161
|
lexer.conditions = {"mu":{"rules":[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[3],"inclusive":false},"INITIAL":{"rules":[0,1,30],"inclusive":true}};
|
1152
1162
|
return lexer;})()
|
1153
1163
|
parser.lexer = lexer;
|
1154
1164
|
function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
|
1155
1165
|
return new Parser;
|
1156
1166
|
})();__exports__ = handlebars;
|
1167
|
+
/* jshint ignore:end */
|
1157
1168
|
return __exports__;
|
1158
1169
|
})();
|
1159
1170
|
|
@@ -1218,6 +1229,12 @@ var __module11__ = (function(__dependency1__) {
|
|
1218
1229
|
}
|
1219
1230
|
},
|
1220
1231
|
|
1232
|
+
compilerInfo: function() {
|
1233
|
+
var revision = COMPILER_REVISION,
|
1234
|
+
versions = REVISION_CHANGES[revision];
|
1235
|
+
return "this.compilerInfo = ["+revision+",'"+versions+"'];\n";
|
1236
|
+
},
|
1237
|
+
|
1221
1238
|
appendToBuffer: function(string) {
|
1222
1239
|
if (this.environment.isSimple) {
|
1223
1240
|
return "return " + string + ";";
|
@@ -1351,9 +1368,7 @@ var __module11__ = (function(__dependency1__) {
|
|
1351
1368
|
var source = this.mergeSource();
|
1352
1369
|
|
1353
1370
|
if (!this.isChild) {
|
1354
|
-
|
1355
|
-
versions = REVISION_CHANGES[revision];
|
1356
|
-
source = "this.compilerInfo = ["+revision+",'"+versions+"'];\n"+source;
|
1371
|
+
source = this.compilerInfo()+source;
|
1357
1372
|
}
|
1358
1373
|
|
1359
1374
|
if (asObject) {
|
@@ -2555,6 +2570,7 @@ var __module10__ = (function(__dependency1__, __dependency2__, __dependency3__,
|
|
2555
2570
|
var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
|
2556
2571
|
"use strict";
|
2557
2572
|
var __exports__;
|
2573
|
+
/*globals Handlebars: true */
|
2558
2574
|
var Handlebars = __dependency1__;
|
2559
2575
|
|
2560
2576
|
// Compiler imports
|
data/handlebars.runtime.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
2
|
|
3
|
-
handlebars v1.
|
3
|
+
handlebars v1.2.0
|
4
4
|
|
5
5
|
Copyright (C) 2011 by Yehuda Katz
|
6
6
|
|
@@ -24,6 +24,7 @@ THE SOFTWARE.
|
|
24
24
|
|
25
25
|
@license
|
26
26
|
*/
|
27
|
+
/* exported Handlebars */
|
27
28
|
var Handlebars = (function() {
|
28
29
|
// handlebars/safe-string.js
|
29
30
|
var __module3__ = (function() {
|
@@ -46,6 +47,7 @@ var __module3__ = (function() {
|
|
46
47
|
var __module2__ = (function(__dependency1__) {
|
47
48
|
"use strict";
|
48
49
|
var __exports__ = {};
|
50
|
+
/*jshint -W004 */
|
49
51
|
var SafeString = __dependency1__;
|
50
52
|
|
51
53
|
var escape = {
|
@@ -66,7 +68,7 @@ var __module2__ = (function(__dependency1__) {
|
|
66
68
|
|
67
69
|
function extend(obj, value) {
|
68
70
|
for(var key in value) {
|
69
|
-
if(
|
71
|
+
if(Object.prototype.hasOwnProperty.call(value, key)) {
|
70
72
|
obj[key] = value[key];
|
71
73
|
}
|
72
74
|
}
|
@@ -149,11 +151,10 @@ var __module4__ = (function() {
|
|
149
151
|
var __module1__ = (function(__dependency1__, __dependency2__) {
|
150
152
|
"use strict";
|
151
153
|
var __exports__ = {};
|
152
|
-
/*globals Exception, Utils */
|
153
154
|
var Utils = __dependency1__;
|
154
155
|
var Exception = __dependency2__;
|
155
156
|
|
156
|
-
var VERSION = "1.
|
157
|
+
var VERSION = "1.2.0";
|
157
158
|
__exports__.VERSION = VERSION;var COMPILER_REVISION = 4;
|
158
159
|
__exports__.COMPILER_REVISION = COMPILER_REVISION;
|
159
160
|
var REVISION_CHANGES = {
|
@@ -244,7 +245,7 @@ var __module1__ = (function(__dependency1__, __dependency2__) {
|
|
244
245
|
for(var j = context.length; i<j; i++) {
|
245
246
|
if (data) {
|
246
247
|
data.index = i;
|
247
|
-
data.first = (i === 0)
|
248
|
+
data.first = (i === 0);
|
248
249
|
data.last = (i === (context.length-1));
|
249
250
|
}
|
250
251
|
ret = ret + fn(context[i], { data: data });
|
@@ -252,7 +253,11 @@ var __module1__ = (function(__dependency1__, __dependency2__) {
|
|
252
253
|
} else {
|
253
254
|
for(var key in context) {
|
254
255
|
if(context.hasOwnProperty(key)) {
|
255
|
-
if(data) {
|
256
|
+
if(data) {
|
257
|
+
data.key = key;
|
258
|
+
data.index = i;
|
259
|
+
data.first = (i === 0);
|
260
|
+
}
|
256
261
|
ret = ret + fn(context[key], {data: data});
|
257
262
|
i++;
|
258
263
|
}
|
@@ -332,7 +337,6 @@ var __module1__ = (function(__dependency1__, __dependency2__) {
|
|
332
337
|
var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
333
338
|
"use strict";
|
334
339
|
var __exports__ = {};
|
335
|
-
/*global Utils */
|
336
340
|
var Utils = __dependency1__;
|
337
341
|
var Exception = __dependency2__;
|
338
342
|
var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;
|
@@ -356,32 +360,27 @@ var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
356
360
|
}
|
357
361
|
}
|
358
362
|
|
359
|
-
|
363
|
+
__exports__.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial
|
360
364
|
|
361
365
|
function template(templateSpec, env) {
|
362
366
|
if (!env) {
|
363
367
|
throw new Error("No environment passed to template");
|
364
368
|
}
|
365
369
|
|
366
|
-
var
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
var result = invokePartial.apply(this, arguments);
|
372
|
-
if (result) { return result; }
|
370
|
+
// Note: Using env.VM references rather than local var references throughout this section to allow
|
371
|
+
// for external users to override these as psuedo-supported APIs.
|
372
|
+
var invokePartialWrapper = function(partial, name, context, helpers, partials, data) {
|
373
|
+
var result = env.VM.invokePartial.apply(this, arguments);
|
374
|
+
if (result != null) { return result; }
|
373
375
|
|
376
|
+
if (env.compile) {
|
374
377
|
var options = { helpers: helpers, partials: partials, data: data };
|
375
378
|
partials[name] = env.compile(partial, { data: data !== undefined }, env);
|
376
379
|
return partials[name](context, options);
|
377
|
-
}
|
378
|
-
} else {
|
379
|
-
invokePartialWrapper = function(partial, name /* , context, helpers, partials, data */) {
|
380
|
-
var result = invokePartial.apply(this, arguments);
|
381
|
-
if (result) { return result; }
|
380
|
+
} else {
|
382
381
|
throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
|
383
|
-
}
|
384
|
-
}
|
382
|
+
}
|
383
|
+
};
|
385
384
|
|
386
385
|
// Just add water
|
387
386
|
var container = {
|
@@ -407,8 +406,8 @@ var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
407
406
|
}
|
408
407
|
return ret;
|
409
408
|
},
|
410
|
-
programWithDepth: programWithDepth,
|
411
|
-
noop: noop,
|
409
|
+
programWithDepth: env.VM.programWithDepth,
|
410
|
+
noop: env.VM.noop,
|
412
411
|
compilerInfo: null
|
413
412
|
};
|
414
413
|
|
@@ -430,7 +429,7 @@ var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
430
429
|
options.data);
|
431
430
|
|
432
431
|
if (!options.partial) {
|
433
|
-
checkRevision(container.compilerInfo);
|
432
|
+
env.VM.checkRevision(container.compilerInfo);
|
434
433
|
}
|
435
434
|
|
436
435
|
return result;
|
@@ -481,6 +480,7 @@ var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
|
481
480
|
var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
|
482
481
|
"use strict";
|
483
482
|
var __exports__;
|
483
|
+
/*globals Handlebars: true */
|
484
484
|
var base = __dependency1__;
|
485
485
|
|
486
486
|
// Each of these augment the Handlebars object. No need to setup here.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: handlebars-source
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yehuda Katz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Handlebars.js source code wrapper for (pre)compilation gems.
|
14
14
|
email:
|
@@ -39,9 +39,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
39
39
|
version: '0'
|
40
40
|
requirements: []
|
41
41
|
rubyforge_project:
|
42
|
-
rubygems_version: 2.0.
|
42
|
+
rubygems_version: 2.0.3
|
43
43
|
signing_key:
|
44
44
|
specification_version: 4
|
45
45
|
summary: Handlebars.js source code wrapper
|
46
46
|
test_files: []
|
47
|
-
has_rdoc:
|