fenextjs-validator
Advanced tools
Comparing version 2.0.1 to 3.0.0
import { ErrorFenextjs } from "fenextjs-error/cjs/Fenextjs"; | ||
import { ErrorCode } from "fenextjs-interface"; | ||
export interface FenextjsValidatorClassIsWhenProps { | ||
key: string; | ||
is: FenextjsValidatorClass; | ||
then: FenextjsValidatorClass; | ||
otherwise?: FenextjsValidatorClass; | ||
} | ||
/** | ||
@@ -56,8 +62,4 @@ * Interfaz que define las propiedades del constructor de la clase FenextjsValidatorClass. | ||
private when; | ||
/** Key que contiene la clave para validacion de "isWhen" */ | ||
private whenKey; | ||
/** Valor que contiene las reglas de validación para cada propiedad del objeto en la validación "isWhen" en key. */ | ||
private whenIs; | ||
/** Valor que contiene las reglas de validación para cada propiedad del objeto en la validación "isWhen" en key. */ | ||
private whenThen; | ||
/** Value que contiene la validacion de "isWhen" */ | ||
private whenValue; | ||
/** Bandera que indica si los datos deben ser un array en la validación "isArray". */ | ||
@@ -336,7 +338,3 @@ private array; | ||
*/ | ||
isWhen(data: { | ||
key: string; | ||
is: FenextjsValidatorClass; | ||
then: FenextjsValidatorClass; | ||
}): this; | ||
isWhen(data: FenextjsValidatorClassIsWhenProps): this; | ||
/** | ||
@@ -343,0 +341,0 @@ * Método privado que valida la regla "onWhen". |
@@ -52,8 +52,4 @@ "use strict"; | ||
when = false; | ||
/** Key que contiene la clave para validacion de "isWhen" */ | ||
whenKey = undefined; | ||
/** Valor que contiene las reglas de validación para cada propiedad del objeto en la validación "isWhen" en key. */ | ||
whenIs = undefined; | ||
/** Valor que contiene las reglas de validación para cada propiedad del objeto en la validación "isWhen" en key. */ | ||
whenThen = undefined; | ||
/** Value que contiene la validacion de "isWhen" */ | ||
whenValue = undefined; | ||
/** Bandera que indica si los datos deben ser un array en la validación "isArray". */ | ||
@@ -672,5 +668,4 @@ array = false; | ||
this.when = true; | ||
this.whenKey = data.key; | ||
this.whenIs = data.is; | ||
this.whenThen = data.then; | ||
this.whenValue ??= []; | ||
this.whenValue.push(data); | ||
return this; | ||
@@ -694,11 +689,27 @@ } | ||
// Si la validación de datos necesarios no existen, no se hace nada. | ||
if (!this.whenIs || !this.whenKey || !this.whenThen) { | ||
if (!this.whenValue) { | ||
return; | ||
} | ||
// Si whenIs es corrento ejecuta la validacion | ||
if (this.whenIs.onValidate(this.parent.data[this.whenKey]) === true) { | ||
const result = this.whenThen.onValidate(this.data); | ||
if (result !== true) { | ||
throw result; | ||
for (let i = 0; i < this.whenValue.length; i++) { | ||
const validator = this.whenValue[i]; | ||
// Si whenIs es corrento ejecuta la validacion | ||
if (validator.is.onValidate(this.parent.data[validator.key]) === | ||
true) { | ||
validator.then.setParent(this.parent); | ||
validator.then.setName(this.name ?? ""); | ||
const result = validator.then.onValidate(this.data); | ||
if (result !== true) { | ||
throw result; | ||
} | ||
} | ||
else { | ||
if (validator.otherwise) { | ||
validator.otherwise.setParent(this.parent); | ||
validator.otherwise.setName(this.name ?? ""); | ||
const result = validator.otherwise.onValidate(this.data); | ||
if (result !== true) { | ||
throw result; | ||
} | ||
} | ||
} | ||
} | ||
@@ -705,0 +716,0 @@ } |
{ | ||
"name": "fenextjs-validator", | ||
"version": "2.0.1", | ||
"version": "3.0.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "./cjs/index.js", |
Sorry, the diff of this file is not supported yet
91541
1219