conditional-tag
Version:
Clean, easily readable conditional statements in template literals/strings for Node.js and browsers. Provides `if` / `elseif` / `else` and `switch` / `case` / `default` syntax options.
43 lines (36 loc) • 620 B
JavaScript
const funcSwitch = Symbol('switch');
const funcCase = Symbol('case');
const funcSwitchCase = Symbol('switchCase');
function _switch(switchVar) {
return {
func: funcSwitch,
switchVar,
_case: chainedCase(switchVar, null)
};
}
function _case(...caseVars) {
return {
func: funcCase,
caseVars
};
}
const _default = Symbol('default');
const _endswitch = Symbol('endswitch');
function chainedCase(switchVar) {
return function(...caseVars) {
return {
func: funcSwitchCase,
switchVar,
caseVars
}
}
}
export {
_switch,
_case,
_default,
_endswitch,
funcSwitch,
funcCase,
funcSwitchCase
};