UNPKG

computed-types

Version:

Runtime validation types for TypeScript.

68 lines (42 loc) 7.25 kB
"use strict"; require("mocha"); var _chai = require("chai"); var _utils = require("./schema/utils"); var _boolean = _interopRequireDefault(require("./boolean")); var _errors = require("./schema/errors"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* eslint-disable @typescript-eslint/no-explicit-any */ describe('boolean', () => { it('Types', () => { (0, _utils.typeCheck)('ok'); (0, _utils.typeCheck)('ok'); }); it('()', () => { const res = (0, _boolean.default)(true); (0, _utils.typeCheck)('ok'); _chai.assert.equal((0, _boolean.default)(true), true); _chai.assert.equal((0, _boolean.default)(false), false); _chai.assert.throws(() => (0, _boolean.default)('true'), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(0), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(1), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(0.5), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(1.2), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)('hello'), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)({}), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(['foo']), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(null), _errors.ValidationError); _chai.assert.throws(() => (0, _boolean.default)(undefined), _errors.ValidationError); }); it('.equals()', () => { const trueType = _boolean.default.equals(true); (0, _utils.typeCheck)('ok'); (0, _utils.typeCheck)('ok'); _chai.assert.equal(_boolean.default.equals(true)(true), true); _chai.assert.equal(_boolean.default.equals(false)(false), false); _chai.assert.throws(() => _boolean.default.equals(true)(false), _errors.ValidationError); _chai.assert.throws(() => _boolean.default.equals(false)(true), _errors.ValidationError); _chai.assert.throws(() => _boolean.default.equals(true)(1), _errors.ValidationError); _chai.assert.throws(() => _boolean.default.equals(false)(0), _errors.ValidationError); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib29sZWFuLnRlc3QudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsInJlcyIsImFzc2VydCIsImVxdWFsIiwidGhyb3dzIiwiVmFsaWRhdGlvbkVycm9yIiwidW5kZWZpbmVkIiwidHJ1ZVR5cGUiLCJib29sZWFuIiwiZXF1YWxzIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUE7QUFFQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxNQUFNO0FBQ3hCQyxFQUFBQSxFQUFFLENBQUMsT0FBRCxFQUFVLE1BQU07QUFDaEIsMEJBQStDLElBQS9DO0FBQ0EsMEJBQWlELElBQWpEO0FBQ0QsR0FIQyxDQUFGO0FBS0FBLEVBQUFBLEVBQUUsQ0FBQyxJQUFELEVBQU8sTUFBTTtBQUNiLFVBQU1DLEdBQUcsR0FBRyxzQkFBUSxJQUFSLENBQVo7QUFDQSwwQkFBK0IsSUFBL0I7O0FBRUFDLGlCQUFPQyxLQUFQLENBQWEsc0JBQVEsSUFBUixDQUFiLEVBQTRCLElBQTVCOztBQUNBRCxpQkFBT0MsS0FBUCxDQUFhLHNCQUFRLEtBQVIsQ0FBYixFQUE2QixLQUE3Qjs7QUFFQUQsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLE1BQVIsQ0FBcEIsRUFBNENDLHVCQUE1Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLENBQVIsQ0FBcEIsRUFBdUNDLHVCQUF2Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLENBQVIsQ0FBcEIsRUFBdUNDLHVCQUF2Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLEdBQVIsQ0FBcEIsRUFBeUNDLHVCQUF6Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLEdBQVIsQ0FBcEIsRUFBeUNDLHVCQUF6Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLE9BQVIsQ0FBcEIsRUFBNkNDLHVCQUE3Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLEVBQVIsQ0FBcEIsRUFBd0NDLHVCQUF4Qzs7QUFDQUgsaUJBQU9FLE1BQVAsQ0FBYyxNQUFNLHNCQUFRLENBQUMsS0FBRCxDQUFSLENBQXBCLEVBQTZDQyx1QkFBN0M7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxzQkFBUSxJQUFSLENBQXBCLEVBQTBDQyx1QkFBMUM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxzQkFBUUUsU0FBUixDQUFwQixFQUErQ0QsdUJBQS9DO0FBQ0QsR0FqQkMsQ0FBRjtBQW1CQUwsRUFBQUEsRUFBRSxDQUFDLFdBQUQsRUFBYyxNQUFNO0FBQ3BCLFVBQU1PLFFBQVEsR0FBR0MsaUJBQVFDLE1BQVIsQ0FBZSxJQUFmLENBQWpCOztBQUNBLDBCQUE2QyxJQUE3QztBQUNBLDBCQUFrRCxJQUFsRDs7QUFFQVAsaUJBQU9DLEtBQVAsQ0FBYUssaUJBQVFDLE1BQVIsQ0FBZSxJQUFmLEVBQXFCLElBQXJCLENBQWIsRUFBeUMsSUFBekM7O0FBQ0FQLGlCQUFPQyxLQUFQLENBQWFLLGlCQUFRQyxNQUFSLENBQWUsS0FBZixFQUFzQixLQUF0QixDQUFiLEVBQTJDLEtBQTNDOztBQUVBUCxpQkFBT0UsTUFBUCxDQUFjLE1BQU1JLGlCQUFRQyxNQUFSLENBQWUsSUFBZixFQUFxQixLQUFyQixDQUFwQixFQUFpREosdUJBQWpEOztBQUNBSCxpQkFBT0UsTUFBUCxDQUFjLE1BQU1JLGlCQUFRQyxNQUFSLENBQWUsS0FBZixFQUFzQixJQUF0QixDQUFwQixFQUFpREosdUJBQWpEOztBQUNBSCxpQkFBT0UsTUFBUCxDQUFjLE1BQU1JLGlCQUFRQyxNQUFSLENBQWUsSUFBZixFQUFxQixDQUFyQixDQUFwQixFQUFvREosdUJBQXBEOztBQUNBSCxpQkFBT0UsTUFBUCxDQUFjLE1BQU1JLGlCQUFRQyxNQUFSLENBQWUsS0FBZixFQUFzQixDQUF0QixDQUFwQixFQUFxREosdUJBQXJEO0FBQ0QsR0FaQyxDQUFGO0FBYUQsQ0F0Q08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbW9jaGEnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnY2hhaSc7XG5pbXBvcnQgeyB0eXBlQ2hlY2sgfSBmcm9tICcuL3NjaGVtYS91dGlscyc7XG5pbXBvcnQgYm9vbGVhbiBmcm9tICcuL2Jvb2xlYW4nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9zY2hlbWEvZXJyb3JzJztcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5kZXNjcmliZSgnYm9vbGVhbicsICgpID0+IHtcbiAgaXQoJ1R5cGVzJywgKCkgPT4ge1xuICAgIHR5cGVDaGVjazxSZXR1cm5UeXBlPHR5cGVvZiBib29sZWFuPiwgYm9vbGVhbj4oJ29rJyk7XG4gICAgdHlwZUNoZWNrPFBhcmFtZXRlcnM8dHlwZW9mIGJvb2xlYW4+LCBbYm9vbGVhbl0+KCdvaycpO1xuICB9KTtcblxuICBpdCgnKCknLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzID0gYm9vbGVhbih0cnVlKTtcbiAgICB0eXBlQ2hlY2s8dHlwZW9mIHJlcywgYm9vbGVhbj4oJ29rJyk7XG5cbiAgICBhc3NlcnQuZXF1YWwoYm9vbGVhbih0cnVlKSwgdHJ1ZSk7XG4gICAgYXNzZXJ0LmVxdWFsKGJvb2xlYW4oZmFsc2UpLCBmYWxzZSk7XG5cbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJvb2xlYW4oJ3RydWUnIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBib29sZWFuKDAgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJvb2xlYW4oMSBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbigwLjUgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJvb2xlYW4oMS4yIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBib29sZWFuKCdoZWxsbycgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJvb2xlYW4oe30gYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJvb2xlYW4oWydmb28nXSBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbihudWxsIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBib29sZWFuKHVuZGVmaW5lZCBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICB9KTtcblxuICBpdCgnLmVxdWFscygpJywgKCkgPT4ge1xuICAgIGNvbnN0IHRydWVUeXBlID0gYm9vbGVhbi5lcXVhbHModHJ1ZSk7XG4gICAgdHlwZUNoZWNrPFJldHVyblR5cGU8dHlwZW9mIHRydWVUeXBlPiwgdHJ1ZT4oJ29rJyk7XG4gICAgdHlwZUNoZWNrPFBhcmFtZXRlcnM8dHlwZW9mIHRydWVUeXBlPiwgW2Jvb2xlYW5dPignb2snKTtcblxuICAgIGFzc2VydC5lcXVhbChib29sZWFuLmVxdWFscyh0cnVlKSh0cnVlKSwgdHJ1ZSk7XG4gICAgYXNzZXJ0LmVxdWFsKGJvb2xlYW4uZXF1YWxzKGZhbHNlKShmYWxzZSksIGZhbHNlKTtcblxuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbi5lcXVhbHModHJ1ZSkoZmFsc2UpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbi5lcXVhbHMoZmFsc2UpKHRydWUpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbi5lcXVhbHModHJ1ZSkoMSBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYm9vbGVhbi5lcXVhbHMoZmFsc2UpKDAgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgfSk7XG59KTtcbiJdfQ==