pugjs/pug

`each` should recognize iteration protocol objects

Open

#3,170 建立於 2019年8月13日

在 GitHub 查看
 (10 留言) (1 反應) (0 負責人)JavaScript (21,509 star) (1,955 fork)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.

貢獻者指南