Neologistic Paraphasic Mumbling
    Wondering what’s next for npm?Check out our public roadmap! »

    preserve

    0.2.0 • Public • Published

    preserve NPM version

    Temporarily substitute tokens in the given string with placeholders, then put them back after transforming the string.

    Useful for protecting tokens, like templates in HTML, from being mutated when the string is transformed in some way, like from a formatter/beautifier.

    Example without preserve

    Let's say you want to use js-beautify on a string of html with Lo-Dash/Underscore templates, such as: <ul><li><%= name %></li></ul>:

    js-beautify will render the template unusable (and apply incorrect formatting because of the unfamiliar syntax from the Lo-Dash template):

    <ul>
      <li>
        <%=n ame %>
      </li>
    </ul>

    Example with preserve

    Correct.

    <ul>
      <li><%= name %></li>
    </ul>

    For the record, this is just a random example, I've had very few issues with js-beautify in general. But with or without js-beautify, this kind of token mangling does happen sometimes when you use formatters, beautifiers or similar tools.

    Install

    Install with npm

    npm i preserve --save

    Run tests

    npm test

    API

    .before

    Replace tokens in str with a temporary, heuristic placeholder.

    • str {String}
    • returns {String}: String with placeholders.
    tokens.before('{a\\,b}');
    //=> '{__ID1__}'

    .after

    Replace placeholders in str with original tokens.

    • str {String}: String with placeholders
    • returns {String} str: String with original tokens.
    tokens.after('{__ID1__}');
    //=> '{a\\,b}'

    Contributing

    Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

    Author

    Jon Schlinkert

    License

    Copyright (c) 2015-2015, Jon Schlinkert. Released under the MIT license


    This file was generated by verb on January 10, 2015.

    Install

    npm i preserve

    DownloadsWeekly Downloads

    2,736,099

    Version

    0.2.0

    License

    MIT

    Last publish

    Collaborators

    • avatar