Key is a wrapper for the common concept of a Key Value Pair, or a KVP as will be referenced many times in the Fondant library. It is designed around managing every change to a Key and the associated Value, where just accessing the collection of revisions and interactions manually, or handling each one individual by subscribing to the actions. When a change is made to the data, the change is understood -- the old version is cached, and the new version persists.
- View the source for Key at: src/actionables/Key.js.
- View the test file for Key at: tests/Actionables/testKey.js.
- View the NPM package at: @sugarcoated/fondant-key.
API Reference
Instance Methods
new Key(name, value, [date])
Creates a new Key
instance.
-
name
is expected as aString
, used to identify the Key. -
value
is expected as anObject
. -
date
is an optional parameter, expected as aDate
, identifying a creation date if the Key is not new.new Key('myKey')
Upon construction, you will have access to the following properties:
-
name
is the name of theKey
("Key" from "Key Value Pair"). -
value
is the value of theKey
("Value" from the "Key Value Pair").
.age()
Evaluate the current age of the Key in seconds.
myKey.age() // 23
.revise()
Save a brand new revision of the Key. Mostly called within the Key
methods, but is useful when having to restructure Key
instances, or when modifying values via the constructor's actual properties -- not via setters, because those call this method anyway.
myKey.revise()
.pair()
Pairs the Key
into a conceptually traditional KVP with the format of a single-dimension Array.<String, Object>
.
myKey.pair() // ['myKey', {context}]
Returns the derived KVP as an Array.<String, Object>
that can be easily used with Map
s, or other Collection
types.
Static Methods
- Nothing to see here.
Events
-
Renamed is called whenever the
Key
instance is given a new name via the.name
custom setter. Changing the.keyName
property will not fire this action. -
Revalued is called whenever the
Key
instance is given a new value via the.value
custom setter. Changing the.keyValue
property will not fired this action. -
Revised is called whenever a new revision of the
Key
instance is saved. This occurs whenever a theKey
is renamed or revalued (however Revised fires afterwards). -
Cloned is called whenever the
Key
instance is directly copied via the cloning method. -
Paired is called whenever the
Key
instance is directly paired via the pairing method.