npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

html-escape-unescape

v1.0.3

Published

A lightweight library to meet all you HTML encoding and decoding needs in Angular.

Downloads

366

Readme

html-escape-unescape

Build Status

A lightweight library to meet all your HTML encoding/decoding needs, in Angular, using the power of pipes. 🎯

Installation

npm install -S html-escape-unescape

If you are using npm version v5.0.0 or above, you may omit the '-S' flag because npm now automatically updates your package.json and package-lock.json.

Usage

  1. Import into your.module.ts
import { HTMLEscapeUnescapeModule } from 'html-escape-unescape'

// and  add in your module's declarations array 
imports: [ 
    HTMLEscapeUnescapeModule 
    ]
  1. Start using the pipes Using html-escape-unescape is as easy as piping your value to the appropriate pipe in your.component.html.
{{ someStringToBeEscaped | escape }}
{{ someStringToBeUnescaped | unescape }}

Yay! it works. 🎉

This will do for most of the use cases.

But that's not it, there's more

Escape/Unescape strings multiple times

Sometimes you need to escape a string multiple times. Consider the following case:

let str = "<strong>Yo</strong>";

Here str is a doubly HTML encoded string. So, to decode it, you need to unescape it twice.

The string str when HTML decoded once, using the unescape pipe gives <strong>Yo</strong>

Passing the result through the unescape pipe again, would result in: <strong>Yo</strong>

You can do it in a better way

To unescape a string N times, just pass in a number as a parameter. Where N is the number of times you want the pipe to be chained.

{{ someStringToBeUnescapedNtimes | unescape:N }}

And the same goes for escaping

{{ someStringToBeEscapedNtimes | escape:N }}

What if you don't know how many times a string has been encoded?🧐

It is, often, difficult to determine how many times a string was HTML encoded, or there can be inputs which are encoded for non-deterministic/variable number of times.

Ask the pipe to be recursive 😎

Use the 'recursive' parameter with the unescape pipe and let it do the rest. For any string which was encoded unknown number of times, the recursive parameter to the unescape pipe will unescape the text untill it is fully unescaped to readable HTML text.

{{ someStringToBeUnescaped?times | unescape:'recursive' }}

Upcoming 🏁

A stand alone npm package which can be used in any Javascript runtime. Therefore it would be usable in Angular, React, NodeJS, etc.

Troubleshooting

Please follow these guidelines when reporting bugs and feature requests:

  1. Use GitHub Issues board to report bugs and feature requests (not our email address)
  2. Please always write steps to reproduce the error. That way we can focus on fixing the bug, not scratching our heads trying to reproduce it.

Thanks for understanding!

License

The MIT License (see the LICENSE file for the full text)