Skip to content
Mariano Andres Botta edited this page Feb 3, 2020 · 2 revisions

@andes/shared

Contiene librería/funciones generales.

Este servicio maneja las peticiones HTTP de la aplicación. Handlea errores y presenta el loader automático.

  • GET
  • POST
  • PATCH
  • PUT
  • DELETE

Decoradores

Cache

@Cache()
public getUsuarios() {
    return this.server.get();
}

El decorador Cache, encapsula un método y la próxima instanciación del mismo, devolverá el último valor obtenido. Se le puede dar como paramétro el nombre de la key a usar como identificador.

@Cache({ key : 'id' })
public getUsuarios(params) {
    return this.server.get();
}

Así se podrá cachear cada request según el valor de params[id]. Si este no existe, se invocara el método. Si existe, se retornara el valor cacheado previamente.

Ejemplo de uso: OrganizacionService

Observe

Encapsula una variable como Observable y Observer, es decir crea un BehaviorSubject en el medio. Cada vez que se setea el valor de la variable internamente se ejecuta un .next() del Subject. Esto lo hace componible con pipelines de RxJS. Además, permite usar una variable con [(ngModel)].

@Observe searchText: string;
searchText$: Observable<string>;

ngOnInit() {
    this.searchText$.pipe(
        ...
    )
}

Unsubscribe

El decorador Unsubscribe, se asegura de dessubescribir el último Observable antes de ejecutar de vuelta el método. Útil para llamadas HTTP que no queremos que se ejecuten dos veces seguidas.

Internamente, lleva control del valor devuelto en el último llamado al metodo. Si este es un Observable, lo termina antes de volver a ejecutar el método.

@Unsubscribe()
public getUsuarios(params) {
    return this.server.get();
}

Ejmeplo de uso: El buscador de SNOMED en RUP.

Pipes

  • edad
  • enumerar
  • fecha
  • fromNow
  • hora
  • html
  • nombre
  • pluralizar
  • sexo

Operadores RxJS

  • notNull

    Filtra los valores que no sean nulos

  • onlyNull

    Deja pasar los varoles null unicamente

  • mergeObject

    Combina el último valor emitido en el stream, en el objeto acumulado.

  • asObject

    Encapsula el valor emitido por el stream en un objeto. Requiere como paramétro el nombre de la key.

  • distincObject

    Compara objetos y no deja pasar valores repetidos. El operador distinctuntilchanged de RxJS no compara objetos internamente, solo por referencia.

  • cache

    Cache el último valor emitido para no desencadenar varias requests al subscribirse.

Clone this wiki locally