pugjs/pug

`each` should recognize iteration protocol objects

Open

#3170 aperta il 13 ago 2019

Vedi su GitHub
 (10 commenti) (1 reazione) (0 assegnatari)JavaScript (1955 fork)batch import
Being Worked OnGood First Issue

Metriche repository

Star
 (21.509 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Pug Version: 2.0.4

Node Version: 8.10.0

Input JavaScript Values

var pug = require('pug');

var map = new Map([['foo', 'bar']]);

var html = pug.renderFile('input.pug', { some_iterable: map });

console.log(html);

Input Pug

h1 Pug iteration test file
each el in some_iterable
     p= el[0]
     p= el[1]

Expected HTML

<h1>Pug iteration test file</h1><p>foo</p><p>bar</p>

Actual HTML

<h1>Pug iteration test file</h1>

Additional Comments

Here's the relevant MDN documentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols

I would be happy to prepare a PR implementing this change but wanted to open an issue first to make sure there aren't any issues I haven't thought of yet. I also think this will be backwards-compatible pretty easily, but don't have the time to double-check at the moment. I'll do that soon.

Guida contributor