kpdecker
529e2b6796
Merge branch 'refactor-parser' of github.com:mmun/handlebars.js into mmun-refactor-parser
...
Conflicts:
lib/handlebars/compiler/ast.js
spec/ast.js
src/handlebars.yy
2014-08-23 16:29:22 -05:00
kpdecker
3531e04117
Optimize replaceStack for inline methods
...
Only use case was with inline input so most of this code was unnecessary.
2014-08-23 07:43:09 -05:00
kpdecker
c3fde1c01c
Remove unnecessary stack variable from blockHelper
2014-08-23 07:42:24 -05:00
kpdecker
19ce981296
Do not flush subexpressions
...
They are no longer duplicated with the new helper calling pattern and this also introduced stack corruption issues due to improper value lookups.
Fixes #767
Fixes #768
2014-08-23 07:36:01 -05:00
kpdecker
3ce105ae89
Fix undefined handling for pathed lookups
...
Fixes #837
2014-08-15 01:45:50 -05:00
kpdecker
f2b5519e76
Strip dead code from javascript compiler
2014-08-15 00:40:07 -05:00
kpdecker
cc5de5df3c
Fix compat partial exec without data
2014-08-15 00:38:23 -05:00
kpdecker
d05245b5f5
Make depthed lookup call non-literal
...
Prevents duplicate calls from being made.
2014-08-15 00:37:57 -05:00
kpdecker
084e8fe1b7
Provide better error on unexpected template
...
Fixes #806
2014-08-15 00:06:40 -05:00
kpdecker
9f07a34955
Additional test coverage
2014-08-15 00:05:37 -05:00
kpdecker
6f22ec1e01
Remove nested function eval in blockHelperMissing
...
This only worked when a function returned a function, which was then evaluated. This seems like unexpected behavior so this was dropped.
2014-08-14 23:10:17 -05:00
kpdecker
9e3f824bf5
Fix compiler program de-duping
2014-08-14 12:27:39 -05:00
kpdecker
b94656a31f
Drop unused Compiler.disassemble method
2014-08-14 12:27:23 -05:00
kpdecker
3cea85b2b0
Drop unused DECLARE opcode
2014-08-14 12:27:02 -05:00
kpdecker
4d0e3c98eb
Drop unused registerHelper inverse parameter
2014-08-14 12:25:58 -05:00
kpdecker
cb22ee5681
Increase test coverage a touch
2014-08-14 12:25:35 -05:00
kpdecker
9f8110fe15
Implement partial recursive lookup
2014-08-14 00:29:25 -05:00
kpdecker
0edce6e1d1
Inherit compat flag for partials
2014-08-14 00:29:25 -05:00
kpdecker
c98613b711
Implement recursive field lookup in compat mode
...
Provides the mustache behavior of recursive lookup without the use of depthed paths.
Note that this does incur a fairly dramatic performance penalty for depthed queries.
2014-08-13 20:46:42 -05:00
kpdecker
625b00e1da
Avoid depth construction overhead for non-depthed
2014-08-13 14:51:33 -05:00
kpdecker
b695aaec7c
Use depths array rather than passing array args
...
Approximately doubles the throughput performance of depthed templates and clears the way for doing recursive path lookups in pathed mode.
2014-08-13 14:11:53 -05:00
kpdecker
f6dc5ad716
Create contextName helper for context lookup
2014-08-13 11:41:27 -05:00
kpdecker
e93d516672
Render indent for standalone partials
2014-08-12 14:41:58 -05:00
kpdecker
2a47d66ee9
Drop omitted content tags from generated output
2014-08-12 14:41:58 -05:00
kpdecker
50c657f138
Flag standalone nodes in the AST
2014-08-12 14:41:58 -05:00
kpdecker
6070179009
Track root status in ProgramNode constructor
2014-08-12 14:41:58 -05:00
kpdecker
63c5eb7a82
Remove unused JSCompiler.register method
2014-08-11 20:10:12 -05:00
Martin Muñoz
eee2c4d4f2
Refactor blocks, programs and inverses
2014-07-29 02:45:50 -04:00
Dan Manges
2bdfd2a31d
Support inverse sections on the with helper
2014-07-16 19:37:01 +00:00
kpdecker
271106d43f
Do not lookup pathed helpers on the helper stack
...
Fixes #764
2014-07-12 12:50:54 -05:00
kpdecker
1fb7b51ee6
Fix rendering of paths that resolve to zero
...
Fixes #820
2014-07-12 11:43:45 -05:00
kpdecker
c90cfe247c
Use ID lookup for ambiguous helper evaluation
...
Final change for #731
2014-07-07 00:20:02 -05:00
kpdecker
b5a5c76ceb
Rework lookup null protector logic
...
- Move the lookup null protection out of `nameLookup` and into that contexts that are aware of the needs for falsy vs. not displayed values.
- Optimize lookup for nested path operations
Fixes #731
2014-07-06 23:41:15 -05:00
kpdecker
4aad72d223
Move lambda resolution to runtime
...
This has a very positive impact on precompiled output size, particularly for known-helpers cases, and little or no impact on the throughput numbers.
2014-07-06 12:53:01 -05:00
kpdecker
059532295d
Move precompiler to safer location
...
Attempts to avoid some of the Node vs. ES6 confusion between the different styles within the application.
Also adds some simple tests in addition to the integration test.
2014-07-05 14:39:28 -05:00
Kevin Decker
0c084399e2
Merge pull request #795 from jwietelmann/master
...
Turn the precompile script into a wrapper around a module.
2014-07-05 12:30:24 -05:00
kpdecker
b79e31e5a5
Remove disassemble log statement
...
Fixes #772
2014-06-28 18:44:11 -07:00
kpdecker
7172d167dd
Provide clear throw on {{#each}}
...
Fixes #773
2014-05-27 10:54:28 -04:00
kpdecker
efad61b1b7
v2.0.0-alpha.4
2014-05-19 23:15:50 -05:00
kpdecker
3638874ddc
Expose setup wrappers for compiled templates
2014-05-19 23:08:34 -05:00
kpdecker
f419838362
v2.0.0-alpha.3
2014-05-19 22:29:25 -05:00
Kevin Decker
e10eb537ab
Merge pull request #797 from tomdale/full-helper-names
...
Pass full helper ID to helperMissing when options are provided
2014-05-19 21:59:20 -05:00
Tom Dale
72c1262394
Pass full id to helperMissing
2014-05-13 13:24:25 +01:00
Joel Wietelmann
a14c689fa6
Stupid line ending
2014-05-10 14:11:07 -05:00
Joel Wietelmann
2e7a3bd702
Turning CLI precompiler into a wrapper around a module.
2014-05-10 14:07:15 -05:00
Martin Muñoz
356ea1a909
Ensure isHelper is coerced to a boolean
2014-05-05 01:51:29 -04:00
kpdecker
085e5e1937
Refactor template init logic
2014-04-13 07:21:08 -05:00
kpdecker
04c312649b
v2.0.0-alpha.2
2014-03-06 01:26:26 -06:00
kpdecker
55782f08c5
Fix evaluation of paths and subexprs
...
Fixes #743
2014-03-05 17:49:39 -06:00
Kevin Decker
7dd64e5e92
Merge pull request #749 from jenseng/option_subexpressions_fix
...
properly handle multiple subexpressions in the same hash, fixes #748
2014-03-05 14:38:26 -06:00