kyuubi
Working with Collections and Objects has never been so fun.
Motivation
Kyuubi has been written because I was feeling bored waiting for the next Orange is the Black's season, I wasn't happy with libs like underscore
and I want to make some other design decisions, as follows:
- Haskell-inspired list and functions
- Tail-recursive
- Prototypal Pattern
- Extend native Objects (if necessary)
- Type-aware returns (functions always return the same data type)
- Ridiculously modular
It's actually not intended to be used in Real World™, even though I'm going to use it in my projects anyway. So, feel free to use it or contribute if you want to.
Getting Started
Kyuubi is available at npm, and you need to have installed/install Node.js in order to use it. Or you can download a UMD version at bower (but less fun and less modular, once you got the whole lib at once).
npm install kyuubi --save
Then you can start using it in a CommonJs environment. There's a couple of ways of using it:
- You can just extend native objects:
// all native objects are extended// or // only array and object are extended
- You can get different objects to use
var l = ListArray // => true var r = Record // => Object{functions...}
See the docs for comprehensive list of available Objects, Extensions and functions.
Contributing
It'd be awesome to have your feature into Kyuubi's collection. So, make a Pull Request following these steps:
- Look for a analogous feature at Kyuubi's docs.
- If there's none, fork it, create a branch for it.
- Pull request it.
- ????
- PROFIT!!!1
To be accepted, your feature must follow these requirements:
- Follow the current coding style (no semicolons, blablabla)
- Follow the design decisions once made (and listed above)
- Add docs if necessary
License
MIT