Rich Trott
1562fb9ea7
|
8 years ago | |
---|---|---|
.. | ||
LICENSE | 8 years ago | |
index.js | 8 years ago | |
package.json | 8 years ago | |
readme.md | 8 years ago |
readme.md
parse-entities
Parse HTML character references: fast, spec-compliant, positional information.
Installation
npm:
npm install parse-entities
Usage
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
-
additional
(string
, optional, default:''
) — Additional character to accept when following an ampersand (without error) -
attribute
(boolean
, optional, default:false
) — Whether to parsevalue
as an attribute value -
nonTerminated
(boolean
, default:true
) — Whether to allow non-terminated entities, such as©cat
to©cat
. This behaviour is spec-compliant but can lead to unexpected results -
warning
(Function
, optional) — Error handler -
text
(Function
, optional) — Text handler -
reference
(Function
, optional) — Reference handler -
warningContext
('*'
, optional) — Context used when invokingwarning
-
textContext
('*'
, optional) — Context used when invokingtext
-
referenceContext
('*'
, optional) — Context used when invokingreference
-
position
(Location
orPosition
, optional) — Startingposition
ofvalue
, useful when dealing with values nested in some sort of syntax tree. The default is:{ "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
(string
) — Reason (human-readable) for triggering a parse errorposition
(Position
) — Place at which the parse error occurredcode
(number
) — Identifier of reason for triggering a parse error
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 |
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
) — String of contentlocation
(Location
) — Location at whichvalue
starts and ends
function reference(value, location, source)
Character reference handler.
Context
this
refers to referenceContext
when given to parseEntities
.
Parameters
value
(string
) — Encoded character referencelocation
(Location
) — Location at whichvalue
starts and endssource
(Location
) — Source of character reference