fix: props is now required in type Validator (#10854)

This commit is contained in:
rashmi rai 2022-02-03 15:27:08 +05:30 committed by GitHub
parent da638d7f2b
commit e73ccc7f25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 22 deletions

View File

@ -28,7 +28,7 @@ export type ValidationResponse = {
export type Validator = ( export type Validator = (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
) => ValidationResponse; ) => ValidationResponse;
export const ISO_DATE_FORMAT = "YYYY-MM-DDTHH:mm:ss.sssZ"; export const ISO_DATE_FORMAT = "YYYY-MM-DDTHH:mm:ss.sssZ";

View File

@ -361,7 +361,7 @@ export function validateActionProperty(
parsed: value, parsed: value,
}; };
} }
return validate(config, value, undefined); return validate(config, value, {});
} }
export function getValidatedTree(tree: DataTree) { export function getValidatedTree(tree: DataTree) {

View File

@ -53,7 +53,7 @@ function getPropertyEntry(
function validatePlainObject( function validatePlainObject(
config: ValidationConfig, config: ValidationConfig,
value: Record<string, unknown>, value: Record<string, unknown>,
props?: Record<string, unknown>, props: Record<string, unknown>,
) { ) {
if (config.params?.allowedKeys) { if (config.params?.allowedKeys) {
let _valid = true; let _valid = true;
@ -216,7 +216,7 @@ function validateArray(
export const validate = ( export const validate = (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props: undefined | Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const _result = VALIDATORS[config.type as ValidationTypes]( const _result = VALIDATORS[config.type as ValidationTypes](
config, config,
@ -300,7 +300,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.TEXT]: ( [ValidationTypes.TEXT]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
if (value === undefined || value === null || value === "") { if (value === undefined || value === null || value === "") {
if (config.params && config.params.required) { if (config.params && config.params.required) {
@ -377,7 +377,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.REGEX]: ( [ValidationTypes.REGEX]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const { isValid, messages, parsed } = VALIDATORS[ValidationTypes.TEXT]( const { isValid, messages, parsed } = VALIDATORS[ValidationTypes.TEXT](
config, config,
@ -400,7 +400,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.NUMBER]: ( [ValidationTypes.NUMBER]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
if (value === undefined || value === null || value === "") { if (value === undefined || value === null || value === "") {
if (config.params?.required) { if (config.params?.required) {
@ -490,7 +490,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.BOOLEAN]: ( [ValidationTypes.BOOLEAN]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
if (value === undefined || value === null || value === "") { if (value === undefined || value === null || value === "") {
if (config.params && config.params.required) { if (config.params && config.params.required) {
@ -534,7 +534,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.OBJECT]: ( [ValidationTypes.OBJECT]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
if ( if (
value === undefined || value === undefined ||
@ -589,7 +589,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.ARRAY]: ( [ValidationTypes.ARRAY]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const invalidResponse = { const invalidResponse = {
isValid: false, isValid: false,
@ -630,11 +630,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
try { try {
const _value = JSON.parse(value); const _value = JSON.parse(value);
if (Array.isArray(_value)) { if (Array.isArray(_value)) {
const result = validateArray( const result = validateArray(config, _value, props);
config,
_value,
props as Record<string, unknown>,
);
return result; return result;
} }
} catch (e) { } catch (e) {
@ -643,7 +639,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
} }
if (Array.isArray(value)) { if (Array.isArray(value)) {
return validateArray(config, value, props as Record<string, unknown>); return validateArray(config, value, props);
} }
return invalidResponse; return invalidResponse;
@ -651,7 +647,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.OBJECT_ARRAY]: ( [ValidationTypes.OBJECT_ARRAY]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const invalidResponse = { const invalidResponse = {
isValid: false, isValid: false,
@ -712,7 +708,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.NESTED_OBJECT_ARRAY]: ( [ValidationTypes.NESTED_OBJECT_ARRAY]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
let response: ValidationResponse = { let response: ValidationResponse = {
isValid: false, isValid: false,
@ -749,7 +745,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.DATE_ISO_STRING]: ( [ValidationTypes.DATE_ISO_STRING]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const invalidResponse = { const invalidResponse = {
isValid: false, isValid: false,
@ -794,7 +790,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.FUNCTION]: ( [ValidationTypes.FUNCTION]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const invalidResponse = { const invalidResponse = {
isValid: false, isValid: false,
@ -819,7 +815,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.IMAGE_URL]: ( [ValidationTypes.IMAGE_URL]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
const invalidResponse = { const invalidResponse = {
isValid: false, isValid: false,
@ -884,7 +880,7 @@ export const VALIDATORS: Record<ValidationTypes, Validator> = {
[ValidationTypes.TABLE_PROPERTY]: ( [ValidationTypes.TABLE_PROPERTY]: (
config: ValidationConfig, config: ValidationConfig,
value: unknown, value: unknown,
props?: Record<string, unknown>, props: Record<string, unknown>,
): ValidationResponse => { ): ValidationResponse => {
if (!config.params?.type) if (!config.params?.type)
return { return {