Nonconformist Propaganda Machine

    parse-entities
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.2 • Public • Published

    parse-entities

    Build Coverage Downloads Size

    Parse HTML character references: fast, spec-compliant, positional information.

    Installation

    npm:

    npm install parse-entities

    Usage

    var decode = require('parse-entities')
     
    decode('alpha &amp bravo')
    // => alpha & bravo
     
    decode('charlie &copycat; 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, &copycat for ©cat. This behaviour is spec-compliant but can lead to unexpected results.

    options.warning

    Error handler (Function?).

    options.text

    Text handler (Function?).

    options.reference

    Reference handler (Function?).

    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:

    {
      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 &amp bar Missing semicolon (named)
    2 foo &#123 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 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

    License

    MIT © Titus Wormer

    Install

    npm i parse-entities@1.2.2

    Version

    1.2.2

    License

    MIT

    Unpacked Size

    21.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • wooorm