computed-types
Version:
Runtime validation types for TypeScript.
48 lines (30 loc) • 4.53 kB
JavaScript
;
require("mocha");
var _chai = require("chai");
var _object = _interopRequireDefault(require("./object"));
var _errors = require("./schema/errors");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable @typescript-eslint/no-explicit-any */
describe('object', () => {
it('object()', () => {
const empty = {};
const fooObj = {
foo: 1
};
const arr = [];
const fooArr = ['foo'];
_chai.assert.equal((0, _object.default)(empty), empty);
_chai.assert.equal((0, _object.default)(fooObj), fooObj);
_chai.assert.equal((0, _object.default)(arr), arr);
_chai.assert.equal((0, _object.default)(fooArr), fooArr);
_chai.assert.throws(() => (0, _object.default)(null), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(0), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(1), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)('hello'), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(true), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(false), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(Symbol('test')), _errors.ValidationError);
_chai.assert.throws(() => (0, _object.default)(undefined), _errors.ValidationError);
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9vYmplY3QudGVzdC50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0IiwiZW1wdHkiLCJmb29PYmoiLCJmb28iLCJhcnIiLCJmb29BcnIiLCJhc3NlcnQiLCJlcXVhbCIsInRocm93cyIsIlZhbGlkYXRpb25FcnJvciIsIlN5bWJvbCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBO0FBRUFBLFFBQVEsQ0FBQyxRQUFELEVBQVcsTUFBTTtBQUN2QkMsRUFBQUEsRUFBRSxDQUFDLFVBQUQsRUFBYSxNQUFNO0FBQ25CLFVBQU1DLEtBQUssR0FBRyxFQUFkO0FBQ0EsVUFBTUMsTUFBTSxHQUFHO0FBQUVDLE1BQUFBLEdBQUcsRUFBRTtBQUFQLEtBQWY7QUFDQSxVQUFNQyxHQUFjLEdBQUcsRUFBdkI7QUFDQSxVQUFNQyxNQUFNLEdBQUcsQ0FBQyxLQUFELENBQWY7O0FBRUFDLGlCQUFPQyxLQUFQLENBQWEscUJBQU9OLEtBQVAsQ0FBYixFQUE0QkEsS0FBNUI7O0FBQ0FLLGlCQUFPQyxLQUFQLENBQWEscUJBQU9MLE1BQVAsQ0FBYixFQUE2QkEsTUFBN0I7O0FBQ0FJLGlCQUFPQyxLQUFQLENBQWEscUJBQU9ILEdBQVAsQ0FBYixFQUEwQkEsR0FBMUI7O0FBQ0FFLGlCQUFPQyxLQUFQLENBQWEscUJBQU9GLE1BQVAsQ0FBYixFQUE2QkEsTUFBN0I7O0FBRUFDLGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxJQUFQLENBQXBCLEVBQXlDQyx1QkFBekM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxDQUFQLENBQXBCLEVBQXNDQyx1QkFBdEM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxDQUFQLENBQXBCLEVBQXNDQyx1QkFBdEM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxPQUFQLENBQXBCLEVBQTRDQyx1QkFBNUM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxJQUFQLENBQXBCLEVBQXlDQyx1QkFBekM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBTyxLQUFQLENBQXBCLEVBQTBDQyx1QkFBMUM7O0FBQ0FILGlCQUFPRSxNQUFQLENBQWMsTUFBTSxxQkFBT0UsTUFBTSxDQUFDLE1BQUQsQ0FBYixDQUFwQixFQUFtREQsdUJBQW5EOztBQUNBSCxpQkFBT0UsTUFBUCxDQUFjLE1BQU0scUJBQU9HLFNBQVAsQ0FBcEIsRUFBOENGLHVCQUE5QztBQUNELEdBbkJDLENBQUY7QUFvQkQsQ0FyQk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbW9jaGEnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnY2hhaSc7XG5pbXBvcnQgb2JqZWN0IGZyb20gJy4vb2JqZWN0JztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vc2NoZW1hL2Vycm9ycyc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cblxuZGVzY3JpYmUoJ29iamVjdCcsICgpID0+IHtcbiAgaXQoJ29iamVjdCgpJywgKCkgPT4ge1xuICAgIGNvbnN0IGVtcHR5ID0ge307XG4gICAgY29uc3QgZm9vT2JqID0geyBmb286IDEgfTtcbiAgICBjb25zdCBhcnI6IHVua25vd25bXSA9IFtdO1xuICAgIGNvbnN0IGZvb0FyciA9IFsnZm9vJ107XG5cbiAgICBhc3NlcnQuZXF1YWwob2JqZWN0KGVtcHR5KSwgZW1wdHkpO1xuICAgIGFzc2VydC5lcXVhbChvYmplY3QoZm9vT2JqKSwgZm9vT2JqKTtcbiAgICBhc3NlcnQuZXF1YWwob2JqZWN0KGFyciksIGFycik7XG4gICAgYXNzZXJ0LmVxdWFsKG9iamVjdChmb29BcnIpLCBmb29BcnIpO1xuXG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBvYmplY3QobnVsbCBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gb2JqZWN0KDAgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IG9iamVjdCgxIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBvYmplY3QoJ2hlbGxvJyBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gb2JqZWN0KHRydWUgYXMgYW55KSwgVmFsaWRhdGlvbkVycm9yKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IG9iamVjdChmYWxzZSBhcyBhbnkpLCBWYWxpZGF0aW9uRXJyb3IpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gb2JqZWN0KFN5bWJvbCgndGVzdCcpIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBvYmplY3QodW5kZWZpbmVkIGFzIGFueSksIFZhbGlkYXRpb25FcnJvcik7XG4gIH0pO1xufSk7XG4iXX0=