/firehash

A Javascript object with array powers.

Primary LanguageJavaScript

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).

Methods

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.

Adding Data to a Firehash

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.

Retrieving Data from a Firehash

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.

Array Powers

forEach(callback) Apply a callback function (signature (key,value)) to each value in the Firehash.

map() TODO

reduce() TODO

Internal Logging and Debugging

Firehash has logging and debugging features built right into it.

Data Value functions

title() (any) If the Firehash has a title value, returns that value.