preserve

WebJar for preserve

License

License

MIT
GroupId

GroupId

org.webjars.bowergithub.jonschlinkert
ArtifactId

ArtifactId

preserve
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

preserve
WebJar for preserve
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/jonschlinkert/preserve

Download preserve

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.bowergithub.jonschlinkert/preserve/ -->
<dependency>
    <groupId>org.webjars.bowergithub.jonschlinkert</groupId>
    <artifactId>preserve</artifactId>
    <version>0.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.bowergithub.jonschlinkert/preserve/
implementation 'org.webjars.bowergithub.jonschlinkert:preserve:0.2.0'
// https://jarcasting.com/artifacts/org.webjars.bowergithub.jonschlinkert/preserve/
implementation ("org.webjars.bowergithub.jonschlinkert:preserve:0.2.0")
'org.webjars.bowergithub.jonschlinkert:preserve:jar:0.2.0'
<dependency org="org.webjars.bowergithub.jonschlinkert" name="preserve" rev="0.2.0">
  <artifact name="preserve" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.bowergithub.jonschlinkert', module='preserve', version='0.2.0')
)
libraryDependencies += "org.webjars.bowergithub.jonschlinkert" % "preserve" % "0.2.0"
[org.webjars.bowergithub.jonschlinkert/preserve "0.2.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

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.

Versions

Version
0.2.0