JSPM

@igor.dvlpr/encode-entities

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q15727F
  • License MIT

πŸƒβ€β™‚οΈ Fast and simple Map and RegExp based HTML entities encoder. 🍁

Package Exports

  • @igor.dvlpr/encode-entities
  • @igor.dvlpr/encode-entities/dist/index.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@igor.dvlpr/encode-entities) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

πŸƒβ€β™‚οΈ Encode Entities 🍁


πŸƒβ€β™‚οΈ Fast and simple Map and RegExp based HTML entities encoder. 🍁



πŸ’– Support further development

I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. β˜•
Thank you for supporting my efforts! πŸ™πŸ˜Š


Donate to igorskyflyer

@igorskyflyer


Fast and simple Map and RegExp based HTML entities encoder. In order to overcome different methods of possible XSS attacks, it by default encodes the following characters: <**, **>, ", ', &, =, `, !, @, $, %, (, ), +, {, }, [, ].
You can however remove any of these rules and/or add your own.


Uses the @igor.dvlpr/mapped-replacer package.


πŸ•΅πŸΌ Usage

Install it by executing:

npm i "@igor.dvlpr/encode-entities"

🀹🏼 API

resetRules(): void

Resets the rules to the default ones.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

encoder.addRule('<', 'πŸ˜€')
encoder.addRule('>', 'πŸ˜‚')
encoder.resetRules()

console.log(encoder.encode('<strong>')) // outputs '&#60;strong&#62;'

addRule(key: string, value: string): boolean

Adds a new rule or updates the existing rule for entities encoding. Returns true if the rule was added successfully or false if not.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

encoder.addRule('β†’', '&#8594;')
console.log(encoder.encode('<a href="#">β†’</a>')) // outputs '&#60;a href&#61;&#34;#&#34;&#62;&#8594;&#60;/a&#62;'

addRules(rules: Object): boolean

Adds rules or updates the existing rules for entity encoding.
Passed object is a simple key-value object, i.e. { '<': '&#60;', '>': '&#62;' }
Returns true if the rules were added successfully or false if not.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

encoder.addRules({
  '𝕋': '&#120139;',
  'β‰ˆ': '&#8776;',
  '𝔱': '&#120113;',
})

console.log(encoder.encode('<span>𝕋 β‰ˆ 𝔱</span>')) // outputs '&#60;span&#62;&#120139; &#8776; &#120113;&#60;/span&#62;'

removeRule(key: string): boolean

Removes the rule that matches the provided key. Returns true if the rule was removed successfully or false if not.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

encoder.addRules({
  '𝕋': '&#120139;',
  'β‰ˆ': '&#8776;',
  '𝔱': '&#120113;',
})
encoder.removeRule('β‰ˆ')

console.log(encoder.rulesCount()) // outputs 20

rulesCount(): number

Gets the number of rules for entity encoding.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

encoder.addRules({
  '𝕋': '&#120139;',
  'β‰ˆ': '&#8776;',
  '𝔱': '&#120113;',
})

console.log(encoder.rulesCount()) // outputs 21

encode()

Encodes special characters in the given string to HTML entities.

import { Encoder } from '@igor.dvlpr/encode-entities'

const encoder: Encoder = new Encoder()

console.log(encoder.encode('<strong>')) // outputs '&#60;strong&#62;'

πŸͺͺ License

Licensed under the MIT license which is available here, MIT license.


@igor.dvlpr/str-is-in

🧡 Provides ways of checking whether a String is present in an Array of Strings using custom Comparators. πŸ”

@igor.dvlpr/aria

🧬 Meet Aria, an efficient Adblock filter list compiler, with many features that make your maintenance of Adblock filter lists a breeze! πŸ—‘

@igor.dvlpr/pathexists

🧲 Provides ways of properly checking if a path exists inside a given array of files/directories both on Windows and UNIX-like operating systems. πŸ—Ί

@igor.dvlpr/chars-in-string

πŸͺ Provides ways of testing whether an array of chars is present inside a given String. β˜„

@igor.dvlpr/valid-path

🧰 Provides ways of testing whether a given value can be a valid file/directory name. 🏜



Provided by Igor Dimitrijević (@igorskyflyer).