| 2.3.2 |
| ----- |
| |
| * Minimize data files, remove unnecessary files. |
| |
| 2.3.1 |
| ----- |
| |
| * Improve performance of `encode()`, `decode()` and `decodeEntity()` by using function inlining. |
| * Fix decoding HEX HTML entities in some cases. |
| |
| 2.3.0 |
| ----- |
| |
| * Add flow types. |
| |
| 2.2.0 |
| ----- |
| |
| * A fast `decodeEntity()` method to decode a single HTML entity. |
| |
| 2.1.1 |
| ----- |
| |
| * Speed up both `encode()` and `decode()` methods. |
| |
| 2.1.0 |
| ----- |
| |
| * Add `extensive` mode to `encode()` method. This mode encodes all non-printable characters, non-ASCII characters and all characters with named references. |
| |
| 2.0.6 |
| ----- |
| |
| * Handle invalid numeric HTML entities: mimic browser behaviour. |
| |
| 2.0.5 |
| ----- |
| |
| * Handling behaviour of ambiguous ampersands. |
| |
| 2.0.4 |
| ----- |
| |
| * Fix webpack build warning. |
| |
| 2.0.3 |
| ----- |
| |
| * Handle invalid numeric HTML entities. |
| |
| 2.0.2 |
| ----- |
| |
| * Handle `null` and `undefined` text values. |
| |
| 2.0.1 |
| ----- |
| |
| * Fix decoding numeric HTML entities. |
| |
| 2.0.0 |
| ----- |
| |
| * Performance was greatly improved. |
| * New API: simpler and more flexible. |
| |
| `htmlEntitiesInstance.encode(text)` -> `encode(text)` |
| |
| Before: |
| |
| ```js |
| import {AllHtmlEntities} from 'html-entities'; |
| |
| const entities = new AllHtmlEntities(); |
| console.log( |
| entities.encode('<Hello & World>') |
| ); |
| ``` |
| |
| After: |
| |
| ```js |
| import {encode} from 'html-entities'; |
| |
| console.log( |
| encode('<Hello & World>') |
| ); |
| ``` |
| |
| --- |
| |
| `instance.encodeNonASCII(text)` -> `encode(text, {mode: 'nonAscii'})` |
| |
| Before: |
| |
| ```js |
| import {AllHtmlEntities} from 'html-entities'; |
| |
| const entities = new AllHtmlEntities(); |
| console.log( |
| entities.encodeNonASCII('& © ∆') |
| ); |
| ``` |
| |
| After: |
| |
| ```js |
| import {encode} from 'html-entities'; |
| |
| console.log( |
| encode('& © ∆', {mode: 'nonAscii'}) |
| ); |
| ``` |
| |
| --- |
| |
| `instance.encodeNonASCII(text)` -> `encode(text, {mode: 'nonAsciiPrintable'})` |
| |
| Before: |
| |
| ```js |
| import {AllHtmlEntities} from 'html-entities'; |
| |
| const entities = new AllHtmlEntities(); |
| console.log( |
| entities.encodeNonASCII('& © ∆ \x01') |
| ); |
| ``` |
| |
| After: |
| |
| ```js |
| import {encode} from 'html-entities'; |
| |
| console.log( |
| encode('& © ∆ \x01', {mode: 'nonAsciiPrintable'}) |
| ); |
| ``` |
| |
| --- |
| |
| `instance.decode(text)` -> `decode(text)` |
| |
| Before: |
| |
| ```js |
| import {AllHtmlEntities} from 'html-entities'; |
| |
| const entities = new AllHtmlEntities(); |
| console.log( |
| entities.decode('<>&') |
| ); |
| ``` |
| |
| After: |
| |
| ```js |
| import {decode} from 'html-entities'; |
| |
| console.log( |
| decode('<>&') |
| ); |
| ``` |
| |
| --- |
| |
| Different XML/HTML versions are now implemented via options instead of different classes. |
| |
| Before: |
| |
| ```js |
| import {XmlEntities, Html4Entities, Html5Entities, AllHtmlEntities} from 'html-entities'; |
| |
| const xmlEntities = new XmlEntities(); |
| const html4Entities = new Html4Entities(); |
| const html5Entities = new Html5Entities(); |
| const allHtmlEntities = new AllHtmlEntities(); |
| |
| console.log(xmlEntities.encode('<>&')); |
| console.log(html4Entities.encode('<>&©')); |
| console.log(html5Entities.encode('<>&©℞')); |
| console.log(allHtmlEntities.encode('<>&©℞')); |
| |
| console.log(xmlEntities.decode('<>&')); |
| console.log(html4Entities.decode('<>&©')); |
| console.log(html5Entities.decode('<>&©℞')); |
| console.log(allHtmlEntities.decode('<>&©℞')); |
| ``` |
| |
| After: |
| |
| ```js |
| import {encode, decode} from 'html-entities'; |
| |
| console.log(encode('<>&', {level: 'xml'})); |
| console.log(encode('<>&©', {level: 'html4', mode: 'nonAscii'})); |
| console.log(encode('<>&©℞', {level: 'html5', mode: 'nonAscii'})); |
| console.log(encode('<>&©℞', {level: 'all', mode: 'nonAscii'})); |
| |
| console.log(decode('<>&', {level: 'xml'})); |
| console.log(decode('<>&©', {level: 'html4'})); |
| console.log(decode('<>&©℞', {level: 'html5'})); |
| console.log(decode('<>&©℞', {level: 'all'})); |
| ``` |