fd22b0bf58
V2 (Laravel re-make)
206 lines
3.9 KiB
Markdown
206 lines
3.9 KiB
Markdown
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'}));
|
|
```
|