lib/matchers/IsArrayContainingInAnyOrder.js
function ConsumingMatcher(matchers) {
	return _.create({}, {
		unmatchedMatchers: _.clone(matchers),
		matches: function (actual) {
			let matched = false;
			_.forEach(this.unmatchedMatchers, (matcher, index) => {
				if (matcher.matches(actual)) {
					matched = true;
					this.unmatchedMatchers.splice(index, 1);
					return false;
				}
			}, this);
			return matched;
		}
	});
}
function ConsumingMatcher(matchers) {
	return _.create({}, {
		unmatchedMatchers: _.clone(matchers),
		matches: function (actual) {
			let matched = false;
			_.forEach(this.unmatchedMatchers, (matcher, index) => {
				if (matcher.matches(actual)) {
					matched = true;
					this.unmatchedMatchers.splice(index, 1);
					return false;
				}
			}, this);
			return matched;
		}
	});
}
function ConsumingMatcher ( matchers ) { return _ . create ( { } , { unmatchedMatchers : _ . clone ( matchers ) , matches : function ( actual ) { let matched = false ; _ . forEach ( this . unmatchedMatchers , ( matcher , index ) => { if ( matcher . matches ( actual ) ) { matched = true ; this . unmatchedMatchers . splice ( index , 1 ) ; return false ; } } , this ) ; return matched ; } } ) ; }
TODO: Make promise agnostic
TODO : Make promise agnostic