squirrellyjs / squirrelly

Semi-embedded JS template engine that supports helpers, filters, partials, and template inheritance. 4KB minzipped, written in TypeScript ⛺
https://squirrelly.js.org
MIT License
571 stars 81 forks source link

fix filter signature to allow params, issue in test #198

Open ilanl opened 3 years ago

ilanl commented 3 years ago

@nebrelbug I have an issue with the test I'm adding. I was expecting to use a filter that receive an array and as obj and returns a promised string based on parameters. Parameters are received correctly but the obj sent is string instead of array type. What am I missing?

nebrelbug commented 3 years ago

@ilanl this looks perfect!

The problem in the test is that Squirrelly automatically auto-escapes references before passing them through filters (#189). This has the side effect of converting them to strings.

Since this is a fairly common use case, I'm going to do what I discussed in #189 and make the XML-escape filter (e) the last filter applied to a reference, which should solve the problem. I'll ping you once I've done that :smiley:

nebrelbug commented 3 years ago

Hey @ilanl, I just released version 8.0.4 which applies Squirrelly's XML-escape filter after all other filters. Once you merge my recent changes into this PR, the tests should pass perfectly.

nebrelbug commented 3 years ago

Hi @ilanl! Another PR was just merged which fixes the filter signature problem. However, I'd love to merge the test from your PR.

Do you mind if I remove the src/containers.ts file from the PR and then re-trigger the Travis CI build?

Thanks!