function PromiseSubject(failureStrategy, value) {
  Subject.call(this, failureStrategy, value);
  // Make this object a thenable
  this.then = this.value.then.bind(this.value);
  this.catch = this.value.catch.bind(this.value);
}
function PromiseSubject(failureStrategy, value) {
  Subject.call(this, failureStrategy, value);
  // Make this object a thenable
  this.then = this.value.then.bind(this.value);
  this.catch = this.value.catch.bind(this.value);
}
function PromiseSubject ( failureStrategy , value ) { Subject . call ( this , failureStrategy , value ) ; // Make this object a thenable this . then = this . value . then . bind ( this . value ) ; this . catch = this . value . catch . bind ( this . value ) ; }
Subject subclass which provides assertion methods for promise types.
@param {FailureStrategy} failureStrategy The failure strategy to use when an assertion fails.
@param {*} value The value being checked.
@constructor
@extends Subject
Subject subclass which provides assertion methods for promise types .