3. js / bd / pasatiempoBusca.js

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