diff --git a/src/isValid.ts b/src/isValid.ts index b0b04fd..003cbd1 100644 --- a/src/isValid.ts +++ b/src/isValid.ts @@ -53,7 +53,7 @@ function isValidLiteral(schema: LiteralSchema, value: any): boolean { } function isValidObject(schema: ObjectSchema, value: any): boolean { - if (typeof value !== 'object') { + if (typeOf(value) !== 'object') { return false } diff --git a/src/object.test.ts b/src/object.test.ts index 3937867..deed039 100644 --- a/src/object.test.ts +++ b/src/object.test.ts @@ -94,4 +94,12 @@ test(`object marks optional fields by ending keys with ?`, function () { assert.is(res3, true) }) +test(`null is not an object`, function () { + const obj = object({}) + + const res = isValid(obj, null) + + assert.is(res, false) +}) + test.run()