node/tools/eslint/node_modules/parse-entities
Rich Trott aaee43473b tools: update to ESLint 4.1.0
Update ESLint to 4.1.0. This fixes a bug that previously prevented us
from using the new and stricter indentation checking.

Refs: https://github.com/eslint/eslint/issues/8721
PR-URL: https://github.com/nodejs/node/pull/13895
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-06-27 06:16:51 -07:00
..
index.js tools: update to ESLint 4.1.0 2017-06-27 06:16:51 -07:00
LICENSE doc: add eslint-plugin-markdown 2017-04-25 00:06:17 +03:00
package.json tools: update to ESLint 4.1.0 2017-06-27 06:16:51 -07:00
readme.md tools: update to ESLint 4.1.0 2017-06-27 06:16:51 -07:00

parse-entities Build Status Coverage Status

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 &copy; foxtrot &#8800; golf &#x1D306; 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 parse value as an attribute value

  • nonTerminated (boolean, default: true) — Whether to allow non-terminated entities, such as &copycat 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 invoking warning

  • textContext ('*', optional) — Context used when invoking text

  • referenceContext ('*', optional) — Context used when invoking reference

  • position (Location or Position, optional) — Starting position of value, 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 error
  • position (Position) — Place at which the parse error occurred
  • code (number) — Identifier of reason for triggering a parse error

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 &#128; baz Disallowed reference
7 Foo &#xD800; 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 content
  • location (Location) — Location at which value 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 reference
  • location (Location) — Location at which value starts and ends
  • source (Location) — Source of character reference

License

MIT © Titus Wormer