Firehash - A JavaScript object with array powers.
Use Firehash like you would an associative array. Created to support data transfer to and from Firebase databases (hence the name).
Return value type in italics.
set(path,value) Set a value.
Unlike traditional arrays and objects, Firehash can set multiple values based on the type of path:
- Scalar: Set one field.
- Function: Transform target.
- Array: Set more than one field to the same value.
- Object: Set multiple fields at the same time.
setDefault(path.value) Set the field to the given value only if it is not already set.
get(path) Get a value.
- Scalar: Get one field.
- Function: To be determined.
- Array: Get the values of multiple fields, returned as an object.
- Object: Get the values of multiple fields, returned as an object. Use the values in the object for any keys that don't have values.
push(level1,level2,value) Treat the key at level1
like an associative array (creating it if it is null), and set its level2
member to the given value.
fix(singular,plural) If the Firehash has a single value at singular
, creates a new object at the plural
value.
extract(fieldSlug,collection,transformFn) Extract values from a collection by a particular field, applying an optional transformation.
count() (integer) Number of data elements in the Firehash.
keys() (array) Returns the keys of the Firehash as an array.
values() (array) Returns the values of the Firehash as an array.
forEach(callback) Apply a callback function (signature (key,value)
) to each value in the Firehash.
map() TODO
reduce() TODO
Firehash has logging and debugging features built right into it.
title() (any) If the Firehash has a title
value, returns that value.