Created
May 29, 2015 22:09
-
-
Save denysdovhan/82779ebc38526f4f3cdf to your computer and use it in GitHub Desktop.
Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Парсер 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