Comments (11)
Thanks for the tip!
from stencilswiftkit.
Hi @hebertialmeida,
Did you check that your list
is not empty in the context?
You could add {{ list }}
to your stencil to print it to check that you are passing something to map
.
If you have elements – meaning map
does not work – could you please provide us the context you are using with your stencil so we can reproduce the bug?
from stencilswiftkit.
@hebertialmeida Are you also printing the result variables? A map tag, by definition, does not print it's results, but stores them in a variable.
Try this instead:
// map the list without item name
{% map list into result1 %}{{maploop.item|uppercase}}{% endmap %}
// print items in result1
{% for item in result1 %}
- {{item}}
{% endfor %}
from stencilswiftkit.
Hi @Liquidsoul Yes, I have checked.
@djbe It works with for
function and result1
, but the {{maploop.item|uppercase}}
don't print the item.
Also in this case:
{% map list into result3 using item %}{{maploop.counter}} - {{item}}{% endmap %}
The {{maploop.counter}} - {{item}}
don't print the count and and item.
Anything that I put inside the map
tags are not working for me.
from stencilswiftkit.
@hebertialmeida that's my point. As mentioned in the documentation, the map
tag never prints anything, it transforms a variable into another variable.
After using map, you can do something else with it, such as printing it, that's up to you.
from stencilswiftkit.
Whatever you "print" inside a map loop, gets stored in a new item and added to the result array. If you want to directly print something without transforming, just use the for
tag.
from stencilswiftkit.
I see, but on docs you have this example {% map list into result2 using item %}{{item}}{{item|uppercase}}{% endmap %}
Don't the using item
at the end have the item inside the map?
Also maploop.item
, maploop.counter
, maploop.first
, maploop.last
are not to be used inside the map tag?
from stencilswiftkit.
This
{% map list into result2 using item %}{{item}}{{item|uppercase}}{% endmap %}
Is the equivalent of doing this:
let result2 = list.map { item in
return "\(item)\(item.uppercase)"
}
If you provide using item
, we'll provide that variable inside the map loop. The other variables you mentioned will always be available inside the maploop, and you can use them whenever you want.
from stencilswiftkit.
I understand, my bad :)
I was trying to print item inside the map, but should do that on for and the modifications on map. Thank you...
from stencilswiftkit.
I'll see about improving the documentation to make the sample code a bit clearer. Essentially map
is a combination of the for
and set
tags.
from stencilswiftkit.
Yeah, specially when you have swift equivalent makes me visualize and understand what I was doing wrong.
from stencilswiftkit.
Related Issues (20)
- Change our filters to accept a `mode` parameter instead of a boolean.
- SwiftIdentifier filter: add modes for more flexibility
- Replace filter: unescape backslashes HOT 7
- Map only works with strings HOT 14
- Make `Filter`s public HOT 2
- Test Swift 4.2 (or drop support for it) HOT 4
- swiftIdentifier converts all caps to title case HOT 3
- new release
- HEX Data for Colors.xcassets HOT 1
- question: is map supported for dictionaries? HOT 1
- Adding spm dependency on StencilSwiftKit causes warning in project, soon to be error HOT 2
- question: how to combine keys of multiple dictionaries in a single list and remove duplicates
- How can I keep {{ }} in stencil?
- Update to latest Stencil
- Add new increment filter to Numbers
- Create enum from multiple JSONs removing duplicated HOT 1
- Is it possible to use it with Sourcery? HOT 1
- reusable macro templates HOT 4
- Build failure using Swift 4.2 from Xcode 10 Beta HOT 4
- Release 2.6.0 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stencilswiftkit.