@push.rocks/smartexpect
Version:
A testing library to manage expectations in code, offering both synchronous and asynchronous assertion methods.
27 lines • 1.8 kB
JavaScript
import { Assertion, AnyMatcher, AnythingMatcher } from './smartexpect.classes.assertion.js';
export function expect(value) {
const isThenable = value != null && typeof value.then === 'function';
const mode = isThenable ? 'async' : 'sync';
return new Assertion(value, mode);
}
/**
* Register custom matchers.
*/
(function (expect) {
expect.extend = Assertion.extend;
/**
* Matcher for a specific constructor. Passes if value is instance of given constructor.
*/
function any(constructor) {
return new AnyMatcher(constructor);
}
expect.any = any;
/**
* Matcher for any defined value (not null or undefined).
*/
function anything() {
return new AnythingMatcher();
}
expect.anything = anything;
})(expect || (expect = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWlCNUYsTUFBTSxVQUFVLE1BQU0sQ0FBSSxLQUFVO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksT0FBUSxLQUFhLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUM5RSxNQUFNLElBQUksR0FBcUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM3RCxPQUFPLElBQUksU0FBUyxDQUFvQixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUNEOztHQUVHO0FBQ0gsV0FBaUIsTUFBTTtJQUNSLGFBQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3ZDOztPQUVHO0lBQ0gsU0FBZ0IsR0FBRyxDQUFDLFdBQWdCO1FBQ2xDLE9BQU8sSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUZlLFVBQUcsTUFFbEIsQ0FBQTtJQUNEOztPQUVHO0lBQ0gsU0FBZ0IsUUFBUTtRQUN0QixPQUFPLElBQUksZUFBZSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUZlLGVBQVEsV0FFdkIsQ0FBQTtBQUNILENBQUMsRUFkZ0IsTUFBTSxLQUFOLE1BQU0sUUFjdEIifQ==