record.js/README.md

2.2 KiB

Record.js

A minimalistic object collection library

Record.js aims to provide a lite, 2kb, no dependency collection utility to help build simple in-memory or local storage data sets. Records are stored as JSON.

SOON: ability to export json collections

WIP

Not done yet!

Getting Started

create a new record collection (in-memory)

const pets = new Record();

add something to the collection

pets.add({"name": "Fluffy", "type": "cat"});
// [{"id": "123fk91j7", "name": "Fluffy", "type": "cat"}]

an id field is auto-generated if not provided, this allows easy record retrival via

pets.find("123fk91j7");
// [{"id": "123fk91j7", "name": "Fluffy", "type": "cat"}]

you can also find items via properties like

pets.find({"type": "cat"});
// [{"id": "123fk91j7", "name": "Fluffy", "type": "cat"}]

and you can remove items via

pets.remove("123fk91j7");
// [{"id": "123fk91j7", "name": "Fluffy", "type": "cat"}]

so, no records, right?

pets.find();
// []

API

The public API is very simple, you really only need 3 methods: add, remove, and find.

Method Description
.add(object) Adds entry to collection and returns entry(s) added
`.remove(id object)`
`.find(id object)`
.count() returns number of records in collection

NOTICE: find is special, changes based on what you pass in, an id, an object, or nothing at all

Options

Records.js constructor supports a few options passed in as an object

- store: localStorage KEY to use. This actives localStorage if available
- debug: may logout useful information, maybe not;) 

Tests

npm test

Support

Please open an issue for support.

Contributing

Anyone is welcome to contribute, however, if you decide to get involved, please take a moment to review the guidelines, there minimalistic;)

License

MIT