@hckn

Как спарсить stylus в JSON?

Есть файл, в котором несколько сотен переменных вида

$deep-orange-base = #ff5722
$deep-orange-lighten-5 = #fbe9e7
$deep-orange-lighten-4 = #ffccbc
$deep-orange-lighten-3 = #ffab91
$deep-orange-lighten-2 = #ff8a65
$deep-orange-lighten-1 = #ff7043
$deep-orange-darken-1 = #f4511e
$deep-orange-darken-2 = #e64a19
$deep-orange-darken-3 = #d84315
$deep-orange-darken-4 = #bf360c
$deep-orange-accent-1 = #ff9e80
$deep-orange-accent-2 = #ff6e40
$deep-orange-accent-3 = #ff3d00
$deep-orange-accent-4 = #dd2c00


Как бы это спарсить в JSON или JS объект?

[
  { "deep-orange-darken-1": "#f4511e" }
]
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
fetch(filename)
  .then(r => r.text())
  .then(r => r.split('\n').map(n => {
    const [ key, val ] = n.split(' = ');
    return { [key]: val };
  }))
  .then(arr => {
    // ну вот вам ваши объекты
  });

UPD. Если вдруг в файле есть ещё что-то, кроме строк указанного вами вида, можно получать их с помощью регулярных выражений, надо будет заменить r.split('\n') на r.match(/\$[a-z0-9-]+ = #[0-9a-f]{6}/g), например.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы