Data structures for the web
SculeJS provides a high-performance NoSQL database management system with the following features:
- Document-oriented storage
- Fast in-place updates
- Rich document based queries
- Support for Map/Reduce operations
- Support for geo-locational queries using the $where and $near operators
Data structures currently included in SculeJS are:
- Hash Map
- Hash Table
- Binary Search Tree
- Bloom Filter
- Linked List
- Doubly Linked List
- Caching Linked List
- LRU Cache
- LIFO Stack
- FIFO Stack
- Atomic Counter
- Bit Set
I do my best to keep the JSDoc annotation in the source up to date with changes, sometimes I miss things though. To generate a HTML version of the API reference for SculeJS clone a copy of the jsdoc3 repository and follow the instructions in the README.md file there.
You should be able to generate JSDoc for SculeJS using the following commands (assuming the sculejs and jsdoc directories are at the same level):
$ cd jsdoc $ ./jsdoc ../sculejs/lib/*.js
If you have any specific questions about how to use SculeJS then head on over to the project wiki.
I run all core library code through JSHint as part of my (currently manual) build process. Building code for other platforms such as web and Titanium takes a little bit of manual fiddling, so certain portions don't pass. It all runs though, and all test cases are verified by running mocha before any commits to TRUNK.
Collections can be persisted to disk (using LocalStorage in the browser), or other storage mediums using custom storage managers. At the time of writing I'm working on support for IndexDB and WebSQL storage engines.
If you want to help out with developing SculeJS please take a look at the contributor wiki guide, I'd be happy to have some help. Donations aren't necessary - if you use SculeJS and love it then tell your friends, just getting the word out would be a huge help.
I have a full time job and maintain SculeJS in my spare time, so if I don't get to your tickets immediately please don't take it personally.