Nanotechnology Promises Much

    intercept-stdout
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/intercept-stdout package

    0.1.2 • Public • Published

    Node.js Intercept stdout

    intercept-stdout captures or modifies stdout and/or stderr.

    Based on this gist

    Capture

    var intercept = require("intercept-stdout"),
        captured_text = "";
     
    var unhook_intercept = intercept(function(txt) {
        captured_text += txt;
    });
     
    console.log("This text is being captured");
     
    // Let's stop capturing stdout.
    unhook_intercept();
     
    console.log("This text is not being captured");

    Modify

    var intercept = require("intercept-stdout");
     
    var unhook_intercept = intercept(function(txt) {
        return txt.replace( /this/i , 'that' );
    });
     
    console.log("This text is being modified");
    // -> that text is being modified

    Test

    npm install
    npm test
    

    Separating Error Text

    Starting in Version 0.1.2, you may now specify two interceptor callbacks. If a second interceptor callback is specified, the second callback will be invoked for stderr output.

    Errors and Warnings

    Versions > 0.1.1 hook both stdout and stderr. This change enables capturing of console.log, console.info, console.warn, and console.error. This change may break pre-existing interceptors if your interceptor expected output to be a full line of text.

    About Colorization

    Popular modules such as mocha and winston may colorize output by inserting ANSI escape codes into the output stream. Both mocha and winston make multiple calls to the output streams while colorizing a line -- in order to be robust, your code should anticipate and deal with this.

    Keywords

    Install

    npm i intercept-stdout

    DownloadsWeekly Downloads

    36,549

    Version

    0.1.2

    License

    MIT

    Last publish

    Collaborators

    • stevefar