
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
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 81,966 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.