1.0.1 • Published 5 months ago

@juangura19/ngx-cache v1.0.1

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

@juangura19/ngx-cache

Esta libreria permite la gestion de cache sobre el navegador. intercepta las peticiones GET y base a una lista de servicios (apis) las va almacenando en la cache con tiempo de caducidad. adicional si no se desea hacer uso del interceptor puedes usar los metodos para gestionar tu cache.

Install

  npm install @juangura19/ngx-cache

Input

parametertypedescriptionexample
basestringurl base de serviciohttps://example.com
pathstringrecurso/example
ttlnumbertiempo de vigencia del dato3600
typeNgxCacheEnumtipo de almacenamiento en el storage, por defecto se almacena en el sessionstorageNgxCacheEnum.sessionstorage

Usage/Examples

import { NgxCacheModule, NgxCacheEnum } from '@juangura19/ngx-cache';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    ...,
    NgxCacheModule.forRoot([
      { base: 'https://example.com', path: "/example1", ttl: 3600, type: NgxCacheEnum.sessionstorage},
      { base: 'https://example.com', path: "/example2", ttl: 360, type: NgxCacheEnum.localstorage },
      { base: 'https://example.com', path: "/example3", ttl: 0, type: NgxCacheEnum.cookie  }
      { base: 'https://example.com', path: "/example4", ttl: 60 }
    ])
  ],
  providers: [
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Cache

almacenamiento para session storage y local storage

KeyValueDescription
https://example.com/example"{...data...}"Data almacenada
https://example.com/example-cas1700201255139Fecha de creación en formato number

almacenamiento cookie, si el ttl es 0, el valor se eliminara cuando se cierra el explorador

KeyValueDescription
https://example.com/example"{...data...}"Data almacenada

Metodos adicionales

Si no desea usar hacer uso del interceptor, no es necesario importar el modulo y podrias hacer uso del los metodos que se pone a disposicion para el manejo de cache.

Metodoinputdescripcion
findkey, ttl, typepermite obtener datos de la cache y valida si los datos estan vigentes en base al ttl enviado, el ttl no aplica para el almacenamiento en cookie
savekey, data, type, ttlpermite guardar los datos en cache, el ttl solo es para almacenamiento en cookie
removekey, typepermite remover los datos de cache incluido su ttl
import { NgxCacheService, NgxCacheEnum } from '@juangura19/ngx-cache';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent {

  constructor(
    ...,
    private readonly ngxCacheService:NgxCacheService
    ...
  ) {}

  remove = () => {
    //el tipo de almancenamiento es opcional, por defecto va apuntar al sessionstorage
    this.ngxCacheService.remove('https://example.com/example', NgxCacheEnum.localstorage)
  }

  save = () => {
    //el tipo de almancenamiento es opcional, por defecto va apuntar al sessionstorage, el ttl solo se envia cuando el almacenamiento es en cookie, por defecto es "0"
    this.cacheService.save('https://example.com/example', {...data...}, NgxCacheEnum.localstorage)
  }

  find = () => {
    //el tipo de almancenamiento es opcional, por defecto va apuntar al sessionstorage
    this.cacheService.find('https://example.com/example',100, NgxCacheEnum.localstorage)
  }
}

Authors

1.0.1

5 months ago

1.0.0

5 months ago