Comments (5)
Such a nice library and it falls on null? Uauuu, this should not happen... Now I have to have multiple times in my code if(... null) instead of one if in the library...
Please do it...
Thank you!
from he.
I think it's reasonable for a library to fail when given an input without an "obviously correct" way to handle it. Encoding null
→ "null"
seems a sensible interpretation too.
Numbers are also rejected, likely for similar reasons.
To specify your own logic for the null case and avoid repeating the check in your other code, you could create a simple wrapper function in your code:
var he = function(string, opt) { return string === null ? "" : he(string, opt) };
Then just use he
as you would otherwise.
from he.
Agreed with @anko (although you’d use he.encode
or he.decode
instead of he
directly). null
→ "null"
is a reasonable expectation as well. Use he as documented and create a wrapper as needed.
from he.
Okay,
After all, encoding null string should fail...
I'll use a wrapper, Thx!
from he.
This tip helped me out. I wrote my wrapper as such. I'm sure it could be consolidated but thought it might help someone else as is:
function isInt(value) {
return !isNaN(value) &&
parseInt(Number(value)) == value &&
!isNaN(parseInt(value, 10));
}
function isFloat(n) {
return Number(n) === n && n % 1 !== 0;
}
// Add encodeall method to avoid potential issues
he.encodeall = function(string, opt) {
if (string === null) {
return "";
} else if (isInt(string) || isFloat(string)) {
return string;
} else {
return he.encode(string, opt)
}
};
now I just use he as such: he.encodeall(null)
from he.
Related Issues (20)
- Minified version? HOT 10
- Error when minimizing with Google closure-compiler HOT 1
- Non-English support? HOT 1
- Unescape from HTML and escape to JSON HOT 19
- useNamedReferences doesn't work for all characters
- ASCII character 128 not being encoded by he HOT 1
- Let's set up a modern Rollup-based build system HOT 4
- Section 12.2.4.69 of the HTML spec, referenced in README.md, does not exist HOT 1
- Allow to ignore specific elements in the string, like code HOT 3
- Chrome: Uncaught SyntaxError: Unexpected token '<' in he.js:32 HOT 2
- Cannot set property 'he' of undefined
- Memory leak
- Feature request: Add optional support for ISO-8859-1 characters
- What is the correct source for the lib?
- npm audit: 26 vulnerabilities HOT 3
- Git.io deprecation notice
- A new feature suggestion: add an escape option to decode function HOT 1
- As is, code produces an JS error HOT 1
- Not sure why it's not decoding a particular paragraph
- Certain named entities don't decode (& and <) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from he.