Documented Cache

This commit is contained in:
hydrabolt
2015-11-20 16:36:32 +00:00
parent 2d04728edc
commit 10ea6a9336
4 changed files with 47 additions and 1 deletions

39
docs/docs_cache.rst Normal file
View File

@@ -0,0 +1,39 @@
.. include:: ./vars.rst
Cache
=====
A Cache object extends an Array (so it can be used like a regular array) but introduces helper functions to make it more useful when developing with discord.js. Unlike a regular array, it doesn't care about the instance or prototype of an object, it works purely on properties.
Functions
---------
get(key, value)
~~~~~~~~~~~~~~~
Returns a contained object where ``object[key] == value``. Returns the first object found that matches the criteria.
getAll(key, value)
~~~~~~~~~~~~~~~~~~
Similar to ``cache.get(key, value)``, but returns a Cache of any objects that meet the criteria.
has(key, value)
~~~~~~~~~~~~~~~
Returns `true` if there is an object that meets the condition ``object[key] == value`` in the cache
add(data)
~~~~~~~~~
Adds an object to the Cache as long as all the other objects in the cache don't have the same ID as it.
update(old, data)
~~~~~~~~~~~~~~~~~
Updates an old object in the Cache (if it exists) with the new one.
remove(data)
~~~~~~~~~~~~
Removes an object from the cache if it exists.

View File

@@ -24,6 +24,12 @@ Contents:
:caption: Documentation
docs_client
.. toctree::
:maxdepth: 2
:caption: Util Documentation
docs_cache
Indices and tables

View File

@@ -1,2 +1,3 @@
.. _Client : ./docs_client.html
.. _Cache : ./docs_cache.html
.. _Promises : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise

View File

@@ -22,7 +22,7 @@ class Cache extends Array {
}
getAll(key, value) {
var found = [];
var found = new Cache(this.discrim);
this.forEach((val, index, array) => {
if (val.hasOwnProperty(key) && val[key] == value) {
found.push(val);