rOACCT/node_modules/parse-entities49c99f97fe9aissn4frontend
readme.md
parse-entities
[![Build][build-badge]][build] [![Coverage][coverage-badge]][coverage] [![Downloads][downloads-badge]][downloads] [![Size][size-badge]][size]
Parse HTML character references: fast, spec-compliant, positional information.
Install
[npm][]:
sh npm install parse-entities
Use
js var decode = require('parse-entities') decode('alpha & bravo') // => alpha & bravo decode('charlie ©cat; delta') // => charlie ©cat; delta decode('echo © foxtrot ≠ golf 𝌆 hotel') // => echo © foxtrot ≠ golf 𝌆 hotel
API
parseEntities(value[, options])
options
options.additional
Additional character to accept (string?, default: ''). This allows other characters, without error, when following an ampersand.
options.attribute
Whether to parse value as an attribute value (boolean?, default: false).
options.nonTerminated
Whether to allow non-terminated entities (boolean, default: true). For example, ©cat for ©cat. This behaviour is spec-compliant but can lead to unexpected results.
options.warning
Error handler ([Function?][warning]).
options.text
Text handler ([Function?][text]).
options.reference
Reference handler ([Function?][reference]).
options.warningContext
Context used when invoking warning ('*', optional).
options.textContext
Context used when invoking text ('*', optional).
options.referenceContext
Context used when invoking reference ('*', optional)
options.position
Starting position of value (Location or Position, optional). Useful when dealing with values nested in some sort of syntax tree. The default is:
js { start: {line: 1, column: 1, offset: 0}, indent: [] }
Returns
string — Decoded value.
function warning(reason, position, code)
Error handler.
Context
this refers to warningContext when given to parseEntities.
Parameters
reason
Human-readable reason for triggering a parse error (string).
position
Place at which the parse error occurred (Position).
code
Identifier of reason for triggering a parse error (number).
The following codes are used:
Code | Example | Note |
---|---|---|
1 | foo & bar | Missing semicolon (named) |
2 | foo { bar | Missing semicolon (numeric) |
3 | Foo &bar baz | Ampersand did not start a reference |
4 | Foo &# | Empty reference |
5 | Foo &bar; baz | Unknown entity |
6 | Foo € baz | [Disallowed reference][invalid] |
7 | Foo � baz | Prohibited: outside permissible unicode range |
function text(value, location)
Text handler.
Context
this refers to textContext when given to parseEntities.
Parameters
value
String of content (string).
location
Location at which value starts and ends (Location).
function reference(value, location, source)
Character reference handler.
Context
this refers to referenceContext when given to parseEntities.
Parameters
value
Encoded character reference (string).
location
Location at which value starts and ends (Location).
source
Source of character reference (Location).
Related
- [stringify-entities](https://github.com/wooorm/stringify-entities) — Encode HTML character references
- [character-entities](https://github.com/wooorm/character-entities) — Info on character entities
- [character-entities-html4](https://github.com/wooorm/character-entities-html4) — Info on HTML4 character entities
- [character-entities-legacy](https://github.com/wooorm/character-entities-legacy) — Info on legacy character entities
- [character-reference-invalid](https://github.com/wooorm/character-reference-invalid) — Info on invalid numeric character references
License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://img.shields.io/travis/wooorm/parse-entities.svg
[build]: https://travis-ci.org/wooorm/parse-entities
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/parse-entities.svg
[coverage]: https://codecov.io/github/wooorm/parse-entities
[downloads-badge]: https://img.shields.io/npm/dm/parse-entities.svg
[downloads]: https://www.npmjs.com/package/parse-entities
[size-badge]: https://img.shields.io/bundlephobia/minzip/parse-entities.svg
[size]: https://bundlephobia.com/result?p=parse-entities
[npm]: https://docs.npmjs.com/cli/install
[license]: license
[author]: https://wooorm.com
[warning]: #function-warningreason-position-code
[text]: #function-textvalue-location
[reference]: #function-referencevalue-location-source
[invalid]: https://github.com/wooorm/character-reference-invalid