with a working -n --no-wrap option to disable the top-level function safety wrapper

This commit is contained in:
Jeremy Ashkenas
2009-12-24 15:31:00 -08:00
parent 46f81c2de1
commit e27756cee8
6 changed files with 48 additions and 9 deletions

29
test/fixtures/each_no_wrap.js vendored Normal file
View File

@@ -0,0 +1,29 @@
// The cornerstone, an each implementation.
// Handles objects implementing forEach, arrays, and raw objects.
_.each = function(obj, iterator, context) {
var index = 0;
try {
if (obj.forEach) {
obj.forEach(iterator, context);
} else if (_.isArray(obj) || _.isArguments(obj)) {
var a = obj;
for (var b=0, c=a.length; b<c; b++) {
var item = a[b];
var i = b;
iterator.call(context, item, i, obj);
}
} else {
var d = _.keys(obj);
for (var e=0, f=d.length; e<f; e++) {
var key = d[e];
iterator.call(context, obj[key], key, obj);
}
}
} catch (e) {
if (e !== breaker) {
throw e;
}
}
return obj;
};