1.2.0 • Published 4 years ago

array-datastore v1.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

A datastore to easily and consistently store unique objects in an array.

You can also specify placeholders for displaying shimmers while awaiting data from an API call.

Install

npm install --save array-datastore

Array-DataStore

Usage

  • constructor.instance(configObject) Create a new instance of the store with an optional configuration object.
  • addUniqueObject() Add an unique object to the store. Objects are unique by their id field, so ensure your objects have that.
  • addUniqueObjects() Add an array unique objects to the store.
  • prependUniqueObject() Add an unique object to front of the store.
  • prependUniqueObjects() Add an array unique objects to front of the store.
  • setBeforeAddProcessor(callbackFunction) Set a function that will be called before any time an object is added to the store.

  • hasObjectById() Check if the store has an object by its id.

  • replaceObject() Replace an existing object or add to the store.
  • deleteObjectById() Delete an object from the store by its id.
  • reset() Delete all objects from the store.

  • getObjects() Get all the objects in the store.

  • getObjectIds() Get all the object ids in the store.
  • getObjectById() Get an object from the store by its id.
  • getObjectAtIndex() Get an object from the store at a specific index.
  • getObjectByPredicate()Get the first object matching the provided filter predicate.
  • getObjectIndexById() Get the index of an object by its id.

  • hasPlaceholders() Checks if the store has placeholder objects.

  • clearPlaceholders() Remove the placeholder objects from the store.
  • sections Get the sections of the datastore. As you add values to the datastore, they are also added to a sectionedList. Note that this sectionedList can only be added to and no items will ever be removed from it; this may change in the future. See sectioned-list library for details.

See the tests (tests/dataStore_test.js) to see how these methods are used.

config object

When creating the store, you can specify an optional configuration object.

placeholders: number|Array<Object>

You can specify a number of placeholders or an array of placeholder objects that will populate the store until you add your first actual object or you call the #clearPlaceholders() method.

sectionSizes: Array

See sectioned-list library.

Example

carbon (4)

Tests

We use mocha and chai. Run npm test

Contributing

Feel free to open a pull request!

1.2.0

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago