Давайте тут делится годными макросами для SweetJS.
Вот сегодня написал оч полезный макрос:
macro get {
rule { $obj:expr @ ($property) } => {
$obj[$property]
}
rule { $obj:expr @ ($head $tail ...) } => {
$obj[$head] || get $obj @ ($tail ...)
}
rule infix { $obj:expr:: | [$x (,) ...] } => {
var tmp = $obj;
get tmp @ ($x ...)
}
}
Пример:
really.very.long.namespace::get['someProp', 'someProp2']
Станет
var tmp = really.very.long.namespace;
tmp['someProp'] || tmp['someProp2'];