
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@engineersamuel/istruthy
Advanced tools
npm i @engineersamuel/istruthy
Most truthiness libraries are either extremely basic or simply adhere to the standard defnition of Truthy in JavaScript.
However, what happens when you want to consider ''
, []
, {}
, 0
, or [null]
false? This is where @engineersamuel/istruthy
comes in.
$ npm i -D @engineersamuel/istruthy
import { isTruthy, isFalsy } from '@engineersamuel/istruthy';
console.log(isTruthy('abc')); // prints true
console.log(isTruthy('', { isEmptyStringFalse: true })); // prints false
console.log(isFalse('abc')); // prints false
console.log(isFalsy('', { isEmptyStringFalse: true })); // prints true
See the *.spec.ts
files in the ./test directory for a great reference on using isTruthy
.
If you want to reference this library directly in html:
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Other resources here -->
<!-- ... -->
<!-- Assembler CSS -->
<script src="https://cdn.jsdelivr.net/npm/@engineersamuel/istruthy@1.0.0/dist/index.min.js"></script>
</head>
<body>
<!-- Your code here -->
<script>
console.log(Truthiness.isTruthy('abc')); // prints true
console.log(Truthiness.isTruthy('', { isEmptyStringFalse: true })); // prints false
console.log(Truthiness.isFalse('abc')); // prints false
console.log(Truthiness.isFalsy('', { isEmptyStringFalse: true })); // prints true
</script>
</body>
</html>
Note that the UMD is built with rollup.js (Which is minimally necessary considering there are no dependencies) and the global variable name is Truthiness
hence in the above browser environment you would access isTruthy
via Truthiness.isTruthy
.
Option | Default | Description |
---|---|---|
isZeroFalse | false | When set to true then 0 will be will be evaluated to false. Ex. isTruthy(0, { isZeroFalse: true}); // returns false |
isInfinityFalse | false | When set to true then Infinity and -Infinity will be will be evaluated to false. Ex. isTruthy(Infinity, { isInfinityFalse: true}); // returns false |
isEmptyStringFalse | false | When set to true then '' will be will be evaluated to false. Ex. isTruthy('', { isEmptyStringFalse: true}); // returns false |
isEmptyObjectFalse | false | When set to true then {} will be will be evaluated to false. Ex. isTruthy({}, { isEmptyObjectFalse: true}); // returns false |
isEmptyArrayFalse | false | When set to true then [] will be will be evaluated to false. Ex. isTruthy([], { isEmptyArrayFalse: true}); // returns false |
isFilteredArrayFalse | false | When set to true then [null, undefined] will be will be evaluated to false. Ex. isTruthy([null, undefined], { isFilteredArrayFalse: true }); // returns false Note: This specific flag will recursively check each value, so passing options to isTruthy are recursively respected. |
isFalsyArrayFalse | false | When set to true then [null, undefined] will be will be evaluated to false. Ex. isTruthy([null, undefined], { isFalsyArrayFalse: true})/ // returns false Ex. isTruthy([0, ''], { isFalsyArrayFalse: true, isZeroFalse: true, isEmptyStringFalse: true }); // returns false Note: This specific flag will recursively check each value, so passing options to isTruthy are recursively respected. |
npm run test
63 passing (38ms)
----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
----------|---------|----------|---------|---------|-------------------
npm i
npm run test
npm run lint
npm run build
npm publish --access public
git tag vx.y.z
git push origin --tags
FAQs
Truthiness with options
We found that @engineersamuel/istruthy 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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.