| Browser-friendly inheritance fully compatible with standard node.js |
| [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). |
| |
| This package exports standard `inherits` from node.js `util` module in |
| node environment, but also provides alternative browser-friendly |
| implementation through [browser |
| field](https://gist.github.com/shtylman/4339901). Alternative |
| implementation is a literal copy of standard one located in standalone |
| module to avoid requiring of `util`. It also has a shim for old |
| browsers with no `Object.create` support. |
| |
| While keeping you sure you are using standard `inherits` |
| implementation in node.js environment, it allows bundlers such as |
| [browserify](https://github.com/substack/node-browserify) to not |
| include full `util` package to your client code if all you need is |
| just `inherits` function. It worth, because browser shim for `util` |
| package is large and `inherits` is often the single function you need |
| from it. |
| |
| It's recommended to use this package instead of |
| `require('util').inherits` for any code that has chances to be used |
| not only in node.js but in browser too. |
| |
| ## usage |
| |
| ```js |
| var inherits = require('inherits'); |
| // then use exactly as the standard one |
| ``` |
| |
| ## note on version ~1.0 |
| |
| Version ~1.0 had completely different motivation and is not compatible |
| neither with 2.0 nor with standard node.js `inherits`. |
| |
| If you are using version ~1.0 and planning to switch to ~2.0, be |
| careful: |
| |
| * new version uses `super_` instead of `super` for referencing |
| superclass |
| * new version overwrites current prototype while old one preserves any |
| existing fields on it |