Skip to content

Instantly share code, notes, and snippets.

@denysdovhan
Created May 29, 2015 22:09
Show Gist options
  • Save denysdovhan/82779ebc38526f4f3cdf to your computer and use it in GitHub Desktop.
Save denysdovhan/82779ebc38526f4f3cdf to your computer and use it in GitHub Desktop.
Example
// Парсер Less вміє виконувати JavaScript-код, що зберігається в змінних.
// Тут невеликий приклад, як можна поєднувати less та js.
// Якийсь колір від балди, щоб продемонструвати інтерполяцію
@color: #dead00;
// Ще для одного прикладу інтерполяції
@foo: 10;
// Щоб показати, роботу областей видимості, блок з гардом нижче виконається
// якщо @a = true, незалежно від того, що ми присвоюємо потім змінній @a js-код
@a: true;
// Функція обробки бінарного оператору <=
// Тут ми присвоюємо змінній js-функцію, яка зберігатиметься в цій змінній.
// Функцію можна буде викликати з допомогою інтерполяції.
@lessthan: `
function(left, right) {
if (left <= right) {
return true;
}
return false;
}`;
// Тут деякий гард, що перевіряє чи @a = true і виконує замикання нижче.
.some-guard when (@a = true) {
@a:`
(function() {
// Ми навіть можемо робити локальні змінні тут.
var someVar = 1243;
if (@{foo} >= 10) {
// Запишемо в файл результат функції, яка зберігалась в @lessthan
console.log( @{lessthan}(23,20) );
} else {
// Інакше кинемо штучно згенеровану помилку і перервемо парсинг.
throw new Error('Unknown number ' + someVar + ' and color @{color}');
}
})()`;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment