UNPKG

assert-match

Version:
86 lines (59 loc) 2.63 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _strict = require('./strict'); var _strict2 = _interopRequireDefault(_strict); var _utils = require('../util/utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var CustomMatcher = function (_StrictMatcher) { (0, _inherits3.default)(CustomMatcher, _StrictMatcher); function CustomMatcher() { (0, _classCallCheck3.default)(this, CustomMatcher); return (0, _possibleConstructorReturn3.default)(this, (CustomMatcher.__proto__ || (0, _getPrototypeOf2.default)(CustomMatcher)).apply(this, arguments)); } (0, _createClass3.default)(CustomMatcher, [{ key: 'match', value: function match(actual, comparator) { if (typeof this.expected !== 'function') { return new _strict2.default(this.expected).match(actual, comparator); } var result = this.expected(actual, comparator); if (!result) { return { match: false, actual: actual, expected: '[custom]' }; } if (result === true) { return { match: true, actual: actual, expected: actual }; } var match = !!result.match; var expectedIfNotMatch = (0, _utils.hasOwn)(result, 'expected') ? { '[custom]': result.expected } : '[custom]'; var expected = match ? actual : expectedIfNotMatch; return { match: result.match, actual: actual, expected: expected }; } }]); return CustomMatcher; }(_strict2.default); exports.default = CustomMatcher; module.exports = exports['default'];