0.2.0 • Published 3 months ago

@ilteoood/re-flusso v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

image

re-flusso

re-flusso is an utility library to operate with JavaScript Streams API.

It aims to support browsers, Node.js and Edge Runtime.

Installation

npm install @ilteoood/re-flusso
pnpm install @ilteoood/re-flusso

Usage

CommonJS

const { fromArray } = require('@ilteoood/re-flusso/fromArray');

Module

import { fromArray } from '@ilteoood/re-flusso/fromArray';

APIs

import { accumulator } from '@ilteoood/re-flusso/accumulator';

const chunkSize = 3;

.pipeThrough(
    accumulator(chunkSize)
)
import { concat } from '@ilteoood/re-flusso/concat';

concat(
    fromIterable([1]),
    fromIterable([2]),
    fromIterable([3])
)
import { text } from '@ilteoood/re-flusso/fetch/text';

const response = await fetch('...')

text(response)
import { filter } from '@ilteoood/re-flusso/filter';

.pipeThrough(
    filter((value, index) => value % index === 0)
)
import { first } from '@ilteoood/re-flusso/first';

const firstItemsToKeep = 3;

.pipeThrough(
    first(firstItemsToKeep)
)
import { fromIterable } from '@ilteoood/re-flusso/fromIterable';

// With an array
fromIterable([1, 2, 3])

// With a set
fromIterable(new Set([1, 2, 3]))
import { last } from '@ilteoood/re-flusso/last';

const lastItemsToKeep = 3;

.pipeThrough(
    last(lastItemsToKeep)
)
import { map } from '@ilteoood/re-flusso/map';

.pipeThrough(
    map((value, index) => value + index)   
)
import { merge } from '@ilteoood/re-flusso/merge';

merge(
    fromIterable([1]),
    fromIterable([2]),
    fromIterable([3])
)
import { parser } from '@ilteoood/re-flusso/ndJson/parser';

.pipeThrough(
    parser()
)
import { stringify } from '@ilteoood/re-flusso/ndJson/stringify';

.pipeThrough(
    stringify()
)
import { notEmpty } from '@ilteoood/re-flusso/notEmpty';

const errorToThrow = new Error('Stream is empty');

.pipeThrough(
    notEmpty(errorToThrow)
)
import { fromRange } from '@ilteoood/re-flusso/numbers/fromRange';

fromRange(1, 3)
import { pipeline } from '@ilteoood/re-flusso/pipeline';

const destinationArray = [];

await pipeline(
    fromIterable([1, 2, 3]),
    map((value) => value * 2),
    toArray(destinationArray),
);
import { reduce } from '@ilteoood/re-flusso/reduce';

const destinationArray = [];

await pipeline(
    fromIterable([1, 2, 3]),
    reduce((accumulator, value) => accumulator + value, 0),
    toArray(destinationArray),
);
import { repeat } from '@ilteoood/re-flusso/repeat';

repeat('1', 3)
import { skip } from '@ilteoood/re-flusso/skip';

const itemsToSkip = 2;

.pipeTo(
    skip(itemsToSkip)
)
import { join } from '@ilteoood/re-flusso/strings/join';

const separator = ',';

.pipeThrough(
    join(separator)
)
import { split } from '@ilteoood/re-flusso/strings/split';

const separator = ',';

.pipeTo(
    split(separator)
)
import { toLowerCase } from '@ilteoood/re-flusso/strings/toLowerCase';

.pipeThrough(
    toLowerCase(separator)
)
import { toUpperCase } from '@ilteoood/re-flusso/strings/toUpperCase';

.pipeThrough(
    toUpperCase(separator)
)
import { toArray } from '@ilteoood/re-flusso/toArray';

const destinationArray = [];

.pipeTo(
    toArray(destinationArray)
)