Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// Subscribe / add side effects
{
Kefir.sequentially(1000, [1, 2]).onValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).offValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().onValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().offValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).onEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).offEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).onAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).offAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).log('my stream');
Kefir.sequentially(1000, [1, 2]).offLog('my stream');
Kefir.sequentially(1000, [1, 2]).toPromise().then((x: number) => console.log('fulfilled with:', x));
Kefir.sequentially(1000, [1, 2]).observe({});
Kefir.sequentially(1000, [1, 2]).observe({
value: _ => {},
error: _ => {},
end: () => {},
});
Kefir.sequentially(1000, [1, 2]).observe();
const subscription = Kefir.sequentially(1000, [1, 2]).observe(
_ => {},
_ => {},
() => {}
);
if (!subscription.closed) subscription.unsubscribe();
}
// Modify an observable
{
let observable01: Stream = Kefir.sequentially(100, [1, 2, 3]).map(x => x + 1);
let observable06: Stream = Kefir.sequentially(100, [1, 2, 3]).flatMapLatest(x => Kefir.interval(40, x).take(4));
let observable07: Stream = Kefir.sequentially(100, [1, 2, 3]).flatMapFirst(x => Kefir.interval(40, x).take(4));
let observable08: Stream = Kefir.sequentially(100, [1, 2, 3]).flatMapConcat(x => Kefir.interval(40, x).take(4));
let observable09: Stream = Kefir.sequentially(100, [1, 2, 3]).flatMapConcurLimit(x => Kefir.interval(40, x).take(6), 2);
let observable10: Stream = Kefir.sequentially(100, [1, 2]).valuesToErrors().flatMapErrors(x => Kefir.interval(40, x).take(2));
}
// Combine two observables
{
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5, 6, 7, 8]);
let bar: Property = Kefir.sequentially(200, [false, true, false]).delay(40).toProperty(() => true);
let observable01: Stream = foo.filterBy(bar);
}
{
let a: Property = Kefir.sequentially(200, [2, 3]).toProperty(() => 1);
let b: Stream = Kefir.interval(100, 0).delay(40).take(5);
let observable02: Property = a.sampledBy(b)
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4]);
let bar: Stream = Kefir.later(250, 0);
let observable03: Stream = foo.skipUntilBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4]);
let bar: Stream = Kefir.later(250, 'hello');
let observable04: Stream = foo.takeUntilBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5, 6, 7, 8]).delay(40);
let bar: Stream = Kefir.sequentially(300, [1, 2])
// Convert observables
{
let property: Property = Kefir.sequentially(100, [1, 2, 3]).toProperty(() => 0);
let stream: Stream = Kefir.sequentially(100, [1, 2, 3]).toProperty(() => 0).changes();
}
// Subscribe / add side effects
{
Kefir.sequentially(1000, [1, 2]).onValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).offValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().onValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().offValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).onEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).offEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).onAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).offAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).log('my stream');
Kefir.sequentially(1000, [1, 2]).offLog('my stream');
Kefir.sequentially(1000, [1, 2]).toPromise().then((x: number) => console.log('fulfilled with:', x));
Kefir.sequentially(1000, [1, 2]).observe({});
Kefir.sequentially(1000, [1, 2]).observe({
value: _ => {},
error: _ => {},
end: () => {},
});
Kefir.sequentially(1000, [1, 2]).observe();
const subscription = Kefir.sequentially(1000, [1, 2]).observe(
_ => {},
_ => {},
() => {}
);
import * as R from "ramda"
import K from "kefir"
let action$ = K.sequentially(200, [R.inc, R.inc, R.inc, R.inc, R.dec, R.dec, R.dec, R.dec])
let a = 0
action$.observe(fn => {
a = fn(a)
console.log(a)
})
// Next: kinda works but global variables aren't what we want to end with...
}, 1000);
return () => clearInterval(intervalId);
});
}
// Create a property
{
let property01: Property = Kefir.constant(1);
let property02: Property = Kefir.constantError(1);
//let property03: Property = Kefir.fromPromise(new Promise(fulfill => fulfill(1)));
}
// Convert observables
{
let property: Property = Kefir.sequentially(100, [1, 2, 3]).toProperty(() => 0);
let stream: Stream = Kefir.sequentially(100, [1, 2, 3]).toProperty(() => 0).changes();
}
// Subscribe / add side effects
{
Kefir.sequentially(1000, [1, 2]).onValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).offValue(x => console.log('value:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().onValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).valuesToErrors().offValue(x => console.log('error:', x));
Kefir.sequentially(1000, [1, 2]).onEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).offEnd(() => console.log('stream ended'));
Kefir.sequentially(1000, [1, 2]).onAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).offAny(event => console.log('event:', event));
Kefir.sequentially(1000, [1, 2]).log('my stream');
Kefir.sequentially(1000, [1, 2]).offLog('my stream');
Kefir.sequentially(1000, [1, 2]).toPromise().then((x: number) => console.log('fulfilled with:', x));
Kefir.sequentially(1000, [1, 2]).observe();
const subscription = Kefir.sequentially(1000, [1, 2]).observe(
_ => {},
_ => {},
() => {}
);
if (!subscription.closed) subscription.unsubscribe();
}
// Modify an observable
{
let observable01: Stream = Kefir.sequentially(100, [1, 2, 3]).map(x => x + 1);
let observable02: Stream = Kefir.sequentially(100, [1, 2, 3]).filter(x => x > 1);
let observable03: Stream = Kefir.sequentially(100, [1, 2, 3]).take(2);
let observable29: Stream = Kefir.sequentially(100, [1, 2, 3]).takeErrors(2);
let observable04: Stream = Kefir.sequentially(100, [1, 2, 3]).takeWhile(x => x < 3);
let observable05: Stream = Kefir.sequentially(100, [1, 2, 3]).last();
let observable06: Stream = Kefir.sequentially(100, [1, 2, 3]).skip(2);
let observable07: Stream = Kefir.sequentially(100, [1, 3, 2]).skipWhile(x => x < 3);
let observable08: Stream = Kefir.sequentially(100, [1, 2, 2, 3, 1]).skipDuplicates();
let observable09: Stream = Kefir.sequentially(100, [1, 2, 2.1, 3, 1]).skipDuplicates((a, b) => Math.round(a) === Math.round(b));
let observable10: Stream = Kefir.sequentially(100, [1, 2, 2, 3]).diff((prev, next) => next - prev, 0);
let observable11: Stream = Kefir.sequentially(100, [1, 2, 2, 3]).scan((prev, next) => next + prev, 0);
let observable12: Stream = Kefir.sequentially(100, [[1], [], [2,3]]).flatten();
let observable13: Stream = Kefir.sequentially(100, [1, 2, 3, 4]).flatten(x => x % 2 === 0 ? [x * 10] : []);
let observable14: Stream = Kefir.sequentially(200, [1, 2, 3]).delay(100);
let observable15: Stream = Kefir.sequentially(750, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).throttle(2500);
let observable16: Stream = Kefir.sequentially(100, [1, 2, 3, 0, 0, 0, 4, 5, 6]).filter(x => x > 0).debounce(250);
let observable17: Stream = Kefir.sequentially(100, [0, -1, 2, -3]).valuesToErrors(x => {
return {convert: x < 0, error: x * 2};
});
let observable18: Stream = Kefir.sequentially(100, [0, -1, 2, -3]).valuesToErrors().errorsToValues((x: number) => {
end: () => {},
});
Kefir.sequentially(1000, [1, 2]).observe();
const subscription = Kefir.sequentially(1000, [1, 2]).observe(
_ => {},
_ => {},
() => {}
);
if (!subscription.closed) subscription.unsubscribe();
}
// Modify an observable
{
let observable01: Stream = Kefir.sequentially(100, [1, 2, 3]).map(x => x + 1);
let observable02: Stream = Kefir.sequentially(100, [1, 2, 3]).filter(x => x > 1);
let observable03: Stream = Kefir.sequentially(100, [1, 2, 3]).take(2);
let observable29: Stream = Kefir.sequentially(100, [1, 2, 3]).takeErrors(2);
let observable04: Stream = Kefir.sequentially(100, [1, 2, 3]).takeWhile(x => x < 3);
let observable05: Stream = Kefir.sequentially(100, [1, 2, 3]).last();
let observable06: Stream = Kefir.sequentially(100, [1, 2, 3]).skip(2);
let observable07: Stream = Kefir.sequentially(100, [1, 3, 2]).skipWhile(x => x < 3);
let observable08: Stream = Kefir.sequentially(100, [1, 2, 2, 3, 1]).skipDuplicates();
let observable09: Stream = Kefir.sequentially(100, [1, 2, 2.1, 3, 1]).skipDuplicates((a, b) => Math.round(a) === Math.round(b));
let observable10: Stream = Kefir.sequentially(100, [1, 2, 2, 3]).diff((prev, next) => next - prev, 0);
let observable11: Stream = Kefir.sequentially(100, [1, 2, 2, 3]).scan((prev, next) => next + prev, 0);
let observable12: Stream = Kefir.sequentially(100, [[1], [], [2,3]]).flatten();
let observable13: Stream = Kefir.sequentially(100, [1, 2, 3, 4]).flatten(x => x % 2 === 0 ? [x * 10] : []);
let observable14: Stream = Kefir.sequentially(200, [1, 2, 3]).delay(100);
let observable15: Stream = Kefir.sequentially(750, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).throttle(2500);
let observable16: Stream = Kefir.sequentially(100, [1, 2, 3, 0, 0, 0, 4, 5, 6]).filter(x => x > 0).debounce(250);
let observable17: Stream = Kefir.sequentially(100, [0, -1, 2, -3]).valuesToErrors(x => {
return {convert: x < 0, error: x * 2};
}).endOnError();
let observable22: Stream = Kefir.sequentially(100, [0, -1, 2, -3]).valuesToErrors(x => {
return {convert: x < 0, error: x};
}).ignoreValues();
let observable23: Stream = Kefir.sequentially(100, [0, -1, 2, -3]).valuesToErrors(x => {
return {convert: x < 0, error: x};
}).ignoreErrors();
let observable24: Stream = Kefir.sequentially(100, [1, 2, 3]).ignoreEnd();
let ovservable25: Stream = Kefir.sequentially(100, [1, 2, 3]).beforeEnd(() => 0);
let observable26: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5]).slidingWindow(3, 2)
let observable27: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5]).bufferWhile(x => x !== 3);
let observable30: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5]).bufferWithCount(2);
let observable31: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5]).bufferWithTimeOrCount(330, 10);
{
var myTransducer: any;
let observable28: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5, 6]).transduce(myTransducer);
}
let observable28: Stream = Kefir.sequentially(100, [0, 1, 2, 3]).withHandler((emitter: Emitter, event: Event) => {
if (event.type === 'end') {
emitter.emit('bye');
emitter.end();
}
if (event.type === 'value') {
for (var i = 0; i < event.value; i++) {
emitter.emit(event.value);
}
}
});
type First = 'first';
type Second = 'second';
let observable32: Stream = Kefir.sequentially(100, ['first', 'second']).filter((value): value is First => value === 'first');
}
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4]);
let bar: Stream = Kefir.later(250, 0);
let observable03: Stream = foo.skipUntilBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4]);
let bar: Stream = Kefir.later(250, 'hello');
let observable04: Stream = foo.takeUntilBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5, 6, 7, 8]).delay(40);
let bar: Stream = Kefir.sequentially(300, [1, 2])
let observable05: Stream = foo.bufferBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3, 4, 5, 6, 7, 8]);
let bar: Stream = Kefir.sequentially(200, [false, true, false]).delay(40);
let observable06: Stream = foo.bufferWhileBy(bar);
}
{
let foo: Stream = Kefir.sequentially(100, [1, 2, 3]);
let bar: Stream = Kefir.sequentially(100, [1, 2, 3]).delay(40);
let observable07: Stream = foo.awaiting(bar);
}
}
newEvents.push(event);
});
if (newPulseEvents.length === 0) {
return;
}
reconstructedPulseEvents.push(newPulseEvents);
});
await queue.DEV__swap(newEvents);
if (reconstructedPulseEvents.length === 0) {
ctx.incoming$ = null;
} else {
ctx.incoming$ = kefir.sequentially(5, reconstructedPulseEvents);
}
ctx.newPulses = [];
task.title = "new journey constructed";
}
},