fenextjs-validator
Advanced tools
Comparing version 1.2.1 to 1.2.2
@@ -38,3 +38,3 @@ import { ErrorFenextjs } from "fenextjs-error/cjs/Fenextjs"; | ||
*/ | ||
isEqual(d: T[] | T): this; | ||
isEqual(d: T[] | T, msg?: string): this; | ||
/** | ||
@@ -45,3 +45,3 @@ * Método para habilitar la validación "isRequired". | ||
*/ | ||
isRequired(): this; | ||
isRequired(msg?: string): this; | ||
/** | ||
@@ -52,5 +52,10 @@ * Método para habilitar la validación "isBoolean". | ||
*/ | ||
isBoolean(): this; | ||
isNumber(): this; | ||
isBoolean(msg?: string): this; | ||
/** | ||
* Método para habilitar la validación "isNumber". | ||
* Establece la regla de que los datos deben ser de tipo número. | ||
* @returns Instancia de FenextjsValidatorClass. | ||
*/ | ||
isNumber(msg?: string): this; | ||
/** | ||
* Método para habilitar la validación "isString". | ||
@@ -60,3 +65,3 @@ * Establece la regla de que los datos deben ser de tipo cadena (string). | ||
*/ | ||
isString(): this; | ||
isString(msg?: string): this; | ||
/** | ||
@@ -69,3 +74,3 @@ * Método para habilitar la validación de longitud. | ||
*/ | ||
isLength(length: number): this; | ||
isLength(length: number, msg?: string): this; | ||
/** | ||
@@ -76,3 +81,3 @@ * Método para habilitar la validación "isDate". | ||
*/ | ||
isDate(): this; | ||
isDate(msg?: string): this; | ||
/** | ||
@@ -86,3 +91,3 @@ * Método para habilitar la validación "isObject". | ||
[id in keyof T]?: FenextjsValidatorClass; | ||
} | undefined): this; | ||
} | undefined, msg?: string): this; | ||
/** | ||
@@ -101,3 +106,3 @@ * Método para habilitar obtener la validación "isObject". | ||
*/ | ||
isArray(item?: FenextjsValidatorClass | undefined): this; | ||
isArray(item?: FenextjsValidatorClass | undefined, msg?: string): this; | ||
/** | ||
@@ -109,3 +114,3 @@ * Método para habilitar la validación "isMin". | ||
*/ | ||
isMin(min: number | Date): this; | ||
isMin(min: number | Date, msg?: string): this; | ||
/** | ||
@@ -117,3 +122,3 @@ * Método para habilitar la validación "isMinOrEqual". | ||
*/ | ||
isMinOrEqual(min: number | Date): this; | ||
isMinOrEqual(min: number | Date, msg?: string): this; | ||
/** | ||
@@ -125,3 +130,3 @@ * Método para habilitar la validación "isMax". | ||
*/ | ||
isMax(max: number | Date): this; | ||
isMax(max: number | Date, msg?: string): this; | ||
/** | ||
@@ -133,3 +138,3 @@ * Método para habilitar la validación "isMaxOrEqual". | ||
*/ | ||
isMaxOrEqual(max: number | Date): this; | ||
isMaxOrEqual(max: number | Date, msg?: string): this; | ||
/** | ||
@@ -142,3 +147,3 @@ * Método para habilitar la comparación de valores de referencia. | ||
*/ | ||
isCompareRef(refKey: string): this; | ||
isCompareRef(refKey: string, msg?: string): this; | ||
/** | ||
@@ -173,3 +178,3 @@ * Método para obtener la comparación de valores de referencia. | ||
*/ | ||
isRegex(data: RegExp): this; | ||
isRegex(data: RegExp, msg?: string): this; | ||
/** | ||
@@ -180,3 +185,3 @@ * Método para habilitar la validación "isEmail". | ||
*/ | ||
isEmail(): this; | ||
isEmail(msg?: string): this; | ||
/** | ||
@@ -183,0 +188,0 @@ * Método para validar los datos proporcionados según las reglas establecidas. |
@@ -78,2 +78,4 @@ "use strict"; | ||
#regexValue = undefined; | ||
/** Mensaje personalizado para error */ | ||
#messageError = {}; | ||
/** | ||
@@ -140,5 +142,6 @@ * Constructor de la clase FenextjsValidatorClass. | ||
*/ | ||
isEqual(d) { | ||
isEqual(d, msg) { | ||
this.#equal = true; | ||
this.#equalValue = [d].flat(2); | ||
this.#messageError.isEqual = msg ?? undefined; | ||
return this; | ||
@@ -161,3 +164,3 @@ } | ||
if (!this.#data || !this.#equalValue.includes(this.#data)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_NOT_EQUAL); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_NOT_EQUAL, this.#messageError?.isEqual); | ||
} | ||
@@ -171,4 +174,5 @@ return this; | ||
*/ | ||
isRequired() { | ||
isRequired(msg) { | ||
this.#required = true; | ||
this.#messageError.isRequered = msg; | ||
return this; | ||
@@ -192,3 +196,3 @@ } | ||
this.#data === "") { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_REQUIRED); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_REQUIRED, this.#messageError?.isRequered); | ||
} | ||
@@ -201,4 +205,5 @@ } | ||
*/ | ||
isBoolean() { | ||
isBoolean(msg) { | ||
this.#boolean = true; | ||
this.#messageError.isBoolean = msg; | ||
return this; | ||
@@ -220,5 +225,6 @@ } | ||
if (typeof this.#data !== "boolean") { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isBoolean); | ||
} | ||
} /** | ||
} | ||
/** | ||
* Método para habilitar la validación "isNumber". | ||
@@ -228,4 +234,5 @@ * Establece la regla de que los datos deben ser de tipo número. | ||
*/ | ||
isNumber() { | ||
isNumber(msg) { | ||
this.#number = true; | ||
this.#messageError.isNumber = msg; | ||
return this; | ||
@@ -247,3 +254,3 @@ } | ||
if (typeof this.#data !== "number") { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isNumber); | ||
} | ||
@@ -256,4 +263,5 @@ } | ||
*/ | ||
isString() { | ||
isString(msg) { | ||
this.#string = true; | ||
this.#messageError.isString = msg; | ||
return this; | ||
@@ -275,3 +283,3 @@ } | ||
if (typeof this.#data !== "string") { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isString); | ||
} | ||
@@ -286,5 +294,6 @@ } | ||
*/ | ||
isLength(length) { | ||
isLength(length, msg) { | ||
this.#length = true; | ||
this.#lengthValue = length; | ||
this.#messageError.isLength = msg; | ||
return this; | ||
@@ -307,3 +316,3 @@ } | ||
// Lanza una excepción "ErrorInputInvalid" con el código "ErrorCode.INPUT_INVALID". | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_LENGTH); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_LENGTH, this.#messageError?.isLength); | ||
} | ||
@@ -317,4 +326,5 @@ } | ||
*/ | ||
isDate() { | ||
isDate(msg) { | ||
this.#date = true; | ||
this.#messageError.isDate = msg; | ||
return this; | ||
@@ -336,3 +346,3 @@ } | ||
if (!(this.#data instanceof Date)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isDate); | ||
} | ||
@@ -346,5 +356,6 @@ } | ||
*/ | ||
isObject(obj) { | ||
isObject(obj, msg) { | ||
this.#object = true; | ||
this.#objectValue = obj; | ||
this.#messageError.isObject = msg; | ||
return this; | ||
@@ -373,3 +384,3 @@ } | ||
if (typeof this.#data !== "object") { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isObject); | ||
} | ||
@@ -410,5 +421,6 @@ // Si la validación "isObject" no se proporcionaron reglas de validación (#objectValue), no se hace nada. | ||
*/ | ||
isArray(item = undefined) { | ||
isArray(item = undefined, msg) { | ||
this.#array = true; | ||
this.#arrayValue = item; | ||
this.#messageError.isArray = msg; | ||
return this; | ||
@@ -430,3 +442,3 @@ } | ||
if (!Array.isArray(this.#data)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isArray); | ||
return; | ||
@@ -457,5 +469,6 @@ } | ||
*/ | ||
isMin(min) { | ||
isMin(min, msg) { | ||
this.#min = true; | ||
this.#minValue = min; | ||
this.#messageError.isMin = msg; | ||
return this; | ||
@@ -469,5 +482,6 @@ } | ||
*/ | ||
isMinOrEqual(min) { | ||
isMinOrEqual(min, msg) { | ||
this.#minOrEqual = true; | ||
this.#minValue = min; | ||
this.#messageError.isMinOrEqual = msg; | ||
return this; | ||
@@ -508,3 +522,3 @@ } | ||
minValidate > nMinValue)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_LOW); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_LOW, this.#messageError?.isMin); | ||
} | ||
@@ -517,3 +531,3 @@ // Verifica si se habilitó la regla "isMinOrEqual" y si los datos no superan o igualan el valor mínimo (#minValue). | ||
minValidate >= nMinValue)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_LOW); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_LOW, this.#messageError?.isMinOrEqual); | ||
} | ||
@@ -527,5 +541,6 @@ } | ||
*/ | ||
isMax(max) { | ||
isMax(max, msg) { | ||
this.#max = true; | ||
this.#maxValue = max; | ||
this.#messageError.isMax = msg; | ||
return this; | ||
@@ -539,5 +554,6 @@ } | ||
*/ | ||
isMaxOrEqual(max) { | ||
isMaxOrEqual(max, msg) { | ||
this.#maxOrEqual = true; | ||
this.#maxValue = max; | ||
this.#messageError.isMaxOrEqual = msg; | ||
return this; | ||
@@ -578,3 +594,3 @@ } | ||
maxValidate < nMaxValue)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_HIGH); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_HIGH, this.#messageError?.isMax); | ||
} | ||
@@ -587,3 +603,3 @@ // Verifica si se habilitó la regla "isMaxOrEqual" y si los datos no son menores o iguales al valor máximo (#maxValue). | ||
maxValidate <= nMaxValue)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_HIGH); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_VALUE_TOO_HIGH, this.#messageError?.isMaxOrEqual); | ||
} | ||
@@ -598,5 +614,6 @@ } | ||
*/ | ||
isCompareRef(refKey) { | ||
isCompareRef(refKey, msg) { | ||
this.#compareRef = true; | ||
this.#compareRefKey = refKey; | ||
this.#messageError.isCompareRef = msg; | ||
return this; | ||
@@ -638,3 +655,3 @@ } | ||
// Lanza una excepción "ErrorInputInvalid" con el código "ErrorCode.INPUT_INVALID". | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_NOT_EQUAL); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_NOT_EQUAL, this.#messageError?.isCompareRef); | ||
} | ||
@@ -649,5 +666,8 @@ } | ||
*/ | ||
#onError(code) { | ||
#onError(code, message) { | ||
// Crear un objeto que mapea los códigos de error a las clases de error correspondientes. | ||
const props = { input: this.#getName() }; | ||
const props = { | ||
input: this.#getName(), | ||
message, | ||
}; | ||
const sw = { | ||
@@ -720,5 +740,6 @@ INPUT_REQUIRED: new Input_1.ErrorInputRequired(props), | ||
*/ | ||
isRegex(data) { | ||
isRegex(data, msg) { | ||
this.#regex = true; | ||
this.#regexValue = data; | ||
this.#messageError.isRegex = msg; | ||
return this; | ||
@@ -743,3 +764,3 @@ } | ||
if (!(typeof this.#data == "string")) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isRegex); | ||
return; | ||
@@ -749,3 +770,3 @@ } | ||
if (!this.#regexValue.test(this.#data)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isRegex); | ||
return; | ||
@@ -759,4 +780,5 @@ } | ||
*/ | ||
isEmail() { | ||
isEmail(msg) { | ||
this.#email = true; | ||
this.#messageError.isEmail = msg; | ||
return this; | ||
@@ -777,3 +799,3 @@ } | ||
if (!(typeof this.#data == "string")) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isEmail); | ||
return; | ||
@@ -785,3 +807,3 @@ } | ||
if (!validateEmail.test(this.#data)) { | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID, this.#messageError?.isEmail); | ||
return; | ||
@@ -788,0 +810,0 @@ } |
{ | ||
"name": "fenextjs-validator", | ||
"version": "1.2.1", | ||
"version": "1.2.2", | ||
"description": "", | ||
@@ -43,4 +43,4 @@ "main": "./cjs/index.js", | ||
"dependencies": { | ||
"fenextjs-error": "^1.0.14", | ||
"fenextjs-interface": "^1.2.0" | ||
"fenextjs-error": "^1.1.0", | ||
"fenextjs-interface": "^1.3.4" | ||
}, | ||
@@ -52,14 +52,14 @@ "files": [ | ||
"devDependencies": { | ||
"@types/node": "20.10.3", | ||
"@types/react": "18.2.42", | ||
"@types/react-dom": "18.2.17", | ||
"@typescript-eslint/eslint-plugin": "^6.13.2", | ||
"@typescript-eslint/parser": "^6.13.2", | ||
"npm-check-updates": "^16.14.11", | ||
"eslint": "8.55.0", | ||
"prettier": "^3.1.0", | ||
"@types/node": "20.10.8", | ||
"@types/react": "18.2.47", | ||
"@types/react-dom": "18.2.18", | ||
"@typescript-eslint/eslint-plugin": "^6.18.1", | ||
"@typescript-eslint/parser": "^6.18.1", | ||
"npm-check-updates": "^16.14.12", | ||
"eslint": "8.56.0", | ||
"prettier": "^3.1.1", | ||
"ts-loader": "^9.5.1", | ||
"tslib": "^2.6.2", | ||
"typescript": "^5.3.2" | ||
"typescript": "^5.3.3" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
81057
1011
Updatedfenextjs-error@^1.1.0
Updatedfenextjs-interface@^1.3.4