assertion.js
 1  "use strict";
 2  Object.defineProperty(exports, "__esModule", { value: true });
 3  exports.not = exports.JestFriendlyAssertion = exports.Assertion = void 0;
 4  class Assertion {
 5      /**
 6       * Assert this thing and another thing
 7       */
 8      and(assertion) {
 9          // Needs to delegate to a function so that we can import mutually dependent classes in the right order
10          return and(this, assertion);
11      }
12      assertOrThrow(inspector) {
13          if (!this.assertUsing(inspector)) {
14              throw new Error(`${JSON.stringify(inspector.value, null, 2)} does not match ${this.description}`);
15          }
16      }
17  }
18  exports.Assertion = Assertion;
19  class JestFriendlyAssertion extends Assertion {
20  }
21  exports.JestFriendlyAssertion = JestFriendlyAssertion;
22  const and_assertion_1 = require("./assertions/and-assertion");
23  function and(left, right) {
24      return new and_assertion_1.AndAssertion(left, right);
25  }
26  const negated_assertion_1 = require("./assertions/negated-assertion");
27  function not(assertion) {
28      return new negated_assertion_1.NegatedAssertion(assertion);
29  }
30  exports.not = not;
31  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQXNCLFNBQVM7SUFLN0I7O09BRUc7SUFDSSxHQUFHLENBQUMsU0FBb0M7UUFDN0Msc0dBQXNHO1FBQ3RHLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbkc7SUFDSCxDQUFDO0NBQ0Y7QUFsQkQsOEJBa0JDO0FBRUQsTUFBc0IscUJBQXdELFNBQVEsU0FBeUI7Q0FLOUc7QUFMRCxzREFLQztBQUVELDhEQUEwRDtBQUUxRCxTQUFTLEdBQUcsQ0FBc0IsSUFBa0IsRUFBRSxLQUFtQjtJQUN2RSxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELHNFQUFrRTtBQUVsRSxTQUFnQixHQUFHLENBQXNCLFNBQXVCO0lBQzlELE9BQU8sSUFBSSxvQ0FBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsa0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tICcuL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGFzc2VydFVzaW5nKGluc3BlY3RvcjogSW5zcGVjdG9yQ2xhc3MpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhpcyB0aGluZyBhbmQgYW5vdGhlciB0aGluZ1xuICAgKi9cbiAgcHVibGljIGFuZChhc3NlcnRpb246IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+IHtcbiAgICAvLyBOZWVkcyB0byBkZWxlZ2F0ZSB0byBhIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGltcG9ydCBtdXR1YWxseSBkZXBlbmRlbnQgY2xhc3NlcyBpbiB0aGUgcmlnaHQgb3JkZXJcbiAgICByZXR1cm4gYW5kKHRoaXMsIGFzc2VydGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeShpbnNwZWN0b3IudmFsdWUsIG51bGwsIDIpfSBkb2VzIG5vdCBtYXRjaCAke3RoaXMuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBKZXN0RnJpZW5kbHlBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gZXJyb3IgbWVzc2FnZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IEplc3QuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKTogc3RyaW5nO1xufVxuXG5pbXBvcnQgeyBBbmRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvYW5kLWFzc2VydGlvbic7XG5cbmZ1bmN0aW9uIGFuZDxJIGV4dGVuZHMgSW5zcGVjdG9yPihsZWZ0OiBBc3NlcnRpb248ST4sIHJpZ2h0OiBBc3NlcnRpb248ST4pOiBBc3NlcnRpb248ST4ge1xuICByZXR1cm4gbmV3IEFuZEFzc2VydGlvbihsZWZ0LCByaWdodCk7XG59XG5cbmltcG9ydCB7IE5lZ2F0ZWRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvbmVnYXRlZC1hc3NlcnRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQgZXh0ZW5kcyBJbnNwZWN0b3I+KGFzc2VydGlvbjogQXNzZXJ0aW9uPFQ+KTogQXNzZXJ0aW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBOZWdhdGVkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG59XG4iXX0=