another-string-builder

    1.0.0 • Public • Published

    Node String Builder

    Why use a string builder?

    • A string builder greatly reduces execution time and system resources.
    • Vastly improves memory management
    • Can shave minutes off of large concatenation / HTML build loops
    • More commonly seen in Java and C#, so why not Javascript?
    • Don't take my word for it. Google 'Why use a string builder' to find out more

    When to use a string builder

    When you are looping through large amounts of data or creating a number of elements over an iterative process; it is there that typically you'll find the most accepted use. Using a string builder for everything would not make sense as concatenation will do just fine. But anywhere you're dynamically creating a large set of elements, its a very good idea. Don't believe those who say it's negligible, run a test and see the performance improvements yourself.

    Performance Metrics - coming soon...

    • Benchmark test in node
    • Graph the result over # of strings to resource improvement at scale

    Code Examples

    Basic syntax:
    
    //pretend fetch from DB result:
    var DBresult = {
      state: 'Texas',
      food: 'toast',
      adj: 'good'
    }
    
    //string builder syntax
    let sb = new StringBuilder("<ul>", "</ul>");
    
    for(i=0; i < 10000;i++){
       sb.append("<li>")
       sb.append(DBresult.state);
       sb.append(DBresult.food);
       sb.append("is");
       sb.append(DBresult.adj);
       sb.append("</li>");
    }
    
    document.getElementById('myList').insertAdjacentHTML('beforeend',sb.toString(' ',true)); //Lightning Flash!
    
    
    let ss = new StringBuilder("<p>", "</p>");
    sb.append("toast");
    sb.append("is");
    sb.append("good.");
    sb.prepend("Texas");
    
    ---
    {
    console.log(sb.length); // 25 
    console.log(sb.toString(' ')); //"<p>Texas toast is good.</p>"
    console.log(sb.length); // 27 (includes join character insertions from toString's 1st parameter)
    console.log(sb.toString('-')); //"<p>Texas-toast-is-good.</p>"
    console.log(sb.toString(true)); //"<p>Texastoastisgood.</p>"
    console.log(sb.toString()); //empty ""
    }
    
    // OR //
    
    {
    //clear and keep prefix
    console.log(sb.toString('',true,true)); //"<p>Texastoastisgood.</p>"
    console.log(sb.toString()); // "<p></p>"
    }
    

    Install

    npm i another-string-builder

    DownloadsWeekly Downloads

    19

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    5.43 kB

    Total Files

    3

    Last publish

    Collaborators

    • ekarisch