Nameless Package Manager

    rxline
    TypeScript icon, indicating that this package has built-in type declarations

    0.9.4 • Public • Published

    RxLine

    Build Status Code Coverage NPM Version License

    A Javascript task pipeline library built on top of RxJS. It helps you manage complex (possibly async) operations on collections (or streams) of entities. A common example is performing a series of tasks on a list of files (compiling sass to css or markdown to html).

    npm i rxline
    

    Usage

    Super basic example:

    import { line } from 'rxline';
     
    line([1, 2, 3, 4])
      .pipe(x => x * 2)
      .pick(x => x > 3)
      .collect(console.log);

    More real-life example:

    import { concurrently } from 'rxline';
    import { files, pathMatch, 
             readFile, writeFile, 
             mapExt, mapContent, mapRoot } from 'rxline/fs';
     
    files('.')                                                   // --> all files in current directory (and sub-directories)
      .pick(pathMatch(/\.js$/))                                  // --> pick javascript files
      .peek(f => console.log('-->' + f.path))                    // --> log each file path
      .pipe(readFile(),                                          // --> read contents of the file
            mapContent(c => ({ lines: c.split('\n').length })),  // --> map its content to an object with number of lines in it
            mapContent(c => JSON.stringify(c, null, 2)),         // --> also stringify the json object
            mapExt(() => '.json'),                               // --> change extension to `.json`
            mapRoot(() => '.meta'),                              // --> change root directory to `.meta`
            writeFile())                                         // --> write the files
      .process(concurrently);                                    // --> all in parallel.

    👉Checkout the Wiki for more details.

    Why?

    Because Gulp felt too opaque for me. I needed to be more in control.

    Install

    npm i rxline

    DownloadsWeekly Downloads

    48

    Version

    0.9.4

    License

    MIT

    Unpacked Size

    157 kB

    Total Files

    151

    Last publish

    Collaborators

    • lorean.victor