protojs
v1.0.6
Published
ES5 object manipulation library for node and modern browsers
Downloads
6,519
Keywords
Readme
proto
ES5-compatible object manipulation library for node and modern browsers
Documentation: http://milojs.github.io/proto/
Why not use underscore or lo-dash
- They do NOT use properties that are non-enumerable when they extend/clone/etc.
- They DO use enumerable properties from prototypes when they extend/clone/etc.
- When they clone, they create instances of Object rather than of the same class as cloned object.
- They implement many methods that are already implemented natively.
- They don't implement methods for inheritance and extention of prototypes.
- 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.
- 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
- find
- findIndex
- appendArray
- prependArray
- spliceItem
- toArray
- object
- mapToObject
- unique
- deepForEach
- Functions that Array implements natively are also added - they can be used with array-like objects and for chaining (native functions are always called).