Условное отображение хеш-значений в Stylus

У меня есть следующий хэш:

styles = {
   fontSize: {
     use: true,
     values: {
       sm: .875rem,
       base: 1rem,
       lg: 1.125rem,
     }
   },
   fontWeight: {
     use: false,
     values: {
       light: 300,
       normal: 400,
       bold: 700,
     }
   }
}

Я хотел бы создать цикл for in, который обрабатывает значения, только если для use установлено значение true.

У меня есть этот код, который будет перебирать различные типы стилей:

for style in styles
  items = styles[style]
  for item in items
    {item}
      for property, value in items[item]
          {property} value

Чего я не могу понять, так это как проверить, установлено ли use значение true или false, а затем обработать (или нет) значения.

Есть идеи, как это сделать?

Спасибо.


person Moshe    schedule 22.02.2018    source источник


Ответы (1)


Рассматривали ли вы возможность использования условного оператора, такого как оператор if <value>, внутри петля?

e.g.

for style in styles
  {style}
    items = styles[style]
    if items.use
        for property, value in items.values
            {property} value

Просмотр демонстрация онлайн здесь.

person Harry Mumford-Turner    schedule 21.03.2018