Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fenextjs-validator

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fenextjs-validator - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

76

cjs/index.d.ts

@@ -0,19 +1,95 @@

/**
* Clase que proporciona validación de datos en TypeScript/JavaScript.
* @template T - Tipo de los datos a validar.
*/
export declare class FenextjsValidatorClass<T = any> {
#private;
/**
* Método para definir la validación "isEqual".
* Establece la regla de que los datos deben ser iguales al valor especificado.
* @param d - Valor a comparar con los datos.
* @returns Instancia de FenextjsValidatorClass.
*/
isEqual(d: T): this;
/**
* Método para habilitar la validación "isRequired".
* Establece la regla de que los datos deben estar presentes y no ser nulos o indefinidos.
* @returns Instancia de FenextjsValidatorClass.
*/
isRequired(): this;
/**
* Método para habilitar la validación "isBoolean".
* Establece la regla de que los datos deben ser de tipo booleano.
* @returns Instancia de FenextjsValidatorClass.
*/
isBoolean(): this;
isNumber(): this;
/**
* Método para habilitar la validación "isString".
* Establece la regla de que los datos deben ser de tipo cadena (string).
* @returns Instancia de FenextjsValidatorClass.
*/
isString(): this;
/**
* Método para habilitar la validación "isDate".
* Establece la regla de que los datos deben ser de tipo Date (fecha).
* @returns Instancia de FenextjsValidatorClass.
*/
isDate(): this;
/**
* Método para habilitar la validación "isObject".
* Establece la regla de que los datos deben ser de tipo objeto.
* @param obj - Objeto con las reglas de validación para cada propiedad del objeto.
* @returns Instancia de FenextjsValidatorClass.
*/
isObject(obj: {
[id: string]: FenextjsValidatorClass;
}): this;
/**
* Método para habilitar la validación "isArray".
* Establece la regla de que los datos deben ser un array.
* @param item - Instancia de FenextjsValidatorClass que define las reglas de validación para cada elemento del array.
* @returns Instancia de FenextjsValidatorClass.
*/
isArray(item: FenextjsValidatorClass): this;
/**
* Método para habilitar la validación "isMin".
* Establece la regla de que los datos deben ser mayores que un valor específico.
* @param min - Valor mínimo que los datos deben superar.
* @returns Instancia de FenextjsValidatorClass.
*/
isMin(min: number | Date): this;
/**
* Método para habilitar la validación "isMinOrEqual".
* Establece la regla de que los datos deben ser mayores o iguales que un valor específico.
* @param min - Valor mínimo que los datos deben superar o igualar.
* @returns Instancia de FenextjsValidatorClass.
*/
isMinOrEqual(min: number | Date): this;
/**
* Método para habilitar la validación "isMax".
* Establece la regla de que los datos deben ser menores que un valor específico.
* @param max - Valor máximo que los datos deben ser menores que él.
* @returns Instancia de FenextjsValidatorClass.
*/
isMax(max: number | Date): this;
/**
* Método para habilitar la validación "isMaxOrEqual".
* Establece la regla de que los datos deben ser menores o iguales que un valor específico.
* @param max - Valor máximo que los datos deben ser menores o igual que él.
* @returns Instancia de FenextjsValidatorClass.
*/
isMaxOrEqual(max: number | Date): this;
/**
* Método para validar los datos proporcionados según las reglas establecidas.
* Ejecuta todas las reglas de validación habilitadas previamente para los datos.
* @param d - Datos que se deben validar.
* @returns True si los datos cumplen con todas las reglas de validación; de lo contrario, devuelve el error que indica la regla de validación que falló.
*/
onValidate(d: T): unknown;
}
/**
* Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.
* @returns Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos.
*/
export declare const FenextjsValidator: () => FenextjsValidatorClass<any>;

230

cjs/index.js

@@ -5,21 +5,51 @@ "use strict";

