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
47
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.8 to 1.0.9

10

cjs/index.d.ts

@@ -125,2 +125,12 @@ import { ErrorFenextjs } from "fenextjs-error/cjs/Fenextjs";

/**
* Método para habilitar la validación "isWhen".
* Establece la regla de que los comparacion cuando sea correcto la validacion.
* @returns Instancia de FenextjsValidatorClass.
*/
isWhen(data: {
key: string;
is: FenextjsValidatorClass;
then: FenextjsValidatorClass;
}): this;
/**
* Método para validar los datos proporcionados según las reglas establecidas.

@@ -127,0 +137,0 @@ * Ejecuta todas las reglas de validación habilitadas previamente para los datos.

@@ -48,2 +48,10 @@ "use strict";

#objectValue = undefined;
/** Bandera que indica si los datos deben ser una cadena en la validación "isWhen". */
#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;
/** Bandera que indica si los datos deben ser un array en la validación "isArray". */

@@ -356,2 +364,6 @@ #array = false;

validator.#setParent(this);
}
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const validator = this.#objectValue[key];
const r = validator.onValidate(this.#data?.[key]);

@@ -595,2 +607,41 @@ // Si alguna propiedad no cumple con las reglas de validación, se lanza el error devuelto por la validación.

/**
* Método para habilitar la validación "isWhen".
* Establece la regla de que los comparacion cuando sea correcto la validacion.
* @returns Instancia de FenextjsValidatorClass.
*/
isWhen(data) {
this.#when = true;
this.#whenKey = data.key;
this.#whenIs = data.is;
this.#whenThen = data.then;
return this;
}
/**
* Método privado que valida la regla "onWhen".
* Verifica si los datos cumplen con whenIs y when Key para adicionar la la validacion whenThen.
* @throws {ErrorInputInvalid} Si los datos no son de tipo Date (fecha).
* @private
*/
#onWhen() {
// Si la validación "isWhen" no está habilitada, no se hace nada.
if (!this.#when) {
return;
}
// Si la validación "parent" no existe, no se hace nada.
if (!this.#parent) {
return;
}
// Si la validación de datos necesarios no existen, no se hace nada.
if (!this.#whenIs || !this.#whenKey || !this.#whenThen) {
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;
}
}
}
/**
* Método para validar los datos proporcionados según las reglas establecidas.

@@ -606,2 +657,3 @@ * Ejecuta todas las reglas de validación habilitadas previamente para los datos.

// Ejecuta todas las reglas de validación habilitadas para los datos.
this.#onWhen();
this.#onEqual();

@@ -608,0 +660,0 @@ this.#onRequered();

24

cjs/test.js

@@ -169,7 +169,25 @@ "use strict";

console.log(ValidateIsCompareRef);
// Ejemplo: Crear un validador usando when
const ValidateWhen = (0, _1.FenextjsValidator)()
.setName("ValidateWhen")
.isObject({
a: (0, _1.FenextjsValidator)()
.setName("ValidateWhen.a")
.isWhen({
key: "b",
is: (0, _1.FenextjsValidator)().isEqual("bbb"),
then: (0, _1.FenextjsValidator)().setName("ValidateWhen.a").isMin(201),
}),
b: (0, _1.FenextjsValidator)().setName("ValidateWhen.b"),
})
.onValidate({
a: 200,
b: "bbb",
});
console.log(ValidateWhen);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// Esto indica que el objeto proporcionado para la validación no cumple con todas las reglas definidas en la estructura de datos ValidateIsCompareRefInteface.
// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un objeto con valores "keyA" == "keyB",
// Esto indica que el objeto proporcionado para la validación no cumple con todas las reglas definidas en la estructura de datos ValidateWhen.
// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un objeto con a > 201 y b !="bbb",
// la validación no habría sido fallida, y el resultado habría sido "true"
// que indica que los valores de "keyA" y "keyB" son iguales.
// que indica que los valores de a se validan xq b = "bbb" y la validacion de a falla
//# sourceMappingURL=test.js.map

2

package.json
{
"name": "fenextjs-validator",
"version": "1.0.8",
"version": "1.0.9",
"description": "",

@@ -5,0 +5,0 @@ "main": "./cjs/index.js",

# Fenextjs-validator
## 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(props)</a> ⇒ <code><a href="#FenextjsValidatorClass">FenextjsValidatorClass</a></code></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)
- [new FenextjsValidatorClass(props)](#new_FenextjsValidatorClass_new)
- _instance_
- [.setName(name)](#FenextjsValidatorClass+setName) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
- [.isEqual(d)](#FenextjsValidatorClass+isEqual) ⇒
- [.isRequired()](#FenextjsValidatorClass+isRequired) ⇒
- [.isBoolean()](#FenextjsValidatorClass+isBoolean) ⇒
- [.isNumber()](#FenextjsValidatorClass+isNumber) ⇒
- [.isString()](#FenextjsValidatorClass+isString) ⇒
- [.isLength(length)](#FenextjsValidatorClass+isLength) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
- [.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) ⇒
- [.isCompareRef(refKey)](#FenextjsValidatorClass+isCompareRef) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
- [.onValidate(d)](#FenextjsValidatorClass+onValidate) ⇒
- _static_
- [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : <code>string</code> \| <code>undefined</code>
- [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : <code>string</code>
- [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
<a name="new_FenextjsValidatorClass_new"></a>
### new FenextjsValidatorClass(props)
Constructor de la clase FenextjsValidatorClass.
| Param | Type | Description |
| ----- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| props | <code>FenextjsValidatorClassConstructorProps</code> | Opcional. Propiedades que se pueden pasar al constructor. Un objeto que contiene las propiedades del constructor. Por ejemplo, puede contener la propiedad "name". |
<a name="FenextjsValidatorClass+setName"></a>
### fenextjsValidatorClass.setName(name) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
Método para establecer el nombre asociado a la instancia de FenextjsValidatorClass.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) - - La instancia actual de la clase FenextjsValidatorClass, lo que permite el encadenamiento de métodos.
| Param | Type | Description |
| ----- | ------------------- | -------------------------------------------------------------------------- |
| name | <code>string</code> | El nombre a establecer para la instancia actual de FenextjsValidatorClass. |
<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+isLength"></a>
### fenextjsValidatorClass.isLength(length) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
Método para habilitar la validación de longitud.
Establece la regla de que los datos deben tener una longitud específica.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) - - La instancia actual de la clase FenextjsValidatorClass, lo que permite el encadenamiento de métodos.
| Param | Type | Description |
| ------ | ------------------- | ------------------------------------------------------------------------ |
| length | <code>number</code> | La longitud que deben tener los datos para que la validación sea válida. |
<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+isCompareRef"></a>
### fenextjsValidatorClass.isCompareRef(refKey) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
Método para habilitar la comparación de valores de referencia.
Establece la regla de que los datos deben ser iguales a otro valor de referencia almacenado en la instancia.
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
**Returns**: [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) - - La instancia actual de la clase FenextjsValidatorClass, lo que permite el encadenamiento de métodos.
| Param | Type | Description |
| ------ | ------------------- | ---------------------------------------------------------------------------------------------- |
| refKey | <code>string</code> | La clave que identifica el valor de referencia almacenado en la instancia para la comparación. |
<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="FenextjsValidatorClass.FenextjsValidatorClass"></a>
### FenextjsValidatorClass.FenextjsValidatorClass : <code>string</code> \| <code>undefined</code>
Nombre asociado a la instancia de FenextjsValidatorClass.
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
<a name="FenextjsValidatorClass.FenextjsValidatorClass"></a>
### FenextjsValidatorClass.FenextjsValidatorClass : <code>string</code>
Nombre asociado a la instancia de FenextjsValidatorClass.
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
<a name="FenextjsValidatorClass.FenextjsValidatorClass"></a>
### FenextjsValidatorClass.FenextjsValidatorClass : [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
El padre de la instancia actual de FenextjsValidatorClass.
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
<a name="FenextjsValidator"></a>
## FenextjsValidator(props) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass)
Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.
**Kind**: global function
**Returns**: [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) - - Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos.
| Param | Type | Description |
| ----- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| props | <code>FenextjsValidatorClassConstructorProps</code> | Opcional. Propiedades que se pueden pasar al constructor de FenextjsValidatorClass. Un objeto que contiene las propiedades del constructor de la clase FenextjsValidatorClass. Por ejemplo, puede contener la propiedad "name". |
## Import

@@ -575,2 +285,37 @@

#### Ejemplo: Crear un validador usando when
```ts
// Definir la interfaz que describe la estructura de datos para la validación
interface ValidateWhenInterface {
a: number;
b: string;
}
const ValidateWhen = FenextjsValidator<ValidateWhenInterface>()
.setName("ValidateWhen")
.isObject({
a: FenextjsValidator()
.setName("ValidateWhen.a")
.isWhen({
key: "b",
is: FenextjsValidator().isEqual("bbb"),
then: FenextjsValidator().setName("ValidateWhen.a").isMin(201),
}),
b: FenextjsValidator().setName("ValidateWhen.b"),
})
.onValidate({
a: 200,
b: "bbb",
});
console.log(ValidateWhen);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// Esto indica que el objeto proporcionado para la validación no cumple con todas las reglas definidas en la estructura de datos ValidateWhen.
// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un objeto con a > 201 y b !="bbb",
// la validación no habría sido fallida, y el resultado habría sido "true"
// que indica que los valores de a se validan xq b = "bbb" y la validacion de a falla
```
## Developer

@@ -577,0 +322,0 @@

Sorry, the diff of this file is not supported yet

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