Git Product home page Git Product logo

Comments (11)

djbe avatar djbe commented on June 12, 2024 1

Thanks for the tip!

from stencilswiftkit.

Liquidsoul avatar Liquidsoul commented on June 12, 2024

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.

djbe avatar djbe commented on June 12, 2024

@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.

hebertialmeida avatar hebertialmeida commented on June 12, 2024

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.

djbe avatar djbe commented on June 12, 2024

@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.

djbe avatar djbe commented on June 12, 2024

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.

hebertialmeida avatar hebertialmeida commented on June 12, 2024

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.

djbe avatar djbe commented on June 12, 2024

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.

hebertialmeida avatar hebertialmeida commented on June 12, 2024

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.

djbe avatar djbe commented on June 12, 2024

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.

hebertialmeida avatar hebertialmeida commented on June 12, 2024

Yeah, specially when you have swift equivalent makes me visualize and understand what I was doing wrong.

from stencilswiftkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.