1.0.4 • Published 4 years ago

@sovpro/and-prior v1.0.4

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

And Prior

Wrap a function to return the current and prior computed value

Build status for Node.js 0.12 and higher

Access the value and prior value

// make an "and prior" wrapped getEvent
var getEventAP = andPrior (getEvent)
// call the "and prior" wrapped getEvent
var event_ap = getEventAP ()
// access the value and prior value
if (event_ap.value === event_ap.prior) {
  // do stuff when value is same as prior
}

sameAsPrior shortcut method

// make an "and prior" wrapped getEvent
var getEventAP = andPrior (getEvent)

function logEvents () {
  // call the "and prior" wrapped getEvent
  var event_ap = getEventAP ()
  // check if the return value is the same as the prior
  if (event_ap.sameAsPrior ()) {
   // do nothing when value is same as prior
   return
  }
  // do stuff when value is different
}

Customize sameAsPrior comparison

function sum (a, b) {
  return a + b
}

// configuration for the custom sameAsPrior
var custom_config = {
  sameAsPrior: function (value, prior) {
    var value_rounded = Math.round (value)
    var prior_rounded = Math.round (prior)
    // compare value and prior after rounding
    return value_rounded === prior_rounded
  }
}

// make an "and prior" wrapped sum
// and use the custom configuration
var sumAP = andPrior (sum, custom_config)

var first_ap = sumAP (1.1, 1.2)
var second_ap = sumAP (1.1, 1.1)

// this will log: true
console.log (second_ap.sameAsPrior ())

In the code above, the return value of first_ap.sameAsPrior () will be false assuming no prior computed value by sumAP. The return value of second_ap.sameAsPrior () will be true because the custom "same as prior" function performs rounding before comparison.