From 568d300506b9f8456de980eb77235c63dfb884c1 Mon Sep 17 00:00:00 2001 From: Omar Rodriguez Date: Thu, 7 Mar 2024 22:08:04 -0800 Subject: [PATCH] Add isValid and isValidSync to ISchema interface - Updates Lazy.isValidSync definition to serve as a type guard --- src/Lazy.ts | 2 +- src/types.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Lazy.ts b/src/Lazy.ts index 41af84c60..7920c5488 100644 --- a/src/Lazy.ts +++ b/src/Lazy.ts @@ -136,7 +136,7 @@ class Lazy return this._resolve(value, options).isValid(value, options); } - isValidSync(value: any, options?: ValidateOptions) { + isValidSync(value: any, options?: ValidateOptions): value is this['__outputType'] { return this._resolve(value, options).isValidSync(value, options); } diff --git a/src/types.ts b/src/types.ts index 4a04d59a0..3fb17cb9d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -22,6 +22,8 @@ export interface ISchema { cast(value: any, options: CastOptionalityOptions): T | null | undefined; validate(value: any, options?: ValidateOptions): Promise; + isValid(value: any, options?: ValidateOptions): Promise; + isValidSync(value: any, options?: ValidateOptions): value is T; asNestedTest(config: NestedTestConfig): Test;