Add README demo in samples, update README and update typings
This commit is contained in:
25
samples/demo.js
Normal file
25
samples/demo.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const { sleep, once, delay, every, stream } = require("mhysa");
|
||||
|
||||
async function main() {
|
||||
const collector = stream
|
||||
.concat(
|
||||
stream.fromArray(["a\n", "b\n", "c\n"]),
|
||||
stream.fromArray(["d", "e"]).pipe(stream.join("-")),
|
||||
)
|
||||
.pipe(stream.split("\n"))
|
||||
.pipe(stream.flatMap(s => [s, s.toUpperCase()]))
|
||||
.pipe(stream.collect({ objectMode: true }));
|
||||
|
||||
const collected = await once(collector, "data");
|
||||
await sleep(1000); // undefined (after one second)
|
||||
console.log(await delay(collected, 1000)); // [ 'a', 'A', 'b', 'B', 'c', 'C', 'd-e', 'D-E' ] (after another second)
|
||||
await every(
|
||||
[Promise.resolve("ab"), delay("cd", 1000)],
|
||||
s => s.length === 2,
|
||||
); // true (after another second)
|
||||
await every(
|
||||
[Promise.resolve("ab"), delay("cd", 1000)],
|
||||
s => s.length === 1,
|
||||
); // false (instantly)
|
||||
}
|
||||
main();
|
||||
Reference in New Issue
Block a user