John-David Dalton
John-David Dalton
> My main problem with offloading is that underscore.string would, as you implement more string functions, become more and more just a wrapper for Lo-Dash's string functions. I'm sure there'll...
@epeli > What if we want to modify a method in such way that the developers of Lo-Dash do not agree with? Then wrap or drop the module. There's nothing...
Thank you @normelton!
We detect simulators so I see this as something along those lines. If we can make the detect generic that would rock if not I think the Googlebot is common...
> I’m not too sure what you’re referring to here I believe we look for things like `Simulator` maybe we could also look for `bot` or `manufacturer+'bot'`.
We haven't tackled that, it's been just added to the `description`. If you want there could be boolean properties for `simulator` and `bot`.
Not sure how set you are on testling, but I dig [sauce labs](https://saucelabs.com/u/lodash) because I didn't have to rewrite my tests or use a tap adapter. Because I'm using their...
Object.keys incorrectly iterates over non-enumerable `constructor` properties and friends in IE < 9.
The issue is it's iterating over the 7 properties without checking if it's a `prototype` object or those prototypes belonging to other built-ins.
Object.keys incorrectly iterates over non-enumerable `constructor` properties and friends in IE < 9.
Different built-in prototypes have different non-enumerable props. I handle this in lodash via a [map of non-enumerable props](https://github.com/lodash/lodash/blob/e825a54867c7e7a6a5e6e1415bcf526c4df4fb9d/lodash.js#L671-L688) for builtins and then in its [method template](https://github.com/lodash/lodash/blob/e825a54867c7e7a6a5e6e1415bcf526c4df4fb9d/lodash.js#L1054-L1073) to check (weakly) if...
Object.keys incorrectly iterates over non-enumerable `constructor` properties and friends in IE < 9.
The reason I special case `String.prototype` and `Error.prototype` [checks](https://github.com/lodash/lodash/blob/e825a54867c7e7a6a5e6e1415bcf526c4df4fb9d/lodash.js#L1062) is because in IE < 9 the `String.prototype` returns `[[object Object]]` instead of `[[object String]]` and `Error.prototype` returns `[[object Object]]` instead...