0.0.19 • Published 8 days ago

@clavisco/core v0.0.19

Weekly downloads
-
License
-
Repository
-
Last release
8 days ago

Acerca de @clavisco/core

Token: Core

Engloba un conjunto de modelos, utilidades y funciones generales utilizadas por otros componentes y también disponibles para su uso general en cualquier aplicación. Entre las cuales se puede encontrar modelos generales de interfaces y enumerados para uso general, misceláneos como funciones para mapeo de errores o logs de errores en consola web, almacenamiento de configuraciones y datos en local storage y session storage; entre otras.

¿Qué resuelve?

Facilita el acceso a un conjunto de utilidades y funciones para uso general y especifico que no resulta como parte de otros componentes y que pueden ser reutilizados para diversas aplicaciones durante el desarrollo e implementacion de componentes y sistemas.

Dependencias

  • No posee dependencias

Date Selector

Está compuesta por un módulo y una directiva que permite crear selectores de fecha con un formato personalizado

Formatos disponibles

  • MM/YYYY
  • DD/MM/YYYY

Directiva disponible

clcustomdatepicker='{CustomDateFormat}' Aplica un formato personalizado a un componente Datepicker de Angular Material, posee el siguiente parámetro:

  • CustomDateFormat: Indica el formato a utilizar, de la lista de formatos disponibles.

Miscellaneous disponibles

  • IsAValidEmail(_email: string), Valida un correo electrónico
    • _email: correo a validar como un string
  • DeepEqual(object1: any, object2: any): boolean, Permite comparar dos objetos y sus propiedades
    • object1: Objeto para comparar con object2
    • object1: Objeto para comparar con object1
  • IsObject(object: any): boolean, Recibe una variable e indica si esta es un objeto una primitiva
    • object: Objeto o variable a evaluar
  • CLPrint(_data: any, _clDisplay: Structures.Enums.CL_DISPLAY = Structures.Enums.CL_DISPLAY.ERROR): void, Esta función es usada para imprimir en consola un objeto de manera personalizada y a su vez mostrar stack trace en caso de que se desee imprimir un error
    • _data: Texto de error u objeto a mostrar en el error
    • _clDisplay: Enumerado para indicar el tipo de display y el formato con que se mostrará en consola
  • GetError(_error: any): string, Mapea un objeto de error de cualquier tipo a un string
    • _error: objeto de error o excepción para mapear el mensaje
  • DownloadBase64File(_base64File: string, _fileName: string, _blobType: string, _fileExtension: string), Convierte un archivo en base64 y lo descarga del navegador
    • _base64File: Cadena de string con el objeto en base64
    • _fileName: Nombre para el archivo a descargar
    • _blobType: Se corresponde con el MIME type del objeto a descargar
    • _fileExtension: Extensión del archivo a descargar
  • StringToArrayBuffer(_toConvert: string): ArrayBuffer, Convirte un string a un ArrayBuffer
    • _toConvert: Cadena de string a convertir en ArrayBuffer
  • Miscellaneous.Interceptors: Proporciona Http interceptors
    • HttpAlertInterceptor: Mapea la repuestas HTTP para mostrar alertas mediante el codigo de estado HTTP

Enums, Interfaces y Clases disponibles

Contiene estructuras de datos comunes en todos los proyectos, como por ejemplo los modelos para mapear las respuestas de un api, modelos para el manejo de permisos o clases personalizadas para el manejo de errores específicos

  • Structures.Enums
    • CL_DISPLAY, Usado para mostrar diferentes tipos de mensajes
    • CL_ACTIONS, Usado para generar eventos de usuario, como por ejemplo crear, eliminar registros
    • TOKEN, Tokens para identificación de proyectos y uso en guardado de configuraciones
  • Structures.Interfaces
    • IError { Code: number, Message: string }, Modelo básico para representación de errores
    • IResponse { Result: boolean, Error: IError, Data: T }, Modelo básico para manejo de respuestas estándar de apis de clavisco
    • IPermission { Id: number, Code: string, Description: string, Status: boolean }, Modelo para un eventual mantenimiento de permisos
    • ICLButton { Title: string, Action: Structures.CL_Actions, Icon: string, Color: string, Data: string }, Modelo para un botón de ui estándar
  • Structures.Clases
    • GuardWarnig, Excepción personalizada para ser procesada por la función ClPrint, cuando puede ocurrir un error en el flujo
    • GuardValidation, Excepción personalizada para ser procesada por la función ClPrint cuando hay alguna validación de código

Funciones de Repository.Behavior disponibles

