offensive
Version:
Fast and boilerplate-free precondition checks for javascript.
32 lines (31 loc) • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createContractFunction = exports.check = exports.contract = void 0;
var BuilderFactory_1 = require("./BuilderFactory");
var Registry_1 = require("./Registry");
require("./operators/register");
require("./connectors/register");
var contractFunction = createContractFunction();
function contract(varName, testedValue) {
return contractFunction(varName, testedValue);
}
exports.contract = contract;
exports.default = contract;
// for backwards compatibility with versions <3
function check(testedValue, varName) {
return contract(varName, testedValue);
}
exports.check = check;
/**
* This might come in handy in a multi-threaded environment.
*
* @author Maciej Chałapuk (maciej@chalapuk.pl)
*/
function createContractFunction() {
var _a = Registry_1.Registry.instance.contextProto, assertions = _a.assertions, operators = _a.operators;
var factory = new BuilderFactory_1.BuilderFactory(assertions, operators);
return function contract(varName, testedValue) {
return factory.create(varName, testedValue);
};
}
exports.createContractFunction = createContractFunction;
;