You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 years ago | |
|---|---|---|
| .. | ||
| .travis.yml | 3 years ago | |
| LICENSE | 3 years ago | |
| README.md | 3 years ago | |
| bench.js | 3 years ago | |
| index.js | 3 years ago | |
| package.json | 3 years ago | |
| test.js | 3 years ago | |
README.md
fast-decode-uri-component
Decodes strings encoded by encodeURI and encodeURIComponent, without throwing errors on invalid escapes, instead, it returns null.
Installation
npm install fast-decode-uri-component
Usage
const fastDecode = require('fast-decode-uri-component')
console.log(fastDecode('test')) // 'test'
console.log(fastDecode('%25')) // '%'
console.log(fastDecode('/test/hel%2Flo')) // '/test/hel/lo'
console.log(fastDecode('/test/hel%"Flo')) // null
console.log(fastDecode('%7B%ab%7C%de%7D')) // null
console.log(fastDecode('%ab')) // null
Benchmarks
You can find the benchmark file here.
# fast-decode-uri-component
ok ~539 ms (0 s + 539114308 ns)
# decodeURIComponent
ok ~6.06 s (6 s + 62305153 ns)
Acknowledgements
This project has been forked from jridgewell/safe-decode-uri-component because I wanted to change the behaviour of the library on invalid inputs, plus change some internals.
All the credits before the commit 53000fe goes to the jridgewell/safe-decode-uri-component project contributors.
Since the commit 9673ab7 the project will be maintained by @delvedor.
License
Licensed under MIT.