- b9eaaa0 Support for Handlebars.SafeString (#27) - Nils Knappmeier
- e805c22 TravisCI: Add node 6, remove auto-deploy (#28) - Nils Knappmeier
Version 2.0.0 allows to configure the used Promise-library. The default is to the global.Promise
this is considered a breaking change,
because the template now does not return a Q.Promise
by default. If you want to use specific functions of Q
on the template-result,
you have to change your code to var result = Q(template(input))
pass the Q
-Promise constructor as options.Promise
.
The primary goal of this change was to allow bluebird
to be used instead of Q
, which is considered to increase performance.
- baac5d5 Update comment in example-block-helper to match github API call - Joshua Estrin Skrzypek
- fe5b4a2 Breaking change: Allow any Promises/A+ implementation - Joshua Estrin Skrzypek
- 022797e Revert to pre-refactoring wrapper of the
compile
-function and `regi… (#15) - Nils Knappmeier
- ... is equal to Version 1.0.3
- 975b7e7 Use "thoughtful-release" for version upgrades (#11) - Nils Knappmeier
- 7c33c38 Add "files" and "keywords" to package.json (#10) - Nils Knappmeier
- a746477 Markers were not always resolved when block-helpers returned promise (#9) - Nils Knappmeier
- f1dc2c9 Refactor for better readability (#8) - Nils Knappmeier
- 00c537e Run code-style hook and Thoughtful prior to commit - Nils Knappmeier
- 620919a Call to Handlebars.registerHelper(string, function) to increase code coverage - Nils Knappmeier
- eeb0e33 Remove redundant function - Nils Knappmeier
- d8b7ee2 Added Node 4 and 5 to Travis. Fix coverage tests. Add badges for Travis and Coveralls - Nils Knappmeier
- Documentation fix
- Allow
handlebars@4
as peer-dependencies (not just 3)
This project adheres to Semantic Versioning.
- Bump version to 1.0.0 to show API stability
- Documentation update
- Documentation update
- Check for
.done()
function when trying to retrieve the immediate value of a promise.
- In a completely synchronous setup, a block helper is now guaranteed to receive the real string
from
options.fn()
containing no promises. It can therefore modify the string (without the risk of dealing with placeholders)
- Helper arguments are not resolved with
q-deep
anymore, because this is to slow in large template structures with large datasets. Instead, only each parameter (but no recursively) and each hash-arguments is resolved.
- Resolve helper arguments with
q-deep
rather thanQ.all
, so that hash-arguments are resolved as well.
- Make sure that builtin block-helpers (
#each
,#if
) are also wrapped appropriately to work with promise-helpers inside their blocks - Issue #3: Allow async helpers as arguments to other helpers (
{{#each (helper)}}abc{{/each}}
)
- Allow async-helpers inside synchronous block-helpers
- Added missing dependency on
q
- Documentation update
- Revert the use of
registerPromiseHelper
and overwriteregisterHelper
again. The return-value ofoptions.fn
et.al. was and is different from the entry for versionv0.2.0
: Theoptions.fn
andoptions.inverse
functions only return promises if they are called asynchronously. Since helper-librarries for Handlebars would not do that, theregisterPromiseHelper
method is still compatible toregisterHelper
, soregisterHelper
can as well be replaced.
- Issue #2: Escaping of promise return value is now done properly
registerHelper
is not overwritten anymore. Instead, a new methodregisterPromiseHelper
is added to Handlebars- for block-helpers registered with
registerPromiseHelper
, theoptions.fn
- andoptions.inverse
-functions always return a promise for the body-contents (not a string).
- Issue #1: Promise-Helpers can be called from within Promise block-helpers.
- More test cases
- Fix partials handling
- More documentation, Caveats, Issues
- Initial version