UNPKG

callbag-interval

Version:

A callbag listenable source that sends incremental numbers every x milliseconds

48 lines (40 loc) 917 B
const test = require('tape'); const interval = require('.'); test('interval(50) sends 5 times then we dispose it', function(t) { t.plan(5); const expected = [0, 1, 2, 3, 4]; let talkback; function observe(type, data) { if (type === 0) { talkback = data; return; } if (type === 1) { t.equals(data, expected.shift(), 'interval sent data'); if (expected.length === 0) { talkback(2); } return; } } interval(50)(0, observe); }); test('interval(1000) can be disposed before anything is sent', function(t) { t.plan(1); let talkback; function observe(type, data) { if (type === 0) { talkback = data; setTimeout(() => { talkback(2); t.pass('disposed'); }, 200); return; } if (type === 1) { t.fail('data should not be sent'); return; } } interval(1000)(0, observe); });