Skip to content

Latest commit

 

History

History
143 lines (114 loc) · 7.92 KB

README.md

File metadata and controls

143 lines (114 loc) · 7.92 KB

proto

ES5-compatible object manipulation library for node and modern browsers

Build Status npm version Code Climate Test Coverage

Documentation: http://milojs.github.io/proto/

Why not use underscore or lo-dash

  1. They do NOT use properties that are non-enumerable when they extend/clone/etc.
  2. They DO use enumerable properties from prototypes when they extend/clone/etc.
  3. When they clone, they create instances of Object rather than of the same class as cloned object.
  4. They implement many methods that are already implemented natively.
  5. They don't implement methods for inheritance and extention of prototypes.
  6. They create confusion when you read code as you can't clearly differentiate between arrays and objects (maps), e.g. when each function is used.
  7. Underscore has clumbersome chaining syntax, chaining in proto is more succinct.

Install

npm install mol-proto --save

To use and develop:

git clone [email protected]:milojs/proto.git
cd proto
npm link
cd ../<your project>
npm link mol-proto

Use

Node/browserify:

var _ = require('mol-proto');

Browser:

All functions are exported as properties of a global _ object when used with milo, there is no separate proto bundle yet (will be added shortly).

Functions