E. js / pasatiempoBusca.js

1
import { bdConsulta } from "./lib/bdConsulta.js"
2
import { validaPasatiempo } from "./validaPasatiempo.js"
3
import { ALMACEN_PASATIEMPO, Bd } from "./Bd.js"
4
5
/**
6
 * @param {string} id
7
 */
8
export async function pasatiempoBusca(id) {
9
10
 return bdConsulta(Bd, [ALMACEN_PASATIEMPO],
11
  /**
12
   * @param {(resultado: import("./PASATIEMPO.js").PASATIEMPO|undefined)
13
   *                                                            => any} resolve 
14
   */
15
  (transaccion, resolve) => {
16
17
   /* Pide el primer objeto de ALMACEN_PASATIEMPO que tenga como llave
18
    * primaria el valor del parámetro id. */
19
   const consulta = transaccion.objectStore(ALMACEN_PASATIEMPO).get(id)
20
21
   // onsuccess se invoca solo una vez, devolviendo el objeto solicitado.
22
   consulta.onsuccess = () => {
23
    /* Se recupera el objeto solicitado usando
24
     *  consulta.result
25
     * Si el objeto no se encuentra se recupera undefined. */
26
    const objeto = consulta.result
27
    if (objeto !== undefined) {
28
     const modelo = validaPasatiempo(objeto)
29
     if (modelo.PAS_ELIMINADO === 0) {
30
      resolve(modelo)
31
      return
32
     }
33
    }
34
    resolve(undefined)
35
36
   }
37
38
  })
39
40
}
skip_previous skip_next