Este namespace contiene funciones para la interacción con el local storage denominado como Repository

  • IsJson(item: any): boolean, Valida si un objeto es un Json válido
    • item: Objeto a probar si es un Json válido
  • SetStorage(_object:T, _key: string): void, Permite guardar un objeto de tipo T en local storage
    • _object: Objeto que queremos guardar en el localstorage en formato json.
    • _key: Llave de acceso al objeto almacenado.
  • GetStorage(_key: string): T, Retorna un objeto de tipo T en función a una llave de acceso, sino se encuentra devuelve null
    • _key: Llave de acceso al objeto almacenado
  • DeleteStorageObject(_key: string): void, Elimina un objeto del local storage
    • _key: Llave de acceso al objeto almacenado
  • FlushStorage(): void, Elimina todos los objetos almacenados en el local storage
  • SetSession(_object:T, _key: string): void, Permite guardar un objeto de tipo T en local session
    • _object: Objeto que queremos guardar en el local session en formato json.
    • _key: Llave de acceso al objeto almacenado.
  • GetSessionObject(_key: string): T, Retorna un objeto de tipo T en función a una llave de acceso, sino se encuentra devuelve null
    • _key: Llave de acceso al objeto almacenado
  • FlushSession(_key: string): void, Elimina un objeto del local session
    • _key: Llave de acceso al objeto almacenado
  • FlushStorage(): void, Elimina todos los objetos almacenados en el local session
  • SetTokenConfiguration(_args: { settings?: {}, token: string, setting?: string, value?: any override?: boolean }): void, Establece una configuración general, puede ser utilizado para almacenar configuraciones específicas de cada aplicación o para almacenar configuraciones generales dentro de los componentes
    • token: Token del componente al que le queremos asociar la configuración definido dentro de Structures.Enums.TOKEN o puede ser un nombre o clave cualquier para la configuración definida
    • settings: Objeto que define el conjunto de configuraciones asociadas al token definido
    • setting: Clave o Llave específica para una configuración puntual
    • value: Contiene el valor de la configuración asociada a la variable setting
    • override: Determina si al aplicar la configuración esta sobrescribe todo el objeto o solo actualiza las propiedades enviadas
  • GetTokenConfiguration(_args: { token: string, settingName: string }): string | null, Permite obtener la configuración dentro de un token en específico
    • token: Token para la configuración a obtener
    • settingName: Clave o Llave de la configuración dentro de las guardadas
  • DeleteTokenConfiguration(_args: { token: string, settingName: string }): void, Permite borrar una configuración dentro de un token en específico
    • token: Token para la configuración a borrar
    • settingName: Clave o Llave de la configuración dentro de las guardadas
  • GetTokenConfigurations(_args: { token: string }): any, Devuelve todas las configuraciones asociadas a un token en específico
    • token: Token para la configuración a obtener
  • RegisterToken(_args: { token: string } | null = null): void, Permite registrar las configuraciones compartidas para el componente actual
    • token: Token para la configuración a definir como general en el componente actual

¿Cómo lo uso?

Date Selector

  1. Ejecutar el comando npm i @clavisco/core en el directorio root del proyecto
  2. Importamos el módulo DateSelectorModule agregándolo a la sección de imports del módulo donde será utilizado.
  3. Aplicamos la directiva al datepicker que queremos formatear, como se muestra en el ejemplo:
<mat-form-field appearance="outline" clcustomdatepicker="MM/YYYY">
    <input matInput [matDatepicker]="picker" placeholder="MM/YYYY"/>
    <mat-datepicker-toggle matSuffix [for]="picker">
    </mat-datepicker-toggle>
    <mat-datepicker #picker [startView]="'year'">
    </mat-datepicker>
</mat-form-field>

Miscellaneous

  1. Ejecutar el comando npm i @clavisco/core en el directorio root del proyecto
  2. Debido a que estas funciones no comparten contexto con el proyecto root, no es necesario importarlo en el módulo.
  3. Importar la función que desee utilizar en el componente o servicio donde será utilizada
  4. Ejemplo de cómo importar y utilizar
import { CLPrint } from '@clavisco/core';

CLPrint('Mensaje de error', Structures.Enums.CL_DISPLAY.ERROR);

### Enums, Interfaces y Clases
> 1. Ejecutar el comando `npm i @clavisco/core` en el directorio root del proyecto
> 2. Debido a que estos enums, interfaces y clases no comparte contexto con el proyecto root, no es necesario importalo en el módulo.
> 3. Importar el enum, interface o clase que desee utilizar en el componente o servicio donde será utilizado
> 4. Ejemplo de cómo importar Structures y utilizar la estructura deseada
```typescript
import { Structures } from '@clavisco/core';

Structures.Enums.CL_DISPLAY.ERROR;

Funciones de Repository.Behavior

  1. Ejecutar el comando npm i @clavisco/core en el directorio root del proyecto
  2. Debido a que estas funciones no comparten contexto con el proyecto root, no es necesario importarlo en el módulo.
  3. Importar la función que desee utilizar en el componente o servicio donde será utilizada
  4. Ejemplos de cómo importar y utilizar algunas funciones
import { Repository } from '@clavisco/core';

Repository.Behavior.SetStorage('userId', 12345); Repository.Behavior.DeleteStorageObject('userId');

```typescript
import { Repository } from '@clavisco/core';

// Definimos las configuraciones para el componente Alerts
Repository.Behavior.SetTokenConfiguration({
  token: `Alerts`,
  settings: {
    horizontalPosition: 'center',
    darkMode: false
  },
  override: true
});

// Sobrescribimos de forma independiente solo el darkMode
Repository.Behavior.SetTokenConfiguration({
  token: `Alerts`,
  setting: 'darkMode',
  value: true
});

// Podemos eliminar una parte de la configuración sin eliminarlas todas de esta forma
Repository.Behavior.DeleteTokenConfiguration({ token: `Alerts`, settingName: `darkMode` })

De manera general puede visitar el siguiente video para conocer como implementar cada uno de los elementos mencionados

Video explicativo sobre el uso @clavisco/core

Clavis Consultores ©

0.0.20-beta.1

8 days ago

0.0.20-beta.0

15 days ago

0.0.19

3 months ago

0.0.19-beta.1

3 months ago

0.0.19-beta.0

4 months ago

0.0.18

5 months ago

0.0.18-beta.0

9 months ago

0.0.17

10 months ago

0.0.16

11 months ago

0.0.16-beta.0

12 months ago

0.0.15-beta.3

12 months ago

0.0.15-beta.1

1 year ago

0.0.15-beta.2

12 months ago

0.0.15-beta.0

1 year ago

0.0.15

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago