-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
40 lines (38 loc) · 1.4 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const { concat, of } = require('rxjs');
const { takeUntil, tap, ignoreElements, filter } = require('rxjs/operators');
const EJEMPLOS = require('./lib');
// refactorizacion de sintaxis repetitiva
const concluirRedactando = (mensaje) => tap({ complete: () => console.log(mensaje) });
const hastaPresionarUnaTecla = () => takeUntil(EJEMPLOS.alPresionarUnaTecla());
concat(
of().pipe(
concluirRedactando('EJEMPLO 1 "Reloj 60 segundos"')
),
EJEMPLOS.cuentaSegundosHasta(10).pipe(
hastaPresionarUnaTecla(),
concluirRedactando('EJEMPLO 1 "Cuenta segundos" terminado'),
concluirRedactando('EJEMPLO 2 "Cronometro personalizado"')
),
EJEMPLOS.cronometroPersonalizable({
limiteConteo: 7,
intervaloActualizacionMs: 1350,
tipoPlantilla: 'difusa'
}).pipe(
hastaPresionarUnaTecla(),
concluirRedactando('EJEMPLO 2 "Cronometro personalizado" terminado'),
concluirRedactando('EJEMPLO 3 "Semaforo"')
),
// EJEMPLOS.conversionHorariaDesdeApi().pipe(
// takeLast(1),
// concluirRedactando('EJEMPLO 2 "Conversion horaria desde API" terminado')
// ),
EJEMPLOS.semaforo().pipe(
hastaPresionarUnaTecla(),
concluirRedactando('EJEMPLO 3 "Semaforo" terminado')
)
).pipe(
filter(data => !!data),
tap((data) => console.log(data)),
concluirRedactando('FIN'),
ignoreElements()
).subscribe();