
Research
/Security News
Contagious Interview Campaign Escalates With 67 Malicious npm Packages and New Malware Loader
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
is-string-and-not-blank
Advanced tools
3x as fast as `is-whitespace` and `whitespace-regex` thanks to `is-string-blank`. This package is a simple function that accepts an argument and returns `true` if it is a string AND it is not blank. Supports Node and Browser environments.
3x as fast as
is-whitespace
andwhitespace-regex
thanks tois-string-blank
. This package is a simple function that accepts an argument and returnstrue
if it is a string AND it is not blank. Supports Node and Browser environments.
npm:
npm install is-string-and-not-blank
yarn:
yarn add is-string-and-not-blank
See Browser usage below for more information.
const isSANB = require('is-string-and-not-blank');
// returns false because it's a blank string
console.log(isSANB(' ')); // false
// returns true because it's a string and is not blank
console.log(isSANB('foo')); // true
// returns false because it's not a string
console.log(isSANB([])); // false
// returns false because it's not a string
console.log(isSANB([ 'test', 'test', 'test'])); // false
// returns true because it's a string and it is not blank
console.log(isSANB(' foo ')); // true
The browser-ready bundle is only 566 bytes (minified and gzipped).
<script src="https://unpkg.com/is-string-and-not-blank"></script>
<script type="text/javascript">
(function() {
// returns false because it's a blank string
console.log(isSANB(' ')); // false
// returns true because it's a string and is not blank
console.log(isSANB('foo')); // true
// returns false because it's not a string
console.log(isSANB([])); // false
// returns false because it's not a string
console.log(isSANB([ 'test', 'test', 'test'])); // false
// returns true because it's a string and it is not blank
console.log(isSANB(' foo ')); // true
});
</script>
If you're using something like browserify, webpack, or rollup, then install the package as you would with Node above.
I made this after running into a bug with Firefox Klar/Focus, specifically related to underscore.string
exposing s
as the global, and that WebView overriding the global variable s
. See mozilla-mobile/focus-android#4295, epeli/underscore.string#523, and epeli/underscore.string#415.
Also, using underscore.string
just for its s.isBlank
function is not preferable, and is-whitespace
, and all other solutions did not save me the stress of having to type out if (typeof foo === 'string' && !isBlank(foo))
.
This is a simple package that returns true
if and only if the argument passed is a String and it is not blank, otherwise it returns false
. No more false positives for arguments that are Arrays or other types (which for some reason other authors did not consider...?).
Other packages out there solve this problem similarly, however they do not return the same conditional test:
if (typeof str === 'string' && !isWhitespace(str))
is-whitespace
aboveis-whitespace
and is-string-blank
aboveSee the test folder for a benchmark check integrated with the tests.
ℹ whitespace-regex x 44,939,232 ops/sec ±2.44% (85 runs sampled)
ℹ is-string-and-not-blank x 145,034,505 ops/sec ±2.33% (86 runs sampled)
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |
FAQs
3x as fast as `is-whitespace` and `whitespace-regex` thanks to `is-string-blank`. This package is a simple function that accepts an argument and returns `true` if it is a string AND it is not blank. Supports Node and Browser environments.
The npm package is-string-and-not-blank receives a total of 97,842 weekly downloads. As such, is-string-and-not-blank popularity was classified as popular.
We found that is-string-and-not-blank demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.