src/computed-properties/when.js
function WhenProperty(whenExpression, thenExpression) {
  if (!thenExpression) {
    thenExpression = whenExpression;
    whenExpression = 'true';
  }

  this.whenExpression = whenExpression;
  this.thenExpression = thenExpression;
}
function WhenProperty(whenExpression, thenExpression) {
  if (!thenExpression) {
    thenExpression = whenExpression;
    whenExpression = 'true';
  }

  this.whenExpression = whenExpression;
  this.thenExpression = thenExpression;
}
function WhenProperty ( whenExpression , thenExpression ) { if ( ! thenExpression ) { thenExpression = whenExpression ; whenExpression = 'true' ; } this . whenExpression = whenExpression ; this . thenExpression = thenExpression ; }
Calls the `thenExpression` and assigns the results to the object's property when the `whenExpression` changes value
to anything other than a falsey value such as undefined. The return value of the `thenExpression` may be a Promise.

@param {String} whenExpression The conditional expression use to determine when to call the `thenExpression`
@param {String} thenExpression The expression which will be executed when the `when` value changes and the result (or
the result of the returned promise) is set on the object.
Calls the thenExpression and assigns the results to the object s property when the whenExpression changes value to anything other than a falsey value such as undefined . The return value of the thenExpression may be a Promise .