es5-fix

Fixes for incomplete ECMAScript 5 implementations

es5-fix

Fix issues in early ECMAScript 5 implementations.

Fixed function can be implemented to override native one, for that use implement module, e.g.:

require('es5-fix/date/parse/implement');

Or you can use fixed version independently e.g.:

var parse = require('es5-fix/date/parse');

There's probably no single implementation that provides perfectly compliant version of Date.parse, this version fixes that. Implementation is based on es5-shim version.

Addresses the issue where re-definition of non writable properly has no effect. Old versions of Webkit are vulnerable to that. See:

  • http://code.google.com/p/chromium/issues/detail?id=72736
  • https://bugs.webkit.org/show_bug.cgi?id=54289

Additionally it fallbacks to direct assign if defineProperty crashes with defineProperty is not supported on DOM objects (happens in Safari 5.0)

Makes sure that fix for defineProperty also applies to defineProperties

$ npm install es5-fix

You can easily bundle es5-fix for browser with any CJS bundler (no favorite? Try: Browserify, Webmake or Webpack)

Tests

$ npm test