with
Compile time with
for strict mode JavaScript
Installation
$ npm install with
Usage
var addWith = require('with')
addWith('obj', 'console.log(a)')
addWith("obj || {}", "console.log(helper(a))", ["helper"])
API
addWith(obj, src, [exclude])
The idea is that this is roughly equivallent to:
with (obj) {
src
}
There are a few differences though. For starters, it will be assumed that all variables used in src
come from obj
so any that don't (e.g. template helpers) need to have their names parsed to exclude
as an array.
It also makes everything be declared, so you can always do:
if (foo === undefined)
instead of
if (typeof foo === 'undefined')
It is also safe to use in strict mode (unlike with
) and it minifies properly (with
disables virtually all minification).
License
MIT