Provide simple unless/else rendering logic which reversed from #if
This is a handlebars.js extension, mustache do not support this.
Used option: FLAG_ELSE
array(
  "foo" => true
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => true
);
echo $render($data);
{
  "foo": true
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": true
};
console.log(render(data));
trueUsed option: FLAG_ELSE
array(
  "foo" => "String"
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => "String"
);
echo $render($data);
{
  "foo": "String"
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": "String"
};
console.log(render(data));
trueUsed option: FLAG_ELSE
array(
  "foo" => array(
    1
  )
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => array(
    1
  )
);
echo $render($data);
{
  "foo": [
    1
  ]
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": [
    1
  ]
};
console.log(render(data));
trueUsed option: FLAG_ELSE
array(
  "foo" => 1
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => 1
);
echo $render($data);
{
  "foo": 1
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": 1
};
console.log(render(data));
trueUsed option: FLAG_ELSE
array(
  "foo" => -1
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => -1
);
echo $render($data);
{
  "foo": -1
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": -1
};
console.log(render(data));
trueUsed option: FLAG_ELSE
array(
  "foo" => array(
    "bar" => NULL
  )
)YESnonorequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => array(
    "bar" => NULL
  )
);
echo $render($data);
{
  "foo": {
    "bar": null
  }
}YESnonovar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": {
    "bar": null
  }
};
console.log(render(data));
Used option: FLAG_ELSE
array(
  "foo" => false
)YESnoYESrequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => false
);
echo $render($data);
{
  "foo": false
}YESnoYESvar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": false
};
console.log(render(data));
falseUsed option: FLAG_ELSE
array(
  "foo" => ""
)YESnoYESrequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => ""
);
echo $render($data);
{
  "foo": ""
}YESnoYESvar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": ""
};
console.log(render(data));
falseUsed option: FLAG_ELSE
array(
  "foo" => array(
  )
)YESnoYESrequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => array(
  )
);
echo $render($data);
{
  "foo": []
}YESnoYESvar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": []
};
console.log(render(data));
0 means falseUsed option: FLAG_ELSE
array(
  "foo" => 0
)YESnoYESrequire('./vendor/autoload.php');
use LightnCandy\LightnCandy;
$template = "{{#unless foo}}YES{{else}}no{{/unless}}";
$php = LightnCandy::compile($template, array(
  "flags" => LightnCandy::FLAG_ELSE
));
$render = LightnCandy::prepare($php);
$data = array(
  "foo" => 0
);
echo $render($data);
{
  "foo": 0
}YESnoYESvar Handlebars = require('handlebars');
var template = '{{#unless foo}}YES{{else}}no{{/unless}}';
var render = Handlebars.compile(template);
var data = {
  "foo": 0
};
console.log(render(data));