| # decode-uri-component |
| |
| [](https://travis-ci.org/SamVerschueren/decode-uri-component) [](https://coveralls.io/github/SamVerschueren/decode-uri-component?branch=master) |
| |
| > A better [decodeURIComponent](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent) |
| |
| |
| ## Why? |
| |
| - Decodes `+` to a space. |
| - Converts the [BOM](https://en.wikipedia.org/wiki/Byte_order_mark) to a [replacement character](https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character) `�`. |
| - Does not throw with invalid encoded input. |
| - Decodes as much of the string as possible. |
| |
| |
| ## Install |
| |
| ``` |
| $ npm install --save decode-uri-component |
| ``` |
| |
| |
| ## Usage |
| |
| ```js |
| const decodeUriComponent = require('decode-uri-component'); |
| |
| decodeUriComponent('%25'); |
| //=> '%' |
| |
| decodeUriComponent('%'); |
| //=> '%' |
| |
| decodeUriComponent('st%C3%A5le'); |
| //=> 'ståle' |
| |
| decodeUriComponent('%st%C3%A5le%'); |
| //=> '%ståle%' |
| |
| decodeUriComponent('%%7Bst%C3%A5le%7D%'); |
| //=> '%{ståle}%' |
| |
| decodeUriComponent('%7B%ab%%7C%de%%7D'); |
| //=> '{%ab%|%de%}' |
| |
| decodeUriComponent('%FE%FF'); |
| //=> '\uFFFD\uFFFD' |
| |
| decodeUriComponent('%C2'); |
| //=> '\uFFFD' |
| |
| decodeUriComponent('%C2%B5'); |
| //=> 'µ' |
| ``` |
| |
| |
| ## API |
| |
| ### decodeUriComponent(encodedURI) |
| |
| #### encodedURI |
| |
| Type: `string` |
| |
| An encoded component of a Uniform Resource Identifier. |
| |
| |
| ## License |
| |
| MIT © [Sam Verschueren](https://github.com/SamVerschueren) |