pugjs/pug

`each` should recognize iteration protocol objects

Open

#3,170 opened on 2019年8月13日

GitHub で見る
 (10 comments) (1 reaction) (0 assignees)JavaScript (21,509 stars) (1,955 forks)batch import
Being Worked OnGood First Issue

説明

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.

コントリビューターガイド

`each` should recognize iteration protocol objects · pugjs/pug#3170 | Good First Issue