UNPKG

offensive

Version:

Fast and boilerplate-free precondition checks for javascript.

60 lines (59 loc) 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BeforeAssertion = void 0; var model_1 = require("../../model"); var NoDsl_1 = require("../../NoDsl"); var ObjectSerializer_1 = require("../../ObjectSerializer"); require("../aDate"); require("../../connectors"); var serializer = new ObjectSerializer_1.ObjectSerializer(); /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ var BeforeAssertion = /** @class */ (function () { function BeforeAssertion(comparedDate, comparedVarName) { this.comparedDate = comparedDate; this.comparedVarName = comparedVarName; } BeforeAssertion.prototype.assert = function (varName, testedValue, contract) { var _a = this, comparedDate = _a.comparedDate, comparedVarName = _a.comparedVarName; var comparedString = comparedVarName ? "".concat(comparedVarName, " (").concat(serializer.serializeDate(comparedDate), ")") : serializer.serializeDate(comparedDate); if (!contract(varName, testedValue).is.aDate.success) { var wrapper_1 = new ObjectSerializer_1.NoDate(testedValue); return { get success() { return false; }, get message() { return new model_1.StandardMessage(varName, "be before ".concat(comparedString), wrapper_1); }, }; } return { get success() { return testedValue.getTime() < comparedDate.getTime(); }, get message() { return new model_1.StandardMessage(varName, "be before ".concat(comparedString), testedValue); }, }; }; return BeforeAssertion; }()); exports.BeforeAssertion = BeforeAssertion; (function (BeforeAssertion) { /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ function factory(args) { NoDsl_1.nodslArguments.check(args.length === 1 || args.length === 2, '.greaterThan requires 1 or 2 arguments (got ', args.length, ')'); NoDsl_1.nodslArguments.check(args[0] instanceof Date, 'comparedDate must be instance of Date (got ', (typeof args[0]), ')'); NoDsl_1.nodslArguments.check(args[1] === undefined || typeof args[1] === 'string', 'comparedVarName must be undefined or a string (got ', (typeof args[1]), ')'); return new BeforeAssertion(args[0], args[1]); } BeforeAssertion.factory = factory; })(BeforeAssertion = exports.BeforeAssertion || (exports.BeforeAssertion = {})); exports.BeforeAssertion = BeforeAssertion; exports.default = BeforeAssertion;