1 | export class Pasatiempo { |
2 | |
3 | /** |
4 | * @param { { |
5 | * uuid?: string, |
6 | * nombre?: string, |
7 | * modificacion?: number, |
8 | * eliminado?: boolean, |
9 | * } } modelo |
10 | */ |
11 | constructor(modelo) { |
12 | this.nombre = modelo.nombre === undefined |
13 | ? "" |
14 | : modelo.nombre |
15 | this.uuid = modelo.uuid === undefined |
16 | ? "" |
17 | : modelo.uuid |
18 | this.modificacion = modelo.modificacion === undefined |
19 | ? NaN |
20 | : modelo.modificacion |
21 | this.eliminado = modelo.eliminado === undefined |
22 | ? true |
23 | : modelo.eliminado |
24 | } |
25 | |
26 | validaNuevo() { |
27 | if (this.nombre === "") |
28 | throw new Error("Falta el nombre.") |
29 | } |
30 | |
31 | valida() { |
32 | if (this.uuid === "") |
33 | throw new Error("Falta el uuid.") |
34 | if (this.nombre === "") |
35 | throw new Error("Falta el nombre.") |
36 | } |
37 | |
38 | } |
39 | |
40 | // Permite que los eventos de html usen la clase. |
41 | window["Pasatiempo"] = Pasatiempo |
1 | import { Pasatiempo } from "./Pasatiempo.js" |
2 | import { |
3 | validaPasatiempo |
4 | } from "./validaPasatiempo.js" |
5 | |
6 | /** @param { any } objeto */ |
7 | export function recuperaPasatiempo(objeto) { |
8 | const validado = validaPasatiempo(objeto) |
9 | return new Pasatiempo({ |
10 | uuid: validado.uuid, |
11 | nombre: validado.nombre, |
12 | modificacion: validado.modificacion, |
13 | eliminado: validado.eliminado, |
14 | }) |
15 | } |
1 | /** |
2 | * @param { any } objeto |
3 | * @returns { { |
4 | * uuid: string, |
5 | * nombre: string, |
6 | * modificacion: number, |
7 | * eliminado: boolean, |
8 | * } } |
9 | */ |
10 | export function validaPasatiempo(objeto) { |
11 | |
12 | if (typeof objeto.uuid !== "string") |
13 | throw new Error("El uuid debe ser texto.") |
14 | |
15 | if (typeof objeto.nombre !== "string") |
16 | throw new Error("El nombre debe ser texto.") |
17 | |
18 | if (typeof objeto.modificacion !== "number") |
19 | throw new Error("El campo modificacion debe ser número.") |
20 | |
21 | if (typeof objeto.eliminado !== "boolean") |
22 | throw new Error("El campo eliminado debe ser booleano.") |
23 | |
24 | return objeto |
25 | |
26 | } |