import type { KeywordErrorDefinition , KeywordErrorCxt } from "../../types" ; import type { SchemaCxt } from ".." ; import { reportError } from "../errors" ; import { _ , Name } from "../codegen" ; import N from "../names" ; const boolError = { message : "boolean schema is false" , } ; export function topBoolOrEmptySchema ( it ) { const { gen , schema , validateName } = it ; if ( schema === false ) { falseSchemaError ( it , false ) ; } else if ( typeof schema == "object" && schema . $async === true ) { gen . return ( N . data ) ; } else { gen . assign ( _ `${ validateName }.errors` , null ) ; gen . return ( true ) ; } } export function boolOrEmptySchema ( it , valid ) { const { gen , schema } = it ; if ( schema === false ) { gen . var ( valid , false ) ; falseSchemaError ( it ) ; } else { gen . var ( valid , true ) ; } } function falseSchemaError ( it , overrideAllErrors ? ) { const { gen , data } = it ; const cxt = { gen , keyword : "false schema" , data , schema : false , schemaCode : false , schemaValue : false , params : { } , it , } ; reportError ( cxt , boolError , undefined , overrideAllErrors ) ; }