const fenextjs_error_1 = require("fenextjs-error");
/**
* Clase que proporciona validación de datos en TypeScript/JavaScript.
* @template T - Tipo de los datos a validar.
*/
class FenextjsValidatorClass {
/** Propiedad privada que almacena los datos a validar. */
#data;
// Propiedades privadas para definir diferentes reglas de validación.
// Cada propiedad es un tipo de validación específico.
/** Bandera que indica si se debe aplicar la validación "isEqual". */
#equal = false;
/** Valor con el que se compararán los datos en la validación "isEqual". */
#equalValue = undefined;
/** Bandera que indica si se debe aplicar la validación "isRequired". */
#required = false;
/** Bandera que indica si los datos deben ser un booleano en la validación "isBoolean". */
#boolean = false;
/** Bandera que indica si los datos deben ser un número en la validación "isNumber". */
#number = false;
/** Bandera que indica si los datos deben ser una cadena en la validación "isString". */
#string = false;
/** Bandera que indica si los datos deben ser una fecha en la validación "isDate". */
#date = false;
/** Bandera que indica si los datos deben ser un objeto en la validación "isObject". */
#object = false;
/** Valor que contiene las reglas de validación para cada propiedad del objeto en la validación "isObject". */
#objectValue = undefined;
/** Bandera que indica si los datos deben ser un array en la validación "isArray". */
#array = false;
/** Valor que contiene las reglas de validación para cada elemento del array en la validación "isArray". */
#arrayValue = undefined;
/** Bandera que indica si los datos deben ser mayor que un valor específico en la validación "isMin". */
#min = false;
/** Bandera que indica si los datos deben ser mayor o igual que un valor específico en la validación "isMinOrEqual". */
#minOrEqual = false;
/** Valor con el que se compararán los datos en las validaciones "isMin" y "isMinOrEqual". */
#minValue = undefined;
/** Bandera que indica si los datos deben ser menor que un valor específico en la validación "isMax". */
#max = false;
/** Bandera que indica si los datos deben ser menor o igual que un valor específico en la validación "isMaxOrEqual". */
#maxOrEqual = false;
/** Valor con el que se compararán los datos en las validaciones "isMax" y "isMaxOrEqual". */
#maxValue = undefined;
/**
* Método para definir la validación "isEqual".
* Establece la regla de que los datos deben ser iguales al valor especificado.
* @param d - Valor a comparar con los datos.
* @returns Instancia de FenextjsValidatorClass.
*/
isEqual(d) {

@@ -30,6 +60,16 @@ this.#equal = true;

}
/**
* Método privado que valida la regla "isEqual".
* Verifica si los datos son iguales al valor especificado en la regla de validación "isEqual".
* @throws {ErrorInputInvalid} Si los datos no son iguales al valor especificado.
* @returns Instancia de FenextjsValidatorClass.
* @private
*/
#onEqual() {
// Si la validación "isEqual" no está habilitada, no se hace nada.
if (!this.#equal) {
return;
}
// Compara el valor almacenado en #equalValue con los datos a validar (#data).
// Si no son iguales, lanza un ErrorInputInvalid para indicar que la validación falló.
if (this.#equalValue !== this.#data) {

@@ -40,2 +80,7 @@ throw new fenextjs_error_1.ErrorInputInvalid();

}
/**
* Método para habilitar la validación "isRequired".
* Establece la regla de que los datos deben estar presentes y no ser nulos o indefinidos.
* @returns Instancia de FenextjsValidatorClass.
*/
isRequired() {

@@ -45,6 +90,15 @@ this.#required = true;

}
/**
* Método privado que valida la regla "isRequired".
* Verifica si los datos cumplen con la regla de ser requeridos (estar presentes y no ser nulos o indefinidos).
* @throws {ErrorInputRequired} Si los datos son nulos, indefinidos o una cadena vacía.
* @private
*/
#onRequered() {
// Si la validación "isRequired" no está habilitada, no se hace nada.
if (!this.#required) {
return;
}
// Comprueba si los datos son nulos, indefinidos o una cadena vacía.
// Si se cumple alguna de estas condiciones, lanza un ErrorInputRequired para indicar que la validación falló.
if (this.#data === null ||

@@ -56,2 +110,7 @@ this.#data == undefined ||

}
/**
* Método para habilitar la validación "isBoolean".
* Establece la regla de que los datos deben ser de tipo booleano.
* @returns Instancia de FenextjsValidatorClass.
*/
isBoolean() {

@@ -61,10 +120,23 @@ this.#boolean = true;

}
/**
* Método privado que valida la regla "isBoolean".
* Verifica si los datos cumplen con la regla de ser de tipo booleano.
* @throws {ErrorInputInvalid} Si los datos no son de tipo booleano.
* @private
*/
#onBoolean() {
// Si la validación "isBoolean" no está habilitada, no se hace nada.
if (!this.#boolean) {
return;
}
if (typeof this.#data != "boolean") {
// Comprueba si los datos no son de tipo booleano.
// Si no son de tipo booleano, lanza un ErrorInputInvalid para indicar que la validación falló.
if (typeof this.#data !== "boolean") {
throw new fenextjs_error_1.ErrorInputInvalid();
}
}
} /**
* 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() {

@@ -74,10 +146,24 @@ this.#number = true;

}
/**
* Método privado que valida la regla "isNumber".
* Verifica si los datos cumplen con la regla de ser de tipo número.
* @throws {ErrorInputInvalid} Si los datos no son de tipo número.
* @private
*/
#onNumber() {
// Si la validación "isNumber" no está habilitada, no se hace nada.
if (!this.#number) {
return;
}
if (typeof this.#data != "number") {
// Comprueba si los datos no son de tipo número.
// Si no son de tipo número, lanza un ErrorInputInvalid para indicar que la validación falló.
if (typeof this.#data !== "number") {
throw new fenextjs_error_1.ErrorInputInvalid();
}
}
/**
* Método para habilitar la validación "isString".
* Establece la regla de que los datos deben ser de tipo cadena (string).
* @returns Instancia de FenextjsValidatorClass.
*/
isString() {

@@ -87,10 +173,24 @@ this.#string = true;

}
/**
* Método privado que valida la regla "isString".
* Verifica si los datos cumplen con la regla de ser de tipo cadena (string).
* @throws {ErrorInputInvalid} Si los datos no son de tipo cadena (string).
* @private
*/
#onString() {
// Si la validación "isString" no está habilitada, no se hace nada.
if (!this.#string) {
return;
}
if (typeof this.#data != "string") {
// Comprueba si los datos no son de tipo cadena (string).
// Si no son de tipo cadena (string), lanza un ErrorInputInvalid para indicar que la validación falló.
if (typeof this.#data !== "string") {
throw new fenextjs_error_1.ErrorInputInvalid();
}
}
/**
* Método para habilitar la validación "isDate".
* Establece la regla de que los datos deben ser de tipo Date (fecha).
* @returns Instancia de FenextjsValidatorClass.
*/
isDate() {

@@ -100,6 +200,15 @@ this.#date = true;

}
/**
* Método privado que valida la regla "isDate".
* Verifica si los datos cumplen con la regla de ser de tipo Date (fecha).
* @throws {ErrorInputInvalid} Si los datos no son de tipo Date (fecha).
* @private
*/
#onDate() {
// Si la validación "isDate" no está habilitada, no se hace nada.
if (!this.#date) {
return;
}
// Comprueba si los datos no son de tipo Date (fecha).
// Si no son de tipo Date (fecha), lanza un ErrorInputInvalid para indicar que la validación falló.
if (!(this.#data instanceof Date)) {

@@ -109,2 +218,8 @@ throw new fenextjs_error_1.ErrorInputInvalid();

}
/**
* Método para habilitar la validación "isObject".
* Establece la regla de que los datos deben ser de tipo objeto.
* @param obj - Objeto con las reglas de validación para cada propiedad del objeto.
* @returns Instancia de FenextjsValidatorClass.
*/
isObject(obj) {

@@ -115,10 +230,21 @@ this.#object = true;

}
/**
* Método privado que valida la regla "isObject".
* Verifica si los datos cumplen con la regla de ser de tipo objeto y aplica las reglas de validación para cada propiedad del objeto.
* @throws {ErrorInputInvalid} Si los datos no son de tipo objeto o alguna propiedad no cumple con las reglas de validación.
* @private
*/
#onObject() {
// Si la validación "isObject" no está habilitada o no se proporcionaron reglas de validación (#objectValue), no se hace nada.
if (!this.#object || !this.#objectValue) {
return;
}
if (typeof this.#data != "object") {
// Comprueba si los datos no son de tipo objeto.
// Si no son de tipo objeto, lanza un ErrorInputInvalid para indicar que la validación falló.
if (typeof this.#data !== "object") {
throw new fenextjs_error_1.ErrorInputInvalid();
}
// Obtiene las claves (propiedades) del objeto con las reglas de validación (#objectValue).
const keys = Object.keys(this.#objectValue);
// Itera sobre cada propiedad del objeto y aplica las reglas de validación correspondientes.
for (let i = 0; i < keys.length; i++) {

@@ -128,2 +254,3 @@ const key = keys[i];

const r = validator.onValidate(this.#data?.[key]);
// Si alguna propiedad no cumple con las reglas de validación, se lanza el error devuelto por la validación.
if (r !== true) {

@@ -134,2 +261,8 @@ throw r;

}
/**
* Método para habilitar la validación "isArray".
* Establece la regla de que los datos deben ser un array.
* @param item - Instancia de FenextjsValidatorClass que define las reglas de validación para cada elemento del array.
* @returns Instancia de FenextjsValidatorClass.
*/
isArray(item) {

@@ -140,9 +273,19 @@ this.#array = true;

}
/**
* Método privado que valida la regla "isArray".
* Verifica si los datos cumplen con la regla de ser un array y aplica las reglas de validación para cada elemento del array.
* @throws {ErrorInputInvalid} Si los datos no son un array o alguno de los elementos no cumple con las reglas de validación.
* @private
*/
#onArray() {
// Si la validación "isArray" no está habilitada o no se proporcionó una regla de validación para los elementos del array (#arrayValue), no se hace nada.
if (!this.#array || !this.#arrayValue) {
return;
}
// Comprueba si los datos no son un array.
// Si no son un array, lanza un ErrorInputInvalid para indicar que la validación falló.
if (!Array.isArray(this.#data)) {
throw new fenextjs_error_1.ErrorInputInvalid();
}
// Itera sobre cada elemento del array y aplica las reglas de validación definidas en #arrayValue.
for (let i = 0; i < this.#data.length; i++) {

@@ -152,2 +295,3 @@ const item = this.#data[i];

const r = validator.onValidate(item);
// Si algún elemento no cumple con las reglas de validación, se lanza el error devuelto por la validación.
if (r !== true) {

@@ -158,2 +302,8 @@ throw r;

}
/**
* Método para habilitar la validación "isMin".
* Establece la regla de que los datos deben ser mayores que un valor específico.
* @param min - Valor mínimo que los datos deben superar.
* @returns Instancia de FenextjsValidatorClass.
*/
isMin(min) {

@@ -164,2 +314,8 @@ this.#min = true;

}
/**
* Método para habilitar la validación "isMinOrEqual".
* Establece la regla de que los datos deben ser mayores o iguales que un valor específico.
* @param min - Valor mínimo que los datos deben superar o igualar.
* @returns Instancia de FenextjsValidatorClass.
*/
isMinOrEqual(min) {

@@ -170,16 +326,25 @@ this.#minOrEqual = true;

}
/**
* Método privado que valida las reglas "isMin" y "isMinOrEqual".
* Verifica si los datos cumplen con las reglas de ser mayores que un valor mínimo o mayores/iguales al valor mínimo.
* @throws {ErrorInputInvalid} Si los datos no cumplen con las reglas de validación.
* @private
*/
#onMin() {
// Variable para almacenar el valor numérico o longitud (si el objeto es un array o cadena) de los datos.
let minValidate = undefined;
// Determina el valor numérico o la longitud según el tipo de dato para realizar la comparación con el valor mínimo (#minValue).
if (Array.isArray(this.#data)) {
minValidate = this.#data.length;
}
if (typeof this.#data == "number") {
else if (typeof this.#data === "number") {
minValidate = this.#data;
}
if (typeof this.#data == "string") {
else if (typeof this.#data === "string") {
minValidate = this.#data.length;
}
if (this.#data instanceof Date) {
else if (this.#data instanceof Date) {
minValidate = this.#data.getTime();
}
// Obtiene el valor mínimo (#minValue) para realizar la comparación.
let nMinValue = this.#minValue;

@@ -189,2 +354,4 @@ if (nMinValue instanceof Date) {

}
// Verifica si se habilitó la regla "isMin" y si los datos no superan el valor mínimo (#minValue).
// Si no se cumple, lanza un ErrorInputInvalid para indicar que la validación falló.
if (this.#min &&

@@ -194,2 +361,4 @@ !(minValidate && nMinValue && minValidate > nMinValue)) {

}
// Verifica si se habilitó la regla "isMinOrEqual" y si los datos no superan o igualan el valor mínimo (#minValue).
// Si no se cumple, lanza un ErrorInputInvalid para indicar que la validación falló.
if (this.#minOrEqual &&

@@ -200,2 +369,8 @@ !(minValidate && nMinValue && minValidate >= nMinValue)) {

}
/**
* Método para habilitar la validación "isMax".
* Establece la regla de que los datos deben ser menores que un valor específico.
* @param max - Valor máximo que los datos deben ser menores que él.
* @returns Instancia de FenextjsValidatorClass.
*/
isMax(max) {

@@ -206,2 +381,8 @@ this.#max = true;

}
/**
* Método para habilitar la validación "isMaxOrEqual".
* Establece la regla de que los datos deben ser menores o iguales que un valor específico.
* @param max - Valor máximo que los datos deben ser menores o igual que él.
* @returns Instancia de FenextjsValidatorClass.
*/
isMaxOrEqual(max) {

@@ -212,16 +393,25 @@ this.#maxOrEqual = true;

}
/**
* Método privado que valida las reglas "isMax" y "isMaxOrEqual".
* Verifica si los datos cumplen con las reglas de ser menores que un valor máximo o menores/iguales al valor máximo.
* @throws {ErrorInputInvalid} Si los datos no cumplen con las reglas de validación.
* @private
*/
#onMax() {
// Variable para almacenar el valor numérico o longitud (si el objeto es un array o cadena) de los datos.
let maxValidate = undefined;
// Determina el valor numérico o la longitud según el tipo de dato para realizar la comparación con el valor máximo (#maxValue).
if (Array.isArray(this.#data)) {
maxValidate = this.#data.length;
}
if (typeof this.#data == "number") {
else if (typeof this.#data === "number") {
maxValidate = this.#data;
}
if (typeof this.#data == "string") {
else if (typeof this.#data === "string") {
maxValidate = this.#data.length;
}
if (this.#data instanceof Date) {
else if (this.#data instanceof Date) {
maxValidate = this.#data.getTime();
}
// Obtiene el valor máximo (#maxValue) para realizar la comparación.
let nMaxValue = this.#maxValue;

@@ -231,2 +421,4 @@ if (nMaxValue instanceof Date) {

}
// Verifica si se habilitó la regla "isMax" y si los datos no son menores que el valor máximo (#maxValue).
// Si no se cumple, lanza un ErrorInputInvalid para indicar que la validación falló.
if (this.#max &&

@@ -236,2 +428,4 @@ !(maxValidate && nMaxValue && maxValidate < nMaxValue)) {

}
// Verifica si se habilitó la regla "isMaxOrEqual" y si los datos no son menores o iguales al valor máximo (#maxValue).
// Si no se cumple, lanza un ErrorInputInvalid para indicar que la validación falló.
if (this.#maxOrEqual &&

@@ -242,5 +436,13 @@ !(maxValidate && nMaxValue && maxValidate <= nMaxValue)) {

}
/**
* Método para validar los datos proporcionados según las reglas establecidas.
* Ejecuta todas las reglas de validación habilitadas previamente para los datos.
* @param d - Datos que se deben validar.
* @returns True si los datos cumplen con todas las reglas de validación; de lo contrario, devuelve el error que indica la regla de validación que falló.
*/
onValidate(d) {
try {
// Asigna los datos proporcionados para su validación.
this.#data = d;
// Ejecuta todas las reglas de validación habilitadas para los datos.
this.#onEqual();

@@ -256,5 +458,7 @@ this.#onRequered();

this.#onMax();
// Si todas las reglas de validación se cumplen, retorna true para indicar que los datos son válidos.
return true;
}
catch (error) {
// Si alguna regla de validación falla, captura el error y lo devuelve para indicar qué regla falló.
return error;

@@ -265,4 +469,8 @@ }

exports.FenextjsValidatorClass = FenextjsValidatorClass;
/**
* Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.
* @returns Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos.
*/
const FenextjsValidator = () => new FenextjsValidatorClass();
exports.FenextjsValidator = FenextjsValidator;
//# sourceMappingURL=index.js.map

10

package.json
{
"name": "fenextjs-validator",
"version": "1.0.1",
"version": "1.0.2",
"description": "",

@@ -9,2 +9,3 @@ "main": "./cjs/index.js",

"scripts": {
"md":"npm run build:cjs && npx jsdoc2md ./cjs/index.js > r.md",
"test": "npm run build:cjs && node ./cjs/test.js",

@@ -26,3 +27,3 @@ "build": "npm run build:esm && npm run build:cjs",

"type": "git",
"url": "git+https://gitlab.com/franciscoblancojn/fenextjs-hook.git"
"url": "git+https://gitlab.com/franciscoblancojn/fenextjs-validator.git"
},

@@ -37,5 +38,5 @@ "keywords": [

"bugs": {
"url": "https://gitlab.com/franciscoblancojn/fenextjs-hook/issues"
"url": "https://gitlab.com/franciscoblancojn/fenextjs-validator/issues"
},
"homepage": "https://gitlab.com/franciscoblancojn/fenextjs-hook#readme",
"homepage": "https://gitlab.com/franciscoblancojn/fenextjs-validator#readme",
"dependencies": {

@@ -56,2 +57,3 @@ "fenextjs-error": "^1.0.3",

"eslint": "8.45.0",
"jsdoc-to-markdown": "^8.0.0",
"prettier": "^3.0.0",

@@ -58,0 +60,0 @@ "ts-loader": "^9.4.4",

# fenextjs-error
## Classes
<dl>
<dt><a href="#FenextjsValidatorClass">FenextjsValidatorClass</a></dt>
<dd><p>Clase que proporciona validación de datos en TypeScript/JavaScript.</p>
</dd>
</dl>
## Functions
<dl>
<dt><a href="#FenextjsValidator">FenextjsValidator()</a> ⇒</dt>
<dd><p>Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.</p>
</dd>
</dl>
<a name="FenextjsValidatorClass"></a>
## FenextjsValidatorClass
Clase que proporciona validación de datos en TypeScript/JavaScript.
**Kind**: global class
- [FenextjsValidatorClass](#FenextjsValidatorClass)
- [.isEqual(d)](#FenextjsValidatorClass+isEqual) ⇒
- [.isRequired()](#FenextjsValidatorClass+isRequired) ⇒
- [.isBoolean()](#FenextjsValidatorClass+isBoolean) ⇒
- [.isNumber()](#FenextjsValidatorClass+isNumber) ⇒
- [.isString()](#FenextjsValidatorClass+isString) ⇒
- [.isDate()](#FenextjsValidatorClass+isDate) ⇒
- [.isObject(obj)](#FenextjsValidatorClass+isObject) ⇒
- [.isArray(item)](#FenextjsValidatorClass+isArray) ⇒
- [.isMin(min)](#FenextjsValidatorClass+isMin) ⇒
- [.isMinOrEqual(min)](#FenextjsValidatorClass+isMinOrEqual) ⇒
- [.isMax(max)](#FenextjsValidatorClass+isMax) ⇒
- [.isMaxOrEqual(max)](#FenextjsValidatorClass+isMaxOrEqual) ⇒
- [.onValidate(d)](#FenextjsValidatorClass+onValidate) ⇒
<a name="FenextjsValidatorClass+isEqual"></a>
### fenextjsValidatorClass.isEqual(d) ⇒
Método para definir la validación "isEqual".
Establece la regla de que los datos deben ser iguales al valor especificado.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ------------------------------- |
| d | Valor a comparar con los datos. |
<a name="FenextjsValidatorClass+isRequired"></a>
### fenextjsValidatorClass.isRequired() ⇒
Método para habilitar la validación "isRequired".
Establece la regla de que los datos deben estar presentes y no ser nulos o indefinidos.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
<a name="FenextjsValidatorClass+isBoolean"></a>
### fenextjsValidatorClass.isBoolean() ⇒
Método para habilitar la validación "isBoolean".
Establece la regla de que los datos deben ser de tipo booleano.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
<a name="FenextjsValidatorClass+isNumber"></a>
### fenextjsValidatorClass.isNumber() ⇒
Método para habilitar la validación "isNumber".
Establece la regla de que los datos deben ser de tipo número.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
<a name="FenextjsValidatorClass+isString"></a>
### fenextjsValidatorClass.isString() ⇒
Método para habilitar la validación "isString".
Establece la regla de que los datos deben ser de tipo cadena (string).
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
<a name="FenextjsValidatorClass+isDate"></a>
### fenextjsValidatorClass.isDate() ⇒
Método para habilitar la validación "isDate".
Establece la regla de que los datos deben ser de tipo Date (fecha).
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
<a name="FenextjsValidatorClass+isObject"></a>
### fenextjsValidatorClass.isObject(obj) ⇒
Método para habilitar la validación "isObject".
Establece la regla de que los datos deben ser de tipo objeto.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ------------------------------------------------------------------- |
| obj | Objeto con las reglas de validación para cada propiedad del objeto. |
<a name="FenextjsValidatorClass+isArray"></a>
### fenextjsValidatorClass.isArray(item) ⇒
Método para habilitar la validación "isArray".
Establece la regla de que los datos deben ser un array.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ----------------------------------------------------------------------------------------------------- |
| item | Instancia de FenextjsValidatorClass que define las reglas de validación para cada elemento del array. |
<a name="FenextjsValidatorClass+isMin"></a>
### fenextjsValidatorClass.isMin(min) ⇒
Método para habilitar la validación "isMin".
Establece la regla de que los datos deben ser mayores que un valor específico.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ----------------------------------------- |
| min | Valor mínimo que los datos deben superar. |
<a name="FenextjsValidatorClass+isMinOrEqual"></a>
### fenextjsValidatorClass.isMinOrEqual(min) ⇒
Método para habilitar la validación "isMinOrEqual".
Establece la regla de que los datos deben ser mayores o iguales que un valor específico.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | --------------------------------------------------- |
| min | Valor mínimo que los datos deben superar o igualar. |
<a name="FenextjsValidatorClass+isMax"></a>
### fenextjsValidatorClass.isMax(max) ⇒
Método para habilitar la validación "isMax".
Establece la regla de que los datos deben ser menores que un valor específico.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ---------------------------------------------------- |
| max | Valor máximo que los datos deben ser menores que él. |
<a name="FenextjsValidatorClass+isMaxOrEqual"></a>
### fenextjsValidatorClass.isMaxOrEqual(max) ⇒
Método para habilitar la validación "isMaxOrEqual".
Establece la regla de que los datos deben ser menores o iguales que un valor específico.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: Instancia de FenextjsValidatorClass.
| Param | Description |
| ----- | ------------------------------------------------------------ |
| max | Valor máximo que los datos deben ser menores o igual que él. |
<a name="FenextjsValidatorClass+onValidate"></a>
### fenextjsValidatorClass.onValidate(d) ⇒
Método para validar los datos proporcionados según las reglas establecidas.
Ejecuta todas las reglas de validación habilitadas previamente para los datos.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: True si los datos cumplen con todas las reglas de validación; de lo contrario, devuelve el error que indica la regla de validación que falló.
| Param | Description |
| ----- | --------------------------- |
| d | Datos que se deben validar. |
<a name="FenextjsValidator"></a>
## FenextjsValidator() ⇒
Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.
**Kind**: global function
**Returns**: Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos.
## Example
```ts
// Importar la función FenextjsValidator
import { FenextjsValidator } from "fenextjs-validator";
// Crear un validador y establecer la regla "isRequired"
const r = FenextjsValidator().isRequired().onValidate("a");
console.log(r); // Imprimir el resultado de la validación (true si es válido, ErrorInputRequired si no lo es)
// Crear otro validador y establecer la regla "isBoolean"
const r2 = FenextjsValidator().isBoolean().onValidate(false);
console.log(r2);
// Crear otro validador y establecer la regla "isEqual" con el valor "aaaa"
const r3 = FenextjsValidator().isEqual("aaaa").onValidate("aaaa");
console.log(r3);
// Crear otro validador y establecer la regla "isNumber"
const r4 = FenextjsValidator().isNumber().onValidate(2);
console.log(r4);
// Crear otro validador y establecer la regla "isString"
const r5 = FenextjsValidator().isString().onValidate("");
console.log(r5);
// Crear otro validador y establecer la regla "isObject" con una regla de validación para la propiedad "a"
const r6 = FenextjsValidator()
.isObject({
a: FenextjsValidator().isString().isEqual("aa"),
})
.onValidate({
a: "aa",
});
console.log(r6);
// Crear otro validador y establecer la regla "isArray" con una regla de validación para los elementos del array
const r7 = FenextjsValidator()
.isArray(FenextjsValidator().isString().isEqual("aa"))
.onValidate(["aa", "aa"]);
console.log(r7);
// Crear otro validador y establecer la regla "isString" y "isMin" (longitud mínima 3 caracteres)
const r8 = FenextjsValidator().isString().isMin(3).onValidate("aaaaa");
console.log(r8);
// Crear otro validador y establecer la regla "isString" y "isMinOrEqual" (longitud mínima 3 caracteres o igual)
const r9 = FenextjsValidator().isString().isMinOrEqual(3).onValidate("aaa");
console.log(r9);
// Crear otro validador y establecer la regla "isNumber" y "isMax" (valor máximo 3)
const r10 = FenextjsValidator().isNumber().isMax(3).onValidate(2);
console.log(r10);
// Crear otro validador y establecer la regla "isString" y "isMaxOrEqual" (longitud máxima 3 caracteres o igual)
const r11 = FenextjsValidator().isString().isMaxOrEqual(3).onValidate("aaa");
console.log(r11);
// Crear otro validador y establecer la regla "isDate" y "isMax" (fecha máxima: 100)
const r12 = FenextjsValidator()
.isDate()
.isMax(new Date(100))
.onValidate(new Date(99));
console.log(r12);
```
## Developer

@@ -14,2 +284,2 @@

- [Gitlab](https://gitlab.com/franciscoblancojn/fenextjs-hook)
- [Gitlab](https://gitlab.com/franciscoblancojn/fenextjs-validator)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc